MediaWiki 1.26

MediaWiki 1.26 is an obsolete release of MediaWiki. Consult the RELEASE NOTES 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 latest releases or checkout the REL1_26 branch in Git to follow this release.

New features edit

Information on 'actual' watchers of a page edit

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 edit

  • Change tags can now be hidden in the interface by disabling the associated "tag-<id>" interface message. (see the respective commit message)
  • Support for generating JPEG/PNG thumbnails from WebP images added if ImageMagick is used as image scaler ($wgUseImageMagick = true). Uploading of WebP images still disabled by default. Add $wgFileExtensions [] = 'webp'; to LocalSettings.php to enable uploading of WebP images. phab:T50519

Information for MediaWiki administrators and developers edit

Performance edit

  • 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 WANObjectCache interface. This corresponds to a new $wgMainWANCache setting, which defaults to using the $wgMainCacheType settings. Different caches can be used by setting it to another cache in $wgWANObjectCaches .
  • Callers needing fast light-weight data stores use $wgMainStash to select the store type from $wgObjectCaches . 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.
  • $wgTransactionalTimeLimit was added, which controls the request time limit for potentially slow POST requests that need to be as atomic as possible.

New hooks edit

  • A new hook, 'LogException ', was added to log exceptions in non-standard ways.
  • Revive the 'SpecialSearchResultsAppend ' 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, 'RejectParserCacheValue ', 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 'EnhancedChangesListModifyLineData ' & 'EnhancedChangesListModifyBlockLineData ', to modify the data used to build lines in enhanced recentchanges and watchlist.
  • Added a new hook, 'RandomPageQuery ', to allow modification of the query used by Special:Random to select random pages.

Upgrade notices for MediaWiki administrators edit

 
Syntax highlighting with the new Pygments library

Breaking changes edit

  • Deprecated API formats dump and wddx have been removed completely.
  • $wgResourceLoaderUseESI was deprecated and removed. This was an experimental feature that was never enabled by default.
  • $wgResourceLoaderExperimentalAsyncLoading 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.
  • $wgMasterWaitTimeout was removed (deprecated in 1.24).
  • Fields in ParserOptions 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)#Font mw-geshi.
  • 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 edit

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 edit

The feature was removed in MediaWiki 1.27.

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:

$wgResourceModules['ext.Example.styles'] = array(
	'position' => 'top',
	'styles' => array(
		...

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

"ResourceModules": {
	"ext.Example.styles": {
		"position": "top",
		"styles": {
			...

Deprecations edit

  • $wgEnableParserCache was deprecated. Set $wgParserCacheType = CACHE_NONE 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:
    • AuthPlugin::initUser() is replaced by LocalUserCreated.
    • AuthPlugin::updateUser() is replaced by UserLoggedIn.
    • AuthPlugin::updateExternalDB() is replaced by the existing UserSaveSettings.
    • AuthPlugin::updateExternalDBGroups() is replaced by UserGroupsChanged.
    • AuthPluginUser::isHidden() is replaced by UserIsHidden.
    • AuthPluginUser::isLocked() is replaced by UserIsLocked.
  • The UserRights hook is deprecated in favor of the new UserGroupsChanged hook.
  • AuthPlugin::initUser() and AuthPlugin::updateUser() should no longer replace the passed User object.

Configuration changes edit

  • 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 ($wgExtendedLoginCookieExpiration ) can be configured independently of the expiration of all other cookies ($wgCookieExpiration ). [1]
  • Users installing the Vector skin through composer will need to add wfLoadSkin( 'Vector' ); to their LocalSettings.php, it will no longer happen automatically.
  • $wgPasswordResetRoutes ['email'] is now true by default.
  • The "Signature" button on the edit toolbar is now hidden by default in non-talk namespaces. A new configuration variable, $wgExtraSignatureNamespaces , controls in which subject (non-talk) namespaces the "Signature" button on the edit toolbar will be displayed. [2]
  • $wgBlockAllowsUTEdit is now set to true 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 edit

  • New-style continuation is now the default for API action=continue. Clients may use the 'rawcontinue' parameter to receive raw query-continue data, but the new style is encouraged as it's harder to implement incorrectly.
  • The deprecated dump and wddx formats were removed entirely.
  • The formatting of log parameters changed in logevents, recentchanges, and watchlist query modules (announcement)
  • action=import will now give an error if both the rootpage and namespace parameters are passed (announcement)
  • The output of meta=siteinfo while using formatversion=2 changed slightly (announcement)
  • The generatexml parameter to action=parse, prop=revisions, and prop=deletedrevisions is now deprecated (announcement)
  • list=random now has higher limits: 500 for normal users, 5000 for bots

Schema changes edit

Deleted table:

Deleted fields:

Bundled extensions edit

Release schedule edit

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

Release Date
1.26.0 2015-11-25
1.26.1 2015-12-18[1]
1.26.2 2015-12-22[2]
1.26.3 2016-05-20[3]
1.26.4 2016-08-22[4]

Subpages edit