MediaWiki 1.41


MediaWiki 1.41 is a stable 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.1.tar.gz or checkout the REL1_41 branch in Git to follow this release.


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 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.

  • (task T345807) Added language support for Karekare (kai).
  • (task T333765) Removed language support for Akan (Ak).
  • (task T332113) Added language support for Northern Hindko (hno).
  • (task T333425) Added language support for Iraqi (Mesopotamian) Arabic (acm).
  • (task T336919) Added language support for Crimean Tatar (Romania) (crh-ro).
  • (task T338416) Added language support for Betawi (bew).
  • (task T341545) Added language support for West Coast Bajau (a.k.a. Sama; bdr).
  • (task T332118) Namespace translations for Angika (anp) were added
  • (task T341942) The autonym of the Buginese language is changed to the Latin-script name "Basa Ugi", and the localization in the language code "bug" is now only in the Latin script. It's possible to add localization in the Lontara script in translatewiki under the code "bug-bugi".
  • (task T341943) Main Page name translation was changed from "Leppa Indoë" to "Watangpola". If you manage a wiki in this language, make sure that links to the main page are correctly updated. See

See also[edit]