MediaWiki 1.31

Jump to: navigation, search

Other languages:
العربية • ‎English • ‎español • ‎עברית • ‎日本語 • ‎Lëtzebuergesch • ‎मराठी • ‎русский • ‎Santali

MediaWiki 1.31 is a future release of MediaWiki.

Consult the RELEASE-NOTES file for the full list of changes.

It is currently deployed on Wikimedia Foundation wikis through incremental "wmf"-branches starting 26 September 2017.

The 1.31.0 stable release is expected to come out on sometime in June 2018.

Download the latest snapshot or checkout the master branch in Git to follow this release.

Configuration changes[edit]

  • $wgEnableAPI and $wgEnableWriteAPI are now deprecated and will be removed in a future version. The API is now considered to be stable, secure and essential.
  • $wgUsejQueryThree was removed, as it is now the default. This was documented as a temporary variable during the migration period, deprecated since 1.29.
  • $wgLogoHD has been updated to support svg images and uses $wgLogo where possible for fallback images such as png.
  • (T44246) $wgFilterLogTypes will no longer ignore 'patrol' when user does not have the right to mark things patrolled.
  • Wikis that contain imported revisions or CentralAuth global blocks should run maintenance/cleanupUsersWithNoId.php.
  • $wgResourceLoaderMinifierStatementsOnOwnLine and $wgResourceLoaderMinifierMaxLineLength were removed (deprecated since 1.27).

New features[edit]

  • Wikimedia\Rdbms\IDatabase->select() and similar methods now support joins with parentheses for grouping.
  • As a first pass in standardizing dialog boxes across the MediaWiki product, Html class now provides helper methods for messageBox, successBox, errorBox and warningBox generation.
  • (T9240) Imports will now record unknown (and, optionally, known) usernames in a format like "iw>Example".
  • (T20209) Linker (used on history pages, log pages, and so on) will display usernames formed like "iw>Example" as interwiki links, as if by wikitext like iw>Example.
  • (T111605) The 'ImportHandleUnknownUser' hook allows extensions to auto-create users during an import.
  • Added a hook, ParserOutputPostCacheTransform, to allow extensions to affect the ParserOutput::getText() post-cache transformations.

Action API changes[edit]

Action API internal changes[edit]

Languages updated[edit]

  • (T180052) Mirandese (mwl) now supports gendered NS_USER/NS_USER_TALK namespaces.

Other changes[edit]

  • MessageBlobStore::insertMessageBlob() (deprecated in 1.27) was removed.
  • The global function wfBCP47 was renamed to LanguageCode::bcp47.
  • The global function wfBCP47 is now deprecated.
  • The global function wfCountDown() is now deprecated in favor of Maintenance::countDown()
  • The OutputPage class constructor now requires a context parameter, (instantiating without context was deprecated in 1.18)
  • (deprecated in 1.30) was removed.
  • Article::getLastPurgeTimestamp(), WikiPage::getLastPurgeTimestamp(), and the related WikiPage::PURGE_* constants, deprecated in 1.29, were removed.
  • The Article::selectFields(), Article::onArticleCreate(), Article::onArticleDelete(), and Article::onArticleEdit() methods, deprecated in 1.24, were removed.
  • Installer::locateExecutable() and Installer::locateExecutableInDefaultPaths() were removed, use ExecutableFinder::findInDefaultPaths() instead.
  • Several methods for returning lists of fields to select from the database have been deprecated in favor of similar methods that also return the tables to select from and the join conditions for those tables.
  • Block::selectFields() → Block::getQueryInfo()
  • RecentChange::selectFields() → RecentChange::getQueryInfo()
  • ArchivedFile::selectFields() → ArchivedFile::getQueryInfo()
  • LocalFile::selectFields() → LocalFile::getQueryInfo()
  • LocalFile::getCacheFields() with a prefix no longer works
  • LocalFile::getLazyCacheFields() with a prefix no longer works
  • OldLocalFile::selectFields() → OldLocalFile::getQueryInfo()
  • RecentChange::selectFields() → RecentChange::getQueryInfo()
  • Revision::userJoinCond() → Revision::getQueryInfo( [ 'user' ] )
  • Revision::selectUserFields() → Revision::getQueryInfo( [ 'user' ] )
  • Revision::pageJoinCond() → Revision::getQueryInfo( [ 'page' ] )
  • Revision::selectPageFields() → Revision::getQueryInfo( [ 'page' ] )
  • Revision::selectTextFields() → Revision::getQueryInfo( [ 'text' ] )
  • Revision::selectFields() → Revision::getQueryInfo()
  • Revision::selectArchiveFields() → Revision::getArchiveQueryInfo()
  • User::selectFields() → User::getQueryInfo()
  • WikiPage::selectFields() → WikiPage::getQueryInfo()
  • Due to significant refactoring, method ContribsPager::getUserCond() that had no access restriction has been removed.
  • Revision::setUserIdAndName() was deprecated.
  • Access to TitleValue class properties was deprecated, the relevant getters should be used instead.
  • DifferenceEngine::getDiffBodyCacheKey() is deprecated. Subclasses should override DifferenceEngine::getDiffBodyCacheKeyParams() instead.
  • The deprecated MW_DIFF_VERSION constant was removed. DifferenceEngine::MW_DIFF_VERSION should be used instead.
  • Use of Maintenance::error( $err, $die ) to exit script was deprecated. Use Maintenance::fatalError() instead.
  • Passing a ParserOptions object to OutputPage::parserOptions() is deprecated.
  • Browser support for Opera 12 and older was removed. Opera 15+ continues at Grade A support.
  • The Block class will no longer accept usable-but-missing usernames for 'byText' or ->setBlocker(). Callers should either ensure the blocker exists locally or use a new interwiki-format username like "iw>Example".
  • The following methods that get and set ParserOutput state are deprecated. Callers should use the new stateless $options parameter to ParserOutput::getText() instead.
  • ParserOptions::getEditSection()
  • ParserOptions::setEditSection()
  • ParserOutput::getEditSectionTokens()
  • ParserOutput::setEditSectionTokens()
  • ParserOutput::getTOCEnabled()
  • ParserOutput::setTOCEnabled()
  • OutputPage::enableSectionEditLinks()
  • OutputPage::sectionEditLinksEnabled()
  • The public ParserOutput state fields $mTOCEnabled and $mEditSectionTokens are also deprecated.
  • The following methods and constants from the WatchedItem class were deprecated in 1.27 have been removed.
  • WatchedItem::getTitle()
  • WatchedItem::fromUserTitle()\
  • WatchedItem::addWatch()
  • WatchedItem::removeWatch()
  • WatchedItem::isWatched()
  • WatchedItem::duplicateEntries()
  • WatchedItem::CHECK_USER_RIGHTS