Whats New in MediaWiki 1.43.0: Key Features and Updates

A fact-checked overview of MediaWiki 1.43 LTS: new requirements, editor features like Special:TalkPage, the message-object API change, and the upgrade checklist.

MediaWiki 1.43 is a long-term support (LTS) release: it was deployed on Wikimedia Foundation wikis between April and October 2024, and the stable 1.43.0 came out on 21 December 2024. As an LTS, it receives security and maintenance updates for years — as of mid-2026 the line is at 1.43.6 and still actively maintained — which makes it the recommended target for wikis that value stability over new features. Here is what actually changed, verified against the release notes.

Requirements changed: PHP 8.1 and OpenSSL

Two things to check before upgrading: MediaWiki 1.43 requires PHP 8.1.0 or later, and the OpenSSL PHP extension is now mandatory — the configuration toggle that let you run without it was removed. Supported databases are MariaDB 10.3+, MySQL 5.7+, PostgreSQL 10+ and SQLite 3.8+. Internally, work continued on PHP 8.4 (and even 8.5) compatibility, with the testsuite running on the newest PHP versions.

What's new for editors

  • Special:TalkPage — a new special page that redirects to the talk namespace page of any page (Special:TalkPage/FooTalk:Foo). Useful for templates and tools that cannot reliably compute the talk-page title themselves
  • Special:NamespaceInfo — displays all namespaces with their descriptions and configuration, a quick reference rather than an API call
  • WebP metadata support — MediaWiki now reads XMP and EXIF data from WebP files, and wikis with image-magic detection enabled recognize AVIF, SVG and WebP URLs
  • New {{USERLANG}} magic word — returns the interface language of the logged-in user (page language by default; note that using the user language can reduce parser cache efficiency)
  • New preference — "Send password reset emails only when both email address and username are provided", a targeted fix against password-reset spam
  • Accessible heading markup (opt-in) — 1.43 introduces new HTML markup for wikitext headings with better accessibility, toggled by the new $wgParserEnableLegacyHeadingDOM option (still default true in 1.43). Skins must declare the supportsMwHeading option to opt in; the legacy markup becomes the exception in 1.44 and will be removed later
  • Protection indicators — a new configuration option shows a lock icon on protected pages (default off)

What's new for sysadmins

  • The writeapi user right has been removed. It was an obscure permission gate on some API modules that caused more confusion than protection; if your wiki granted or removed it via group permissions, clean those entries up during the upgrade
  • "Powered by MediaWiki" footer now uses an SVG icon, and footer icons are wrapped as proper HTML buttons — custom footer overrides may need minor adjustments
  • Search index schema — the searchindex table now uses utf8mb4, with si_page as primary key and support for longer titles (requires the upgrade script to rebuild)
  • Temporary accounts (if you use $wgAutoCreateTempUser) — anonymous users now get a temporary account for unsuccessful edit attempts and null edits as well, not only successful ones, which improves moderation logging. The feature is enabled by default in DevelopmentSettings; disable with $wgAutoCreateTempUser['enabled'] = false;
  • Linter users: update.php runs two migration scripts on the Linter table (~500 rows/second each). On large wikis you can run them manually first — see the upgrade notes and Extension:Linter documentation
  • Logging — the error-json log channel was removed; structured logging goes through the error channel

What's new for developers

The message system overhaul

  • Message parameters are now objectsMessage::numParam() and friends return MessageParam objects instead of specially-formatted arrays; code that inspected the array keys must be updated
  • MessageValue can replace Message everywhere a MessageSpecifier is accepted, allowing hooks to localize without global state
  • StatusValue::getMessages() is the new way to iterate over status errors; getErrors()/getErrorsByType() and Status::getErrorsArray() are deprecated in its favour

Namespace migration and removals

All API classes moved to the MediaWiki\Api\ namespace (old names kept as deprecated aliases), part of the platform-wide PSR-4 autoloading migration that speeds up boot. Extension code should start importing the namespaced classes. Removed in 1.43: User::isBlocked() (block status via BlockManager/getBlock()), User::getGroups() and related group methods, Parser::getFreshParser(), wfGetLangObj(), DB_MASTER/ILoadBalancer::DB_MASTER, TablePager::getBody(), UIDGenerator and ConfigFactory::getDefaultInstance().

New capabilities

  • REST route redirects — route definitions can now declare redirects via MediaWiki\Rest\Handler\RedirectHandler
  • Jest for frontend code — MediaWiki core gained a Jest-based test suite for Vue components (npm run jest, tests in tests/jest/)
  • New hooks: AuthManagerFilterProviders, AuthManagerVerifyAuthentication, AuthPreserveQueryParams, OutputPageRenderCategoryLink (replaces the deprecated OutputPageMakeCategoryLinks), SpreadAnyEditBlock, ConditionalDefaultOptionsAddCondition
  • CentralIdLookup::isOwned() — check whether a local username is reserved for a central user

Upgrade checklist

Back up the database, then run php maintenance/run.php update on PHP 8.1+ with OpenSSL available. Watch for two things in the output: the search index rebuild and, if you run Linter, the two migration scripts. Review group permissions for the removed writeapi right, and update any extension that still uses the deprecated message APIs. The full release notes and the community highlights post cover the details — this release's headline is not a single shiny feature, but a broad cleanup: PHP 8.1 floor, OpenSSL as a hard requirement, the message-system overhaul and the first step of the namespace migration, all of which make the upcoming 1.44 and 1.46 LTS simpler to land.

Subscribe to MediaWiki Tips and Tricks

Don’t miss out on the latest articles. Sign up now to get access to the library of members-only articles.
jamie@example.com
Subscribe