MediaWiki 1.38

This page is a translated version of the page MediaWiki 1.38 and the translation is 3% complete.

MediaWiki 1.38 is the current stable release of MediaWiki. Consultar el archivo RELEASE NOTES para la lista completa de cambios. 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. Para seguir esta publicación descarga mediawiki-1.38.2.tar.gz o consulta su derivada REL1_38 en Git.

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) $wgMaxExecutionTimeForExpensiveQueriesThis setting can be used to control the maximum execution time for several expensive query pages (e.g. RecentChanges and UserContribs).
  • $wgBrowserFormatDetectionThis 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 $wgMetricsPrefixThese provide configuration for a new MetricsFactory service with support for the dogstatsd format, intended for integration with Prometheus.
  • $wgGroupInheritsPermissionsThis setting allows inheriting permissions, both granted and revoked, from another group.
  • $wgForeignApiReposForeignAPIRepo now has a apiMetadataExpiry option to control for how long file metadata is cached. Additionally, the default changed from 1 hour to 4 hours.
  • $wgSkinsPreferredThis lets you set a list of preferred skins to be listed higher in Special:Preferences.
  • Advertencia Advertencia: EXPERIMENTAL (see the docs on the new system to load configuration)
    • $wgWikiFarmSettingsDirectoryA 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.
    • $wgWikiFarmSettingsExtensionThe file extension to be used when looking up site-specific settings files in $wgWikiFarmSettingsDirectory, such as json or yaml.
    • $wgWikiFarmSiteDetectorA 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.
  • $wgEnableRemoteBagOStuffTestsThis replaces the environment variable PHPUNIT_USE_BAGOSTUFF.
  • (T230211) $wgForceDeferredUpdatesPreSendForce 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.
  • $wgTemplateLinksSchemaMigrationStagetemplatelinks table schema migration stage, for normalizing tl_namespace and tl_title fields.

Changed configuration

  • $wgStyleDirectory and $wgExtensionDirectoryThese are now set later, so can no longer be used within LocalSettings.php unless explicitly set in that file.
  • $wgFileBackendsThis setting no longer takes fileJournal as an option.
  • $wgMaxImageAreaThis 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(desaprobado) Act as always-true.
  • $wgInterwikiCacheThis no longer supports the string value for CDB files.
  • (T292321) $wgParserOutputHooks(desaprobado) Adjustments using this should be done with OutputPageParserOutputHook instead.
  • $wgExternalStoresThis is newly documented in includes/externalstore/README.md.

Removed configuration

  • $wgShellLocaleThis 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) $wgLoggedOutMaxAgeExperiment removed, originally added in 1.35.
  • $wgIncludejQueryMigrate(desaprobado in 1.36) We only support jQuery v3.
  • $wgUseCategoryBrowserThis experimental feature has been removed. If you still need to use this feature, please see Extension:CategoryExplorer .
  • $wgStyleSheetPath(desaprobado 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.
  • Advertencia Advertencia: 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 traditional LocalSettings.php file, or they may use JSON or YAML 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.
  • Advertencia Advertencia: 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.

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; use mediawiki.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 existing variant 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 language to अंगिका
  • (T298309) Changed the autonym of the Abkhaz language to аԥсшәа
  • (T302972) Changed the autonym of the Kirundi language to ikirundi
  • (T220303) Show numbered lists with Burmese numerals in relevant languages
  • (T291899) Added language support for chino 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 sami skolt (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 criollo caboverdiano (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