| MediaWiki |
|---|
|
| Older versions |
| Version lifecycle |
MediaWiki 1.38 is a legacy stable release of MediaWiki.
Consult the RELEASE NOTES file for the full list of changes.
It was deployed on Wikimedia Foundation wikis through incremental "wmf"-branches between September 2021 and March 2022.
The 1.38.0 stable release came out on 2 June 2022.
Download mediawiki-1.39.4.tar.gz or checkout the REL1_38 branch in Git to follow this release.
| MediaWiki 1.38 |
|---|
|
| Deployment to Wikimedia sites |
|
Configuration changes for system administrators
MediaWiki 1.38 is introducing a new system for configuration loading. The new system is fully compatible with the traditional way of configuring, but it offers some new features. Interested parties are encouraged to experiment with the new ways to load configuration and report any issues they come across.
New configuration
- (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 newMetricsFactoryservice with support for thedogstatsdformat, intended for integration with Prometheus. $wgGroupInheritsPermissions– This setting allows inheriting permissions, both granted and revoked, from another group.$wgForeignApiRepos–ForeignAPIReponow has aapiMetadataExpiryoption 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.
Warning: EXPERIMENTAL (see the docs on the new system to load configuration)
$wgWikiFarmSettingsDirectory– A directory that contains site-specific configuration files. Setting this will enable multi-tenant ("wiki farm") mode, causing site-specific settings to be loaded based on information from the web request.$wgWikiFarmSettingsExtension– The file extension to be used when looking up site-specific settings files in$wgWikiFarmSettingsDirectory, such asjsonoryaml.$wgWikiFarmSiteDetector– A callback function that returns the name of the wiki for the current request. Replaced by the MW_WIKI_NAME environment variable in 1.39. This is used in multi-tenant ("wiki farm") mode to determine which settings file to load from$wgWikiFarmSettingsDirectory.
$wgEnableRemoteBagOStuffTests– This replaces the environment variablePHPUNIT_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 totrueis 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 normalizingtl_namespaceandtl_titlefields.
Changed configuration
$wgStyleDirectoryand$wgExtensionDirectory– These are now set later, so can no longer be used withinLocalSettings.phpunless explicitly set in that file.$wgFileBackends– This setting no longer takesfileJournalas an option.$wgMaxImageArea– This setting may now be set tofalseto disable size checking before scaling. Extensions can still override its value by using theBitmapHandlerCheckImageAreahook.$wgAjaxUploadDestCheck– (deprecated) Act as always-true.$wgInterwikiCache– This no longer supports the string value for CDB files.- (T292321)
$wgParserOutputHooks– (deprecated) Adjustments using this should be done withOutputPageParserOutputHookinstead. $wgExternalStores– This is newly documented inincludes/externalstore/README.md.
Removed configuration
$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 ofC.UTF-8orCand works around the remaining problems of theClocale by not usingescapeshellarg. This follows the direction of PHP 8.0, which sets a locale ofCby default instead of respectingLC_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– (deprecated in 1.3) Alias for$wgStylePath.
New user-facing features
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.
Other changes
- (T284921) The "auto-number headings" feature was removed following a consultation, due to performance reasons.
New operator/developer features
- The configuration mechanism changed substantially; you can read more about how.
Warning: EXPERIMENTAL: The environment variable MW_CONFIG_FILEcan be used to specify the location of the settings file. This allows alternative settings files to be loaded depending on the environment. Settings files may be given as PHP files like the traditionalLocalSettings.phpfile, or they may useJSONorYAMLformat. See Manual:YAML settings file format- Added a
deleteUserEmailmaintenance 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
HTMLFormnow 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 allow 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: 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$wgWikiFarmSiteDetectorand defaults to the requested host name. For example, setting$wgWikiFarmSettingsDirectory = "sites"would cause the settings forwiki.example.comto 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 {{tmpl|0=
grunt qunit --qunit-component={$1}|componentName}}, where {{tmpl|0={$1}|componentName}} is "MediaWiki" to run core's QUnit tests or the skin or extension name. - The
mediawiki.mixinsmodule now has a.user-select()Less mixin.
External library changes
New external libraries
-
symfony/yamlwas promoted from development-only.
Changed external libraries
- Updated
OOUIfrom v0.42.0 to v0.43.2. - Updated
Vuefrom 2.6.11 to 3.2.23. - Updated
WVUIfrom v0.3.0 to v0.4.0. - Updated
composer/semverfrom 3.2.5 to 3.2.6. - Updated
guzzlehttp/guzzlefrom 7.2.0 to 7.4.1. - Updated
pear/mail_mimefrom 1.10.9 to 1.10.11. - Updated
pear/net_smtpfrom 1.9.2 to 1.10.0. - Updated
psr/logfrom 1.1.3 to 1.1.4. - Updated
psy/psyshfrom 0.10.5 to 0.11.1. - Updated
symfony/polyfill-php80from 1.23.1 to 1.25.0. - Updated
wikimedia/assertfrom 0.5.0 to 0.5.1. - Updated
wikimedia/cdbfrom 1.4.1 to 2.0.0. - Updated
wikimedia/ip-utilsfrom 3.0.2 to 4.0.0. - Updated
wikimedia/minifyfrom 2.2.4 to 2.2.6. - Updated
wikimedia/object-factoryfrom 3.0.2 to 4.0.0. - Updated
wikimedia/parsoidfrom v0.14.0-a14 to v0.15.0. - Updated
wikimedia/purtlefrom 1.0.7 to 1.0.8. - Updated
wikimedia/request-timeoutfrom 1.1.0 to 1.2.0. - Updated
wikimedia/shellboxfrom 2.0.0 to 3.0.0. - Updated
wikimedia/wrappedstringfrom 3.2.0 to 4.0.1.
Changed development-only external libraries
- Updated
QUnitfrom 2.16.0 to 2.18.0. - Updated
composer/semverfrom 3.5.4 to 3.5.5. - Updated
composer/spdx-licensesfrom 1.5.4 to 1.5.5. - Updated
doctrine/dbalfor PHP < 7.3 from 2.10.4 to 2.13.6. - Updated
doctrine/dbalfor PHP >= 7.3 from 3.0.0 to 3.1.5.
Removed external libraries
-
jquery.jStorage, deprecated since MW 1.28; usemediawiki.storageinstead.
Action API changes
- New
deletetalkparameter on action=delete that allows you to delete the associated talk page of a subject page. - (T117549) New
variantparameter for all API actions, for specifying language variant (akin to the existingvariantparameter for index.php).
Languages updated
MediaWiki supports over 400 languages. Many localisations are updated regularly. Below only new and removed languages are listed, as well as changes to languages because of Phabricator reports.
- (T292166) Updated namespace names for the Lombard language.
- (T299201) Changed the autonym of the Angika (anp) language to अंगिका
- (T298309) Changed the autonym of the Abkhazian (ab) language to аԥсшәа
- (T302972) Changed the autonym of the Rundi (rn) language to ikirundi
- (T220303) Show numbered lists with Burmese numerals in relevant languages
- (T291899) Added language support for Xiang Chinese (hsn).
- (T292612) Added language support for S'gaw Karen (ksw).
- (T293656) Added language support for Frafra (gur).
- (T294729) Added language support for Pa'O (blk).
- (T296286) Added language support for Skolt Sami (sms).
- (T296612) Added language support for Makhuwa (vmw).
- (T296707) Added language support for Ga (gaa).
- (T297073) Added language support for Nanai (gld).
- (T297074) Added language support for Nawdm (nmz).
- (T298075) Added language support for Northern Thai (nod).
- (T298182) Added language support for Kabuverdianu (kea).
- (T298385) Added language support for Nheengatu (yrl).
- (T299329) Added language support for Fon (fon).
- (T300474) Added language support for Nyankole (nyn).
- (T302556) Added language support for Pannonian Rusyn (rsk).
Subpages
Special:Prefixindex/MediaWiki 1.38/