MediaWiki 1.21

MediaWiki 1.21 is an obsolete version of MediaWiki that was developed between September 2012 and March 2013.

It was deployed on Wikimedia Foundation wikis through incremental "wmf"-branches from October 2012 to March 2013.

This is a summary of the major changes of interest to users.

Consult the  file for the full list of changes.

The final version was released on May 25th 2013.

See  to obtain a copy.

What's new?
MediaWiki 1.21 includes all changes released in the smaller, bi-weekly "1.21wmfX" roadmap>MediaWiki 1.21/Roadmap|software deployments to Wikimedia sites.

Comments on the release candidate
From wikitech-l mailing list:


 * 46934
 * There is just one issue that I would like to mention: in my database (MySQL) pre-upgrade jobs have job_random set to 0 and do not seem to be picked up - not even when I use the option --type=replaceText.  I can repeat the replace text operations, so this is not big problem for me.  However, if this is the normal behaviour for an upgrade, maybe it should be  mentioned in the notes somewhere.

Clearer email notifications
Bug 14901 – Email notification mistakes log action for new page creation, the third most reported open MediaWiki bug, has been fixed. Consequently, notifications now state clearly what action was performed on the watched pages in case they are created, deleted, restored, moved or changed.

There are still some known issues. If you customised MediaWiki:Enotif body on your wiki, you have to delete or update it; see also full documentation.

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.

As part of the Wikidata initiative, 1.21 adopts an extensible framework ("ContentHandler") 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. uses ContentHandler to implement a namespace for JSON schemas, and may be used as a reference. Other extensions, such as, also make use of the new functionality.

ContentHandler affects diff rendering, handing of CSS and JavaScript pages, import/export, and the API.

Support for high DPI displays
MediaWiki now tries to deliver higher-res images to high pixel density screens such as Apple Retina Displays (see for details). This is a work-in-progress, so normal-resolution images may still appear in some places and in some browser versions. Administrators may need to watch out for higher load on their image scaling software.

Ajax patrolling

 * (bug 7851) 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.

Internationalization

 * The general logging framework was made completely localisable at last. 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 MediaWiki:welcomecreation message was split up into MediaWiki:welcomeuser and MediaWiki:welcomecreation-msg so users no longer see "Login successful" when creating their accounts. If you customized the former message and want to preserve your customization, you'll have to modify the new messages accordingly.

More wikitext now supported in JavaScript messages
The jqueryMsg parser now supports wikilinks and int: transclusion. For more details, see Manual:Messages API.

Using semantic headings for the navigation menu
The previous scheme of using (varying per skin) &lt;h4>, &lt;h5> and/or &lt;h6> tags (with nothing apart from the main &lt;h1> above them in the hierarchy) was change to consistently using a &lt;h2> above the entire navigation and &lt;h3>s as portlet headings in all skins.

The &lt;h2> is hidden for normal browsers, but accessible for screen-readers or text browsers.

While this change is minor, it might require similarly minor updates in any customized CSS or JS (or in screen scrapers).

Extended collation support
UCA-based category collations for 68 languages based in Latin, Greek and Cyrillic alphabets are now supported. You can use them by setting, where   is the appropriate language code.

Bundled extensions
Newly bundled for 1.21 (bug 43815):


 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)
 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)
 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)
 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)
 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)
 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)
 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)
 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)
 * (note: will trigger "Fatal exception of type MWException" using default installation. Add  to your LocalSettings.php)