HĂ©bergement MediaWiki

MediaWiki

MediaWiki est une application open source de wiki. Initialement sorti en 2012 après avoir été développé par Wikipedia.

Installation en 1 clic MediaWiki

Installation en 1 clic

Mise Ă  jour facile MediaWiki

Mise Ă  jour facile

Sauvegarde et restauration MediaWiki

Sauvegarde et restauration

Information

Application
wiki
Catégorie
Logiciel de communauté
Version courante
1.38.2
Dernière mise à jour
1 July 2022
Langues
Français + 333 autres

Configuration requise

Taille de l'installation
300.00 Mo
Base de données
mysql
License
open source
Vue d'ensemble
Quoi de neuf
Vitrine
1.38.2 (version de sécurité)
1 Juillet - 300MBSecurity
  • (T308471) SECURITY: Escape welcomeuser message passed to showSuccessPage().
  • (T308473) SECURITY: Escape contributions-title msg for use within page title.
  • (T311384, CVE-2022-27776) Updated guzzlehttp/guzzle from 7.4.1 to 7.4.5.

Bug fixes and Changes
  • Localisation updates.
  • (T309426) Repair language selector for SVGs.
  • (T310013) Fix default value for $wgShowEXIF and $wgUsePathInfo.
  • (T311272) Call parent constructor of AddSite maintenance script first.
  • MediaWiki: Don't eagerly initialize action name.
  • (T289926) Avoid passing null to trim() in SkinTemplate.
  • (T289879) Address deprecations for PHP 8.1.
  • (T311473) rollbackEdits: Pass user identity to RollbackPage.
  • Upgrade wikimedia/remex-html from 3.0.1 to 3.0.2.
  • (T311551) ShellboxClientFactory::getUrl(): Check if $this->key is null.
  • (T311552) ChangesListSpecialPage: Don't pass null to FormatJson::decode().
  • (T311569) FileBackend::isStoragePath() Handle being passed null.
  • (T311544) Pass int to ApiUsageException::newWithMessage()'s $httpCode param.
  • (T311678) SpecialEditWatchlist: Prevent passing null to strtolower().
  • (T311554) ChangeTags: Return early in formatSummaryRow() if $tags === null.
  • Upgrade wikimedia/common-passwords from 0.3.0 to 0.4.0.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.38

1.38.1
6 Juin - 300MB
  • (T309860) Add justinrainbow/json-schema to vendor.
  • (T309933) Drop PHP 7.2 support in MediaWiki 1.38; require 7.3.19.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.38

1.38.0 (version majeure)
3 Juin - 300MBFor Admins - New Configuration Variables
  • (T297708) $wgMaxExecutionTimeForExpensiveQueries – This setting can be used to control the maximum execution time for several expensive query pages (e.g. RecentChanges and UserContribs).
  • $wgBrowserFormatDetection – This setting allows overriding browsers' automatic detection and handling of formats. It's initially used to prevent auto-linking of possible telephone numbers in wiki pages' output in Safari on iOS; this can be re-enabled if you wish, or locally extended for other browsers' quirks.
  • (T240685) $wgMetricsTarget, $wgMetricsFormat, and $wgMetricsPrefix – These provide configuration for a new MetricsFactory service with support for the dogstatsd format, intended for integration with Prometheus.
  • $wgGroupInheritsPermissions – This setting allows inheriting permissions, both granted and revoked, from another group.
  • $wgForeignApiRepos – ForeignAPIRepo now has a apiMetadataExpiry option to control for how long file metadata is cached. Additionally, the default changed from 1 hour to 4 hours.
  • $wgSkinsPreferred – This lets you set a list of preferred skins to be listed higher in Special:Preferences.
  • $wgEnableRemoteBagOStuffTests – This replaces the environment variable PHPUNIT_USE_BAGOSTUFF.
  • (T230211) $wgForceDeferredUpdatesPreSend – Force deferred updates to be run before sending a response to the client, instead of attempting to run them after sending the response. Setting this to true is useful for end-to-end testing, to ensure that the effects of a request are visible to any subsequent * requests, even if they are made immediately after the first one. Note however that this does not ensure that database replication is complete, nor does it execute any jobs enqueued for later.
  • $wgTemplateLinksSchemaMigrationStage – Templatelinks table schema migration stage, for normalizing tl_namespace and tl_title fields.

For Admins - Changes
  • $wgStyleDirectory and $wgExtensionDirectory – These are now set later, so can no longer be used within LocalSettings.php unless explicitly set in that file.
  • $wgFileBackends – This setting no longer takes 'fileJournal' as an option.
  • $wgMaxImageArea – This setting may now be set to false to disable size checking before scaling. Extensions can still override its value by using the BitmapHandlerCheckImageArea hook.
  • $wgAjaxUploadDestCheck – This is now deprecated, and act as always-true.
  • $wgInterwikiCache – This no longer supports the string value for CDB files.
  • (T292321) $wgParserOutputHooks – This is now deprecated; adjustments using this should be done with OutputPageParserOutputHook instead.
  • $wgExternalStores – This is newly documented in includes/externalstore/README.md.

For Admins - Removals
  • $wgShellLocale – This setting has been removed, as it was a flawed solution to the problem of locale dependence. MediaWiki will now always set a locale of C.UTF-8 or C and works around the remaining problems of the C locale by not using escapeshellarg. This follows the direction of PHP 8.0, which sets a locale of C by default instead of respecting LC_CTYPE.
  • (T293848) $wgLoggedOutMaxAge – Experiment removed, originally added in 1.35.
  • $wgIncludejQueryMigrate – (deprecated in 1.36) We only support jQuery v3.
  • $wgUseCategoryBrowser – This experimental feature has been removed. If you still need to use this feature, please see Extension:CategoryExplorer.
  • $wgStyleSheetPath – Alias for $wgStylePath, deprecated since 1.3 (2004).

For Users - Bundled extensions
  • (T191740) The AbuseFilter extension is now bundled with MediaWiki. This is an anti-abuse feature that allows privileged users to set specific actions to be taken when actions by users, such as edits or file uploads, match certain criteria.
  • (T232948) The Math extension is now bundled with MediaWiki. This is a content feature that lets users create mathematical formulæ, written in a sub-set of LaTeX and rendered in MathML with a fallback SVG image. By default, it will use Wikimedia's mathoid service to render each formula, but local rendering can be set up for network isolation or performance.
  • (T191743) The Minerva skin is now bundled with MediaWiki. This is a simple, light-weight, and scalable skin that is particularly optimised for mobile use, and integrates well with the MobileFrontend extension (available separately), but can also be used as a regular desktop skin.

For Users - Other changes
  • (T284921) The "auto-number headings" feature was removed following a consultation, due to performance reasons.

For Developers
  • The configuration mechanism changed substantially; you can read more about how.
  • Added a deleteUserEmail maintenance script – This file enables the deletion of a given user's associated email address. It can be helpful for privacy-preserving operations.
  • The description array for constructing an HTMLForm now can use 'disable-if' to disable fields on a condition easily, supported expressions are the same as 'hide-if'.
  • There is a new interface, IForeignRepoWithMWApi, to allows you to mark file repos provided by an extension as supporting making API queries against the foreign file repo so that extensions like TimedMediaHandler that depend on this can stop hard-coding looking for specific class names.
  • Warning Warning: EXPERIMENTAL Added support for an easy to configure multi-tenant ("wiki farm") mode: Settings for each site can be placed in a directory specified by $wgWikiFarmSettingsDirectory. Site detection is controlled by $wgWikiFarmSiteDetector and defaults to the requested host name. For example, setting $wgWikiFarmSettingsDirectory = "sites" would cause the settings for wiki.example.com to be loaded from "sites/wiki_example_com.yaml". WARNING: YAML files under the Web root may be accessible to browsers, please take appropriate measures to protect them from access via HTTP.
  • Running QUnit tests for an individual test suite module is possible with grunt qunit --qunit-component={componentName}, where {componentName} is "MediaWiki" to run core's QUnit tests or the skin or extension name.
  • The mediawiki.mixins module now has a .user-select() Less mixin.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.38

