MediaWiki 1.46.0-alpha installation
- Language
- Existing wiki
- Welcome to MediaWiki!
- Connect to database
- Upgrade existing installation
- Database settings
- Name
- Options
- Install
- Complete!
Release notes
MediaWiki 1.46
PHP 8.1 workboard: https://phabricator.wikimedia.org/tag/php_8.1_support/ PHP 8.2 workboard: https://phabricator.wikimedia.org/tag/php_8.2_support/ 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 an alpha-quality development branch, and is not recommended for use in production.
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.35.
Some specific notes for MediaWiki 1.46 upgrades are below:
- …
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
- …
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.
- …
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.
- (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.
- …
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.
- …
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.
- …
External library changes in 1.46
New external libraries
- Added okvpn/clock-lts at 1.0.0 to over-ride lcobucci/clock.
- …
New development-only external libraries
- Added ergebnis/phpunit-slow-test-detector v2.23.0.
- …
Changed external libraries
- Updated codex, codex-design-tokens and codex-icons from v2.3.2 to v2.3.4.
- Updated jsonrainbow/json-schema from 5.3.0 to 5.3.2.
- 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.1.
- 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/yaml from 6.4.26 to 7.4.6.
- Updated wikimedia/bcp-47-code from 2.0.1 to 2.0.3.
- Updated wikimedia/css-sanitizer from 6.1.0 to 6.2.0.
- 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/relpath from 4.0.2 to 4.1.1.
- 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.
- …
Changed development-only external libraries
- Updated doctrine/dbal from 3.10.0 to 3.10.4.
- 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 mck89/peast from 1.17.2 to 1.17.4.
- Updated mediawiki/mediawiki-phan-config from 0.18.0 to 0.19.0.
- Updated phpunit/phpunit from 9.6.21 to 9.6.34.
- 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 development-only external libraries
- Dropped johnkary/phpunit-speedtrap, incompatible with PHPUnit 10+. (T328919)
- …
Bug fixes in 1.46
- …
Action API changes in 1.46
- In the `action=parse` API endpoint, the value `prop=sections` has been deprecated. Use `prop=tocdata` instead (T319141).
- When specifying the Action API output format as `xml` or `xmlfm`, the `xslt` parameter has been removed. No alternative is provided.
Action API internal changes in 1.46
- …
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).
- …
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 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 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.
- DatabaseBlock::delete, deprecated in 1.36, has been removed. Please use DatabaseBlockStore::deleteBlock instead.
- 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.
- 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().
- 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.
- Various deprecated Parser class functions have been dropped. - Parser::OutputType(), depercated 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().
- 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.
- …
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, XXX classes now have a namespace and XXX do not yet (XXX% 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 - MediaWiki\ObjectCache: - ObjectCache - ObjectCacheFactory - SqlBagOStuff - MediaWiki\Skins\Hook => MediaWiki\Language\Skin - 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 - 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.
- 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.
- 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 deprecared in 1.34.
- The WatchedItemQueryServiceExtensions hook is deprecated and is no longer called. Use ApiQueryBaseBeforeQuery, ApiQueryBaseAfterQuery, ApiQueryBaseProcessRow and ApiQueryWatchlistExtractOutputData.
- Passing oldid on WatchlistManager::clearTitleUserNotifications 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.
- 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.
- 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().
- Language::emphasize() is unused, got deprecated, and will be removed in the next version.
- 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).
- 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.
- Passing null to the $output parameter of FeedUtils::checkFeedOutput is now deprecated and emits deprecation warnings.
- …
Other changes in 1.46
- …
Compatibility
MediaWiki 1.46 requires PHP 8.2.0 or later and the following PHP extensions:
- ctype
- dom
- fileinfo
- iconv
- intl
- json
- 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.