* (T188472) The 'comma' value for $wgArticleCountMethod is no longer supported for
performance reasons, and installations with this setting will now work as if it
was configured with 'any'.
+* (T185753) MediaWiki now defaults to using RemexHtml to tidy up user input, rather than
+ being off by default. If you wish to disable HTML tidying entirely, set $wgTidyConfig
+ to null; if you wish to use the old, deprecated Tidy external binary, both
+ set $wgTidyConfig to null and also set $wgUseTidy to true.
* $wgLogAutopatrol now defaults to false instead of true.
+* $wgValidateAllHtml was removed and will be ignored.
=== New features in 1.31 ===
* (T76554) User sub-pages named ….json are now protected in the same way that ….js
extensions. Pass --with-extensions to enable that feature.
* (T184791) rc_patrolled now has three states: "0" for unpatrolled,
"1" for manually patrolled and "2" for autopatrolled actions.
+* Extensions can now set their type to "editor" if they provide an editor
+ or enhance the editing experience.
+* Extensions can use a PSR-4 autoloader by setting an "AutoloadNamespaces" property
+ in extension.json. See
+ <https://www.mediawiki.org/wiki/Manual:Extension.json/Schema#AutoloadNamespaces>
+ for more details and an example.
=== External library changes in 1.31 ===
* The ResourceLoaderGetLessVars hook, deprecated in 1.30, has been removed.
Use ResourceLoaderModule::getLessVars() to expose local variables instead
of global ones.
+* As part of work to modernise user-generated content clean-up, a config option and some
+ methods related to HTML validity were removed without deprecation. The public methods
+ MWTidy::checkErrors() and its callee TidyDriverBase::validate() are removed, as are
+ MediaWikiTestCase::assertValidHtmlSnippet() and ::assertValidHtmlDocument(). The
+ $wgValidateAllHtml configuration option is removed and will be ignored.
+* Execution of external programs using MediaWiki\Shell\Command now applies RESTRICT_DEFAULT
+ Firejail restriction by default.
+* The ResourceLoaderModule::getHashMtime() and ::getDefinitionMtime() methods,
+ deprecated in 1.26, were removed.
=== Deprecations in 1.31 ===
* The Revision class was deprecated in favor of RevisionStore, BlobStore, and
* The type string for the parameter $lang of DateFormatter::getInstance is
deprecated.
* Wikimedia\Rdbms\SavepointPostgres is deprecated.
+* The DO_MAINTENANCE constant is deprecated. RUN_MAINTENANCE_IF_MAIN should be
+ used instead.
+* The function wfShellWikiCmd() has been deprecated, use
+ MediaWiki\Shell::makeScriptCommand().
=== Other changes in 1.31 ===
* Browser support for Internet Explorer 10 was lowered from Grade A to Grade C.