1.37.3 (version de sécurité)
1 Juillet - 300MBSecurity
  • (T308471) SECURITY: Escape welcomeuser message passed to showSuccessPage().
  • (T308473) SECURITY: Escape contributions-title msg for use within page title.
  • (T311384, CVE-2022-27776) Updated guzzlehttp/guzzle from 7.2.0 to 7.4.5.

Bug fixes and Changes
  • Localisation updates.
  • (T289879) Type hints for ArrayAccess and JsonSerializable.
  • (T304783) TemplateParser: avoid warnings when called by NoLocalSettings.
  • Rebuilt vendor with composer 2.3.3.
  • Fix old_name in UserLogoutComplete hook.
  • (T289879) Address some deprecations for PHP 8.1.
  • (T193565) UserGroupManager: Fix dbDomain in addUserToGroup() deferred update.
  • (T309114) LocalFile::prerenderThumbnails: Limit the number of thumbnail jobs triggered.
  • (T307982) Updated wikimedia/parsoid from v0.14.0 to v0.14.1.
  • (T311272) Call parent constructor of AddSite maintenance script first.
  • MediaWiki: Don't eagerly initialize action name.
  • Updated wikimedia/shellbox from v2.0.0 to v2.1.1.
  • (T289926) Avoid passing null to trim() in SkinTemplate.
  • (T311473) rollbackEdits: Pass user identity to RollbackPage.
  • (T307282) Avoid passing null to strcasecmp(), for PHP 8.1.
  • (T311551) ShellboxClientFactory::getUrl(): Check if $this->key is null.
  • (T311552) ChangesListSpecialPage: Don't pass null to FormatJson::decode().
  • (T311569) FileBackend::isStoragePath() Handle being passed null.
  • (T311544) Pass int to ApiUsageException::newWithMessage()'s $httpCode param.
  • (T311678) SpecialEditWatchlist: Prevent passing null to strtolower().
  • (T281741) ChangeTags: Fix adding CSS classes for hidden tags.
  • (T296642) changetags: Fix management of a '0' tag.
  • (T311554) ChangeTags: Return early in formatSummaryRow() if $tags === null.
  • (T303033) Handle null in ChangeTags::modifyDisplayQuery.
  • Updated wikimedia/common-passwords from 0.3.0 to 0.4.0.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.37

Afficher plus de versions
1.37.2 (version de sécurité)
1 Avril - 300MBSecurity
  • CVE-2022-28202 properly escape output used within galleries and Special:RevisionDelete.
  • CVE-2022-28201 Title::newMainPage() goes into an infinite recursion loop if it points to a local interwiki.
  • CVE-2022-28203 Requesting Special:NewFiles on a wiki with many file uploads with actor as a condition can result in a DoS.
  • CVE-2022-28204 Special:WhatLinksHere can result in a DoS when a page is used on a extremely large number of other pages.

Bug fixes and Changes
  • Fix support for Composer 2.2.
  • composer.json: Add wikimedia/composer-merge-plugin to allow-plugins.
  • Update doctrine/dbal (3.0.0 => 3.1.5).
  • Add entry point name to disabled Session exception if possible.
  • MemcachedClient: Add support for IPv6.
  • WatchAction: Fix bug that prevents showing proper success message in the noscript fallback mode.
  • Suppress deprecation warnings from libxml_disable_entity_loader().
  • Fix PHP 8.0 failure of RefreshSecondaryDataUpdateTest.
  • Fix PHP 8.0 failure of WikiExporterFactoryTest.
  • objectcache: Avoid getCurrentTime() call in MapCacheLRU::has().
  • objectcache: split up MapCacheLRU::getAge() to avoid conditional overhead.
  • Fix the json schema and the extension processor for Parsoid extension modules.
  • update.php: Avoid passing null to substr.
  • (T195807, T256401) Fix signature of DatabasePostgres::buildGroupConcatField.
  • In PHP 8.1 don't throw exceptions from mysqli.
  • SiteConfiguration: Don't pass null to str_replace().
  • Fix deprecation warning from CURLPIPE_HTTP1.
  • Stop using is_resource() where possible.
  • Apply ReturnTypeWillChange to various implementations of built in interfaces.
  • Implement __serialize/__unserialize for PHP 8.1 support.
  • ExtensionRegistry: Add process cache for lazy attributes.
  • ApiPageSet: Add "missing": true to missing revisions.
  • Allow ParsoidModules extension schema to register services.
  • SpecialUndelete: Do not show empty comments as deleted.
  • Allow setting max execution time to several special pages.
  • LinkCache: Try invalidating cache before throwing.
  • composer.json: Add ext-calendar to require.
  • composer.json: Add ext-simplexml to require-dev.
  • composer.json: Add various PHP extensions to suggests.
  • Upgrading symfony/polyfill-php80 (v1.23.1 => v1.25.0).
  • Don't re-check "Move subpages" on Special:MovePage after a warning.
  • listFiles: Display file name instead of version.
  • Fix @since of Title::getId().
  • Installer: Check correct PCRE_CONFIG_NEWLINE value.
  • wrapOldPasswords: add \n to two output calls.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.37

1.37.1 (version majeure) (version de sécurité)
15 DĂ©cembre 2021 - 300MB1.37.1

Security
  • CVE-2021-44858 CVE-2021-44857 SECURITY: Fix permissions checks in undo actions.
  • CVE-2021-45038 SECURITY: Fix permissions check in action=rollback.
  • SECURITY: Require 'read' right for most actions.
  • CVE-2021-44856 SECURITY: Fix use of EditFilterMergedContent hook when changing content model.

Bug fixes
  • Allow inserting new sections named '0'.
  • Fix path for ZhConversion.php.
  • nukeNS: don't run purgeRedundantText() after every change.
  • installer: Fix Postgres mistakes in using changeField method.
  • RollbackAction: fix missing pagetitle.

1.37.0

New features
  • New wikipage.indicator hook for JavaScript (change 721324).
  • MediaWiki now has limited support for JPEG2000 files.

Action API changes
  • The API methods for fetching tokens which were deprecated in MediaWiki 1.24 have been removed. action=query&meta=tokens&type= should be used instead. Please note, some token types no longer exist, and you should just use type=csrf for those instead.

New configuration variables
  • $wgBrowserFormatDetection - This setting allows the enabling or disabling of automatic detection of possible phone numbers in a webpage in iOS Safari.
  • $wgParserEnableLegacyMediaDOM - This setting defaults to true, and enables the legacy media HTML structure in the output from the Parser. The alternative modern HTML structure for media is described at https://www.mediawiki.org/wiki/Parsing/Media_structure. In a future release of MediaWiki, this option will default to false, so it's a good idea to test this setting on your wiki early and report any issues.

