MediaWiki 1.24

MediaWiki 1.24 is currently being developed. Consult the file for the full list of changes. It is currently deployed on Wikimedia Foundation wikis through incremental "wmf"-branches starting April 2014. The 1.24.0 stable release is expected to come out somewhere in 2014. Download the or checkout the   branch in Git to follow this release.

Preferences made easier
MediaWiki is known to be extremely flexible and customisable, but few users use its full potential. In 1.24, we aim to make dozens obscure preferences easily discoverable and obvious to use.


 * 52817

New features

 * Category pages can now be moved.
 * MergeHistory for all administrators by default.
 * Improvements have been made to the password storage system in 77645, allowing improved security against offline attacks should a wiki's database be compromised by attackers. Then, in 149658, the default password storage algorithm was changed to PBKDF2.
 * PBKDF2 and Bcrypt have built-in support in PHP. The new extensible password API makes it trivial to implement scrypt support if we wanted to.

Usability

 * The move feature and other actions are now discoverable in Vector, thanks to a label for the dropdown where they're hidden by default.
 * 9360
 * 15484

Performance
In 2014, MediaWiki development has a new focus on frontend performance.


 * Improved Vector skin performance by removing collapsibleNav, which used to collapse some sidebar elements by default. This removes -list id suffixes like p-lang-list: instead of using things like #p-lang-list, you can do #p-lang .body ul.

Breaking changes

 * Upgrade jQuery to version 1.11.x: wikitech-l/2014-June/076842.html
 * Support for register_globals (deprecated 5 years ago) was dropped, MediaWiki will no longer run with it enabled. See email notification for more details.
 * is now a magic word that results in, mainly for use in templates and other complex templates. If your wiki has another template at Template:!, you will need to change the name and update any usage of it. If your Template:! is just  , it can be safely deleted.

API changes
Starting with MediaWiki 1.24, we're cleaning up the API, and working towards an API 2.0. See the roadmap for more details.


 * Rarely used formats deprecated: dbg, dump, txt, wddx, yaml. These may be removed in a future release.
 * Token handling overhauled: the action=tokens module is now deprecated and replaced by action=query&meta=tokens. Most actions now just take a generic "csrf" token, and the token type is now properly documented in the auto-generated documentation.
 * And more! See the RELEASE-NOTES-1.24 file for a full list.

Directory changes

 * The legacy skins/common/ directory has been emptied and deleted as part of the skin system cleanup. Files that have been present in it have been moved elsewhere or deleted (if they were unused). If you loaded any of these files as part of your custom skin or on-wiki CSS/JS, you should make a copy of the old files in a non-MediaWiki directory. See the RELEASE-NOTES-1.24 file for the full list of moved/deleted files.

Browser support deprecated or removed

 * Full support for Internet Explorer 6 and Internet Explorer 7 has been removed: it will browse MediaWiki without JavaScript. JavaScript fixes specific to it have also been removed. Additional IE6  and IE7 fixes that exist in MediaWiki:Common.js and similar can be safely removed.

See Compatibility for more information.

Skins no longer loaded after upgrade?
MediaWiki 1.24 no longer uses the skin autodiscovery mechanism to load default skins, instead requiring that the skins be manually loaded in, much like extensions (see Manual:Skin configuration). This will require you to update  after the upgrade – a prominently displayed warning message should guide you through the process, suggesting the exact configuration that you need to add.

If you're upgrading via a tarball release, that is all you need to do. If you're upgrading via git or otherwise from source, note that the skins themselves have been each moved to a separate repository and will need to be installed separately (much like extensions, some basic ones are included in the tarball).

Schema
New fields:
 * Page_props.pp_sortkey
 * Page.page_lang
 * Pagelinks.pl_from_namespace
 * Templatelinks.tl_from_namespace
 * Imagelinks.il_from_namespace

New indexes:
 * wl_user_notificationtimestamp on Watchlist table

Deleted fields:
 * Recentchanges.rc_cur_time

Release schedule

 * November 2014