MediaWiki 1.38.0
3 June 2022
MediaWiki version 1.38.0 is now available (major release).
Upgrading to MediaWiki 1.38.0
MediaWiki 1.38.0 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply MediaWiki updates as new versions are released, or use Installatron's Clone feature to duplicate an existing MediaWiki install to test the 1.38.0 upgrade prior to applying it live. Get started managing your MediaWiki installations with Installatron
What's New in MediaWiki 1.38.0
For 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.