Changed configuration variables
  • The PasswordCannotMatchUsername password policy has been removed, please use PasswordCannotBeSubstringInUsername instead. If you have not customised your password policies, there will be nothing to do here.
  • $wgContentHandlerTextFallback - This migration setting, which defines how to react if a plain text version of a non-text Content object is requested using ContentHandler::getContentText(), is deprecated.
  • $wgActions – This setting lets sysadmins override which actions can be used. It has been re-worked to support injecting dependencies into Action sub-classes as part of wider work on dependency injection. Previously, $wgActions was an array where the keys were the names of actions, and the values had the following impacts (for a given key 'Foo'): `true`: use the class 'FooAction' unless for a specific page WikiPage::getActionOverrides() wants to override that action; a string: use the class with that name, and do not allow over-riding on a per-page basis; `false`: the action is disabled; a callable: use the Action instance returned by invoking that callback, and do not allow overriding on a per-page basis; an object: use that specific Action instance, and do not allow overriding on a per-page basis.
  • As part of T253078, values can now be arrays that are not callables, which are treated as ObjectFactory specs, allowing for services to be injected. Additionally, the distinction between values that allow per-page overrides and those that do not be removed - all actions can now be overridden on a per-page basis using WikiPage::getActionOverrides().
  • $wgShellboxUrl – This setting, new in 1.36 to configure the novel Shellbox encapsulation system, is now deprecated; use $wgShellboxUrls as a mapping of service => URL instead.
  • $wgIncludejQueryMigrate – This setting, introduced in 1.29 to on whether to provide a migration layer for jQuery, has now switched its default value from true to false. This may break gadgets that depended on methods that were removed in jQuery 3 in 2017. See T280944 for more information.
  • A number of settings have been renamed. The former configuration variable names are deprecated, but will be used as the fallback if they are still set, and remain temporarily available for extensions which might try to read them: $wgFileBlacklist is now $wgProhibitedFileExtensions; $wgMimeTypeBlacklist is now $wgMimeTypeExclusions; $wgEnableUserEmailBlacklist is now $wgEnableUserEmailMuteList; $wgShortPagesNamespaceBlacklist is now $wgShortPagesNamespaceExclusions.
  • $wgMimeTypeExclusions - As well as being renamed, this configuration array now also prohibits the RFC 4329 form of JavaScript, 'application/javascript', as well as previous MIME types.
  • $wgFragmentMode - This setting, which determines the encoding of section IDs, has now switched its default value from legacy-first to html5-first: both the HTML5 anchor and the legacy percent-encoding-style anchor will still be generated for section titles, but references to them will use the HTML5 version, resulting in human-readable fragments.

Removed configuration variables
  • $wgLegacyJavaScriptGlobals, deprecated in 1.36.
  • $wgAjaxEditStash, deprecated in 1.36.
  • $wgShowDBErrorBacktrace, deprecated and non-functional since 1.32.
  • $wgShowSQLErrors, deprecated and non-functional since 1.32.
  • $wgLangObjCacheSize, without deprecation; the LanguageFactory service now always retains at most 10 objects in its LRU-cache.
  • $wgDjvuToXML, without deprecation; the tool it enables is obsolete and abandoned upstream. Use $wgDjvuDump to use that tool instead.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.37

1.36.4 (version de sécurité)
1 Avril - 300MBSecurity
  • CVE-2022-28202 properly escape output used within galleries and Special:RevisionDelete.
  • CVE-2022-28201 Title::newMainPage() goes into an infinite recursion loop if it points to a local interwiki.
  • CVE-2022-28203 Requesting Special:NewFiles on a wiki with many file uploads with actor as a condition can result in a DoS.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.36

1.36.3 (version de sécurité)
15 DĂ©cembre 2021 - 300MBSecurity
  • CVE-2021-44854 SECURITY: Do not cache private wiki completion results.
  • CVE-2021-44858 CVE-2021-44857 SECURITY: Fix permissions checks in undo actions.
  • CVE-2021-45038 SECURITY: Fix permissions check in action=rollback.
  • CVE-2021-44856 SECURITY: Fix use of EditFilterMergedContent hook when changing content model.
  • SECURITY: Require 'read' right for most actions.

Bug fixes
  • mediawiki.page.ready: Introduce wikipage.indicators hook.
  • Add symfony/polyfill-php80.
  • IcuCollation: Add some more icu to unicode version mappings.
  • ApiBase: Annotate deprecated constants individually.
  • PHPVersionCheck: Mark PHP 7.4.0 - 7.4.2 as buggy.
  • installer: Fix 5th param to sourceFile() in DatabaseUpdater.
  • Always encode spaces in cookie values as "%20".
  • Use LocalFile::getHookRunner instead of LocalFile::hookRunner.
  • mediawiki.page.ready: Fire hook 'wikipage.indicators' with children.
  • HistoryBlobStub: add getLocation() to get $mOldId.
  • Fix checkStorage.php.
  • checkStorage: pass no parameters to WikiRevision::getContent().
  • Revert "Mark ApiClientLogin/ApiLogin as requiring write mode".
  • JobQueueRedis: Replace deprecated zSize with zCard.
  • NoLocalSettings: Pass an EmptyBagOStuff to TemplateParser.
  • Allow populateContentTables to continue when there are bad blobs.
  • ApiQuerySiteinfo: Fix "rightsinfo"/"url" when $wgRightsPage is set.
  • Update pear/mail_mime to 1.10.11.
  • Update deprecated Guzzle Psr7 function calls.
  • Follow-Up: I10fbd4b6a: Update @since tags as those were backported.
  • Tweak error message for missing composer dependencies.
  • Allow inserting new sections named '0'.
  • nukeNS: don't run purgeRedundantText() after every change.
  • installer: Fix Postgres mistakes in using changeField method.
  • RollbackAction: fix missing pagetitle.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.36

1.36.2 (version de sécurité)
4 Octobre 2021 - 300MBSecurity
  • CVE-2021-41798: XSS vulnerability in Special:Search.
  • CVE-2021-41799: ApiQueryBacklinks can cause a full table scan.
  • CVE-2021-41800: fix PoolCounter protection of Special:Contributions.

Bug fixes
  • Don't access MWServices prematurely in Maintenence.php.
  • Mark ApiClientLogin/ApiLogin as requiring write mode.
  • Installer: Fix foundation.wikimedia.org link in config-pingback-help.
  • Make postgres IRC channel point to libera.chat.
  • composer.json: Promote and pin monolog/monolog to require from require-dev.
  • JavaScriptMinifer: Recognize `...` as a single token.
  • Update wikimedia/minify to 2.2.4.
  • ExtensionProcessor: Remove loaderScripts from extension.json schemas.
  • Installer: Fix mediawiki-announce auto subscription code.
  • FormatJson: Optimize encode() for supported PHP versions.
  • renameRestrictions.php: Update protected_titles as well.
  • objectcache: Fix PHP warning for ReplicatedBagOStuff::setMulti.
  • $wgMimeTypeBlacklist - This configuration array now prohibits the RFC 4329 form of JavaScript, 'application/javascript', as well as previous MIME types.
  • resourceloader: Call getStyleFiles from FileModule::getFileHashes.
  • parser: Avoid calling ParserOptions::getOption() too many times.
  • Unserialize objects in ParserCache->mExtensionData as objects.
  • MysqlUpdater: Add updatelog entries for dropDefault.
  • Fix $phase check in OutputHandler.
  • The wikimedia/parsoid library has been upgraded from v0.13.0 to v0.13.1.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.36

1.36.1 (version de sécurité)
28 Juin 2021 - 300MBSecurity
  • CVE-2021-35197 Prevent blocked users from purging pages.

Bug Fixes
  • DatabaseInstaller.php: Only run core schema file if specified table doesn't already exist.
  • Optimise MessageCache::isMainCacheable() for the single-message case.
  • JavaScriptMinifer: Fix handling of "delete" as object property.
  • Fix SkinModule to correctly prepend remote path on document root installs.
  • Disable DEFER_SET_LENGTH_AND_FLUSH headers to avoid HTTP errors.
  • Don't send headers on ob_end_clean().
  • MultiHttpClient: Replace PHP version check with defined().

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.36

