MediaWiki 1.39

MediaWiki 1.39 is the current long-term support release of MediaWiki. Consult the file for the full list of changes. It was deployed on Wikimedia Foundation wikis through incremental " wmf "-branches between March and September 2022. The 1.39.0 stable release came out on 30 November 2022. Download or checkout the  branch in Git to follow this release.

New configuration

 * – This configures automatic user creation on page save.
 * – This configures if administrators can use the MediaWiki:Copyupload-allowed-domains system message to define which domains can be used with the upload-by-url tool.
 * – This can be set to  if MediaWiki is behind a CDN that re-orders query parameters. This will make the code that matches request URLs to canonical CDN URLs insensitive to parameter order.
 * – This allows you to split site_stats across multiple rows. Only useful for very large, heavily edited wikis. (phab:T306589:T306589)

Changed configuration

 * – This setting now contains the char ' ', which is now the reserved delimiter for external user names.
 * – The default serialization method for file meta-data has been changed to JSON. You can revert it to PHP by setting the property ' ' to.
 * – The  flag can now be set to a callback function that returns an array with keys to update in . This can be used to update the database configuration on the fly, e.g. to take replica hosts out of rotation.
 * and – The   flag in has been deprecated in favour of a boolean   parameter.
 * – The  and   flags are no longer supported.

Removed configuration

 * - This transition flag, deprecated since MediaWiki 1.35, has been removed; the data migration is over.
 * - This transition flag has been removed; the data migration is over.
 * – This experimental setting has been removed without replacement. Use the  environment variable to specifiy the name of the site for which to load configuration. Using the   environment variable for this purpose is deprecated.
 * - The ParserCache now always uses JSON serialization. Reading old non-JSON cache entries is still supported. The setting had been deprecated since 1.36.
 * - To allow uploads of JAR files, remove  from.
 * – This broken feature was removed, as it never worked as intended (phab:T296430:T296430).
 * – This experimental, default-disabled feature has been removed without replacement.
 * and – The related experimental feature has been removed without replacement.
 * – This flag has been removed, without loss of any functionality in this release. Most former "wikibits" functions were removed after deprecation in previous releases. The remaining functions, such as, are now available unconditionally.
 * - This unused setting has been removed.
 * - This unused setting has been removed.
 * – This is no longer functional, and is now deprecated. Users who are somehow still using Flash as a browser extension will be exposed to CSRF vulnerabilities.

New user-facing features in 1.39

 * Optional automatic user creation on page save.
 * Administrators now have the option to delete/undelete the associated "Talk" page when they are (un)deleting a given page.  and   options were added to the 'delete' and 'undelete' action APIs in MW 1.38.
 * is now a wikitext built-in magic word, expanding to .  This is conventionally used as an escape mechanism to allow the use of   in unnamed template arguments.  Defining Template:= to expand to something other than   has been deprecated since 1.36, with affected pages put into a special tracking category for migration.
 * (phab:T284020:T284020) Bot passwords are now supported when using the REST API.

Bug fixes in 1.39

 * (phab:T314013:T314013) no longer overrides canonical namespace names specified in extension.json files. While this setting can still be used to rename extension-defined namespaces, system administrators may need to run namespaceDupes.php after upgrading.

Action API changes in 1.39

 * New  parameter on action=undelete that allows you to restore all revisions of the associated talk page.

Languages updated in 1.39
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.


 * Actual localization was added for several languages, which were already in Names.php and even used for a Wikipedia:
 * (phab:T313200:T313200) Added language support for Rundi (Kirundi, rn).
 * (phab:T310976:T310976) Added language support for Tumbuka (ChiTumbuka, tum).
 * (phab:T314270:T314270) Added language support for Kanuri (kr).
 * (phab:T313199:T313199) Added language support for Sylheti (syl).
 * (phab:T311975:T311975) Added language support for Ghanaian Pidgin (gpe).
 * (phab:T307080:T307080) Added language support for Okinawan (ryu).
 * (phab:T307887:T307887) Added language support for Mooré (mos).
 * (phab:T308813:T308813) Added language support for Nigerian Pidgin (pcm).
 * (phab:T309763:T309763) Added language support for Tai Nüa (tdd).
 * (phab:T310040:T310040) Added language support for Fante (fat).
 * (phab:T311034:T311034) Added language support for Campidanese Sardinian (sro).
 * (phab:T315406:T315406) Fix the autonym of the Iñupiaq language to "Iñupiatun".
 * (phab:T315677:T315677) Removed French fallback from the Fula language (ff).
 * (phab:T304920:T304920) In Swahili, The "Media" namespace is now "Media", as in English, and the "File" namespace is now "Faili". The old name of the "File" namespace was "Picha", and it's kept for backwards compatibility. If you manage a wiki in Swahili, and you use "Faili:" as a namespace anywhere in wikitext, and you mean to use it as "Media:", these need to be replaced to "Media:".
 * (phab:T309866:T309866) Some namespace translations were updated for Kyrgyz (ky). The old ones are retained as aliases for backwards compatibility.
 * (phab:T117845:T117845) Started the renaming of the language codes for Serbian from sr-ec and sr-el to sr-cyrl and sr-latn.