MediaWiki 1.21

MediaWiki 1.21 was developed between September 2012 and April 2013. Consult the release notes file for the full list of changes. It is currently deployed on Wikimedia wikis through incremental "wmf"-branches starting October 2012. The 1.21.0 stable release is expected to come out on May 15th, 2013. Download from Git to stay on the current bleeding-edge.

What's new?
MediaWiki 1.21 will include all changes released in the smaller, bi-weekly "1.21wmfX" software deployments to Wikimedia sites.

Skins

 * The CologneBlue skin has been refactored to make it relevant again, more compatible with existing scripts, and more similar in structure to Vector and Monobook, reusing a lot of existing code.

The only major difference for end-users should be a slight reordering of the sidebar menu (the "Context" submenu was removed and its contents merged into other ones). If you were, however, depending on the exact HTML it used to produce, you'll need to review your tools.

ContentHandler
As part of the Wikidata initiative, 1.21 adopts an extensible framework so that pages can contain something other than wikitext.

Right now, built-in content types are limited to


 * wikitext - wikitext, as usual
 * javascript - user-provided JavaScript code
 * css - user-provided CSS code
 * text - plain text

Extension developers can create additional content types. Extension:EventLogging uses ContentHandler to implement a namespace for JSON schemas, and may be used as a reference.


 * The new ContentHandler might affect diff rendering, handing of CSS and JavaScript pages, import/export (including PDF export), and API stuff, especially when rendering and editing. Also look out for issues in template rendering, images and media handling, localisation, and mobile device access.  (merged on Oct 9)

High-resolution image support

 * High-resolution image support. This work-in-progress will try to give higher-res images to high-density screens that can support it, like new Retina displays.  More info at .  One of the bigger risks of the high res stuff is load-based, since we may see substantial new load on our image scalers. So *all* image scaling might be impacted. (merged on Oct 11)

Ajax patrolling
The features users have waited for longest: One-click AJAX patrolling. With this new feature, users can mark revisions or pages as having been "patrolled" with a single click while staying on the current page. (bug 7851)

Internationalization

 * The general logging framework was made completely localisable at last, by fixing bug 24156 (deferred since MediaWiki 1.18). The logging for each action (whether in core or extensions) might still need to be updated to use the new system, though.
 * MediaWiki:Contributions now reflects the gender of the user.

New accounts

 * It's now easier to create accounts for other users by sending a temporary password via e-mail: Special:CreateAccount now shows a checkbox for logged-in users to use this feature, rather than a button.
 * Account API: bots and other scripts can now use the API to create user accounts, rather than attempting to pseudo-submit the HTML form.

Account creation welcome
The title of the page you see on account creation is now "Welcome, Username". To make this, the MediaWiki:welcomecreation message was split into two messages:


 * MediaWiki:Welcomeuser:


 * MediaWiki:Welcomecreation-msg:

If your wiki has customized the MediaWiki:welcomecreation message and wants to preserve the customization, an admin needs to
 * 1) move it to MediaWiki:welcomecreation-msg (without leaving a redirect),
 * 2) remove the "== Welcome, $1==" heading line from welcomecreation-msg,
 * 3) (preferably) log out and create an account to see if it works.

Other
Editors:
 * Template Sandbox, which lets you preview a page with a change in a template it uses

Password recovery system uses tokens
The previous password recovery system, where users were emailed a short temporary password, has been replaced with a token system. Users now click a link in the email they receive rather than copy/pasting a password into the login form. This new system has the following advantages: Additionally, the expiration time of password reset tokens has been reduced from one week to one day.
 * Tokens are significantly longer than temporary passwords. This means that they are less prone to brute force attacks.
 * Since the users are clicking on a link, they can be pointed to the secure site using https.
 * The login form is now used only for logins; password resets now always go through Special:PasswordReset.
 * Special:PasswordReset now uses FormSpecialPage, making it easier for extension developers to add fields to the form.

More wikitext now supported in JavaScript messages
Tired of all your MediaWiki i18n messages showing on the JavaScript side as wikitext? Parse them with jqueryMsg, now with wikilinks and int: transclusion support! For more details, see Manual:Messages API.

Several minor HTML changes
Several long-overdue changes to HTML of both skins and parser output were made. While minor, they might require similarly minor updates in any customized CSS or JS (or in screen scrapers).

(Details in release notes for each commit and in commit messages.)


 * : use semantic headings for the navigation menu
 * : don't use a, where   is the appropriate language code.

Bundled extensions
Newly bundled for 1.21 (bug 43815):
 * Cite
 * ImageMap
 * Interwiki
 * Title Blacklist
 * SpamBlacklist
 * Poem
 * InputBox
 * LocalisationUpdate
 * SyntaxHighlight GeSHi