1.36.0 (version majeure)
30 Mai 2021 - 300MBNew Configuration
  • $wgManualRevertSearchRadius – This setting introduces a feature that marks edits as reverts if they restore the page to an exact previous state. This configuration variable sets the maximum number of revisions of a page that will be checked against every new edit. Set this to 0 to disable the feature entirely.
  • $wgOldRevisionParserCacheExpireTime — This setting was added to control caching of ParserOutput for old revisions.
  • $wgRememberMe - This setting configures the "remember me" checkbox on account log-in systems via RememberMeAuthenticationRequest.
  • $wgSkinMetaTags – This setting allows configuration of skins to support meta tags. These tags make sharing of MediaWiki pages on a variety of social platforms more contentful and thus useful.
  • $wgIncludejQueryMigrate - This setting allows the jQuery Migrate plugin to be disabled. It has been enabled by default since MediaWiki 1.27.

Changed configuration
  • $wgLogos – The default value for the site logo, which is shown in an install if you have not set one, will now be the new logo of MediaWiki.
  • $wgAjaxEditStash — This setting, to disable the edit stashing feature when users start writing an edit summary, has been deprecated. In future releases, this feature will always be enabled.
  • $wgUploadStashScalerBaseUrl – This setting, to enable remote on-demand media scaling, was deprecated. Use the `thumbProxyUrl` setting in $wgLocalFileRepo instead.
  • $wgSlaveLagWarning and $wgSlaveLagCritical – These settings have been renamed, to $wgDatabaseReplicaLagWarning & $wgDatabaseReplicaLagCritical respectively. The former configuration variable names are deprecated, but will be used as the fall back if they are still set, and remain temporarily available for extensions which try to read them.
  • $wgWANObjectCaches - The "coalesceKeys" option was removed without deprecation. A new "coalesceScheme" option takes its place, and is "hash_stop" by default. If you use Dynomite, then set the new "coalesceKeys" option to "hash_tag".
  • $wgWANObjectCaches - The "cluster" and "mcrouterAware" options were removed without deprecation. Use "broadcastRoutingPrefix" instead.

Removed Configuration
  • $wgUseTwoButtonsSearchForm — This setting, deprecated in 1.35, has been removed.
  • $wgAllowImageMoving — This setting, deprecated in 1.35, has been removed. Use group permission settings instead. For example, to prevent sysops from moving files, set `$wgGroupPermissions['sysop']['movefile'] = false;`
  • $wgExtNewTables, $wgExtNewFields, $wgExtNewIndexes, $wgExtPGNewFields, $wgExtPGAlteredFields, $wgExtModifiedFields — These settings were removed. They became obsolete after 1.17 overhauled the database updater, but were kept for backwards compatibility. The LoadExtensionSchemaUpdates hook should be used instead.
  • $wgParserConf - This setting, deprecated in 1.35, has been removed. The preprocessor configuration which used to live within this setting was deprecated in 1.34 and removed in 1.35.
  • $wgEnableRestAPI - This setting, ignored since 1.35, has been removed.
  • $wgPagePropsHaveSortkey – This temporary setting has been removed, along with the schema change upgrade path it controlled. If your site is still using it, meaning you have not yet applied the `pp_sortkey` schema change from 1.24, you must now apply it before upgrading.
  • The deprecated password policies PasswordCannotMatchBlacklist and PasswordNotInLargeBlacklist were removed. Please use PasswordCannotMatchDefaults and PasswordNotInCommonList instead.

New Features
  • The logo of MediaWiki has changed. This means that the "Powered By MediaWiki" button shown in the skin footer will be different.
  • All HTML5 named entities are now accepted in wikitext.
  • The file description page's alternate sizes now include 2048px.

Changed External Libraries
  • Added wikimedia/minify 2.2.1.
  • Added wikimedia/request-timeout 1.1.0.
  • Added wikimedia/shellbox 1.0.4.
  • Added WVUI 0.1.0.
  • Updated composer/semver from 1.5.1 to 3.2.4.
  • Updated guzzlehttp/guzzle from 6.5.4 to 7.2.0.
  • Updated jQuery from v3.4.1 to v3.6.0.
  • Updated jQuery Migrate from v3.1.0 to v3.3.2.
  • Updated jquery.client from 2.0.2 to 3.0.0.
  • Updated OOUI from 0.39.3 to 0.41.3.
  • Updated pear/mail_mime from 1.10.8 to 1.10.9.
  • Updated pear/net_smtp from 1.9.1 to 1.9.2.
  • Updated pimple/pimple from 3.3.0 to 3.3.1.
  • Updated wikimedia/at-ease from 2.0.0 to 2.1.0.
  • Updated wikimedia/cldr-plural-rule-parser from 1.0.0 to 2.0.0.
  • Updated wikimedia/common-passwords from 0.2.0 to 0.3.0.
  • Updated wikimedia/composer-merge-plugin from 1.4.1 to 2.0.1.
  • Updated wikimedia/html-formatter from 1.0.2 to 3.0.1.
  • Updated wikimedia/ip-set from 2.1.0 to 3.0.0.
  • Updated wikimedia/ip-utils from 1.0.0 to 3.0.2.
  • Updated wikimedia/less.php from 3.0.0 to 3.1.0.
  • Updated wikimedia/object-factory from 2.1.0 to 3.0.0.
  • Updated wikimedia/php-session-serializer from 1.0.7 to 2.0.0.
  • Updated wikimedia/remex-html from 2.2.0 to 2.2.2.
  • Updated wikimedia/utfnormal from 2.0.0 to 3.0.2.
  • Updated wikimedia/wait-condition-loop from 1.0.1 to 2.0.1.
  • Updated wikimedia/xmp-reader from 0.7.0 to 0.8.1.

Removed External Libraries
  • The html5shiv library has been removed, as support for Internet Explorer 8 has been dropped.
  • The wikimedia/avro suggested development-only library has been removed, as the support for logging in Avro format has been dropped.

