2017-09-19 18:34:47 +00:00
|
|
|
|
== MediaWiki 1.31 ==
|
|
|
|
|
|
|
|
|
|
|
|
THIS IS NOT A RELEASE YET
|
|
|
|
|
|
|
|
|
|
|
|
MediaWiki 1.31 is an alpha-quality branch and is not recommended for use in
|
|
|
|
|
|
production.
|
|
|
|
|
|
|
|
|
|
|
|
=== Configuration changes in 1.31 ===
|
2017-10-11 23:02:05 +00:00
|
|
|
|
* $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.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* $wgUsejQueryThree was removed, as it is now the default. This was documented
|
|
|
|
|
|
as a temporary variable during the migration period, deprecated since 1.29.
|
2017-05-22 18:12:26 +00:00
|
|
|
|
* $wgLogoHD has been updated to support svg images and uses $wgLogo where
|
|
|
|
|
|
possible for fallback images such as png.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* (T44246) $wgFilterLogTypes will no longer ignore 'patrol' when user does not
|
|
|
|
|
|
have the right to mark things patrolled.
|
2017-10-25 19:26:53 +00:00
|
|
|
|
* Wikis that contain imported revisions or CentralAuth global blocks should run
|
|
|
|
|
|
maintenance/cleanupUsersWithNoId.php.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The configuration settings $wgResourceLoaderMinifierStatementsOnOwnLine and
|
|
|
|
|
|
$wgResourceLoaderMinifierMaxLineLength, deprecated since 1.27, were removed.
|
|
|
|
|
|
* (T180921) $wgReferrerPolicy now supports having fallbacks for browsers that
|
|
|
|
|
|
are not using the latest version of the Referrer Policy specification.
|
|
|
|
|
|
* $wgFragmentMode is now set to [ 'legacy', 'html5' ] by default. This is a
|
|
|
|
|
|
first step of migration to human-readable section IDs that will later result
|
|
|
|
|
|
in 'html5' being the default mode.
|
2018-02-06 02:11:27 +00:00
|
|
|
|
* CACHE_ACCEL now only supports APC(u) or WinCache. XCache support was removed
|
|
|
|
|
|
as upstream is inactive and has no plans to move to PHP 7.
|
2017-03-18 01:17:17 +00:00
|
|
|
|
* The old CategorizedRecentChanges feature, including its related configuration
|
|
|
|
|
|
option $wgAllowCategorizedRecentChanges, has been removed.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* (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 $wgUseTidy to true.
|
2018-01-09 08:15:14 +00:00
|
|
|
|
* $wgLogAutopatrol now defaults to false instead of true.
|
2018-04-09 16:56:03 +00:00
|
|
|
|
* $wgValidateAllHtml was removed and will be ignored.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* $wgScriptExtension, deprecated and ignored since 1.25, was removed. See the
|
|
|
|
|
|
1.25 release notes for more information.
|
2018-04-16 23:26:48 +00:00
|
|
|
|
* $wgUseAjax is now marked as deprecated, just like the deprecated AJAX
|
|
|
|
|
|
framework that it enables. Some extensions mistakenly used this to check
|
|
|
|
|
|
whether any AJAX functionality at all should be enabled, further making this
|
|
|
|
|
|
problematic to retain.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
=== New features in 1.31 ===
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* (T76554) User sub-pages named ….json are now protected in the same way that
|
|
|
|
|
|
….js and ….css pages are, so that configuration options can safely be placed
|
|
|
|
|
|
there.
|
|
|
|
|
|
* Wikimedia\Rdbms\IDatabase->select() and similar methods now support joins
|
|
|
|
|
|
with parentheses for grouping.
|
2017-09-28 18:42:32 +00:00
|
|
|
|
* As a first pass in standardizing dialog boxes across the MediaWiki product,
|
2018-05-02 22:00:16 +00:00
|
|
|
|
Html class now provides helper methods for messageBox, successBox, errorBox
|
|
|
|
|
|
and warningBox generation.
|
2017-10-25 19:26:53 +00:00
|
|
|
|
* (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:User:Example|iw>Example]].
|
|
|
|
|
|
* (T111605) The 'ImportHandleUnknownUser' hook allows extensions to auto-create
|
|
|
|
|
|
users during an import.
|
2017-11-22 18:12:23 +00:00
|
|
|
|
* Added a hook, ParserOutputPostCacheTransform, to allow extensions to affect
|
|
|
|
|
|
the ParserOutput::getText() post-cache transformations.
|
2017-12-18 14:14:38 +00:00
|
|
|
|
* Added a hook, UploadForm:getInitialPageText, to allow extensions to alter the
|
|
|
|
|
|
initial page text for file uploads.
|
2018-01-25 04:58:06 +00:00
|
|
|
|
* (T181651) The info page for File pages now displays the file's base-16 SHA1
|
2018-01-18 07:16:09 +00:00
|
|
|
|
hash value in the table of basic information.
|
2017-11-24 19:22:25 +00:00
|
|
|
|
* Style tags with a 'data-mw-deduplicate' attribute will be deduplicated as a
|
|
|
|
|
|
ParserOutput::getText() post-cache transformation. This may be disabled by
|
|
|
|
|
|
passing 'deduplicateStyles' => false to that method.
|
2017-09-12 17:12:29 +00:00
|
|
|
|
* The identity of the logged-in or IP "actor" for logged actions is being moved
|
|
|
|
|
|
into a new actor table, with the rows in tables such as revision and logging
|
|
|
|
|
|
referring to the actor ID instead of storing the user ID and name/IP in
|
|
|
|
|
|
every row.
|
|
|
|
|
|
* This is currently gated by $wgActorTableSchemaMigrationStage. Most wikis
|
|
|
|
|
|
can set this to MIGRATION_NEW and run maintenance/migrateActors.php as
|
|
|
|
|
|
soon as any necessary extensions are updated.
|
|
|
|
|
|
* Most code accessing rows for logged actions from the database should use
|
|
|
|
|
|
the relevant getQueryInfo() methods to get the information needed to build
|
2018-05-02 22:00:16 +00:00
|
|
|
|
the SQL query. The ActorMigration class may also be used to get feature
|
2018-05-03 20:30:05 +00:00
|
|
|
|
-flagged information needed to access actor-related fields during the
|
|
|
|
|
|
migration period.
|
2018-03-17 21:59:56 +00:00
|
|
|
|
* Added Wikimedia\Rdbms\IDatabase::cancelAtomic(), to roll back an atomic
|
|
|
|
|
|
section without having to roll back the whole transaction.
|
|
|
|
|
|
* Wikimedia\Rdbms\IDatabase::doAtomicSection(), non-native ::insertSelect(),
|
|
|
|
|
|
and non-MySQL ::replace() and ::upsert() no longer roll back the whole
|
|
|
|
|
|
transaction on failure.
|
2018-03-14 07:31:17 +00:00
|
|
|
|
* (T189785) Added a monthly heartbeat ping to the pingback feature.
|
2018-03-13 09:16:15 +00:00
|
|
|
|
* The CLI installer (maintenance/install.php) learned to detect and include
|
|
|
|
|
|
extensions. Pass --with-extensions to enable that feature.
|
2018-01-09 08:15:14 +00:00
|
|
|
|
* (T184791) rc_patrolled now has three states: "0" for unpatrolled,
|
|
|
|
|
|
"1" for manually patrolled and "2" for autopatrolled actions.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* 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 the documentation at
|
|
|
|
|
|
<https://mediawiki.org/wiki/Manual:Extension.json/Schema#AutoloadNamespaces>
|
2018-04-14 23:00:28 +00:00
|
|
|
|
for more details and an example.
|
2018-05-02 22:38:04 +00:00
|
|
|
|
* (T19099) Tabs which link to pages that don't exist (like those to uncreated
|
|
|
|
|
|
discussion pages) now have a tooltip to indicate state, not just colour.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
=== External library changes in 1.31 ===
|
|
|
|
|
|
|
|
|
|
|
|
==== Upgraded external libraries ====
|
2017-11-27 23:44:40 +00:00
|
|
|
|
* Updated jquery.chosen from v0.9.14 to v1.8.2.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* Updated composer/spdx-licenses from 1.1.4 to 1.3.0 (development dependency).
|
|
|
|
|
|
* Updated nikic/php-parser from 2.1.0 to 3.1.3 (development dependency).
|
2018-01-18 21:15:07 +00:00
|
|
|
|
* Updated wikimedia/ip-set from 1.1.0 to 1.2.0.
|
|
|
|
|
|
* Updated wikimedia/relpath from 2.0.0 to 2.1.1.
|
|
|
|
|
|
* Updated wikimedia/running-stat from 1.1.0 to 1.2.0.
|
|
|
|
|
|
* Updated wikimedia/wrappedstring from 2.2.0 to 2.3.0.
|
2018-02-07 11:03:36 +00:00
|
|
|
|
* Updated mediawiki/at-ease from 1.1.0 to 1.2.0.
|
2018-04-18 12:35:14 +00:00
|
|
|
|
* Updated wikimedia/php-session-serializer from 1.0.4 to 1.0.6.
|
2018-03-07 21:26:27 +00:00
|
|
|
|
* Updated wikimedia/remex-html from 1.0.2 to 1.0.3.
|
2018-04-28 11:49:36 +00:00
|
|
|
|
* Updated wikimedia/html-formatter from 1.0.1 to 1.0.2.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
==== New external libraries ====
|
2018-02-02 10:27:27 +00:00
|
|
|
|
* Added wikimedia/object-factory 1.0.0
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
==== Removed and replaced external libraries ====
|
2017-10-23 17:52:33 +00:00
|
|
|
|
* (T17845) The deprecated 'jquery.badge' module was removed.
|
2017-10-25 19:34:32 +00:00
|
|
|
|
* The deprecated 'jquery.autoEllipsis' module was removed. Use the CSS
|
|
|
|
|
|
text-overflow property instead.
|
2017-10-25 19:38:18 +00:00
|
|
|
|
* The deprecated 'jquery.placeholder' module was removed.
|
2017-10-25 19:39:26 +00:00
|
|
|
|
* The deprecated 'jquery.appear' module was removed. Use the
|
|
|
|
|
|
'mediawiki.viewport' module instead.
|
2018-04-18 12:35:14 +00:00
|
|
|
|
* mediawiki/at-ease was replaced with wikimedia/at-ease.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
=== Bug fixes in 1.31 ===
|
2018-04-23 16:18:03 +00:00
|
|
|
|
* (T90902) Non-breaking space in header ID breaks anchor.
|
2018-05-02 22:42:06 +00:00
|
|
|
|
* (T189375) CSSMin now allows quoted urls in `url()` syntax to start with a
|
|
|
|
|
|
space.
|
|
|
|
|
|
* (T2087, T10897, T87753, T174639) Whitespace created by category and language
|
|
|
|
|
|
links is now stripped rather than leaving blank lines in odd places.
|
2018-05-02 22:43:40 +00:00
|
|
|
|
* (T3780) Uploads with UTF-8 names now work on PHP7.1+ on Windows servers.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
=== Action API changes in 1.31 ===
|
2018-01-17 15:01:51 +00:00
|
|
|
|
* (T185058) The 'name' value to tgprop for action=query&list=tags has been
|
|
|
|
|
|
removed. It has never made a difference in the output, the name was always
|
|
|
|
|
|
returned regardless.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The 'watch' and 'unwatch' parameters for action=move have been removed. They
|
|
|
|
|
|
were deprecated and also accidentally nonfunctional since 1.17 in 2010. Use
|
2018-04-08 19:00:32 +00:00
|
|
|
|
'watchlist' instead.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
=== Action API internal changes in 1.31 ===
|
2018-05-03 20:30:05 +00:00
|
|
|
|
* ApiBase::getProfileDBTime, deprecated since 1.25, was removed.
|
|
|
|
|
|
* ApiBase::getModuleProfileName, deprecated since 1.25, was removed.
|
|
|
|
|
|
* ApiBase::getProfileTime, deprecated since 1.25, was removed.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
=== Languages updated in 1.31 ===
|
|
|
|
|
|
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.
|
2018-05-03 20:30:05 +00:00
|
|
|
|
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* (T180052) Mirandese (mwl) now supports gendered NS_USER/NS_USER_TALK.
|
2018-01-05 12:44:58 +00:00
|
|
|
|
* (T182305) New language support: Nyungar (nys).
|
2018-02-02 22:34:17 +00:00
|
|
|
|
* (T186359) New language support: Siberian Tatar [cебертатар] (sty).
|
2018-02-06 21:35:04 +00:00
|
|
|
|
* (T186635) New language support: Guianan Creole (gcr).
|
2018-02-06 21:52:11 +00:00
|
|
|
|
* (T186647) New language support: Kumyk [къумукъ] (kum).
|
2018-02-19 21:19:13 +00:00
|
|
|
|
* (T187750) New language support: Spanish formal address (es-formal).
|
2018-02-20 18:58:11 +00:00
|
|
|
|
* (T187824) New language support: Hungarian formal address (hu-formal).
|
2018-03-16 21:11:13 +00:00
|
|
|
|
* (T189127) New language support: Gorontalo (gor).
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
2018-04-10 14:24:27 +00:00
|
|
|
|
=== Breaking changes in 1.31 ===
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* MessageBlobStore::insertMessageBlob(), deprecated in 1.27, was removed.
|
|
|
|
|
|
* The OutputPage class constructor now requires a context parameter.
|
|
|
|
|
|
Instantiating without context was deprecated in 1.18.
|
|
|
|
|
|
* The mw.page JavaScript singleton, deprecated in 1.30, was removed.
|
2017-10-25 15:42:38 +00:00
|
|
|
|
* Article::getLastPurgeTimestamp(), WikiPage::getLastPurgeTimestamp(), and the
|
|
|
|
|
|
related WikiPage::PURGE_* constants, deprecated in 1.29, were removed.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The Article::selectFields(), ::onArticleCreate(), ::onArticleDelete(), and
|
|
|
|
|
|
::onArticleEdit() methods, deprecated in 1.24, were removed.
|
|
|
|
|
|
* Installer::locateExecutable() and ::locateExecutableInDefaultPaths() were
|
|
|
|
|
|
removed. Use ExecutableFinder::findInDefaultPaths() instead.
|
2017-11-04 20:15:26 +00:00
|
|
|
|
* The deprecated MW_DIFF_VERSION constant was removed.
|
|
|
|
|
|
DifferenceEngine::MW_DIFF_VERSION should be used instead.
|
2018-04-10 14:24:27 +00:00
|
|
|
|
* Due to significant refactoring, method ContribsPager::getUserCond() that had
|
|
|
|
|
|
no access restriction has been removed.
|
2017-10-25 19:26:53 +00:00
|
|
|
|
* 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".
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The following methods and constants from the WatchedItem class, which were
|
|
|
|
|
|
deprecated in 1.27, have been removed:
|
2017-12-08 03:09:15 +00:00
|
|
|
|
* WatchedItem::getTitle()
|
|
|
|
|
|
* WatchedItem::fromUserTitle()
|
|
|
|
|
|
* WatchedItem::addWatch()
|
|
|
|
|
|
* WatchedItem::removeWatch()
|
|
|
|
|
|
* WatchedItem::isWatched()
|
|
|
|
|
|
* WatchedItem::duplicateEntries()
|
|
|
|
|
|
* WatchedItem::IGNORE_USER_RIGHTS
|
|
|
|
|
|
* WatchedItem::CHECK_USER_RIGHTS
|
|
|
|
|
|
* WatchedItem::DEPRECATED_USAGE_TIMESTAMP
|
2017-12-22 17:47:21 +00:00
|
|
|
|
* The $statementsOnOwnLine parameter of JavaScriptMinifier::minify was removed.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
$wgResourceLoaderMinifierStatementsOnOwnLine, the corresponding configuration
|
|
|
|
|
|
variable, has been deprecated since 1.27 and was removed as well.
|
2018-01-11 22:59:47 +00:00
|
|
|
|
* The $maxLineLength parameter of JavaScriptMinifier::minify was removed.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
$wgResourceLoaderMinifierMaxLineLength, the corresponding configuration
|
|
|
|
|
|
variable, has been deprecated since 1.27 and was removed as well.
|
|
|
|
|
|
* The HtmlFormatter class, deprecated in 1.27, was removed. The namespaced
|
2018-01-04 08:21:05 +00:00
|
|
|
|
HtmlFormatter\HtmlFormatter class should be used instead.
|
2018-01-16 19:02:11 +00:00
|
|
|
|
* The driver 'mysql' for MySQL, deprecated in MediaWiki 1.30, has been removed.
|
|
|
|
|
|
The driver has been deprecated since PHP 5.5 and was removed in PHP 7.0. The
|
|
|
|
|
|
default driver for MySQL has been 'mysqli' since MediaWiki 1.22.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The following properties of PreparedEdit were deprecated in 1.21 and have
|
|
|
|
|
|
been removed:
|
2018-01-27 00:57:13 +00:00
|
|
|
|
* PreparedEdit->newText
|
|
|
|
|
|
* PreparedEdit->oldText
|
|
|
|
|
|
* PreparedEdit->pst
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* ParserOutput objects which are generated using a non-default value for
|
|
|
|
|
|
ParserOptions::setWrapOutputClass() can no longer be added to the parser
|
|
|
|
|
|
cache.
|
2018-01-31 21:33:06 +00:00
|
|
|
|
* The following deprecated methods from the OutputPage class have been removed:
|
|
|
|
|
|
* OutputPage::addExtensionStyle(); deprecated in 1.27
|
|
|
|
|
|
* OutputPage::getExtStyle(); deprecated in 1.27
|
|
|
|
|
|
* OutputPage::setETag(); deprecated in 1.28 (obsolete no-op)
|
|
|
|
|
|
* OutputPage::setSquidMaxage(); deprecated in 1.27
|
|
|
|
|
|
* OutputPage::readOnlyPage(); deprecated in 1.25
|
|
|
|
|
|
* OutputPage::rateLimited(); deprecated in 1.25
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* Additionally, the protected OutputPage::$mExtStyles array, only accessed
|
|
|
|
|
|
through the above and with no known uses, was removed.
|
2018-01-31 22:32:41 +00:00
|
|
|
|
* The no-op method Skin::showIPinHeader(), deprecated in 1.27, was removed.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The following variables and methods in EditPage, deprecated in MediaWiki 1.30,
|
|
|
|
|
|
were removed:
|
2018-02-10 01:19:18 +00:00
|
|
|
|
* $isCssJsSubpage — use ::isUserConfigPage()
|
|
|
|
|
|
* $isCssSubpage — use ::isUserCssConfigPage()
|
|
|
|
|
|
* $isJsSubpage — use ::isUserJsConfigPage()
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* $isWrongCaseCssJsPage – use ::isWrongCaseUserConfigPage()
|
|
|
|
|
|
* ::getSummaryInput() – use ::getSummaryInputWidget()
|
|
|
|
|
|
* ::getSummaryInputOOUI() – use ::getSummaryInputWidget()
|
|
|
|
|
|
* ::getCheckboxes() – use ::getCheckboxesWidget() or
|
|
|
|
|
|
::getCheckboxesDefinition()
|
|
|
|
|
|
* ::getCheckboxesOOUI() – use ::getCheckboxesWidget() or
|
|
|
|
|
|
::getCheckboxesDefinition()
|
|
|
|
|
|
* ResourceLoaderModule::getPosition(), deprecated in 1.29, has been removed.
|
|
|
|
|
|
* In User, the cookie-related methods which were wrappers for the functions on
|
|
|
|
|
|
the response object, and were deprecated in 1.27, have been removed:
|
2018-02-27 23:55:34 +00:00
|
|
|
|
* ::setCookie()
|
|
|
|
|
|
* ::clearCookie()
|
|
|
|
|
|
* ::setExtendedLoginCookie()
|
|
|
|
|
|
Note that User::setCookies() remains, and is not deprecated.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* Also in User, some auth-related methods which were deprecated in 1.27 have
|
|
|
|
|
|
been removed:
|
|
|
|
|
|
* ::getEditTokenTimestamp() – use MediaWiki\Session\Token::getTimestamp()
|
|
|
|
|
|
* ::getPasswordFactory() – create a PasswordFactory directly
|
2018-03-30 21:17:48 +00:00
|
|
|
|
* ::passwordChangeInputAttribs()
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The global functions wfProfileIn and wfProfileOut, deprecated in 1.25, have
|
|
|
|
|
|
been removed.
|
2018-03-06 17:07:47 +00:00
|
|
|
|
* SpecialPageFactory::getList(), deprecated in 1.24, has been removed. You can
|
|
|
|
|
|
use ::getNames() instead.
|
2018-03-06 17:08:09 +00:00
|
|
|
|
* OpenSearch::getOpenSearchTemplate(), deprecated in 1.25, has been removed. You
|
|
|
|
|
|
can use ApiOpenSearch::getOpenSearchTemplate() instead.
|
2018-03-09 13:06:58 +00:00
|
|
|
|
* The global function wfBaseConvert, deprecated in 1.27, has been removed. Use
|
|
|
|
|
|
Wikimedia\base_convert() directly.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* Calling Database::begin() explicitly during an implicit transaction or when
|
|
|
|
|
|
DBO_TRX is set results in an exception. Calling Database::commit() explicitly
|
|
|
|
|
|
for an implicit transaction also results in an exception. Previously these
|
|
|
|
|
|
were logged as errors. The startAtomic() and endAtomic() methods, or
|
|
|
|
|
|
AtomicSectionUpdate should be used instead.
|
2018-03-18 04:03:42 +00:00
|
|
|
|
* The global function wfOutputHandler() was removed, use the its replacement
|
2018-05-02 22:00:16 +00:00
|
|
|
|
MediaWiki\OutputHandler::handle() instead. The global function was only
|
|
|
|
|
|
sometimes defined. Its replacement is always available via the autoloader.
|
|
|
|
|
|
* ChangeTags::listExtensionActivatedTags and ::listExtensionDefinedTags,
|
|
|
|
|
|
deprecated in 1.28, have been removed. Use ::listSoftwareActivatedTags() and
|
2018-03-10 04:02:03 +00:00
|
|
|
|
::listSoftwareDefinedTags() instead.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* Title::getTitleInvalidRegex(), deprecated in 1.25, has been removed. You can
|
|
|
|
|
|
use MediaWikiTitleCodec::getTitleInvalidRegex() instead.
|
2018-03-06 17:11:47 +00:00
|
|
|
|
* HTMLForm & VFormHTMLForm::isVForm(), deprecated in 1.25, have been removed.
|
2018-03-06 17:16:31 +00:00
|
|
|
|
* The ProfileSection class, deprecated in 1.25 and unused, has been removed.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* 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 the path through which it was
|
|
|
|
|
|
called, TidyDriverBase::validate(), are removed, as are the testing methods
|
|
|
|
|
|
MediaWikiTestCase::assertValidHtmlSnippet() and ::assertValidHtmlDocument().
|
|
|
|
|
|
The $wgValidateAllHtml configuration option is removed and will be ignored.
|
|
|
|
|
|
* Execution of external programs using MediaWiki\Shell\Command now applies
|
|
|
|
|
|
the RESTRICT_DEFAULT Firejail restriction by default.
|
2018-04-17 00:42:00 +00:00
|
|
|
|
* The ResourceLoaderModule::getHashMtime() and ::getDefinitionMtime() methods,
|
|
|
|
|
|
deprecated in 1.26, were removed.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The deprecated 'mediawiki.widgets.CategorySelector' module alias was removed.
|
|
|
|
|
|
Use the 'mediawiki.widgets.CategoryMultiselectWidget' module directly.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
2018-04-10 14:24:27 +00:00
|
|
|
|
=== Deprecations in 1.31 ===
|
|
|
|
|
|
* The Revision class was deprecated in favor of RevisionStore, BlobStore, and
|
|
|
|
|
|
RevisionRecord and its subclasses.
|
|
|
|
|
|
* The global function wfBCP47 is deprecated in favour of LanguageCode::bcp47.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The global function wfCountDown is now deprecated in favor of
|
|
|
|
|
|
Maintenance::countDown.
|
2018-04-10 14:24:27 +00:00
|
|
|
|
* 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()
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
* Use of Maintenance::error( $err, $die ) to exit script was deprecated. Use
|
|
|
|
|
|
Maintenance::fatalError() instead.
|
|
|
|
|
|
* Passing a ParserOptions object to OutputPage::parserOptions() is deprecated.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The RevisionInsertComplete hook is now deprecated; use instead the hook
|
|
|
|
|
|
RevisionRecordInserted. RevisionInsertComplete is still called, but the second
|
|
|
|
|
|
and third parameter will always be null. Hard deprecation is scheduled for 1.32.
|
2018-04-10 14:24:27 +00:00
|
|
|
|
* 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()
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The public ParserOutput state fields $mTOCEnabled and $mEditSectionTokens
|
|
|
|
|
|
are also deprecated.
|
2018-04-10 14:24:27 +00:00
|
|
|
|
* License::getLicenses has been deprecated; use License::getLines instead.
|
|
|
|
|
|
* QuickTemplate::setRef() was deprecated in favour of QuickTemplate::set().
|
2018-05-02 22:00:16 +00:00
|
|
|
|
Setting template variables by reference allowed violating the principle of
|
|
|
|
|
|
data being immutable once added to the skin template. In practice, this method
|
|
|
|
|
|
was not being used for that. Rather, setRef() existed as memory optimisation
|
|
|
|
|
|
for PHP 4.
|
|
|
|
|
|
* QuickTemplate::setTranslator() and MediaWikiI18N::set() were deprecated in
|
|
|
|
|
|
favour of Skin::msg() parameters.
|
|
|
|
|
|
* MediaWikiI18N::translate() was deprecated in favour of Skin::msg() or
|
|
|
|
|
|
wfMessage().
|
2018-04-10 14:24:27 +00:00
|
|
|
|
* Passing false to ParserOptions::setWrapOutputClass() is deprecated. Use the
|
|
|
|
|
|
'unwrap' transform to ParserOutput::getText() instead.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* \ObjectFactory (no namespace) is deprecated, the namespaced class
|
|
|
|
|
|
\Wikimedia\ObjectFactory from the wikimedia/object-factory library should be
|
|
|
|
|
|
used instead.
|
|
|
|
|
|
* CommentStore::newKey is deprecated. Instead, get an instance from
|
|
|
|
|
|
MediaWikiServices.
|
|
|
|
|
|
* The following CommentStore methods have had their signatures changed to
|
|
|
|
|
|
introduce a $key parameter, usage of the methods on instances retrieved from
|
|
|
|
|
|
CommentStore::newKey will remain unchanged but deprecated:
|
2018-04-10 14:24:27 +00:00
|
|
|
|
* CommentStore::getFields
|
|
|
|
|
|
* CommentStore::getJoin
|
|
|
|
|
|
* CommentStore::getComment
|
|
|
|
|
|
* CommentStore::getCommentLegacy
|
|
|
|
|
|
* CommentStore::insert
|
|
|
|
|
|
* CommentStore::insertWithTemplate
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* The following methods in Title have been renamed, and the old ones are
|
|
|
|
|
|
deprecated:
|
|
|
|
|
|
* Title::getSkinFromCssJsSubpage – use ::getSkinFromConfigSubpage
|
|
|
|
|
|
* Title::isCssOrJsPage – use ::isSiteConfigPage
|
|
|
|
|
|
* Title::isCssJsSubpage – use ::isUserConfigPage
|
2018-04-10 14:24:27 +00:00
|
|
|
|
* Title::isCssSubpage – use ::isUserCssConfigPage
|
|
|
|
|
|
* Title::isJsSubpage – use ::isUserJsConfigPage
|
|
|
|
|
|
* The following methods related to caching of half-parsed HTML were deprecated:
|
|
|
|
|
|
* Parser::serializeHalfParsedText()
|
|
|
|
|
|
* Parser::unserializeHalfParsedText()
|
|
|
|
|
|
* Parser::isValidHalfParsedText()
|
|
|
|
|
|
* StripState::getSubState()
|
|
|
|
|
|
* StripState::merge()
|
|
|
|
|
|
* The DeferredStringifier class is deprecated, use Message::listParam() instead.
|
|
|
|
|
|
* The type string for the parameter $lang of DateFormatter::getInstance is
|
|
|
|
|
|
deprecated.
|
|
|
|
|
|
* Wikimedia\Rdbms\SavepointPostgres is deprecated.
|
2018-04-12 16:44:51 +00:00
|
|
|
|
* The DO_MAINTENANCE constant is deprecated. RUN_MAINTENANCE_IF_MAIN should be
|
|
|
|
|
|
used instead.
|
2018-01-19 01:44:03 +00:00
|
|
|
|
* The function wfShellWikiCmd() has been deprecated, use
|
|
|
|
|
|
MediaWiki\Shell::makeScriptCommand().
|
2018-04-10 14:24:27 +00:00
|
|
|
|
=== Other changes in 1.31 ===
|
|
|
|
|
|
* Browser support for Internet Explorer 10 was lowered from Grade A to Grade C.
|
2018-05-02 22:00:16 +00:00
|
|
|
|
* Browser support for Opera 12 and older was dropped entirely. Opera 15+
|
|
|
|
|
|
continues at Grade A.
|
|
|
|
|
|
* Multi-content-revision capability was introduced into the storage layer. See
|
|
|
|
|
|
<https://mediawiki.org/wiki/Requests_for_comment/Multi-Content_Revisions>.
|
|
|
|
|
|
* The "free" CSS class is now only applied to unbracketed URLs in wikitext.
|
|
|
|
|
|
Links written using square brackets will get the class "text" not "free".
|
2018-04-10 14:24:27 +00:00
|
|
|
|
* RFC 157418: Whitespace is trimmed from wikitext headings, wikitext list items,
|
|
|
|
|
|
wikitext table captions, wikitext table headings, wikitext table cells. HTML
|
2018-05-02 22:00:16 +00:00
|
|
|
|
headings, HTML list items, HTML table captions, HTML table headings, HTML
|
|
|
|
|
|
table cells will not have this trimming behavior.
|
2018-04-10 14:24:27 +00:00
|
|
|
|
|
2017-09-19 18:34:47 +00:00
|
|
|
|
== Compatibility ==
|
2018-05-02 22:00:16 +00:00
|
|
|
|
MediaWiki 1.31 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.
|
2017-09-19 18:34:47 +00:00
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
Oracle and Microsoft SQL Server.
|
|
|
|
|
|
|
|
|
|
|
|
The supported versions are:
|
|
|
|
|
|
|
2018-04-18 21:23:27 +00:00
|
|
|
|
* MySQL 5.5.8 or later
|
2018-03-26 18:47:02 +00:00
|
|
|
|
* PostgreSQL 9.2 or later
|
2017-09-19 18:34:47 +00:00
|
|
|
|
* SQLite 3.3.7 or later
|
|
|
|
|
|
* Oracle 9.0.1 or later
|
|
|
|
|
|
* Microsoft SQL Server 2005 (9.00.1399)
|
|
|
|
|
|
|
|
|
|
|
|
== Upgrading ==
|
|
|
|
|
|
1.31 has several database changes since 1.30, and will not work without schema
|
|
|
|
|
|
updates. Note that due to changes to some very large tables like the revision
|
|
|
|
|
|
table, the schema update may take quite long (minutes on a medium sized site,
|
|
|
|
|
|
many hours on a large site).
|
|
|
|
|
|
|
|
|
|
|
|
Don't forget to always back up your database before upgrading!
|
|
|
|
|
|
|
|
|
|
|
|
See the file UPGRADE for more detailed upgrade instructions, including
|
|
|
|
|
|
important information when upgrading from versions prior to 1.11.
|
|
|
|
|
|
|
|
|
|
|
|
For notes on 1.30.x and older releases, see HISTORY.
|
|
|
|
|
|
|
|
|
|
|
|
== Online documentation ==
|
|
|
|
|
|
Documentation for both end-users and site administrators is available on
|
|
|
|
|
|
MediaWiki.org, and is covered under the GNU Free Documentation License (except
|
|
|
|
|
|
for pages that explicitly state that their contents are in the public domain):
|
|
|
|
|
|
|
|
|
|
|
|
https://www.mediawiki.org/wiki/Special:MyLanguage/Documentation
|
|
|
|
|
|
|
|
|
|
|
|
== Mailing list ==
|
|
|
|
|
|
A mailing list is available for MediaWiki user support and discussion:
|
|
|
|
|
|
|
|
|
|
|
|
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
|
|
|
|
|
|
|
|
|
|
|
|
A low-traffic announcements-only list is also available:
|
|
|
|
|
|
|
|
|
|
|
|
https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
|
|
|
|
|
|
|
|
|
|
|
|
It's highly recommended that you sign up for one of these lists if you're
|
|
|
|
|
|
going to run a public MediaWiki, so you can be notified of security fixes.
|
|
|
|
|
|
|
|
|
|
|
|
== IRC help ==
|
|
|
|
|
|
There's usually someone online in #mediawiki on irc.freenode.net.
|