MediaWiki 1.25

From mediawiki.org

MediaWiki 1.25 is an obsolete release of MediaWiki. Consult the RELEASE NOTES file for the full list of changes. It was deployed on the Wikimedia Foundation's wikis through incremental "wmf"-branches from September 2014 to April 2015. The 1.25.0 stable release was released on Monday, May 25, 2015. A 1.25.1 tarball was released shortly afterwards due to a JSON syntax error in the ConfirmEdit extension. It features over 2200 changes from over 140 developers, as well as the work of many translators. Download the latest release or checkout the REL1_25 branch in Git to follow this release.

Indicators

Templates that add icons to the top right corner of the page (and more) can be updated to use the new page status indicators feature.

Enhanced recent changes

15-second video to see most features: grouping, uncollapsing, diffs

MediaWiki now uses by default the extended watchlist and so called enhanced recent changes (preference "Group changes by page in recent changes and watchlist"), which also received several improvements in MediaWiki 1.24 and 1.25 (task T37785).

This means that Special:RecentChanges and Special:Watchlist show all the changes to each page in a given day, sorted by page rather than chronologically. Changes to each page are collapsed by default and a compact overview is shown, with links to collated diffs and counts of each user's actions. Full activity for an individual page can then be shown with a single click.

Users will no longer need to know in detail how a single change was chosen for display in order to figure out what else may have happened to the page that day, nor to scan a long list of non-contiguous lines on the screen in order to get a complete picture. The change is part of MediaWiki's evolution towards an interface which is more discoverable and less cluttered by default, while equally easy to quickly access in full, with the help of JavaScript. However, the (grouped) layout is an improvement for non-JavaScript users as well.

Live preview

While editing, you're not sure what a wikitext syntax will produce? That's no longer a problem, now that live preview is no longer experimental. By enabling the feature in your preferences, MediaWiki will display the effect of your edits without fully reloading the page, so that you can quickly correct any mistake.

Import

The import tool is now much easier to use on content from a wiki which has different namespaces than yours (e.g. because it's in another language).

Hit counters removed

MediaWiki no longer includes hit counters in core, following a request for comment, which means that Special:PopularPages and the "Most Viewed Pages" section of Special:Statistics are now removed. The hit numbers, which occurred until the 1.25 upgrade was installed, will still be kept in the database, but they will no longer be updated. If you want to continue using this functionality: It has been re-implemented into Extension:HitCounters .

Internationalization

Logging and gender

Continuing the work in MediaWiki 1.18 and 1.19, multiple log types of Special:Log have been migrated to the new logging system, which allows full internationalization including word order and grammatical gender. The migration continues. See task T26620 for a list.

New locales

The following locales have been added:

  • Awadhi
  • Western Balochi
  • Koyraboro Senni

Upgrade notices for MediaWiki administrators

Breaking changes

Configuration changes

More configuration defaults have been flipped, to reduce the strain needed by most administrators to get a sensibly-configured install. See the full release notes for details.

API changes

A large amount of time was spent cleaning up the API, making the output saner, and friendlier for new developers to use. The following breaking changes are included in 1.25:

The API documentation was overhauled to use internationalized messages, a prettier format, and be easier to navigate. The help can be embedded or linked to in wiki pages by transcluding Special:ApiHelp. For those who preferred being able to see all documentation in one page, you can use recursivesubmodules=1.

API responses in format=json or php have a more sensible data layout if clients specify a new formatversion=2 parameter in requests (task T76728). If you do not specify this, API responses should be backwards-compatible, but in some cases developers of API modules will need to update their extension to ensure this. All extensions that are developed in Wikimedia Gerrit have been updated in 1.25 to ensure backwards compatibility. More details are in API:JSON version 2 and the generated API help for json format.

Schema

  • Update user_newtalk.user_id to an unsigned integer
  • Increase the length for various comment and reason fields to prepare for increasing the edit summary length

Changes to extension loading

To work towards a proper configuration database, we are changing the way extensions and skins are registered with MediaWiki. Extensions and skins can now move their metadata into extension.json or skin.json, and use wfLoadExtension( 'FooBar' ); or wfLoadSkin( 'FooBar' ); to load those that support it. All extensions and skins bundled with the tarball support this. The old style of loading by require_once "$IP/extensions/FooBar/FooBar.php"; will continue to be supported for backwards-compatibility.

If you do not keep your extensions or skins inside the default location ($IP /extensions, $IP/skins), you will need to set $wgExtensionDirectory for extensions, and the poorly named $wgStyleDirectory for skins.

Developer documentation on how to migrate extensions can be found at extension registration.

Less invasive profiling

The entire profiling system has been overhauled to be more flexible and less invasive using the xhprof extension. Manual wfProfileIn and wfProfileOut function calls are no longer needed and should be removed. See Manual:Profiling for an overview of the new options and how to update your StartProfiler.php.

External libraries

As part of the Library infrastructure for MediaWiki project, MediaWiki core now uses composer for managing external dependencies instead of copying the files into our code repo, such as CSSJanus and lessphp. In addition, libraries not specific to MediaWiki that were originally written for MediaWiki, such as the CDB library, were moved out into their own repos.

The tarball will contain these dependencies and the upgrade process for tarball users should stay the same. Users who have cloned from git will need to follow the instructions at Download from Git#Fetch external libraries. Installed libraries will be displayed upon Special:Version in their own section.

Better support for composer-managed extensions

composer.json was previously used for composer-managed extensions, but it is now used for managing dependencies of MediaWiki core. After discussions regarding this issue, a composer-merge-plugin was developed so sysadmins could specify their dependencies in a composer.local.json. More documentation is available at Composer/For extensions.

Release schedule

The anticipated dates for point releases for 1.25 are as follows:

Release Date
1.25.0 2015-05-25
1.25.1 2015-05-25; fixes bugs in QuestyCaptcha and ReCaptcha that are bundled with 1.25.0.
1.25.2 2015-08-10
1.25.3 2015-10-16
1.25.4 2015-12-18
1.25.5 2015-12-22[1]
1.25.6 2016-05-20

Subpages