production.
=== Configuration changes in 1.32 ===
-* (T115414) The $wgEnableAPI and $wgEnableWriteAPI settings, deprecated in 1.31, have been removed.
+* (T115414) The $wgEnableAPI and $wgEnableWriteAPI settings, deprecated in 1.31,
+ have been removed.
* The $wgUseAjax setting, deprecated in 1.31, is now ignored.
* The $wgSiteSupportPage setting, unused since 1.5, was removed.
-* $wgJpegQuality was added to allow configuring the quality of JPEG thumbnails (default 80).
-* The default quality of JPEG thumbnails generated by GD was reduced from 95 to 80.
-* $wgExperimentalHtmlIds, deprecated since 1.30, has been removed. The 'html5-legacy' value for
- $wgFragmentMode is no longer accepted.
-* …
+* The default quality of JPEG thumbnails generated by GD was reduced from 95 to
+ 80. The quality of JPEG thumbnails is now configurable through the new setting
+ $wgJpegQuality (default 80). This aligns the quality to what ImageMagick uses.
+* $wgExperimentalHtmlIds, deprecated since 1.30, has been removed. The
+ 'html5-legacy' value for $wgFragmentMode is no longer accepted.
+* The experimental Html5Internal and Html5Depurate tidy drivers were removed.
+ RemexHtml, which is the default, should be used instead.
+* (T135963) You can now define a Content Security Policy for your wiki. This
+ adds a defense-in-depth feature to stop an attacker who has found a bug in
+ the parser allowing them to insert malicious attributes. Disabled by default,
+ you can configure this via $wgCSPHeader and $wgCSPReportOnlyHeader.
+* New configuration variable has been added: $wgCookieSetOnIpBlock.
+ This determines whether to set a cookie when an IP user is blocked. Doing so means
+ that a blocked user, even after moving to a new IP address, will still be blocked.
=== New features in 1.32 ===
* (T112474) Generalized the ResourceLoader mechanism for overriding modules
using a particular page during edit previews.
* Added 'ApiParseMakeOutputPage' hook.
+* (T174313) Added checkbox on Special:ListUsers to display only users in
+ temporary user groups.
+* (T152462) A cookie can now be set when an IP user is blocked to track that user if
+ they move to a new IP address. This is disabled by default.
=== External library changes in 1.32 ===
* …
* …
=== Action API changes in 1.32 ===
-* …
+* Added templated parameters.
+ * A module can define a templated parameter like "{fruit}-quantity", where
+ the actual parameters recognized correspond to the values of a multi-valued
+ parameter. Then clients can make requests like
+ "fruits=apples|bananas&apples-quantity=1&bananas-quantity=5".
+ * action=paraminfo will return templated parameter definitions separately
+ from normal parameters. All parameter definitions now include an "index"
+ key to allow clients to maintain parameter ordering when merging normal and
+ templated parameters.
+* It is now an error to submit too many values for a multi-valued parameter.
+ This has generated a warning since MediaWiki 1.14.
=== Action API internal changes in 1.32 ===
* Added 'ApiParseMakeOutputPage' hook.
+* Parameter names may no longer contain '{' or '}', as these are now used for
+ templated parameters.
=== Languages updated in 1.32 ===
-MediaWiki supports over 350 languages. Many localisations are updated
-regularly. Below only new and removed languages are listed, as well as
-changes to languages because of Phabricator reports.
+MediaWiki supports over 350 languages. Many localisations are updated regularly.
+Below only new and removed languages are listed, as well as changes to languages
+because of Phabricator reports.
-* …
+* (T193566) Added language support for Ambonese Malay (abs).
+* (T194047) Added language support for Shawiya, Latin script (shy-latn).
=== Breaking changes in 1.32 ===
-* $wgRequestTime was removed (deprecated in 1.25).
- Use $_SERVER['REQUEST_TIME_FLOAT'] or WebRequest::getElapsedTime() instead.
-* The MediaWikiI18N class was removed (deprecated in 1.31).
-* QuickTemplate::setTranslator() was removed (deprecated in 1.31).
- Use Skin::msg() instead.
-* wfInitShellLocale() was removed (deprecated in 1.30).
-* wfShellExecDisabled() was removed (deprecated in 1.30).
-* The type string for the parameter $lang of DateFormatter::getInstance is
- removed (deprecated in 1.31).
-* The EDIT_TOKEN_SUFFIX constant was removed (deprecated in 1.27).
- Use MediaWiki\Session\Token::SUFFIX instead.
-* EditPage::isOouiEnabled() was removed (deprecated in 1.30).
-* mw.util.wikiGetlink() was removed (deprecated in 1.23).
- Use mw.util.getUrl() instead.
-* (T61113) The following methods and constants from the Revision class were deprecated in
- 1.25 and have now been removed.
+* $wgRequestTime, deprecated in 1.25, was removed. Use
+ $_SERVER['REQUEST_TIME_FLOAT'] or WebRequest::getElapsedTime() instead.
+* The MediaWikiI18N class, deprecated in 1.31, was removed.
+* QuickTemplate::setTranslator(), deprecated in 1.31, was removed. Use
+ Skin::msg() instead.
+* wfInitShellLocale(), deprecated in 1.30, was removed.
+* wfShellExecDisabled(), deprecated in 1.30, was removed.
+* The type string for the parameter $lang of DateFormatter::getInstance,
+ deprecated in 1.31, was removed.
+* The EDIT_TOKEN_SUFFIX constant deprecated in 1.27, was removed. Use
+ MediaWiki\Session\Token::SUFFIX instead.
+* EditPage::isOouiEnabled() deprecated in 1.30, was removed.
+* mw.util.wikiGetlink(), deprecated in 1.23, was removed. Use mw.util.getUrl()
+ instead.
+* (T61113) The following methods and constants from the Revision class, which
+ were deprecated in 1.25, have now been removed:
* Revision::getRawUser()
* Revision::getRawUserText()
* Revision::getRawComment()
-* window.gM() from mediawiki.jqueryMsg was removed (deprecated in 1.23).
- Use mw.msg() or mw.message() instead.
+* window.gM() from mediawiki.jqueryMsg, deprecated in 1.23, was removed. Use
+ mw.msg() or mw.message() instead.
+* mw.util.escapeId(), deprecated in 1.30, was removed. Use
+ mw.util.escapeIdForAttribute or mw.util.escapeIdForLink instead.
+* mw.util.updateTooltipAccessKeys(), deprecated in 1.24, was removed. Use
+ jquery.accessKeyLabel instead.
+* The SqlDataUpdate class, deprecated in 1.28, has been removed.
+* The Html5Internal and Html5Depurate tidy driver classes were removed, along
+ with the Balancer tidy implementation. Both implementations were experimental,
+ and were replaced by RemexHtml.
+* (T179624) Job::insert() and ::batchInsert(), deprecated in 1.21, were both
+ removed. Use JobQueueGroup::singleton()->push() instead.
+* The jquery.footHovzer module, for mediawiki.debug, was removed.
+* The es5-shim module, empty and deprecated since 1.29, was removed.
+* The mediawiki.widgets.visibleByteLimit module alias, deprecated in 1.32, was
+ removed. Use mediawiki.widgets.visibleLengthLimit instead.
+* The jquery.farbtastic module, unused since 1.18, was removed.
+* (T181318) The $wgStyleVersion setting and its appendage to various script and
+ style URLs in OutputPage, deprecated in 1.31, was removed.
+* The hooks 'PreferencesFormPreSave' and 'PreferencesGetLegend' may provide
+ any HTMLForm object rather than PreferencesForm.
+* The non namespaced TimestampException class, deprecated in 1.29, was removed.
+ Use Wikimedia\Timestamp\TimestampException instead.
+* The global functions codepointToUtf8, hexSequenceToUtf8, utf8ToHexSequence,
+ utf8ToCodepoint, and escapeSingleString (deprecated in 1.25) were removed.
+ The UtfNormal\Utils class from the utfnormal library should be used instead.
+* The deprecated UTF8_ and UNICODE_ constants were removed. The class constants
+ from the UtfNormal\Constants class from the utfnormal library should be used
+* (T140807) The wgResourceLoaderLESSImportPaths configuration option was removed
+ from ResourceLoader. Instead, use `@import` statements in LESS to import
+ files directly from nearby directories within the same project.
+* The protected methods PHPSessionHandler::returnSuccess() and returnFailure(),
+ only needed for PHP5 compatibility, have been removed. It now uses the boolean
+ values `true` and `false` respectively.
+* The $parserMemc global and wfGetParserCacheStorage(), deprecated since 1.30,
+ were removed. Use the ParserCache class instead.
+* ScopedCallback (deprecated in 1.28) was removed. Use Wikimedia\ScopedCallback
+ instead.
=== Deprecations in 1.32 ===
* Use of a StartProfiler.php file is deprecated in favour of placing
configuration in LocalSettings.php.
* HTMLForm::setSubmitProgressive() is deprecated. No need to call it. Submit
button is already marked as progressive.
+* Skin::setupSkinUserCss() is deprecated. Adding of modules to load
+ has been centralised to Skin::getDefaultModules(), which is now capable
+ of queueing style modules as well.
+* OutputPage::addModuleScripts() and ParserOutput::addModuleScripts are
+ deprecated. Use addModules() instead.
+* Overriding SearchEngine::{searchText,searchTitle,searchArchiveTitle}
+ in extending classes is deprecated. Extend related doSearch* methods
+ instead.
+* CollationFa has been removed completely as it's not needed anymore
+* The following 'mediawiki.api' plugin modules were merged into mediawiki.api
+ and deprecated: mediawiki.api.category, mediawiki.api.edit,
+ mediawiki.api.login, mediawiki.api.options, mediawiki.api.parse,
+ mediawiki.api.upload, mediawiki.api.user, mediawiki.api.watch,
+ mediawiki.api.messages, and mediawiki.api.rollback.
+* ApiBase::truncateArray() is deprecated. No replacement, as nothing is known
+ to use it.
+* WatchAction::getUnwatchToken is deprecated. Use WatchAction::getWatchToken
+ with the 'unwatch' action parameter instead.
+* IcuCollation::getICUVersion() is deprecated, as you can just use the PHP
+ constant INTL_ICU_VERSION directly in all versions that MediaWiki supports.
+* Parser::fetchFile() is deprecated. Use ::fetchFileAndTitle() instead.
+* The ApiQueryContributions class has been renamed to ApiQueryUserContribs.
=== Other changes in 1.32 ===
* …
== Compatibility ==
-MediaWiki 1.32 requires PHP 5.5.9 or later. Although HHVM 3.18.5 or later is supported,
-it is generally advised to use PHP 5.5.9 or later for long term support.
+MediaWiki 1.32 requires PHP 7.0.0 or later. Although HHVM 3.18.5 or later is
+supported, it is generally advised to use PHP 7.0.0 or later for long term
+support.
MySQL/MariaDB is the recommended DBMS. PostgreSQL or SQLite can also be used,
but support for them is somewhat less mature. There is experimental support for