MediaWiki 1.41

MediaWiki 1.41 is a stable, legacy release of MediaWiki. Consult the RELEASE NOTES file for the full list of changes. It was deployed on Wikimedia Foundation wikis through incremental "wmf"-branches between March and October 2023. The 1.41.0 stable release came out on 21 December 2023. Download mediawiki-1.41.4.tar.gz or checkout the REL1_41 branch in Git to follow this release.

Changes

edit

Some specific notes for MediaWiki 1.41 upgrades are below:

  • (task T178356) MediaWiki now requires browsers to support ES6 for them to receive JavaScript, up from ES5. In practice, this primarily means that users of Internet Explorer 11 (EOL in 2022) will no longer get JavaScript tools.

For notes on 1.40.x and older releases, see HISTORY.

Configuration changes for system administrators in 1.41

edit
  • $wgGroupPermissions: The 'purge' permission is now considered an implicit right that can be rate limited, but not revoked. This has effectively already been the case for a long time, see task T291316.

New configuration

edit

Changed configuration

edit
  • $wgAuthManagerAutoConfig – When using this setting to modify the authentication system in MediaWiki, the classes TemporaryPasswordPrimaryAuthenticationProvider, LocalPasswordPrimaryAuthenticationProvider and EmailNotificationSecondaryAuthenticationProvider now require DBLoadBalancerFactory, not DBLoadBalancer, as a service.
  • $wgUseFileCache is no longer used for ResourceLoader module caching.
  • $wgLBFactoryConf['secret'] has been replaced by $wgChronologyProtectorSecret.

Removed configuration

edit
  • $wgCommentTempTableSchemaMigrationStage – This temporary flag did let you control the migration stage for the temporary comment database table, from revision.
  • $wgExternalLinksSchemaMigrationStage – This temporary flag did let you control the migration stage for the externallinks database table.
  • $wgParserOutputHooks - This array interacted with ParserOutput::addOutputHook(), which has been deprecated since 1.38 and was removed in this release.

New user-facing features in 1.41

edit
  • Special:RandomPage can now take multiple namespaces in its URL, split by ','.
  • The aria-level HTML attribute is now allowed in wikitext by the Sanitizer.

New features for sysadmins in 1.41

edit
  • $wgDBssl can now enabled in the installer when the database type is Postgres or MariaDB/MySQL (task T335828).
  • MWHttpRequest will forward 'tracestate' and/or 'traceparent' headers when those are present in the original request and $wgAllowExternalReqID is set to true.
  • MultiHttpClient will send X-Request-Id header and additionally will forward 'tracestate' and/or 'traceparent' headers when those are present in the original request and $wgAllowExternalReqID is set to true.

New developer features in 1.41

edit
  • Added ForeignResourcesDir extension.json / skin.json attribute, which should point to the directory holding your foreign-resources.yaml file. See https://www.mediawiki.org/wiki/Foreign_resources for background.
  • Added PrivilegedGroups attribute for extension.json / skin.json, which lets you add any new user groups you define to wgPrivilegedGroups (see above).
  • Added a .gitmessage commit template. To use it, run: `git config commit.template .gitmessage`
  • A new hook, TextSlotDiffRendererTablePrefixHook, has been added to allow extensions to add content within #mw-content-text but after the DifferenceEngineViewHeader or DifferenceEngineShowDiffPage hooks have been run. The new hook is used to add elements within a horizontal display area, where their order can be explicitly set. Examples of uses for this include adding the VisualEditor diff-type switch, and the legend for inline diffs that is displayed if Wikidiff2 is installed.
  • validation callbacks for HTMLForm fields can now return Status objects. HTMLForm::validate will convert good Status instances to true and Status instances to a string containing a list with the errors.
  • ?action=rollback, if successful, will fire core's postEdit JavaScript hook; for now, we do *not* display a success message to the user via mw.notify(), as the RollbackAction form's success page is already shown
  • MultiHttpClient constructor will accept `headers` property which defines a set of headers attached to every request performed by the client.
  • New `Wikimedia/Http/TelemetryHeadersInterface` interface that provides a telemetry information which could be attached to HTTP Requests
  • Wikimedia/Http/TelemetryHeadersInterface can be passed to MultiHttpClient via 'telemetry' option.
  • UserRegistrationLookup adds support for multiple kinds of registration dates Extensions providing support for wiki-farm can use this to provide a global registration date (across all wikis), for example.
  • When $wgUseXssLanguage is set to true (enabled by default in DevelopmentSettings.php), ?uselang=x-xss can be used to easily test whether all messages are being escaped correctly.
  • Html::noticeBox accepts new optional parameters, 'heading' & 'iconClassName'. 'heading' allows to pass an string as title; 'iconClassName' overwrites the default info icon.

Action API changes in 1.41

edit
  • (task T322944) `Authorization` was added to the default list of headers allowed for cross-origin API requests ($wgAllowedCorsHeaders).

Languages updated in 1.41

edit

MediaWiki supports over 350 languages. Many localisations are updated regularly. Below only new and removed languages are listed, as well as changes to languages because of Phabricator reports.


See also

edit

Subpages

edit