Bug Fixes
  • ApiEditPage module used to switch 'undo' and 'undoafter' parameters, if it founds you reversed them (based on assumption that higher revision ID indicates a later revision). The assumption is not always true, and is hindering proper edit undoing in some cases, hence the logic has been removed. Reversing the parameters will now lead to edit conflict or undefined behavior.
  • In history merging, pages with a content model that does not support redirects will now be recorded as deleted if no revision is being left in the source page (that's if all revisions of the page have been merged to another).

Action API Changes
  • `Access-Control-Max-Age` was added to the default list of headers allowed for cross-origin API requests ($wgAllowedCorsHeaders).
  • Accounts with the 'bot' right no longer have pages automatically added to the watchlist when making API edits, regardless of their preferences. This is to reduce the size of the watchlist data in the database. To add API bot edits to the watchlist, explicitly set the 'watch' option.

Breaking Changes
  • Grade C (non-JavaScript) support for Internet Explorer 8 has been dropped.
  • wfIsBadImage(), deprecated in 1.34, has been removed.
  • EditPage::getContextTitle() will now throw an exception if a context title was not set using setContextTitle(). Previously, this mis-use would only cause a deprecation warning to be emitted.
  • The DeferredStringifier class, deprecated since 1.31, was removed.
  • Multiple methods that fell back to the $wgUser global variable were individually hard deprecated previously. The following have now been removed: ApiTestCase::doLogin, Article::doDeleteArticle, Article::doDeleteArticleReal, Article::getComment, Article::getCreator, Article::getUser, Article::getUserText, Article::insertProtectNullRevision, File::delete, File::recordUpload, ForeignDBFile::delete, ForeignDBFile::recordUpload, LocalFile::delete, LocalFile::deleteOld, LocalFile::recordUpload, PageArchive::undelete, RecentChange::markPatrolled, Title::getUserPermissionsErrors, Title::quickUserCan, Title::userCan, WebRequest::getLimitOffset, WikiPage::doDeleteArticle, WikiPage::insertProtectNullRevision
  • The SpecialPageFactory class, deprecated in 1.32, has been removed. Use the SpecialPageFactory service instead.
  • Multiple methods previously had optional User parameters, with fallbacks to the $wgUser global variable. Not passing a User to those methods was previously hard deprecated, and support for not passing a User has now been removed: ArchivedFile::userCan, File::userCan, FileDeleteForm::__construct, FileDeleteForm::doDelete, LocalFileDeleteBatch::__construct, LogEventsList::getExcludeClause (only needed for the 'user' audience), LogEventsList::userCan, LogEventsList::userCanBitfield, LogEventsList::userCanViewLogType, LogPage::addEntry (also accepts user id instead), OldLocalFile::userCan, PatrolLog::record, Title::getNotificationTimestamp (though the entire method is deprecated), WikiPage::getComment (only needed for the FOR_THIS_USER audience), WikiPage::getCreator (only needed for the FOR_THIS_USER audience), WikiPage::getUser (only needed for the FOR_THIS_USER audience), WikiPage::getUserText (only needed for the FOR_THIS_USER audience)
  • The following hooks have been removed: APIQueryInfoTokens, APIQueryRecentChangesTokens, APIQueryRevisionsTokens, APIQueryUsersTokens, ApiTokensGetTokenTypes
  • LogEventsList::typeAction previously accepted an optional right parameter, and checked if the context user ($wgUser) had that right. Passing a right was hard deprecated in 1.35, and support for passing a right has now been removed.
  • WikiPage::doDeleteArticleReal previously accepted an optional user as its fifth parameter, and fell back to $wgUser if not user was provided. The signature changed to have the user as the second parameter, and the old signature was hard deprecated in 1.35. Support for the old signature has now been removed.
  • User::addNewUserLogEntry, deprecated since 1.27, was removed.
  • As part of refactoring the EditPage class, EditPage::setPreloadedContent, which had no known callers was removed entirely. Additionally, the following public methods were made private: ::extractSectionTitle, ::getSummaryInputWidget, ::noSuchSectionPage, ::initialiseForm
  • EditPage::matchSpamRegex and ::matchSummarySpamRegex, deprecated in 1.35, were removed. Use the SpamChecker service instead.
  • The global function `wfWaitForSlaves`, deprecated in 1.27 and hard-deprecated in 1.35, has been removed. Use LBFactory::waitForReplication() instead.
  • Calling Action::factory() with null as the first parameter, rather than a string, was deprecated in 1.35 and support was now removed.
  • Calling Action::factory() with an object that wasn't an Article as the second parameter was deprecated in 1.35 and support was now removed.
  • The global variable $wgMemc, deprecated since 1.35, has been removed. Usage should generally be migrated to WANObjectCache, or if you really need the internal object, use ObjectCache::getLocalClusterInstance instead.
  • The preprocessDump.php maintenance script was removed.
  • CategoryFinder, which was deprecated in 1.31 and hard-deprecated in 1.35, has been removed.
  • GenderCache::singleton(), which was deprecated in 1.28 and hard-deprecated in 1.35, has been removed.
  • Sanitizer::escapeId(), deprecated in 1.30, has been removed.
  • Direct invocation of Parser::__construct() (instead of via a ParserFactory) now throws an exception; support has also been removed for several deprecated variants on the arguments passed to Parser::__construct. Direct invocation of Parser::__construct was deprecated in 1.34.
  • Parser::setFunctionTagHook(), deprecated in 1.35, has been removed.
  • The following properties of Parser, deprecated in 1.35, have been made private: $mTagHooks - use Parser::getTags(), $mFunctionHooks - use Parser::getFunctionHooks(), $mOutput - use Parser::getOutput(), $mPreprocessor - use Parser::getPreprocessor()
  • The ParserBeforeTidy hook, deprecated in 1.35, has been removed.
  • The ParserBeforeTidy, ParserBeforeStrip, and ParserAfterStrip hooks, deprecated in 1.35, have been removed.
  • All methods of MWTidy except for MW::tidy() have been removed. These were each either marked as @internal or deprecated in 1.35.
  • (task T248062) Mixins `.background-image-svg()` and `.background-image-svg-quick()` (provided by mediawiki.mixins.less), which have been deprecated since 1.35, have now been removed. MediaWiki no longer supports any browser which would require this SVG-fallback PNG support, so you can simply use the regular CSS `background-image:` declaration instead.
  • The ResourceLoader module `mediawiki.legacy.oldshared` and its file 'oldshared.css', deprecated since 1.35 has been removed (task T248357).
  • `ResourceLoader::__construct` now requires a Config parameter. The optional nature of this parameter was deprecated in 1.34.
  • The LinkBegin and LinkEnd hooks, deprecated in 1.28, have been removed. You can instead use the HtmlPageLinkRendererBegin and HtmlPageLinkRendererEnd hooks, respectively.
  • The EmailUser hook passes its fifth param, $error, by reference, to allow hook handlers to add error messages, indicate that they have sent the email instead of core, etc. Setting the parameter to something other than a Status object, true, false, an empty string, an array, or a MessageSpecifier, object, which had been deprecated in 1.29, is no longer supported, and now results in an MWException being thrown.
  • Skin::getDynamicStylesheetQuery(), deprecated in 1.32, has been removed. You should use action=raw&ctype=text/css directly.
  • Skin::makeI18nUrl(), deprecated in 1.35, has been removed.
  • The following User methods, deprecated and moved to BlockManager in 1.34, were removed: ::isDnsBlacklisted, ::inDnsBlacklist, ::isLocallyBlockedProxy, ::trackBlockWithCookie
  • Support for v1 of the parser tests file format has been removed; it was deprecated in 1.35. (task T174199)
  • SpecialUnblockUser::processUIUnblock() now returns a Status object instead of an array of messages or a boolean value. This function was also marked as @internal and is no longer safe to call it publicly.
  • mw.Title.getDotExtension() from the 'mediawiki.Title' module was removed without deprecation. You should use mw.Title.getExtension() and prepend the dot if need be.
  • Profiler::getTemplated and Profiler::setTemplated, deprecated in 1.34, have been removed.
  • Removed HookContainer::getOriginalHooksForTest() without deprecation. This method was introduced in 1.35 for internal use, and appears unused outside of MediaWiki core.
  • ParserCache::__construct() now requires three parameters.
  • Message->getFormat(), deprecated in 1.29, has been removed.
  • Support for passing Article to ParserCache::get, deprecated in 1.35, has been removed.
  • ParserCache::singleton(), deprecated in 1.30, has been removed.
  • DatabaseBlock::deleteIfExpired and ::fromMaster, deprecated in 1.35, have been removed.
  • Some deprecated AbstractBlock methods have been removed: ::prevents, deprecated in 1.33, ::shouldTrackWithCookie, deprecated in 1.34, ::getBlocker, deprecated in 1.35, ::setBlocker, deprecated in 1.35, ::getBlockErrorParams, deprecated in 1.35
  • Multiple DatabaseBlock methods dealing with cookies, deprecated in 1.34, have been removed: ::setCookie, ::clearCookie, ::getCookieValue, ::getIdFromCookieValue, ::shouldTrackWithCookie
  • The public static callback function SpecialUnblock::processUIUnblock has been removed. This method was for internal use only, and appears unused outside of MediaWiki core.
  • ChangeTags::truncateTagDescription, deprecated in 1.35, has been removed.
  • Deprecated null fallbacks in PasswordReset constructor have been removed.
  • User::isEveryoneAllowed and User::getAllRights, deprecated in 1.34, has been removed.
  • The following methods of the UserGroupMembership class, deprecated in 1.35, has been removed: ::initFromRow, ::newFromRow - use UserGroupManager::newGroupMembershipFromRow, ::selectFields - use UserGroupManager::getQueryInfo, ::delete - use UserGroupManager::removeUserFromGroup, ::insert - use UserGroupManager::addUserToGroup, ::purgeExpired - use UserGroupManager::purgeExpired, ::getMembershipsForUser - use UserGroupManager::getUserGroupMemberships, ::getMembership - use UserGroupManager::getUserGroupMemberships
  • The public static callback function SpecialBlock::validateTargetField has been removed. This method was for internal use only, and appears unused outside of MediaWiki core.
  • The public static callback function SpecialUploadStash::tryClearStashedUploads has been removed. This method was for internal use only, and appears unused outside of MediaWiki core.
  • SpecialComparePages::showDiff() ::revOrTitle(), ::checkExistingTitle(), and ::checkExistingRevision() were marked as @internal to allow for breaking changes. They are no longer safe to call. The methods were unused outside of MediaWiki core.
  • Each special page within core now uses service injection via it constructor. When extending these special pages, a call to the grandparent constructor (`SpecialPage::__construct()`) in the sub-class would now break the derived special page, as the fallback code in the parent constructor cannot set the services as needed. Be sure to call the parent constructor when extending core special pages. Extending core's special pages is not part of the stable interface, and should generally be avoided.
  • Language::getExtraUserToggles and ::viewPrevNext, deprecated in 1.34, have been removed.
  • StreamFile::send404Message and ::parseRange, deprecated in 1.34, have been removed.
  • SVGMetadataExtractor class, deprecated in 1.34, has been removed.
  • ProcessCacheLRU class, deprecated in 1.32, has been removed.
  • wfForeignMemcKey(), deprecated in 1.35, has been removed.
  • LoadBalancer::safeWaitForMasterPos(), deprecated in 1.34, has been removed.
  • JobQueue::factory() now requires its `idGenerator` option. The optional nature of this option was deprecated in 1.35.
  • ApiFeedRecentChanges::getFeedObject has been changed to private, and appears unused outside of MediaWiki core.
  • Skin::subPageSubtitle() has been changed to private method. Callers should use Skin::prepareSubtitle().
  • RevisionDeleter::checkRevisionExistence was removed without deprecation. It had no known callers.
  • wfForeignMemcKey() and wfMemcKey(), deprecated in 1.35, have been removed.
  • MediaWiki now also requires the php-intl extension.
  • BotPassword::save() now returns a Status object for the result rather than a bool.
  • The methods in CoreTagHooks have been marked @internal and type hints have been added. The methods appeared to be unused outside of MediaWiki core.
  • SquidPurgeClient and SquidPurgeClientPool, deprecated since 1.35, have been removed.
  • Several methods on WikiPage will now throw an exception when called on a WikiPage instance that where constructed on a title that does not refer to a proper page (but rather a special page or interwiki link). The behavior was previously undefined and could in some cases lead to data corruption. Affected methods are: getId(), insertOn(), newPageUpdater(), doUpdateRestrictions(), doDeleteArticleReal(), doRollback(), and doEditContent().
  • The ParserTestRunner no longer invokes the ParserTestTables hook. Instead, it clones all database tables before running tests, like MediaWikiIntegrationTest does. If an extension was mis-using the hook to *exclude* tables from the clone, that will no longer occur, and tests may fail.
  • The following classes, which were only loaded for tests and had no uses found in public MediaWiki-related git, were removed:, MockWebRequest, UserWrapper
  • Passing Title as a second parameter to RevisionStore::getPreviousRevision and getNextRevision, hard deprecated since 1.31, was prohibited.
  • (task T275619) Maintenance::hasOption and Maintenance::getOption now behave as documented and are not altered by previous calls to these methods.
  • The internal class FirejailCommand was removed.
  • Command::execute() now returns a Shellbox\Command\UnboxedResult instead of a MediaWiki\Shell\Result. Any type hints should be updated.
  • WikiPage::$mIsRedirect was removed.
  • ObjectCache::detectLocalServerCache(), deprecated in 1.35, was removed.
  • The following functions from the Title class have been removed: countRevisionsBetween, getAuthorsBetween
  • The PageProps class was converted to a service. PageProps::overrideInstance was removed, and MediaWikiServices::redefineService should be used instead.
  • Support for creating a MediaWikiTitleCodec object without the InterwikiLookup and NamespaceInfo services, deprecated in 1.34, was removed. Note that the MediaWikiTitleCodec class is not @newable or @stable to create, and should be retrieved from MediaWikiServices instead.
  • The $wgContLang variable, deprecated in 1.32, was removed. You can instead use MediaWikiServices::getInstance()->getContentLanguage().
  • User::clearAllNotifications(), hard deprecated in 1.35, was removed. Use WatchlistManager::clearAllUserNotifications() instead.
  • DatabaseBlock::getBlocker can return any UserIdentity instance, not just User.
  • MediaWiki::triggerJobs(), deprecated in 1.34, was removed.
  • The following Article methods, deprecated in 1.35, were removed: checkFlags, checkTouched, clearPreparedEdit, doDeleteUpdates, doEditUpdates, doPurge, doViewUpdates, exists, followRedirect, getAutoDeleteReason, getCategories, getContentHandler, getContentModel, getContributors, getDeletionUpdates, getHiddenCategories, getId, getLatest, getLinksTimestamp, getMinorEdit, getOldestRevision, getRedirectTarget, getRedirectURL, getRevision, getTouched, getUndoContent, hasViewableContent, insertOn, insertRedirect, insertRedirectEntry, isCountable, isRedirect, loadFromRow, loadPageData, lockAndGetLatest, makeParserOptions, pageDataFromId, pageDataFromTitle, prepareContentForEdit, protectDescription, protectDescriptionLog, replaceSectionAtRev, replaceSectionContent, setTimestamp, shouldCheckParserCache, supportsSections, triggerOpportunisticLinksUpdate, updateCategoryCounts, updateIfNewerOn, updateRedirectOn, updateRevisionOn, doUpdateRestrictions, updateRestrictions, doRollback, commitRollback, generateReason
  • The monolog-based logging system has dropped the Avro format. Because of this, the AvroFormatter class and the AvroValidator utility class have been removed without deprecation.
  • AbstractBlock::$mReason, deprecated in 1.34, was removed. Use AbstractBlock::getReasonComment and AbstractBlock::setReason instead.

Deprecations
  • The DB_MASTER constant has been deprecated in favour of DB_PRIMARY.
  • User::getGrantName() is now hard deprecated and will be removed in a subsequent release. Use MWGrants::grantName() instead.
  • wfIncrStats() is now deprecated. Use MediaWikiServices::getInstance() ->getStatsdDataFactory()->updateCount() instead.
  • WikiPage::doEditContent() is now deprecated. Use WikiPage::doUserEditContent() instead. Note that doEditContent() was also deprecated in 1.32 for unrelated reasons and doUserEditContent() is deprecated for other reasons, however, using doUserEditContent() is recommended over using doEditContent().
  • WikiPage::doUserEditContent() is now deprecated. Use PageUpdater::saveRevision instead. Note that the new method expects callers to take care of checking EDIT_MINOR against the minoredit right, and to apply the autopatrol right as appropriate.
  • LocalFile::recordUpload2, soft deprecated in 1.35, now emits deprecation warnings. Use ::recordUpload3 instead.
  • Constructing a new instance of the ParserOptions class without providing a User object, which falls back to the global $wgUser, is now deprecated.
  • The User class, which was marked as @newable in 1.35, is no longer newable, meaning that it is no longer safe to manually call the constructor via `new User`. Instead, use the UserFactory service. Additionally, the following static constructor methods were deprecated in favor of using the UserFactory service: User::newFromName, User::newFromId, User::newFromActorId, User::newFromIdentity, User::newFromAnyId, User::newFromConfirmationCode
  • The following User methods have been hard deprecated in favor of the new UserEditTracker service: User::getFirstEditTimestamp, User::getLatestEditTimestamp
  • The confusingly-named User->isLoggedIn() method has been deprecated in favour of the method it wraps, User->isRegistered().
  • Use of the `preprocessor=Preprocessor_DOM` option in parser test files has been deprecated. Preprocessor_DOM was removed in 1.35.
  • ParserOptions::setTidy() has been deprecated. It has had no effect since1.35.
  • Sanitizer::escapeIdReferenceList() has been deprecated; it will eventually be made private to the class, as it appears to have no uses outside the Sanitizer class.
  • Sanitizer::hackDocType() is deprecated; it will eventually be made private.
  • Skin::getIndicatorsHTML() is deprecated. The functionality can be retained by reimplementing the method using the raw indicators data from OutputPage::getIndicators.
  • Skin::makeVariablesScript() has been deprecated. Use ResourceLoader::makeInlineScript() instead.
  • SpecialPageFactory::getRestrictedPages() has been deprecated. Use SpecialPageFactory::getUsablePages() instead.
  • Title::nameOf() is deprecated; use Title::newFromID()->getPrefixedDBkey() instead.
  • DatabaseBlock::insert, DatabaseBlock::update, DatabaseBlock::purgeExpired and DatabaseBlock::delete are deprecated. Use DatabaseBlockStore::insertBlock, DatabaseBlockStore::updateBlock, DatabaseBlockStore::purgeExpiredBlocks and DatabaseBlockStore::deleteBlock instead.
  • SpecialBlock::getTargetAndType and AbstractBlock::parseTarget are deprecated. Call BlockUtils::parseBlockTarget instead.
  • SpecialUnblock::processUnblock was deprecated - use UnblockUserFactory service instead.
  • Deprecated MediaWikiIntegrationtestCase::removeTemporaryHook() in favor of MediaWikiIntegrationtestCase::clearHook().
  • Skin::getSearchLink(), also exposed as 'searchaction' option in SkinTemplate, has been deprecated. Use Title or SpecialPage methods directly.
  • Skin::getAllowedSkins and ::getSkinNames have been deprecated. Use their respective equivalents in SkinFactory instead.
  • The RollbackComplete hook has been deprecated, use the PageSaveComplete hook instead.
  • Skin::makeUrl() has been deprecated. Title methods should be used instead.
  • Skin::privacyLink(), Skin::disclaimerLink() and Skin::aboutLink() have been deprecated. Please use Skin::footerLink() instead.
  • Skin::getLogo() has been deprecated. Use ResourceLoaderSkinModule instead.
  • The module `mediawiki.toc.styles` has been replaced by ResourceLoaderSkinModule. If you are having problems styling table of contents ensure you have an updated skin.
  • Skin::mainPageLink() has been deprecated. Use LinkRenderer service instead.
  • BaseTemplate::getToolbox() method has been hard deprecated. The toolbox data is now available in a sidebar data array which you can get from any class that's extending QuickTemplate class.
  • Constructing a DefaultPreferencesFactory, LinkHolderArray or PasswordReset without a $hookContainer parameter is deprecated.
  • Autopromote class, soft deprecated since 1.35, now emits deprecation warnings. Use UserGroupManager instead.
  • SpecialBlock::canBlockEmail has been deprecated. Please use BlockPermissionChecker::checkEmailPermissions instead.
  • SpecialBlock::checkUnblockSelf has been deprecated. Please use BlockPermissionChecker::checkBlockPermissions instead.
  • SpecialBlock::parseExpiryInput was deprecated - use BlockUser::parseExpiryInput instead.
  • SpecialBlock::validateTarget has been deprecated, use BlockUtils instead.
  • SpecialBlock::validateTargetField has been deprecated for external use, use BlockUtils instead.
  • SpecialPage::getLanguageConverter has been deprecated, use LanguageConverterFactory::getLanguageConverter() directly.
  • ParserCache::getKey has been deprecated. Use ParserCache::getMetadata and ParserCache::makeParserOutputKey instead.
  • The PHPUnit4And6Compat class, used to provide compatibility with PHPUnit 4, was removed. MediaWiki support for PHPUnit 4 ended with the removal of HHVM support.
  • The PHPUnit6And8Compat class, used to provide compatibility with PHPUnit 6, was removed without deprecation. This class was introduced during the upgrade to PHPUnit 8, but never used.
  • MediaWikiIntegrationTestCase::assertType, hard-deprecated in 1.35 due to incompatibility with PHPUnit 8, was removed.
  • ParserCache::getETag has been deprecated, instead build suitable etag explicitly.
  • The following functions from the Language class have been hard deprecated and will be removed in a subsequent release: findVariantLink, convertTitle, updateConversionTable, commafy
  • The following functions from the Title class have been hard deprecated: getPreviousRevisionID, getNextRevisionID, getEarliestRevTime
  • The following functions from the User class have been hard deprecated: getDefaultOptions, getDefaultOption
  • The mw.language.commafy client-side method has been deprecated, to match the deprecation of Language::commafy. Use mw.language.convertNumber instead.
  • The "es6-promise" module has been deprecated. Use "es6-polyfills" instead.
  • Title::isDeleted() and Title::isDeletedQuick() have been deprecated. Please use Title::getDeletedEditsCount() and Title::hasDeletedEdits() instead.
  • Article::getContentObject, soft-deprecated since 1.32, was hard-deprecated.
  • WikiRevision::importUpload, soft-deprecated since 1.31, was hard-deprecated.
  • Html::infoBox() has been deprecated. There's no replacement.
  • Message::toString() without a $format parameter, soft-deprecated since 1.28, was hard-deprecated. Use explicit formatting methods instead, such as Message::text() and Message::escaped().
  • BagOStuff::makeKeyInternal() usage outside of BagOStuff has been deprecated.
  • BagOStuff::setDebug() is deprecated and calls to it are ignored. Debug logs are now unconditionally enabled.
  • The following global functions have been hard deprecated: wfAppendToArrayIfNotDefault, wfAcceptToPrefs, wfClearOutputBuffers, wfConfiguredReadOnlyReason, wfDebugMem, wfGetPrecompiledData, wfNegotiateType
  • BeforeParserFetchTemplateAndtitleHook has been deprecated; replace with the new BeforeParserFetchTemplateRevisionRecord hook. (The similar ParserFetchTemplateHook was deprecated in 1.35; the new hook replaces both.)
  • The InterwikiLoadPrefix hook has been deprecated; it is not compatible with future wikitext parsers (which need to enumerate all interwiki prefixes). In test cases please use $wgInterwikiCache instead.
  • WikiPage instances should no longer be constructed for titles that do not represent editable pages (e.g. special pages). WikiPages were always documented to represent "MediaWiki article and history".
  • Skin::getSkinStylePath() has been deprecated. Please replace usages with the direct path to the resources.
  • The second argument of EnhancedChangesList::getDiffHistLinks, $query, has been deprecated.
  • The ParserTestTables hook has been deprecated; it is no longer necessary after a ParserTestRunner refactoring.
  • The following classes have been hard deprecated: CachedAction, SpecialCachedPage, CacheHelper, ICacheHelper. They were unused in MediaWiki ecosystem, so no replacement was provided.
  • The ProtectionForm::buildForm hook has been deprecated. Please use the ProtectionFormAddFormFields hook instead.
  • RevisionStore::newMutableRevisionFromArray has beed hard deprecated. Instead, MutableRevisionRecord should be constructed directly via constructor.
  • UserIdentity::getActorId() is deprecated. The actor ID should not be exposed to application logic. Storage layer code should use the ActorNormalization service for normalizing and denormalizing user names.
  • Constructing a UserIdentityValue with an actor ID as the third parameter is deprecated. The parameter should be omitted. Storage layer code should use the ActorNormalization service for normalizing and denormalizing user names.
  • Command::cgroup() is deprecated and no longer functional. $wgShellCgroup is now implemented as an Executor option.
  • Command::restrict() is deprecated. Instead use the new separate accessors.
  • MWTidy::tidy() is deprecated. Use MediaWikiServices::getTidy()-tidy() instead.
  • TidyDriverBase::supportsValidate() is deprecated; it has always returned false since 1.33.
  • WatchedItem::getUser hard-deprecated in favor of ::getUserIdentity.
  • WatchedItemStoreInterface::enqueueWatchlistExpiryJob was hard deprecated in favor of the new method maybeEnqueueWatchlistExpiryJob that takes care of relevant configuration checks.
  • LogEntry::getPerformer() and its implementations have been hard-deprecated, in favor of ::getPerformerIdentity().
  • AuthManager::singleton(), deprecated in 1.35, is hard deprecated. Use MediaWikiServices::getAuthManager() instead.
  • User::clearNotification(), deprecated in 1.35, is hard deprecated. Use WatchlistManager::clearTitleUserNotification() instead.
  • Passing string to DatabaseBlock::setBlocker was deprecated. Only UserIdentity is now allowed.
  • DatabaseBlock constructor 'byText' option was deprecated in favour of 'by' option, which now accepts UserIdentity. Passing user ID is deprecated.
  • Parser::getUser was deprecated. Use Parser::getUserIdentity instead.
  • DatabaseBlock::isWhitelistedFromAutoblocks was deprecated. Use DatabaseBlock::isExemptedFromAutoblocks instead.
  • User::isIPRange(), deprecated in 1.35, is hard deprecated. Use the UserNameUtils service or IPUtils directly.
  • BaseTemplate::getFooterIcons(), deprecated in 1.35, is hard deprecated. Read footer icons from template data requested via $this->get('footericons').
  • `box-shadow()` LESS mixin from mediawiki.mixins is deprecated due to updated basic browser support. Use unprefixed property `box-shadow:` instead.
  • MergeHistory::checkPermissions was deprecated. Use ::probablyCanMerge or ::authorizeMerge instead.
  • User::isValidUserName(), deprecated in 1.35, is hard deprecated. Use the UserNameUtils service instead.
  • The TitleArrayFromResult hook has been deprecated.
  • The EditPageBeforeEditToolbar hook has been deprecated; it has become defunct after the classic edit toolbar was removed. Use one of the many other EditPage hooks instead.
  • Deprecated the class name MediaWiki\User\WatchlistNotificationManager; use MediaWiki\Watchlist\WatchlistManager instead. Deprecated the method MediaWikiServices->getWatchlistNotificationManager(); use MediaWikiServices->getWatchlistManager() instead.
  • The "ArticleEditUpdatesDeleteFromRecentchanges" hook, deprecated in 1.35, has been removed. Other hooks like "RecentChange_save" can be used instead.

Other Changes
  • The 'tidy' key in ParserOptions (used in the parser cache) has been removed. It has had no effect since 1.35.
  • A future release of MediaWiki will make `=` a built-in parser function, for use when automatically escaping the `=` character in template arguments. A tracking category and parser warning have been added to this release when `=` is used and it expands to something other than `=`.
  • The implementation of TestFileReader::read has been changed to use Parsoid's parser test file parser. This should be compatible with existing code, but it only supports version 2 of the test file specification and may be more strict when parsing invalid input, including duplicate tests.
  • BeforeParserFetchTemplateRevisionRecord, a new hook, unifies and replaces the old BeforeParserFetchTemplateAndtitleHook and ParserFetchTemplateHook.
  • The SkinLessImportPaths attribute was added, allowing skins to add a directory to the import path for LESS stylesheets. Skins can use this to provide a custom version of mediawiki.skin.variables.less, setting skin-specific values for certain LESS variables.
  • The interaction between ContentHandler::getParserOutputForIndexing() and ContentHandler::getDataForSearchIndex() has been clarified (the latter should only be called with the result of the former). Extensions may override getParserOutputForIndexing() to skip generating HTML, which may improve indexing performance. (The default implementation still generates HTML, and getDataForSearchIndex() implementations can still rely on it if they do not over-ride getParserOutputForIndexing().)
  • Article::fetchContentObject, ::mContentObject, ::mContentLoaded, ::mRevIdFetched, all deprecated since 1.32, were removed.
  • Article::mParserOptions and ::setParserOptions were removed.
  • Article and ImagePage::getEmptyPageParserOutput, unused, were removed.
  • ParserCache's default serialization format was changed from PHP serialization to JSON serialization. In case some installed extension do not support JSON yet, $wgParserCacheUseJson can be used to revert back to PHP serialization.
  • PermissionManager::groupHasPermission, ::getGroupPermissions and ::getGroupsWithPermission were deprecated, use GroupPermissionsLookup service instead.
  • WatchedItemStoreInterface now accepts PageIdentity where it accepted LinkTarget, calling with LinkTarget was deprecated.
  • 'movable' attribute has been added to the 'namespaces' property of extension.json schema. Extensions that define namespaces can set it to `false` to disallow moving pages in the specified namespace. Extensions should either use this or NamespaceIsMovableHook, but not both. The hook overides the attribute.

Lire la suite: https://www.mediawiki.org/wiki/Release_notes/1.36

Nos hébergements Web compatibles avec
MediaWiki

Web

Uniquement l'hébergement Web

HĂ©bergement Web 100% SSD
100 Go et +
Gestion multisites
Gestion avancée des certificats SSL EV et DV
Protection Anti-DDoS
10 Go de VOD


En savoir plus

Ă  partir de CHF 9.92 / mois

Classic

L'offre complète Web+Mail

HĂ©bergement Web 100% SSD
100 Go et +
Gestion multisites
Gestion avancée des certificats SSL EV et DV
Protection Anti-DDoS
10 Go de VOD


Messagerie professionnelle
5 adresses email avec stockage illimité


WorkSpace
Messagerie en ligne
Messagerie instantanée
Synchronisation des contacts et agendas


En savoir plus

Ă  partir de CHF 12.00 / mois

Serveur Cloud

Managé

HĂ©bergement Web 100% SSD
100 Go et +
Gestion multisites
Gestion avancée des certificats SSL EV et DV
Protection Anti-DDoS
10 Go de VOD


Puissance
2 CPU et +
6 Go de RAM et +
100% SSD
Ressources 100% dédiées


Gestion
Infomaniak gère votre serveur


En savoir plus

Ă  partir de CHF 39.00 / mois

Prix en CHF