MediaWiki 1.45
Appearance
Please do not mark this page for translation yet. It is still being drafted, or it contains incomplete translation markup which should be fixed before marking for translation. |
This page contains release notes for a future version of MediaWiki. |
| MediaWiki |
|---|
|
| Older versions |
| Version lifecycle |
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.
| MediaWiki 1.45 |
|---|
| Deployment to Wikimedia sites |
Changes
Configuration changes for system administrators in 1.45
$wgPHPSessionHandlingis 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.
$wgSitemapNamespacesPrioritiesis deprecated and ignored.$wgCSPUploadEntryPointto control if img_auth.php & thumb.php send CSP headers$wgEnableProtectionIndicatorsis now enabled by default. If your community already uses protection indicators you might want to disable this setting, or customize them with site CSS.
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
- (T402094)
$wgReauthenticateTimenow defaults to 3600 seconds instead of 60 seconds (1 minute to 1 hour) to improve the user experience
Removed configuration
- (T13555, T371756)
$wgParserEnableLegacyHeadingDOMwas removed. The skin option 'supportsMwHeading' was likewise removed. New heading markup is now always enabled, on all skins. More information: Heading HTML changes - (T387856)
$wgEnotifImpersonaland$wgEnotifMaxRecips, deprecated in 1.44, are no longer honoured. - (T394054)
$wgParserEnableLegacyMediaDOMand$wgUseContentMediaStyleswere removed. New media markup is now always enabled. More information: Parsoid/Parser Unification/Media structure/FAQ - (T299947)
$wgPageLinksSchemaMigrationStagehas been removed. - (T405087)
$wgDBDefaultGrouphas been removed without deprecation. Use ILBFactory::setDefaultGroupName() instead. - (T306325)
$wgEnableSearchContributorsByIPhas been removed. - (T389893) 'multiPrimaryMode' has been removed from SqlBagOStuff config.
- (T299951)
$wgCategoryLinksSchemaMigrationStage, a temporary setting which controls the database schema migration for the categorylinks table, has been removed.
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
UserLinkRendererUserLinkPostRenderhook was added. - The
LocalUserOptionsStoreSavehook was added. - The User::getConfirmationToken(), User::getConfirmationTokenUrl() and User::getInvalidationTokenUrl() methods were added.
- The User::getTokenUrl() method was made public.
- The
SpecialLogResolveLogTypehook 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)
MessagePostProcessTextandMessagePostProcessHtmlhooks 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
UserCanChangeEmailhook 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.
- (T314476) Make Perso-Arabic the primary writing system for Kashmiri, under the language code "ks". "ks-arab" and "ks-deva" are preserved for backwards compatibility. "ks-deva" may be removed in a future release.
- Update language fallback chains for Minnan (nan/nan-*) by changing to only fallback to Mindong - Traditional Han script (cdo-hant).
- (T296188) Sites using "zh" as site language now using English special page name in URL.
- (T384155) Updated plural rules for Maltese (mt) language.
- (T395223) Added language support for Yucatec Maya (yua).
- (T397435) Added language support for Dolgan (dlg).
- (T398790) Added language support for Antigua and Barbuda Creole English (aig).
- (T402159) Added language support for Sasak (sas).
- (T406198) Added language support for Bono (abr).
- (T408150) Added language support for Jju (kaj).
Subpages
- MediaWiki 1.45/Roadmap
- MediaWiki 1.45/wmf.1
- MediaWiki 1.45/wmf.1/Changelog
- MediaWiki 1.45/wmf.10
- MediaWiki 1.45/wmf.10/Changelog
- MediaWiki 1.45/wmf.11
- MediaWiki 1.45/wmf.11/Changelog
- MediaWiki 1.45/wmf.12
- MediaWiki 1.45/wmf.12/Changelog
- MediaWiki 1.45/wmf.13
- MediaWiki 1.45/wmf.13/Changelog
- MediaWiki 1.45/wmf.14
- MediaWiki 1.45/wmf.14/Changelog
- MediaWiki 1.45/wmf.15
- MediaWiki 1.45/wmf.15/Changelog
- MediaWiki 1.45/wmf.16
- MediaWiki 1.45/wmf.16/Changelog
- MediaWiki 1.45/wmf.17
- MediaWiki 1.45/wmf.17/Changelog
- MediaWiki 1.45/wmf.18
- MediaWiki 1.45/wmf.18/Changelog
- MediaWiki 1.45/wmf.19
- MediaWiki 1.45/wmf.19/Changelog
- MediaWiki 1.45/wmf.2
- MediaWiki 1.45/wmf.2/Changelog
- MediaWiki 1.45/wmf.20
- MediaWiki 1.45/wmf.20/Changelog
- MediaWiki 1.45/wmf.21
- MediaWiki 1.45/wmf.21/Changelog
- MediaWiki 1.45/wmf.22
- MediaWiki 1.45/wmf.22/Changelog
- MediaWiki 1.45/wmf.23
- MediaWiki 1.45/wmf.23/Changelog
- MediaWiki 1.45/wmf.24
- MediaWiki 1.45/wmf.24/Changelog
- MediaWiki 1.45/wmf.25
- MediaWiki 1.45/wmf.25/Changelog
- MediaWiki 1.45/wmf.3
- MediaWiki 1.45/wmf.3/Changelog
- MediaWiki 1.45/wmf.4
- MediaWiki 1.45/wmf.4/Changelog
- MediaWiki 1.45/wmf.5
- MediaWiki 1.45/wmf.5/Changelog
- MediaWiki 1.45/wmf.6
- MediaWiki 1.45/wmf.6/Changelog
- MediaWiki 1.45/wmf.7
- MediaWiki 1.45/wmf.7/Changelog
- MediaWiki 1.45/wmf.8
- MediaWiki 1.45/wmf.8/Changelog
- MediaWiki 1.45/wmf.9
- MediaWiki 1.45/wmf.9/Changelog