Jump to content

MediaWiki 1.45

From mediawiki.org

MediaWiki 1.45 is the current 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 from May 2025 to October 2025. The 1.45.0 stable release came out in December 2025. Download mediawiki-1.45.1.tar.gz or checkout the REL1_45 branch in Git to follow this release.

Changes

Configuration changes for system administrators in 1.45

  • $wgPHPSessionHandling is now deprecated, and the default value has been changed to 'warn'. Any extension that uses PHP session handling ($_SESSION, session_start(), etc.) will cause warnings to be emitted.
Migration instructions:
Manual:SessionManager and AuthManager/Updating tips#SessionManager
Known affected extensions:
https://codesearch.wmcloud.org/things/?q=\%24_SESSION%7C\ssession_\w%2B\s*\(&files=\.php%24
Integration with PHP session handling will be removed in the future, making PHP session handling and MediaWiki session handling independent. Using PHP session handling may cause conflicts with the cookies used by MediaWiki.
To silence the warnings and restore previous behavior, use $wgPHPSessionHandling = 'enable';. This configuration setting will be removed in a future release.
To silence the warnings and disable integration with PHP session handling, use define( 'MW_NO_SESSION_HANDLER', 1 );. This constant will always be defined in a future release.

New configuration

  • (T389281) $wgUseLeximorph - Defaults to false. When enabled, core parser functions for grammar, plural, gender, formality, and bidi use the Leximorph library’s modular handlers instead of the legacy Language methods. When disabled, the legacy methods are used.

Changed configuration

Removed configuration

New user-facing features in 1.45

  • (T219543) Special:SpecialPages, the index of special pages, now has a search box that filters the list.
  • (T118132) After using Special:MergeHistory to merge page histories, Special:Log will show entries for both the source and the destination page. Previously, the merge was only logged for the source page.
  • (T384578) Attempting to create a redirect to an invalid target, such as Special:UserLogout, will now result in a warning.
  • (T280531) Partial action blocks is now enabled by default. This feature allows administrators to block users from performing certain actions (such as moving pages) without blocking them from editing pages.
  • (T328254) A new parser function has been added, {{#contentmodel:}} which returns the localized name of the contentmodel of the current page. This is primarily meant for use in system messages.
  • (T382958) Special:MergeHistory is now significantly more flexible about what it can merge. It can now merge sections taken from the middle of the history of the source (rather than only the start) and insert revisions anywhere in the history of the destination page (rather than only the start)

New developer features in 1.45

  • The new built-in notifications framework is now stable for use by extensions. Manual:Notifications
  • The Status and StatusValue classes can now be documented as generic classes with a type parameter for their value. These annotations allow IDEs and static analysis tools to better understand the types in code such as:
    /** @return StatusValue<Foo> */
    function doStuff(): StatusValue { ... }
    doStuff()->getValue()->bar();
    
  • The UserLinkRendererUserLinkPostRender hook was added.
  • The LocalUserOptionsStoreSave hook was added.
  • The User::getConfirmationToken(), User::getConfirmationTokenUrl() and User::getInvalidationTokenUrl() methods were added.
  • The User::getTokenUrl() method was made public.
  • The SpecialLogResolveLogType hook was added.
  • Domain events modeling changes to pages are now stable for use by extensions. See Manual:Domain events/Hierarchy#Page Events
  • CentralIdLookup::getScope() has been added, for easier namespacing of central IDs.
  • SessionManager::getJwtData() has been added, to standardize JWT format for session providers which use a JWT.
  • The JwtCodec service has been added, for encoding/decoding JWTs.
  • The LeximorphFactory service was added.
  • (T402154) MessagePostProcessText and MessagePostProcessHtml hooks were added.
  • (T396889) In the past, messages that have to exist for technical reason but shouldn't be translated, were added to the usual en.json and qqq.json files, and then configured as 'ignored' in translatewiki. From now on, such messages should be added to the en.json and qqq.json file under nontranslatable/.
  • (T315128) The UserCanChangeEmail hook was added.
  • (T295568) The jqueryMsg parser now supports self-closing HTML tags (‎<br>, ‎<wbr> and ‎<hr>).

Action API changes in 1.45

  • (T396049) The list of domains supported by the upload-by-URL feature is now exposed via meta=siteinfo.
  • (T399897) The `parsoid` parameter to `action=parse` has been deprecated. Use `parser=parsoid` instead.

Languages updated in 1.45

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.


Subpages