PATH:
var
/
softaculous
/
mw14
= MediaWiki 1.46 = PHP 8.3 workboard: https://phabricator.wikimedia.org/tag/php_8.3_support/ PHP 8.4 workboard: https://phabricator.wikimedia.org/tag/php_8.4_support/ PHP 8.5 workboard: https://phabricator.wikimedia.org/tag/php_8.5_support/ == MediaWiki 1.46.0-PRERELEASE == THIS IS NOT A RELEASE YET MediaWiki 1.46 is a pre-release testing branch, and is not recommended for use in production. === Changes since MediaWiki 1.46.0-rc.0 === * Localisation updates. * (T425818) changePassword: Log password change to authentication log. * changePassword: Add reason option for password change. * (T427622) Store indicators in ContentHolder: forward compatibility. * (T421366) Email confirmation banner: Remove obsolete arm_b variant. * (T428289) Email confirmation banner: Remove Test Kitchen A/B test scaffolding. * (T428406) LocalFileMoveBatch: Also update fr_archive_name when moving file. * (T429826) Updated guzzlehttp/guzzle from 7.10.0 to 7.12.1. * (T423617) Check the target url for redirects are allowed. * (T429965) Updated guzzlehttp/guzzle from 7.12.1 to 7.12.3. * (T428809, CVE-2026-58035) SECURITY: Parse message using v-i18n-html instead of using v-html. * (T383047) Mail: Extract sendWithMailFunction() from UserMailer::send(). * (T429720) FileRepo: Fix typos in schema compatibility checks. * (T383047) Mail: Log PHP mail() send failures with recipient count. * (T425406, CVE-2026-58036) SECURITY: Fix ApiQueryUsers leaking status of private user conditions for user. * (T422306, CVE-2026-58028) SECURITY: Disallow user JS in pretty-print api.php responses. * (T427235, CVE-2026-58033) SECURITY: Exclude rev-deleted usernames from distinct authors query. * (T426867, CVE-2026-58032) SECURITY: mw.Api.getErrorMessage: Treat formatversion=1 as text. * (T299359, CVE-2026-58026) SECURITY: Make sure the actual title that's being transcluded is includable. * (T422085, CVE-2026-58024) SECURITY: Restrict interwiki user lookup in ApiUserrights. * (T422676, CVE-2026-58029) SECURITY: Check for editmyprivateinfo right in more places. * (T422995, CVE-2026-58037) SECURITY: LogFormatter: 'raw' parameter format is no longer raw HTML. * (T422244, CVE-2026-58025) SECURITY: Safely unserialize log entry parameters. * (T424462) tests: Limit ResourcesTest::testRespond to general-purpose skins * (T424462) tests: loop modules inside ResourcesTest::testRespond == Upgrading notes for 1.46 == Don't forget to always back up your database before upgrading! See the file UPGRADE for more detailed per-version upgrade instructions from the oldest supported upgrading version, MediaWiki 1.39. For notes on 1.45.x and older releases, see HISTORY. === Configuration changes for system administrators in 1.46 === * $wgSVGConverter inkscape now requires Inkscape 1.0 or newer * $wgSVGConverter presets sodipodi and imgserv were removed * (T246054) $wgLogos['1.5x'] is no longer used. Devices that previously displayed the 1.5x logo will use $wgLogos['1x'] instead. ==== New configuration ==== * $wgEnableWatchlistLabels - Feature flag to enable the new watchlist labels feature (see https://www.mediawiki.org/wiki/Help:Watchlist_labels for info). Note that the two new database tables for watchlist labels will be created regardless of the value of this flag. Defaults to false. * $wgUserJsPrefLimit – (T408733) This setting lets you limit the maximum number of supported custom JS preferences each user can have, to reduce load. The default value is 100. * $wgBotPasswordsLimit - This setting allows administrators to configure the maximum number of bot passwords a user can create. The default value is 100. * $wgNamespacesWithoutAutoSummaries - (T376557) Defaults to `[]`, can be set to a list of namespace numbers in which automatic edit summaries should be disabled. This avoids users who have access to recent changes but no access to a particular namespace from reading contents of limited pages from edit summaries. ==== Changed configuration ==== * $wgSVGNativeRendering now defaults to true. This means that uploaded SVGs are rendered directly by the browser most of the time. MediaWiki applies several filters on uploaded SVGs to protect against malicious SVGs. The browser adds restrictions on the SVG when included as an <img> for additional protection. We do advise configuring CSP headers to protect users in case they open a SVG file directly in the browser. * $wgThumbLimits has two new entries by default, 220px and 400px. This matches the configuration used by WMF in production. Since the default user thumbsize option is an index into this list (currently, '5'), this has the effect of changing the user default thumbnail size from 300px to 250px; again matching current WMF production defaults. ==== Removed configuration ==== * (T276975) $wgAPIRequestLog, ignored since 1.43, has now been fully removed. * $wgBlockTargetMigrationStage, ignored since 1.43, has now been fully removed. * (T413867) $wgEnableSpecialMute and $wgEnableUserEmailMuteList feature flags have been removed. === New user-facing features in 1.46 === * (T413375) A new parser function has been added, {{#isbn}}, which replaces the ISBN "magic link" functionality for those wikis which have chosen to disable it. * (T420600) A new tag has been added called "Edited other user's JS". It is automatically applied to edits to JavaScript pages in userspace that are not subpages of the user making the edit. * (T12814) Special:MovePage can now move over existing pages when moving the talk page (following the same logic as for moving the subject page). * (T12814) Special:MovePage will now fail loudly if you ask to move the the talk page but it couldn't be moved (rather than not moving the talk page and displaying an easy-to-miss error message) * (T85393) Special:MovePage will now require explicit confirmation if the page you are trying to move to is protected against creation. * (T413867) Special:Mute is always unconditionally enabled. * (T381455) Special:NamespaceInfo will now display aliases defined through $wgNamespaceAliases. === New features for sysadmins in 1.46 === * The 'arrays' localisation cache backend is more compact: a redundant list of message keys, and fallback data from other languages, are now deduplicated. Old cache files should either auto-update or continue to be readable where unchanged. * The update.php maintenance script and the web-based schema updater now skips messages about schema updates that were already applied in earlier MediaWiki versions. * A new "postprocessing" cache has been added in addition to the parser cache. This is enabled by default for Parsoid but not for the legacy parser; use $wgParserCacheFilterConfig to enable or disable use of this new cache. === New developer features in 1.46 === * Various functions are now marked with the #[\NoDiscard] attribute, which will cause PHP 8.5 (and Phan) to emit warnings when their return values are not used, as that is usually a mistake. This has no effect when running on PHP 8.4 or earlier. * mw.message( ... ).parseDom() is now part of mediawiki.base and will return a jQuery object wrapping a text node with the unparsed message contents if mediawiki.jqueryMsg is not loaded. * The LinkerMakeExternalLinkWithContext hook has been added as an improved and slightly modernized version of the LinkerMakeExternalLink hook. Developers are encouraged to migrate to the new hook. === External library changes in 1.46 === ==== New external libraries ==== * Added okvpn/clock-lts at 1.0.0 to over-ride lcobucci/clock. * Added wikimedia/language-data composer library at v1.1.13. ===== New development-only external libraries ===== * Added ergebnis/phpunit-slow-test-detector v2.24.0. ==== Changed external libraries ==== * Updated codex, codex-design-tokens and codex-icons from v2.3.2 to v2.5.1. * Updated guzzlehttp/guzzle from 7.10.0 to 7.12.3. * Updated jsonrainbow/json-schema from 5.3.0 to 5.3.4. * Updated lcobucci/jwt from 4.1.5 to 5.6.0. * Updated monolog/monolog from 2.9.3 to 2.11.0. * Updated oojs/oojs-ui (OOUI) from v0.53.0 to v0.53.2. * Updated pear/net_smtp from 1.12.1 to 1.12.2. * Updated psy/psysh from ^0.12.3 to 0.12.19. * Updated symfony/polyfill-php84 from 1.33.0 to 1.37.0. * Updated symfony/polyfill-php85 from 1.33.0 to 1.37.0. * Updated symfony/yaml from 6.4.26 to 7.4.12. * Updated wikimedia/bcp-47-code from 2.0.1 to 2.0.3. * Updated wikimedia/cldr-plural-rule-parser from 3.0.0 to 3.0.1. * Updated wikimedia/css-sanitizer from 6.1.0 to 6.2.1. * Updated wikimedia/ip-utils from 5.0.0 to 6.0.1. * Updated wikimedia/less.php from 5.2.2 to 5.5.1. * Updated wikimedia/minify from 2.9.0 to 2.10.0. * Updated wikimedia/object-factory from 5.0.1 to 6.0.0. * Updated wikimedia/relpath from 4.0.2 to 4.1.1. * Updated wikimedia/remex-html from 5.1.0 to 6.0.0. * Updated wikimedia/running-stat from 2.1.0 to 2.2.0. * Updated wikimedia/shellbox from 4.3.0 to 4.4.0. * Updated wikimedia/testing-access-wrapper from 3.0.0 to 4.0.0. * Updated wikimedia/timestamp from 5.0.0 to 5.1.0. * Updated wikimedia/wrappedstring from 4.0.1 to 4.1.0. * Updated wikimedia/xmp-reader from 0.10.2 to 0.10.3. * Updated CLDRPluralRuleParser from v1.3.2-pre to v1.6.5. ===== Changed development-only external libraries ===== * Updated doctrine/dbal from 3.10.0 to 3.10.5. * Updated doctrine/sql-formatter from 1.5.2 to 1.5.4. * Updated eslint-config-wikimedia from 0.31.0 to 0.32.3. * Updated jsdoc-wmf-theme from 1.1.0 to 1.2.0. * Updated mck89/peast from 1.17.2 to 1.17.5. * Updated mediawiki/mediawiki-codesniffer from 48.0.0 to 50.0.0. * Updated mediawiki/mediawiki-phan-config from 0.18.0 to 0.20.0. * Updated mediawiki/minus-x from 1.1.3 to 2.0.1. * Updated phpunit/phpunit from 9.6.21 to 9.6.34. * Updated svgo from 3.3.2 to 3.3.3. * Updated symfony/yaml from 6.4.25 to 6.4.26. * Updated wikimedia/alea from 1.0.0 to 1.0.1. ==== Removed external libraries ==== * Removed symfony/polyfill-php82. * Removed symfony/polyfill-php83. ===== Removed development-only external libraries ===== * Dropped johnkary/phpunit-speedtrap, incompatible with PHPUnit 10+. (T328919) === Action API changes in 1.46 === * In the `action=parse` API endpoint, the value `prop=sections` has been deprecated. Use `prop=tocdata` instead (T319141). The `prop=tocdata` schema is documented at [[mw:API:Parsing_wikitext/TOCData]]. * When specifying the Action API output format as `xml` or `xmlfm`, the `xslt` parameter has been removed. No alternative is provided. * (T359634) An SBOM in the CycloneDX 1.6 format can now be generated via the `sbom` prop of meta=siteinfo. === Action API internal changes in 1.46 === * Overriding ApiBase::deprecationMsg() instead of ::isDeprecated() allows you to provide a message describing the deprecation and recommended replacement, which will then be visible in [[Special:ApiSandbox]] and other human-readable descriptions of the API. Using: $this->addDeprecation( $this->deprecationMsg(), ... ); in your ::execute() method will then ensure that a consistent message is reported in API results as well. See ApiQueryDeletedrevs.php for an example of this best practice. === Languages updated in 1.46 === 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. * (T407507) Updated namespace translations for Igbo (ig) language. * (T409708) Added language support for Bole (bol). * (T409393) Added language support for Javanese (Javanese script) (jv-java). * (T411884) Added language support for Nawat (ppl). * (T419373) Added language support for Lakota (lkt). * (T423174) Added language support for East Frisian Low Saxon (frs). === Breaking changes in 1.46 === * The SpecialWatchlistGetNonRevisionTypesHook has been removed. Instead, extensions should ensure that rc_this_oldid is set to zero on recent changes entries that do not relate to any particular revision. * MutableRevisionRecord::setSha1() has been removed without deprecation. * Localizations of behavior switches must begin and end with double underscore (`_` or U+FF3F). Some localizations present in 1.45 which did not do so have been removed; check the category named by [[MediaWiki::Bad-double-underscore-category]] before upgrade to see if your local wiki contains affected wikitext. * Passing something other than an Authority for the $performer parameter to WatchlistManager methods clearTitleUserNotifications() and clearAllUserNotifications, deprecated since 1.37, will now throw. User implements Authority and so is still permitted. * Passing something other than a PageReference for the $title parameter to WatchlistManager::getTitleNotificationTimestamp and clearTitleUserNotifications, deprecated since 1.37, will now throw. * Many WatchedItemStore methods took either PageIdentity or LinkTarget, with LinkTarget being deprecated since 1.37. Passing a LinkTarget which is not a PageReference will now throw. * Added an `isLegacy()` method to the `LogEntry` interface. All implementors in core already defined this method, and the interface is not stable to implement. * WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo, deprecated since 1.45, has been removed. The associated constants, which were used as parameters to that method, like WatchedItemQueryService::FILTER_MINOR, have also been removed. * The CategoryMembershipChangeJob global namespace alias for the internal MediaWiki\RecentChanges\CategoryMembershipChangeJob class, deprecated since 1.44, has been removed. * The following methods of SpecialUserRights, deprecated in 1.45, have been removed: userCanChangeRights, expiryToTimestamp, doSaveUserGroups, fetchUser, changeableGroups. Callers should now use the equivalent methods from UserGroupAssignmentService or MultiFormatUserIdentityLookup. * UserGroupsSpecialPage::canProcessExpiries (formerly SpecialUserRights::canProcessExpiries), deprecated in 1.45, has been removed. There's no replacement; the special page always assumes it can process expiries. * The tests/phpunit/phpunit.php entrypoint, deprecated in 1.41, has been removed. Use `composer phpunit` instead. * The tests/phpunit/suite.xml configuration file and tests/phpunit/bootstrap.integration.php bootstrap, deprecated in 1.42, have been removed. Use phpunit.xml.dist and bootstrap.php instead. * The phpunit.xml.dist configuration file has been removed. MediaWiki now provides a phpunit.xml.template file that will be used to generate a local configuration file dependent on the wiki config. The local configuration can be generated manually by running `composer phpunit:config`, or automatically when running tests via `composer phpunit`. * The tables represented by subclasses of TitleLinksTable are now expected to be normalized to use the linktarget table. If they are not, they should override the linksTargetNormalizationStage method to return MIGRATION_OLD. * MimeAnalyzer::isPHPImageType, deprecated in 1.40, has been removed. * FileRepo no longer implements getUploadStash(), only LocalRepo does. * EtcdConfig::setLogger(), deprecated in 1.41, has been removed. * Deprecated functions in DatabaseBlock have been removed. - DatabaseBlock::delete(), deprecated in 1.36, has been removed. Please use DatabaseBlockStore::deleteBlock instead. - DatabaseBlock::update(), deprecated in 1.36, has been removed. Use the replacement DatabaseBlockStore::updateBlock instead. - DatabaseBlock::insert(), deprecated in 1.36, has been removed. Use the replacement DatabaseBlockStore::insertBlock instead. * The Result class has been removed; it was an unused alias of Shellbox\Command\UnboxedResult since 1.36. * The PageContentSave hook, deprecated in 1.35, has been removed. * The MagicWordwgVariableIDs hook, deprecated in 1.35, has been removed. * The UserIsBlockedGlobally hook, deprecated in 1.40, has been removed * The hooks 'AbortTalkPageEmailNotification' and 'AbortEmailNotification' (deprecated in 1.44 and 1.45) have been removed. * The hooks 'UpdateUserMailerFormattedPageStatus' and 'SendWatchlistEmailNotification' (deprecated in 1.45) have been removed. * The related method RecentChangeNotifier::getPageStatus() has been removed. * Constructing SpecialRedirectWithAction without a SearchEngineFactory argument will now trigger a PHP type error; omitting this was deprecated in 1.39. * The PrefixSearchBackend hook, deprecated in 1.27, has been dropped. * Parser::getDefaultSort(), deprecated in 1.38, has been removed. * WatchedItem::getLinkTarget(), deprecated in 1.36, has been removed. Instead, use ::getTarget() (and cast if needed). * The AddNewAccount hook, deprecated in 1.27, has been dropped. * wfMatchesDomainsList(), deprecated in 1.39, has been removed. Instead, use UrlUtils::matchesDomainList(). * The PSR-7 (HTTP request/response) interfaces have been updated from the 1.1 version of the spec to 2.0, adding return type hints. The copycat interface MediaWiki\Rest\ResponseInterface has been likewise updated. * The global function wfAssembleUrl(), deprecated in 1.39, has been removed. Instead, use UrlUtils::assemble(). * The global function wfArrayDiff2(), deprecated in 1.43, has been removed. * Parser::Options(), deprecated in 1.35, has been dropped. Instead, use the ::getOptions() and ::setOptions() methods. * DefaultSettings.php, deprecated in 1.39, has been removed. * $wgRCEngines and remaining behaviour has been removed. This was deprecated in 1.38. * $wgRCFeeds now explicitly requires a class parameter. The fallback behaviour has been deprecated since 1.38 and has been dropped. * Various deprecated Parser class functions have been dropped. - Parser::OutputType(), deprecated in 1.35. Use ::getOutputType() and ::setOutputType() instead. - Parser::getFunctionLang(), deprecated in 1.40. Use ::getTargetLanguage(). - Parser::doBlockLevels(), deprecated in 1.35. Internal-only replacement is provided by BlockLevelPass::doBlockLevels(). - Parser::attributeStripCallback(), deprecated with warnings in 1.35. This was never intended to be public. - Parser::enableOOUI(), deprecated with warnings in 1.35. Use $parser->getOutput()->setEnableOOUI() instead. - Parser::getPage() never returns null. Calling ::getPage() without a title set was deprecated in 1.34 and has emitted warnings when returning null since 1.41. - Parser::getOutput() never returns null. Calling ::getOutput() before the initialization of ParserOutput has been deprecated with warnings since 1.43. - Parser::setCacheTime() no longer accepts -1 to mean "not cacheable". This has emitted deprecation warnings since 1.36. * ContentSerializationException no longer extends deprecated MWException. * ContentHandler::checkFormat() and AbstractContent::checkFormat() now throw UnsupportedContentFormatException instead of deprecated MWException. * wfMergeErrorArrays(), deprecated in 1.43, has been dropped. * Article::getRedirectHeaderHtml(), deprecated in 1.41, has been dropped. Instead, use LinkRenderer::makeRedirectHeader(). * MergeHistory::isValidMerge() and MergeHistory::merge() now return StatusValue instead of Status. There are no known callers outside of core. * Various deprecated global functions for handling URLs have been dropped. - wfParseUrl(), deprecated in 1.39, has been dropped. Instead, use UrlUtils::parse(). - wfExpandUrl(), deprecated in 1.39, has been dropped. Instead, use UrlUtils::expand(). - wfUrlProtocolsWithoutProtRel(), deprecated in 1.39, has been dropped. Instead, use UrlUtils::validAbsoluteProtocols(). - wfUrlProtocols(), deprecated in 1.39, has been dropped. Instead, use UrlUtils::validProtocols(). * The 'vform' HTMLForm display format, deprecated in 1.45, has been removed. Use the 'codex' display format introduced in 1.41, or the 'ooui' format if you need form fields that are not supported by Codex yet. * The VFormHTMLForm class and the HTMLFormField::getVForm() method have been removed. * ContentHandler::checkModelID() and AbstractContent::checkModelID() now throw UnexpectedContentModelException instead of deprecated MWException. * The mediawiki.ui module, deprecated in 1.41 and unused, was removed. Instead, use Codex modules. * The mediawiki.ui.input module, deprecated in 1.41 and unused, was removed. Instead, use Codex modules. * The mediawiki.ui.checkbox module, deprecated in 1.41 and unused, was removed. Instead, use Codex modules. * The mediawiki.ui.radio module, deprecated in 1.41 and unused, was removed. Instead, use Codex modules. * The globally available 'mediawiki.ui/mixins.buttons.less', deprecated in 1.34, was removed as generally available mixin. * Less mixin 'mediawiki.mixins.animation.less', deprecated in 1.39, was removed. Use standard CSS animation and transform instead. * The $wgUser variable, deprecated in 1.36, was removed. You can instead use RequestContext::getMain()->getUser(), or another available ContextSource. * EditPage::$action, deprecated in 1.38, was removed. * EditPage::$textbox2, deprecated in 1.44, was removed. * TextConflictHelper::incrementStatsByUserEdits(), deprecated in 1.42, was removed. === Deprecations in 1.46 === * (T166010) All PHP code in MediaWiki is slowly being moved to be in a class namespace as appropriate, so that we can use PSR-4 auto-loading, which will speed up general code loading of MediaWiki. The old global namespace class names are being left behind as deprecated aliases. In this release of MediaWiki, 2987 classes now have a namespace and 26 do not yet (99% done, up from 89% in MediaWiki 1.45.0). The following have newly been moved: - Actions related hooks: MediaWiki\Hook => MediaWiki\Actions\Hook - ActionBeforeFormDisplayHook - ActionModifyFormFieldsHook - CustomEditorHook - HistoryPageToolLinksHook - HistoryToolsHook - InfoActionHook - PageHistoryBeforeListHook - PageHistoryLineEndingHook - PageHistoryPager__doBatchLookupsHook - PageHistoryPager__getQueryInfoHook - RawPageViewBeforeOutputHook - UnwatchArticleCompleteHook - UnwatchArticleHook - WatchArticleCompleteHook - WatchArticleHook - Actions related pager: MediaWiki\Pager => MediaWiki\Actions\Pager - HistoryPager - MediaWiki\Autoload: - ClassCollector - AutoloadGenerator - MediaWiki\Collation: - AbkhazUppercaseCollation - BashkirUppercaseCollation - CentralKurdishUppercaseCollation - Collation - CollationCkb - CustomUppercaseCollation - IcuCollation - IdentityCollation - InariSaamiUppercaseCollation - NumericUppercaseCollation - RemoteIcuCollation - UppercaseCollation - Collation related hook: MediaWiki\Hook => MediaWiki\Collation\Hook - Collation__factoryHook - Context related hooks: MediaWiki\Hook => MediaWiki\Context\Hook - RequestContextCreateSkinHook - UserGetLanguageObjectHook - MediaWiki\DB: - CloneDatabase - MWLBFactory - MediaWiki\Debug: - MW - Deferred related hooks: MediaWiki\Hook => MediaWiki\Deferred\Hook - LinksUpdateCompleteHook - LinksUpdateHook - UserEditCountUpdateHook - MediaWiki\Diff: - DifferenceEngine - DifferenceEngineSlotDiffRenderer - IncompatibleDiffTypesException - SlotDiffRenderer - TextSlotDiffRenderer - UnsupportedSlotDiffRenderer - Exception related hook: MediaWiki\Hook => MediaWiki\Exception\Hook - LogExceptionHook - MediaWiki\Export: - BaseDump - DumpBZip2Output - DumpNamespaceFilter - Dump7ZipOutput - DumpFileOutput - WikiExporter - DumpLatestFilter - XmlDumpWriter - DumpDBZip2Output - DumpOutput - DumpNotalkFilter - DumpLBZip2Output - DumpMultiWriter - DumpStringOutput - ExportProgressFilter - DumpPipeOutput - DumpGZipOutput - DumpFilter - Export related hooks: MediaWiki\Hook => MediaWiki\Export\Hook - ModifyExportQueryHook - WikiExporter__dumpStableQueryHook - XmlDumpWriterOpenPageHook - XmlDumpWriterWriteRevisionHook - MediaWiki\ExternalStore: - ExternalStoreMedium - ExternalStoreFactory - ExternalStore - ExternalStoreMemory - ExternalStoreMwstore - ExternalStoreHttp - ExternalStoreException - ExternalStoreAccess - ExternalStoreDB - MediaWiki\FileBackend\LockManager: - LockManagerGroup - FileRepo related hooks: MediaWiki\Hook => MediaWiki\FileRepo\Hook - FileTransformedHook - FileUploadHook - LocalFilePurgeThumbnailsHook - LocalFile__getHistoryHook - MediaWiki\Gallery: - ImageGalleryBase - NolinesImageGallery - PackedHoverImageGallery - PackedImageGallery - PackedOverlayImageGallery - SlideshowImageGallery - TraditionalImageGallery - MediaWiki\Gallery\Exception: - ImageGalleryClassNotFoundException - Gallery related hook: MediaWiki\Hook => MediaWiki\Gallery\Hook - GalleryGetModesHook - MediaWiki\Http: - MWCallbackStream - MWHttpRequest - GuzzleHttpRequest - MediaWiki\Import: - WikiImporterFactory - ImportableOldRevisionImporter - ImportStreamSource - ImportableUploadRevisionImporter - OldRevisionImporter - WikiRevision - ImportableOldRevision - ImportStringSource - ImportableUploadRevision - ImportSource - UploadRevisionImporter - WikiImporter - UploadSourceAdapter - Import related hooks: MediaWiki\Hook => MediaWiki\Import\Hook - AfterImportPageHook - ImportHandleContentXMLTagHook - ImportHandleLogItemXMLTagHook - ImportHandlePageXMLTagHook - ImportHandleRevisionXMLTagHook - ImportHandleToplevelXMLTagHook - ImportHandleUploadXMLTagHook - Jobs related hook: MediaWiki\Hook => MediaWiki\JobQueue\Jobs\Hook - RecentChangesPurgeRowsHook - MediaWiki\Language - MessageCache - LanguageConverterSpecific - TrivialLanguageConverter - LCStore - LCStoreStaticArray - LanguageConverterIcu - LocalisationCache - LocalisationCacheBulkLoad - MessageLocalizer - LCStoreCDB - LCStoreNull - LCStoreDB - MediaWiki\Language\Converters - ShiConverter - EnConverter - BanConverter - CrhConverter - TlyConverter - ZhConverter - MniConverter - TgConverter - IuConverter - GanConverter - ShConverter - WuuConverter - UzConverter - KuConverter - ZghConverter - SrConverter - MediaWiki\Languages - LanguageTr - LanguageFi - LanguageSh - LanguageHu - LanguageKm - LanguageAr - LanguageWa - LanguageBe_tarask - LanguageKk_cyrl - LanguageHy - LanguageEn - LanguageMy - LanguageKaa - LanguageDsb - LanguageLa - LanguageBs - LanguageSl - LanguageQqx - LanguageOs - LanguageZh_hans - LanguageKsh - LanguageKk - LanguageWuu - LanguageGa - LanguageTyv - LanguageMl - LanguageAz - LanguageYue - LanguageJa - LanguageCu - LanguageZh - LanguageHsb - LanguageGan - Linker related hooks: MediaWiki\Hook => MediaWiki\Linker\Hook - LinkerMakeExternalImageHook - LinkerMakeExternalLinkHook - LinkerMakeMediaLinkFileHook - MediaWiki\ObjectCache: - ObjectCache - ObjectCacheFactory - SqlBagOStuff - MediaWiki\Skins\Hook => MediaWiki\Skin\Hook - SkinAfterPortletHook - SkinPageReadyConfigHook - Logging related hooks: MediaWiki\Hook => MediaWiki\Logging\Hook - LogEventsListGetExtraInputsHook - LogEventsListLineEndingHook - LogEventsListShowLogExtractHook - LogLineHook - ManualLogEntryBeforePublishHook - Logging related pager: MediaWiki\Pager => MediaWiki\Logging\Pager - LogPager - Mail related hooks: MediaWiki\Hook => MediaWiki\Mail\Hook - AlternateUserMailerHook - UserMailerChangeReturnPathHook - UserMailerSplitToHook - UserMailerTransformContentHook - UserMailerTransformMessageHook - MediaWiki\Media - PNGMetadataExtractor - MediaHandlerFactory - MediaTransformInvalidParametersException - DjVuImage - SVGReader - IPTC - BitmapHandler_ClientOnly - TransformationalImageHandler - BmpHandler - JpegMetadataExtractor - GIFMetadataExtractor - ExifBitmapHandler - BitmapHandler - InvalidJpegException - DjVuHandler - ThumbnailImage - JpegHandler - GIFHandler - PNGHandler - MediaHandlerState - TrivialMediaHandlerState - MediaHandler - InvalidSVGException - XCFHandler - TiffHandler - MediaTransformError - BitmapMetadataHandler - FormatMetadata - InvalidTiffException - TransformTooBigImageAreaError - TransformParameterError - SvgHandler - InvalidPSIRException - ImageHandler - WebPHandler - MediaTransformOutput - Jpeg2000Handler - Exif - Media related hooks: MediaWiki\Hook => MediaWiki\Media\Hook - BitmapHandlerCheckImageAreaHook - BitmapHandlerTransformHook - GetExtendedMetadataHook - GetMetadataVersionHook - ThumbnailBeforeProduceHTMLHook - ValidateExtendedMetadataCacheHook - Parser related hooks: MediaWiki\Hook => MediaWiki\Parser\Hook - AfterParserFetchFileAndTitleHook - BeforeParserFetchFileAndTitleHook - BeforeParserFetchTemplateRevisionRecordHook - GetLinkColoursHook - GetMagicVariableIDsHook - InternalParseBeforeLinksHook - IsValidEmailAddrHook - PageRenderingHashHook - ParserAfterParseHook - ParserAfterTidyHook - ParserBeforeInternalParseHook - ParserBeforePreprocessHook - ParserCacheSaveCompleteHook - ParserClearStateHook - ParserClonedHook - ParserFetchTemplateDataHook - ParserFirstCallInitHook - ParserGetVariableValueSwitchHook - ParserGetVariableValueTsHook - ParserLimitReportFormatHook - ParserLimitReportPrepareHook - ParserLogLinterDataHook - ParserMakeImageParamsHook - ParserModifyImageHTMLHook - ParserOptionsRegisterHook - ParserOutputPostCacheTransformHook - ParserPreSaveTransformCompleteHook - RejectParserCacheValueHook - Password related hook: MediaWiki\Hook => MediaWiki\Password\Hook - PasswordPoliciesForUserHook - MediaWiki\Profiler - ProfilerSectionOnly - ProfilerXhprof - Profiler - SectionProfileCallback - ProfilerStub - ProfilerExcimer - SectionProfiler - MediaWiki\Profiler\Output - ProfilerOutputText - ProfilerOutput - ProfilerOutputStats - ProfilerOutputDump - RCFeed related hook: MediaWiki\Hook => MediaWiki\RCFeed\Hook - IRCLineURLHook - RecentChanges related hooks: MediaWiki\Hook => MediaWiki\RecentChanges\Hook - ChangesListInitRowsHook - ChangesListInsertArticleLinkHook - ChangesListInsertLogEntryHook - EnhancedChangesListModifyBlockLineDataHook - EnhancedChangesListModifyLineDataHook - EnhancedChangesList__getLogTextHook - FetchChangesListHook - MarkPatrolledCompleteHook - MarkPatrolledHook - OldChangesListRecentChangesLineHook - RecentChange_saveHook - MediaWiki\RevisionDelete: - RevisionDeleter - RevDelFileItem - RevDelRevisionItem - RevDelLogList - RevisionDeleteUser - RevDelList - RevDelFileList - RevDelArchivedFileList - RevDelLogItem - RevDelRevisionList - RevDelArchivedFileItem - RevDelItem - RevDelArchivedRevisionItem - RevDelArchiveList - RevDelArchiveItem - RevisionDelete related hook: MediaWiki\Hook => MediaWiki\RevisionDelete\Hook - ArticleRevisionVisibilitySetHook - MediaWiki\Search: - SearchMySQL - SqlSearchResult - SqlSearchResultSet - BaseSearchResultSet - ISearchResultSet - PrefixSearch - RevisionSearchResult - SearchEngineConfig - SearchResult - SearchResultSet - SearchResultTrait - TitlePrefixSearch - PaginatingSearchEngine - SearchHighlighter - StringPrefixSearch - SearchIndexField - PerRowAugmentor - ResultAugmentor - NullIndexField - SearchIndexFieldDefinition - FauxSearchResultSet - SearchSuggestion - SearchEngine - SearchSqlite - SearchResultSetTrait - SearchNearMatchResultSet - ResultSetAugmentor - SearchEngineFactory - SearchSuggestionSet - SearchPostgres - SearchDatabase - DummySearchIndexFieldDefinition - SearchExactMatchRescorer - FauxSearchResult - Skin related hooks: MediaWiki\Hook => MediaWiki\Skin\Hook - GetNewMessagesAlertHook - SidebarBeforeOutputHook - SiteNoticeAfterHook - SiteNoticeBeforeHook - SkinAddFooterLinksHook - SkinAfterBottomScriptsHook - SkinAfterContentHook - SkinBuildSidebarHook - SkinCopyrightFooterMessageHook - SkinEditSectionLinksHook - SkinPreloadExistenceHook - SkinSubPageSubtitleHook - SkinTemplateGetLanguageLinkHook - SkinTemplateNavigation__UniversalHook - UndeletePageToolLinksHook - Skin component related classes: MediaWiki\Skin => MediaWiki\Skin\Components - ComponentRegistryContext - SkinComponent - SkinComponentCopyright - SkinComponentFooter - SkinComponentLastModified - SkinComponentLink - SkinComponentListItem - SkinComponentLogo - SkinComponentMenu - SkinComponentRegistry - SkinComponentRegistryContext - SkinComponentRenderedWith - SkinComponentSearch - SkinComponentTableOfContents - SkinComponentTempUserBanner - SkinComponentUtils - MediaWiki\Specials\Exception - SpecialUploadStashTooLargeException - MediaWiki\Specials\FormFields - Licenses - MediaWiki\Specials\Forms - MediaWiki\Specials\Forms\EditWatchlistNormalHTMLForm - MediaWiki\Specials\Forms\PreferencesFormOOUI - MediaWiki\Specials\Forms\UploadForm - MediaWiki\Specials\Helpers - License - LoginHelper - ImportReporter - Specials related hooks: MediaWiki\Hook => MediaWiki\Specials\Hook - AncientPagesQueryHook - BeforeWelcomeCreationHook - BlockIpCompleteHook - BlockIpHook - BookInformationHook - ChangeUserGroupsHook - ContribsPager__getQueryInfoHook - ContribsPager__reallyDoQueryHook - ContributionsLineEndingHook - ContributionsToolLinksHook - DeletedContribsPager__reallyDoQueryHook - DeletedContributionsLineEndingHook - EmailUserCCHook - EmailUserCompleteHook - EmailUserFormHook - EmailUserHook - EmailUserPermissionsErrorsHook - ExtensionTypesHook - FileUndeleteCompleteHook - GetLogTypesOnUserHook - ImportLogInterwikiLinkHook - ImportSourcesHook - LanguageSelectorHook - LoginFormValidErrorMessagesHook - LonelyPagesQueryHook - NewPagesLineEndingHook - OtherAutoblockLogLinkHook - OtherBlockLogLinkHook - PostLoginRedirectHook - PreferencesGetLegendHook - PrefsEmailAuditHook - RandomPageQueryHook - ShortPagesQueryHook - SoftwareInfoHook - SpecialBlockModifyFormFieldsHook - SpecialContributionsBeforeMainOutputHook - SpecialContributions__formatRow__flagsHook - SpecialContributions__getForm__filtersHook - SpecialCreateAccountBenefitsHook - SpecialExportGetExtraPagesHook - SpecialListusersDefaultQueryHook - SpecialListusersFormatRowHook - SpecialListusersHeaderFormHook - SpecialListusersHeaderHook - SpecialListusersQueryInfoHook - SpecialLogAddLogSearchRelationsHook - SpecialLogResolveLogTypeHook - SpecialMovepageAfterMoveHook - SpecialMuteModifyFormFieldsHook - SpecialNewPagesFiltersHook - SpecialNewpagesConditionsHook - SpecialPrefixIndexGetFormFiltersHook - SpecialPrefixIndexQueryHook - SpecialRandomGetRandomTitleHook - SpecialRecentChangesPanelHook - SpecialResetTokensTokensHook - SpecialSearchCreateLinkHook - SpecialSearchGoResultHook - SpecialSearchNogomatchHook - SpecialSearchProfilesHook - SpecialSearchResultsAppendHook - SpecialSearchResultsHook - SpecialSearchResultsPrependHook - SpecialSearchSetupEngineHook - SpecialStatsAddExtraHook - SpecialTrackingCategories__generateCatLinkHook - SpecialTrackingCategories__preprocessHook - SpecialUploadCompleteHook - SpecialVersionVersionUrlHook - SpecialWhatLinksHereQueryHook - UnblockUserCompleteHook - UnblockUserHook - UndeleteForm__showHistoryHook - UndeleteForm__showRevisionHook - UploadFormInitDescriptorHook - UploadFormSourceDescriptorsHook - UploadForm_BeforeProcessingHook - UploadForm_getInitialPageTextHook - UploadForm_initialHook - UserCanChangeEmailHook - UserLoginCompleteHook - UserLogoutCompleteHook - UsersPagerDoBatchLookupsHook - WantedPages__getQueryInfoHook - WatchlistEditorBeforeFormRenderHook - WatchlistEditorBuildRemoveLineHook - WhatLinksHerePropsHook - Specials related pager: MediaWiki\Pager => MediaWiki\Specials\Pager - ActiveUsersPager - AllMessagesTablePager - BlockListPager - CategoryPager - ContribsPager - DeletedContribsPager - EditWatchlistPager - ImageListPager - MergeHistoryPager - NewFilesPager - NewPagesPager - PagerTools - ProtectedPagesPager - ProtectedTitlesPager - UploadStashPager - UsersPager - Title related hooks: MediaWiki\Hook => MediaWiki\Title\Hook - CanonicalNamespacesHook - NamespaceIsMovableHook - MediaWiki\Upload: - UploadVerificationStatus - UploadFromStash - UploadFromUrl - UploadBase - UploadStash - UploadStashFile - UploadFromFile - UploadFromChunks - MediaWiki\Upload\Exception: - UploadChunkFileException - UploadChunkVerificationException - UploadStashBadPathException - UploadStashException - UploadStashFileException - UploadStashNotFoundException - UploadStashNoSuchKeyException - UploadStashNotLoggedInException - UploadStashWrongOwnerException - UploadStashZeroLengthFileException - Upload related hooks: MediaWiki\Hook => MediaWiki\Upload\Hook - IsUploadAllowedFromUrlHook - UploadCompleteHook - UploadCreateFromRequestHook - UploadStashFileHook - UploadVerifyFileHook - UploadVerifyUploadHook - MediaWiki\User: - UserEditCountInitJob - UserGroupExpiryJob - Options/UserOptionsUpdateJob - MediaWiki\Utils: - BatchRowUpdate - MWCryptRand - BatchRowWriter - BatchRowIterator - RowUpdateGenerator - MWRestrictions - MWFileProps - ExecutableFinder - FileContentsHasher - Watchlist related hook: MediaWiki\Hook => MediaWiki\Watchlist\Hook - WatchedItemQueryServiceExtensionsHook - The LockManager library: Wikimedia\LockManager - FSLockManager - LockManager - MemcLockManager - NullLockManager - QuorumLockManager - RedisLockManager - ScopedLock * Wikimedia\MapCacheLRU\MapCacheLRU renamed to Wikimedia\ObjectCache\MapCacheLRU. * MediaWiki\Cache\Hook\MessageCacheFetchOverridesHook renamed to MediaWiki\Language\Hook\MessageCacheFetchOverridesHook. * MediaWiki\Cache\Hook\MessageCacheReplaceHook renamed to MediaWiki\Language\Hook\MessageCacheReplaceHook. * MediaWiki\Cache\Hook\MessageCache__getHook renamed to MediaWiki\Language\Hook\MessageCache__getHook. * MediaWiki\Cache\Hook\MessagesPreLoadHook renamed to MediaWiki\Language\Hook\MessagesPreLoadHook. * MediaWiki\Exception\MWContentSerializationException renamed to MediaWiki\Content\ContentSerializationException. * MediaWiki\Exception\MWUnknownContentModelException renamed to MediaWiki\Content\UnknownContentModelException. * Using an int for the $mode parameter of LanguageFallback::getAll() is now deprecated. Use the new LanguageFallbackMode enumeration instead. * LanguageFallback::MESSAGES and LanguageFallback::STRICT are deprecated; use LanguageFallbackModes::{MESSAGES,STRICT} instead. * IDatabase::lockIsFree is deprecated. For non-blocking locks, use IDatabase::lock with timeout 0 instead. * The AutopromoteCondition hook has been deprecated and will now trigger deprecation warnings. Use UserRequirementsCondition hook, instead. * The RecentChange::parseToRCType and RecentChange::parseFromRCType methods are deprecated and will now trigger deprecation warnings. * RecentChange::getCharacterDifference was unused and has been deprecated, call ChangesList::formatCharacterDifference or ChangesList::showCharacterDifference instead. * Calling ChangesList::flag and ChangesList::showCharacterDifference without specifying a context has been deprecated. * Calling ChangesList::userCan without specifying a performer has been deprecated. * Parser::makeImage() has been deprecated with warnings; use ::makeImageHtml() instead, which doesn't expose the internal LinkHolderArray. * Parser::replaceLinkHolders() now emits deprecation warnings; it was deprecated in 1.34. * Parser::setCacheTime() now requires its argument to be a non-null string; passing other values triggers a deprecation warning. * PageBundleParserOutputConverter::pageBundleFromParserOutput() has been deprecated with warnings. Use ::htmlPageBundleFromParserOutput() instead. * CoreTagHooks has been deprecated; use the ParserCoreTagHooks service instead. Its static methods were previously marked @internal but will now trigger deprecation warnings as well. * Content::getNativeData() now emits deprecation warnings in all Content subclasses defined in core; it was deprecated in 1.33. * Returning null (or allowing the null initial value to remain) from the ParserGetVariableValueSwitch hook for a magic word you've registered via the GetMagicVariableIDs hook is deprecated and emits warnings. * The WatchedItemQueryServiceExtensions hook is deprecated and is no longer called. Use ApiQueryBaseBeforeQuery, ApiQueryBaseAfterQuery, ApiQueryBaseProcessRow and ApiQueryWatchlistExtractOutputData. * Passing oldid to WatchlistManager::clearTitleUserNotifications or WikiPage::doViewUpdates is deprecated and emits notice, pass RevisionRecord instead. * ApiUpload::getDummyInstance was deprecated, subclasses of ApiUpload can use ApiUpload::getUploadImageInfo() instead. * The UserLinkRenderer service has been marked @internal and the UserLinkRenderer::userLink() method has been deprecated. Use LinkRenderer::makeUserLink() instead. Calls to Linker::userLink() method, deprecated in 1.44, should also use LinkRenderer::makeUserLink(). Users of the UserLinkRenderer service should use LinkRenderer. * The ParserOutput::mergeTrackingMetaDataFrom(), ::mergeHtmlMetaDataFrom(), and ::mergeInternalMetaDataFrom() methods have been marked @internal. Use ParserOutput::collectMetadata() instead. * User::getInstanceForUpdate() has been deprecated and now emits deprecation warnings. In most cases (such as for use with UserOptionsManager) calling this method is no longer needed. In other cases use getInstanceFromPrimary() instead. * The use of "fromdb", "fromdbmaster", "forupdate" constants in WikiPage methods has been deprecated. Effected methods include loadFromRow(), wasLoadedFrom(), and loadPageData(). * The following PageHistoryVisibilityChangedEvent methods were deprecated: - wasCurrentRevisionAffected(); use wasLatestRevisionAffected() instead. - getCurrentRevisionId(); getLatestRevisionId() instead. - getCurrentRevisionVisibilityBefore(); use getLatestRevisionVisibilityBefore() instead. - getCurrentRevisionVisibilityAfter(); use getLatestRevisionVisibilityAfter() instead. * Some static methods in Xml, deprecated in 1.42, now emit deprecation warnings: - Xml::attrib(), - Xml::buildForm(), - Xml::fieldset(), - Xml::label() — use Html::label() instead, - Xml::listDropdown(), - Xml::listDropdownOptions() & Xml::listDropdownOptionsOoui(), and - Xml::option(). * Returning a boolean from LoggedUpdateMaintenance::doDbUpdates() is now deprecated. Maintenance scripts that extend LoggedUpdateMaintenance should return a LoggedUpdateOutcome value from doDbUpdates() and advertise this fact using a return type declaration. This allows doDbUpdates() to signal a dry run explicitly, removing the need to treat dry runs as failures (T411104). * Language::emphasize() is unused, got deprecated, and will be removed in the next version. * RevisionLookup::getKnownCurrentRevision() is now deprecated in favor of RevisionLookup::getKnownLatestRevision(). * RevisionStore::getKnownCurrentRevision() is now deprecated in favor of RevisionStore::getKnownLatestRevision(). * DerivedPageDataUpdater::grabCurrentRevision() is now deprecated in favor of DerivedPageDataUpdater::grabLatestRevision(). * All public properties of ConverterRule have been deprecated and now emit deprecation warnings. They will be made private in a future release. * Modification of the namespaces key will no longer modify associated pages in the SkinTemplateNavigation::Universal hook (T412238). * The global function wfArrayPlus2d() has been deprecated. * The global function wfArrayInsertAfter() has been deprecated. * All skins are now required to declare the menus they render in their skin definition (per T409774). In future this will allow for skin optimizations. BaseTemplate::getPersonalTools was also deprecated as was calls by BaseTemplate::get to personal_tools and content_actions. Please see migration guide at T416652. * Passing null to the $output parameter of FeedUtils::checkFeedOutput is now deprecated and emits deprecation warnings. * The HtmlCacheUpdater service has been renamed to HTMLCacheUpdater (T419427). Using the old name is now deprecated and emits deprecation warnings. * ChannelFeed::httpHeaders() and ChannelFeed::outXmlHeader() have been deprecated and emit deprecation warnings, use ::sendHttpHeaders() and ::outputXmlHeader() instead. * ChannelFeed::outHeader(), ::outItem() and ::outFooter() have been deprecated and emit deprecation warnings, use ::outputHeader(), ::outputItem() and ::outputFooter() instead. * ResourceLoader::makeConfigSetScript(), deprecated in 1.44, now emits deprecation warnings. * SpecialVersion::getVersionLinked() is unused and has been deprecated. * Direct instantiations of the SpecialPage root and intermediate classes are deprecated and emit deprecation warnings: - SpecialPage - ContributionsSpecialPage - IncludableSpecialPage - UnlistedSpecialPage * Less mixin 'mediawiki.mixins.rotation.less' got deprecated. Use standard CSS transform and animation instead. * The usage of the SpecialPage constructor parameter $includable is deprecated and emits deprecation warnings. The usage of the SpecialPage property $mIncludable is deprecated and emits deprecation warnings. Override the method isIncludable() or extend IncludableSpecialPage instead. * Calling ChangeTags::formatSummaryRow and ChangeTags::buildTagFilterSelector without specifying a context was unused and got deprecated. * The usage of the SpecialPage, IncludableSpecialPage or UnlistedSpecialPage constructor with the unused parameters $function or $file now emits deprecation warnings. * The usage of the SpecialPage constructor parameter $listed is deprecated and emits deprecation warnings. Override the method isListed() or extend UnlistedSpecialPage instead. * Accessing the SpecialPage property $mRestriction is now deprecated. Use $this->getRestriction() instead to get the value. * The usage of the SpecialPage constructor parameter $restriction is deprecated. Override the method getRestriction() instead. * Calling File::getShortDesc, File::getLongDesc, File::getDescriptionText, File::getDimensionsString, MediaHandler::getGeneralShortDesc or MediaHandler::getGeneralLongDesc without specifying a language is deprecated. Inject the suitable context language, falling back to RequestContext. * Calling MediaHandler::getShortDesc and MediaHandler::getLongDesc without calling MediaHandler::setLanguage befoe is deprecated. * Overriding Action::getArticle now emits deprecation warnings; overriding was deprecated in 1.35. * The global function wfGetUrlUtils(), deprecated in 1.43, now emits deprecation warnings. Access the UrlUtils service instead. * Calling HTMLForm::loadInputFromParameters without a parent, deprecated since 1.40, now emits warnings. * RecentChange::newLogEntry, RecentChange::notifyNew and RecentChange::notifyEdit, deprecated in 1.45, now emit warnings. * Calling SpecialPageFactory::getUsablePages without context was deprecated. * Calling UploadBase::checkWarnings without a user parameter is deprecated and emits warnings. * OutputPage::transformCssMedia() and ResourceLoader::makeCombinedStyles() now take a $request parameter, and passing null to it will trigger warnings. * The ConditionalDefaultOptionsAddCondition hook has been deprecated and will now trigger deprecation warnings. There is no replacement. * TextboxBuilder is no longer newable, and passing null to either of the three constructor parameters has been deprecated. Use the service instead to get an instance of the class. * LanguageConverter::getAdditionalFlags() has been deprecated, as it appears to be unused and non-functional. * wfPercent() has been deprecated and now emits deprecation warnings. Use round() and format the number as appropriate for the language, for example using `wfMessage( 'percent' )->numParams( round( $x, 2 ) )->text()`. * The EditFilter hook has been deprecated and will trigger deprecation warnings. Use EditFilterMergedContent or MultiContentSave instead. == Compatibility == MediaWiki 1.46 requires PHP 8.3.0 or later and the following PHP extensions: * ctype * dom * fileinfo * iconv * intl * mbstring * xml MariaDB is the recommended database software. MySQL, PostgreSQL, or SQLite can be used instead, but support for them is somewhat less mature. The supported versions are: * MariaDB 10.3 or higher * MySQL 5.7.0 or higher * PostgreSQL 10 or later * SQLite 3.8.0 or later == Online documentation == Documentation for both end-users and site administrators is available on MediaWiki.org, and is covered under the GNU Free Documentation License (except for pages that explicitly state that their contents are in the public domain): <https://www.mediawiki.org/wiki/Special:MyLanguage/Documentation> == Mailing list == A mailing list is available for MediaWiki user support and discussion: <https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/> A low-traffic announcements-only list is also available: <https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/> It's highly recommended that you sign up for one of these lists if you're going to run a public MediaWiki, so you can be notified of security fixes. == IRC help == There's usually someone online in #mediawiki on irc.libera.chat. == MediaWiki 1.45.4 == This is a security and maintenance release of the MediaWiki 1.45 branch. === Changes since 1.45.3 === * Localisation updates. * (T419192) Actions: Fix incorrect variable shadowing. * (T421659) Installer: Skip dropIndex() when table does not exists. * (T413545, T422879) Update wikimedia/parsoid to 0.22.3. * (T423185) HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID. * (T420239) search: Escape highlighting terms in postgres. * ParserOutput: Add JsonCodec hints for TOCData and WarningMsgs. * (T414805) Media: Re-apply Use previous step for non-standard width between steps and original. * (T418745, T423895) Media: Fallback to the largest standard size if an overly large one is requested. * (T382781) Changed Levantine Arabic numerals to Western numerals. * (T382781) [PHP 8.4] Ensure Levantine Arabic numerals stay as Western numerals. * (T261260) Limit preloading workaround for autoload bug to PHP<8.6. * Upload: Avoid null array key in UploadBase::getMaxUploadSize. * (T423821) Correctly support new file tables in RevDelFileItem. * (T423502) AuthManager: Log status changes from SecuritySensitiveOperationStatusHook call. * (T419768) RawAction: Restrict content type to javascript. * HTMLForm: Add 'type' => 'button'. * (T395204) Update GetSecurityLogContext @since tags for backports. * (T424553) Correctly support new file tables in RevisionDeleteUser. * (T402792, T414805, T416620, T418178) DjvuHandler: Make it follow thumb steps. * (T425393) languages: Add back Chinese language message entries for $specialPageAliases. * (T425742) ApiQueryInfo: Pass an empty string instead of null to EditFormPreloadText hook. * (T424114) Media: Improve $wgThumbnailSteps docs. * resetUserEmail: Log email change to authentication log. * resetUserEmail: Add reason option for email change. * resetUserEmail: Log more events from script. * changePassword/resetUserEmail: Invalidate user sessions upon password change. * (T426861) composer.json: Updated symfony/yaml from 6.4.25 to 6.4.40. * (T366986) Parser: Improve recursive lock error message. * (T413545) Update wikimedia/parsoid to 0.22.4. * Add GitHub to $wgGitRepositoryViewers. * (T425818) changePassword: Log password change to authentication log. * changePassword: Add reason option for password change. * (T428406) LocalFileMoveBatch: Also update fr_archive_name when moving file. * (T429826) Updated guzzlehttp/guzzle from 7.10.0 to 7.12.1. * (T423617) Check the target url for redirects are allowed. * (T429965) Updated guzzlehttp/guzzle from 7.12.1 to 7.12.3. * (T383047) Mail: Extract sendWithMailFunction() from UserMailer::send(). * (T429720) FileRepo: Fix typos in schema compatibility checks. * (T383047) Mail: Log PHP mail() send failures with recipient count. * (T425406, CVE-2026-58036) SECURITY: Fix ApiQueryUsers leaking status of private user conditions for user. * (T422306, CVE-2026-58028) SECURITY: Disallow user JS in pretty-print api.php responses. * (T427235, CVE-2026-58033) SECURITY: Exclude rev-deleted usernames from distinct authors query. * (T426867, CVE-2026-58032) SECURITY: mw.Api.getErrorMessage: Treat formatversion=1 as text. * (T299359, CVE-2026-58026) SECURITY: Make sure the actual title that's being transcluded is includable. * (T422085, CVE-2026-58024) SECURITY: Restrict interwiki user lookup in ApiUserrights. * (T422676, CVE-2026-58029) SECURITY: Check for editmyprivateinfo right in more places. * (T422995, CVE-2026-58037) SECURITY: LogFormatter: 'raw' parameter format is no longer raw HTML. * (T422244, CVE-2026-58025) SECURITY: Safely unserialize log entry parameters. == MediaWiki 1.45.3 == This is a maintenance release of the MediaWiki 1.45 branch. === Changes since 1.45.2 === * Fixed backport issues.
[+]
php82
[+]
php53
[-] changelog.txt
[edit]
[-] notes.txt
[edit]
[-] LocalSettings.php
[edit]
[-] import.php
[edit]
[-] info.xml
[edit]
[-] install.xml
[edit]
[-] fileindex.php
[edit]
[+]
php71
[-] mw14.sql
[edit]
[-] clone.php
[edit]
[-] edit.xml
[edit]
[-] install.js
[edit]
[+]
php56
[-] upgrade.php
[edit]
[-] upgrade.xml
[edit]
[+]
php81
[-] install.php
[edit]
[+]
..
[-] md5
[edit]
[-] edit.php
[edit]
[+]
images
[-] mw14.zip
[edit]