MediaWiki 1.26/en

MediaWiki 1.26 is a legacy version of MediaWiki that is no longer supported. Consult the file for the full list of changes. It was deployed on Wikimedia Foundation wikis through incremental "1.26/wmfNN" branches starting April 08, 2015 (see details of each). The 1.26.0 stable release was released on Wednesday, November 25, 2015. Download the or checkout the   branch in Git to follow this release.

Information on 'actual' watchers of a page
It's now possible to use the info action (accessible from the sidebar) to get a count of "actual watchers" of a page, in addition to the already-available count of all the users having it in their watchlist ([ example]).

This information will make collaboration easier on your wiki, for instance by giving feedback to editors on how much their recent edits to a page were noticed by active users, or by setting reasonable expectations on how much a message on a certain talk page may be seen.

Other

 * Change tags can now be hidden in the interface by disabling the associated " " interface message. (see the respective commit message)
 * Support for generating JPEG/PNG thumbnails from WebP images added if ImageMagick is used as image scaler . Uploading of WebP images still disabled by default. Add  to LocalSettings.php to enable uploading of WebP images. T50519

Performance

 * ResourceLoader now loads all scripts asynchronously. The top-queue and startup modules no longer block synchronous loading.
 * ResourceLoader minification is now cached in APC memory (if available) instead of the local database.
 * Caches that need purging ability now use the  interface. This corresponds to a new  setting, which defaults to using the  settings. Different caches can be used by setting it to another cache in.
 * Callers needing fast light-weight data stores use to select the store type from . The default is the local database.
 * Interface message overrides in the MediaWiki namespace will now be cached in memcached and APC (if available), rather than memcached and local files.
 * was added, which controls the request time limit for potentially slow POST requests that need to be as atomic as possible.

New hooks

 * A new hook, '', was added to log exceptions in non-standard ways.
 * Revive the '' hook which occurs after the list of search results are rendered. The initial use case is to append a "give us feedback" link beneath the search results.
 * Added a new hook, '', which allows extensions to reject an otherwise-successful parser cache lookup. The intent is to allow extensions to manage the eviction of archaic HTML output from the cache.
 * Added new hooks  & , to modify the data used to build lines in enhanced recentchanges and watchlist.
 * Added a new hook, '', to allow modification of the query used by Special:Random to select random pages.

Breaking changes

 * Deprecated API formats  and   have been removed completely.
 * was deprecated and removed. This was an experimental feature that was never enabled by default.
 * was deprecated and removed. This experimental feature was never enabled by default and is obsolete as of MediaWiki 1.26; ResourceLoader now is fully asynchronous.
 * was removed (deprecated in 1.24).
 * Fields in  are now private. Use the accessors instead.
 * Extension:SyntaxHighlight GeSHi has been rewritten and switched from the 3rd party library GeSHi to the 3rd party library Pygments. It requires that your system has Python 2.6+ or Python 3.3+ installed. Additionally, if you have modified the CSS output with custom rules, these rules might need adjustment. See also ResourceLoader/Migration guide (users).
 * If Extension:HitCounters is in use and has not been installed correctly (especially: if update.php has not been run in MediaWiki 1.25 with extension HitCounters installed) or if you are updating from a MediaWiki version older than 1.25, then with the upgrade to MediaWiki 1.26 the hit numbers will be removed from your database and the functionality will break. See Extension:HitCounters for more information!

ResourceLoader asynchronicity and other JavaScript changes
Site scripts, user scripts and gadgets may cease to work in 1.26 unless they are updated. For gadgets in particular, ResourceLoader is no longer opt-in and is instead now mandatory. See this migration guide on how to fix.

Module position for style modules
This release introduces the ability to move module styles from the top to the bottom of the HTML output (similar to what could already be done with dynamic script modules). Previously, module styles were always loaded from the top.

Loading a style module with no explicit load position declared will produce a debug warning "Style module should define its position". Developers are recommended to explicitly declare the desired load position in ResourceModules.

In a PHP file, this may look as follows:

If the module is declared via extension.json or skin.json, it may look like the following:

Deprecations

 * was deprecated. Set  instead if you want to disable the parser cache.
 * Certain AuthPlugin methods are deprecated in favor of new hooks as part of the upcoming AuthManager system:
 * is replaced by.
 * is replaced by.
 * is replaced by the existing.
 * is replaced by.
 * is replaced by.
 * is replaced by.
 * The UserRights hook is deprecated in favor of the new UserGroupsChanged hook.
 * and  should no longer replace the passed   object.

Configuration changes

 * The ':' (colon) character is now invalid in usernames for new accounts. Existing accounts are not affected.
 * The expiration of the UserID and Token login cookies can be configured independently of the expiration of all other cookies.
 * Users installing the Vector skin through composer will need to add  to their LocalSettings.php, it will no longer happen automatically.
 * is now  by default.
 * The "Signature" button on the edit toolbar is now hidden by default in non-talk namespaces. A new configuration variable,, controls in which subject (non-talk) namespaces the "Signature" button on the edit toolbar will be displayed.
 * is now set to  by default. This allows blocked users to edit their talk pages unless explicitly disabled when they are being blocked. It does not affect existing blocks.

API changes

 * New-style continuation is now the default for API . Clients may use the ' ' parameter to receive raw query-continue data, but the new style is encouraged as it's harder to implement incorrectly.
 * The deprecated  and   formats were removed entirely.
 * The formatting of log parameters changed in,  , and   query modules (announcement)
 * will now give an error if both the  and   parameters are passed (announcement)
 * The output of  while using   changed slightly (announcement)
 * The  parameter to ,  , and   is now deprecated (announcement)
 * now has higher limits: 500 for normal users, 5000 for bots

Schema changes
Deleted table:

Deleted fields:

Release schedule
The anticipated dates for point releases for 1.26 are as follows: