MediaWiki 1.38
This page contains release notes for an unsupported version of MediaWiki. |
MediaWiki |
---|
|
Older versions |
Version lifecycle |
MediaWiki 1.38 is an obsolete 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 1.38.7 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 newMetricsFactory
service with support for thedogstatsd
format, intended for integration with Prometheus. $wgGroupInheritsPermissions
– This setting allows inheriting permissions, both granted and revoked, from another group.$wgForeignApiRepos
–ForeignAPIRepo
now has aapiMetadataExpiry
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.- 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 asjson
oryaml
.$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 totrue
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 normalizingtl_namespace
andtl_title
fields.
Changed configuration
$wgStyleDirectory
and$wgExtensionDirectory
– These are now set later, so can no longer be used withinLocalSettings.php
unless explicitly set in that file.$wgFileBackends
– This setting no longer takesfileJournal
as an option.$wgMaxImageArea
– This setting may now be set tofalse
to disable size checking before scaling. Extensions can still override its value by using theBitmapHandlerCheckImageArea
hook.$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 withOutputPageParserOutputHook
instead. $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-8
orC
and works around the remaining problems of theC
locale by not usingescapeshellarg
. This follows the direction of PHP 8.0, which sets a locale ofC
by 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_FILE
can 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.php
file, or they may useJSON
orYAML
format. See Manual:YAML settings file format - 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 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$wgWikiFarmSiteDetector
and defaults to the requested host name. For example, setting$wgWikiFarmSettingsDirectory = "sites"
would cause the settings forwiki.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.
External library changes
New external libraries
symfony/yaml
was promoted from development-only.
Changed external libraries
- Updated
OOUI
from v0.42.0 to v0.43.2. - Updated
Vue
from 2.6.11 to 3.2.23. - Updated
WVUI
from v0.3.0 to v0.4.0. - Updated
composer/semver
from 3.2.5 to 3.2.6. - Updated
guzzlehttp/guzzle
from 7.2.0 to 7.4.1. - Updated
pear/mail_mime
from 1.10.9 to 1.10.11. - Updated
pear/net_smtp
from 1.9.2 to 1.10.0. - Updated
psr/log
from 1.1.3 to 1.1.4. - Updated
psy/psysh
from 0.10.5 to 0.11.1. - Updated
symfony/polyfill-php80
from 1.23.1 to 1.25.0. - Updated
wikimedia/assert
from 0.5.0 to 0.5.1. - Updated
wikimedia/cdb
from 1.4.1 to 2.0.0. - Updated
wikimedia/ip-utils
from 3.0.2 to 4.0.0. - Updated
wikimedia/minify
from 2.2.4 to 2.2.6. - Updated
wikimedia/object-factory
from 3.0.2 to 4.0.0. - Updated
wikimedia/parsoid
from v0.14.0-a14 to v0.15.0. - Updated
wikimedia/purtle
from 1.0.7 to 1.0.8. - Updated
wikimedia/request-timeout
from 1.1.0 to 1.2.0. - Updated
wikimedia/shellbox
from 2.0.0 to 3.0.0. - Updated
wikimedia/wrappedstring
from 3.2.0 to 4.0.1.
Changed development-only external libraries
- Updated
QUnit
from 2.16.0 to 2.18.0. - Updated
composer/semver
from 3.5.4 to 3.5.5. - Updated
composer/spdx-licenses
from 1.5.4 to 1.5.5. - Updated
doctrine/dbal
for PHP < 7.3 from 2.10.4 to 2.13.6. - Updated
doctrine/dbal
for PHP >= 7.3 from 3.0.0 to 3.1.5.
Removed external libraries
jquery.jStorage
, deprecated since MW 1.28; usemediawiki.storage
instead.
Action API changes
- New
deletetalk
parameter on action=delete that allows you to delete the associated talk page of a subject page. - (T117549) New
variant
parameter for all API actions, for specifying language variant (akin to the existingvariant
parameter 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 (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
- MediaWiki 1.38/New configuration system
- MediaWiki 1.38/Roadmap
- MediaWiki 1.38/wmf.1
- MediaWiki 1.38/wmf.1/Changelog
- MediaWiki 1.38/wmf.10/Changelog
- MediaWiki 1.38/wmf.11
- MediaWiki 1.38/wmf.11/Changelog
- MediaWiki 1.38/wmf.12
- MediaWiki 1.38/wmf.12/Changelog
- MediaWiki 1.38/wmf.13
- MediaWiki 1.38/wmf.13/Changelog
- MediaWiki 1.38/wmf.14
- MediaWiki 1.38/wmf.14/Changelog
- MediaWiki 1.38/wmf.15/Changelog
- MediaWiki 1.38/wmf.16
- MediaWiki 1.38/wmf.16/Changelog
- MediaWiki 1.38/wmf.17
- MediaWiki 1.38/wmf.17/Changelog
- MediaWiki 1.38/wmf.18
- MediaWiki 1.38/wmf.18/Changelog
- MediaWiki 1.38/wmf.19
- MediaWiki 1.38/wmf.19/Changelog
- MediaWiki 1.38/wmf.2
- MediaWiki 1.38/wmf.2/Changelog
- MediaWiki 1.38/wmf.20
- MediaWiki 1.38/wmf.20/Changelog
- MediaWiki 1.38/wmf.21
- MediaWiki 1.38/wmf.21/Changelog
- MediaWiki 1.38/wmf.22
- MediaWiki 1.38/wmf.22/Changelog
- MediaWiki 1.38/wmf.23
- MediaWiki 1.38/wmf.23/Changelog
- MediaWiki 1.38/wmf.24
- MediaWiki 1.38/wmf.24/Changelog
- MediaWiki 1.38/wmf.25
- MediaWiki 1.38/wmf.25/Changelog
- MediaWiki 1.38/wmf.26
- MediaWiki 1.38/wmf.26/Changelog
- MediaWiki 1.38/wmf.3
- MediaWiki 1.38/wmf.3/Changelog
- MediaWiki 1.38/wmf.4
- MediaWiki 1.38/wmf.4/Changelog
- MediaWiki 1.38/wmf.5
- MediaWiki 1.38/wmf.5/Changelog
- MediaWiki 1.38/wmf.6
- MediaWiki 1.38/wmf.6/Changelog
- MediaWiki 1.38/wmf.7
- MediaWiki 1.38/wmf.7/Changelog
- MediaWiki 1.38/wmf.8/Changelog
- MediaWiki 1.38/wmf.9
- MediaWiki 1.38/wmf.9/Changelog