2021-04-06 20:49:22 +00:00
|
|
|
= MediaWiki 1.37 =
|
|
|
|
|
|
|
|
|
|
== MediaWiki 1.37.0-PRERELEASE ==
|
|
|
|
|
|
|
|
|
|
THIS IS NOT A RELEASE YET
|
|
|
|
|
|
|
|
|
|
MediaWiki 1.37 is an alpha-quality development branch, and is not recommended
|
|
|
|
|
for use in production.
|
|
|
|
|
|
|
|
|
|
== Upgrading notes for 1.37 ==
|
|
|
|
|
Don't forget to always back up your database before upgrading!
|
|
|
|
|
|
2021-04-06 23:25:35 +00:00
|
|
|
See the file UPGRADE for more detailed per-version upgrade instructions from the
|
|
|
|
|
oldest supported upgrading version, MediaWiki 1.27.
|
2021-04-06 20:49:22 +00:00
|
|
|
|
|
|
|
|
Some specific notes for MediaWiki 1.37 upgrades are below:
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
For notes on 1.36.x and older releases, see HISTORY.
|
|
|
|
|
|
|
|
|
|
=== Configuration changes for system administrators in 1.37 ===
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
==== New configuration ====
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
==== Changed configuration ====
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
==== Removed configuration ====
|
2021-04-13 06:34:50 +00:00
|
|
|
* $wgLegacyJavaScriptGlobals was deprecated in 1.36.
|
2021-04-06 20:49:22 +00:00
|
|
|
|
|
|
|
|
=== New user-facing features in 1.37 ===
|
2021-04-17 19:38:23 +00:00
|
|
|
* Media files uploaded server side using the importImages.php maintenance
|
|
|
|
|
script now have the "mw-server-side-upload" change tag.
|
2021-04-06 20:49:22 +00:00
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
=== New developer features in 1.37 ===
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
=== External library changes in 1.37 ===
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
==== New external libraries ====
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
===== New development-only external libraries =====
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
==== Changed external libraries ====
|
2021-04-23 21:32:40 +00:00
|
|
|
* Updated WVUI from v0.1.0 to v0.1.1
|
2021-04-25 18:41:41 +00:00
|
|
|
* Updated psr/container from v1.0.0 to v1.1.1.
|
|
|
|
|
* Updated wikimedia/object-factory from v3.0.0 to v3.0.2.
|
2021-04-26 17:16:32 +00:00
|
|
|
* Updated wikimedia/parsoid from v0.13.0-a20 to v0.14.0-a1.
|
2021-04-06 20:49:22 +00:00
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
===== Changed development-only external libraries =====
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
==== Removed external libraries ====
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
=== Bug fixes in 1.37 ===
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
=== Action API changes in 1.37 ===
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
=== Action API internal changes in 1.37 ===
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
=== Languages updated in 1.37 ===
|
|
|
|
|
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.
|
|
|
|
|
|
2021-04-17 07:29:24 +00:00
|
|
|
* (T280435) LRM and RLM characters were removed from names of languages with
|
|
|
|
|
parentheses in Names.php
|
2021-04-08 08:52:21 +00:00
|
|
|
* (T279619) Added language support for Dagbani (dag).
|
2021-04-06 20:49:22 +00:00
|
|
|
|
|
|
|
|
=== Breaking changes in 1.37 ===
|
2021-04-11 20:49:08 +00:00
|
|
|
* The Revision class, hard deprecated in 1.35, is being removed. As
|
|
|
|
|
part of this, the following hooks that included a Revision object
|
|
|
|
|
were removed:
|
|
|
|
|
- ArticleRevisionUndeleted - use RevisionUndeleted
|
|
|
|
|
- ArticleRollbackComplete - use RollbackComplete
|
|
|
|
|
- DiffRevisionTools - use DiffTools
|
|
|
|
|
- DiffViewHeader - use DifferenceEngineViewHeader
|
|
|
|
|
- HistoryRevisionTools - use HistoryTools
|
|
|
|
|
- NewRevisionFromEditComplete - use RevisionFromEditComplete
|
|
|
|
|
- PageContentInsertComplete - use PageSaveComplete
|
|
|
|
|
- PageContentSaveComplete - use PageSaveComplete
|
|
|
|
|
- ParserFetchTemplate - use BeforeParserFetchTemplateRevisionRecord
|
|
|
|
|
- RevisionInsertComplete - use RevisionRecordInserted
|
|
|
|
|
- TitleMoveComplete - use PageMoveComplete
|
|
|
|
|
- TitleMoveCompleting - use PageMoveCompleting
|
|
|
|
|
- UndeleteShowRevision - no replacement
|
2021-04-21 04:35:50 +00:00
|
|
|
and the following methods and variables have been removed
|
|
|
|
|
- Article::$mRevision
|
|
|
|
|
- Article::getRevisionFetched()
|
|
|
|
|
- ContribsPager::tryToCreateValidRevision()
|
|
|
|
|
- EditPage::$mBaseRevision
|
|
|
|
|
- EditPage::getBaseRevision()
|
|
|
|
|
- LinksUpdate::getRevision()
|
|
|
|
|
- LinksUpdate::setRevision()
|
2021-04-21 06:59:29 +00:00
|
|
|
- PageArchive::getArchivedRevision
|
|
|
|
|
- PageArchive::getPreviousRevision
|
|
|
|
|
- PageArchive::getRevision
|
2021-04-21 04:35:50 +00:00
|
|
|
- Title::getFirstRevision()
|
|
|
|
|
- WikiPage::getOldestRevision()
|
|
|
|
|
- WikiPage::getRevision()
|
2021-04-07 02:04:24 +00:00
|
|
|
* WANObjectCache::HOLDOFF_NONE, deprecated since 1.35, was removed.
|
|
|
|
|
Use HOLDOFF_TTL_NONE instead.
|
2021-04-11 20:05:46 +00:00
|
|
|
* The following methods and fields in the Language class, deprecated since
|
|
|
|
|
1.35, have been removed:
|
|
|
|
|
- classFromCode()
|
|
|
|
|
- clearCaches()
|
|
|
|
|
- convertTitle()
|
|
|
|
|
- findVariantLink()
|
|
|
|
|
- mConverter
|
|
|
|
|
- updateConversionTable()
|
2021-04-25 17:29:33 +00:00
|
|
|
* The following methods in the Parser class have been removed after having
|
|
|
|
|
been deprecated in 1.35:
|
|
|
|
|
- fetchCurrentRevisionOfTitle()
|
|
|
|
|
- statelessFetchRevision()
|
|
|
|
|
- fetchTemplate()
|
|
|
|
|
- Title()
|
2021-02-17 04:11:46 +00:00
|
|
|
* (T273354) When an edit is prevented by an 'EditFilterMergedContent' hook
|
|
|
|
|
handler without changing the status, the edit form will now be displayed.
|
2021-04-08 19:34:40 +00:00
|
|
|
* User::clearNotification() which had been deprecated in 1.35 has been removed.
|
|
|
|
|
Use WatchlistManager::clearTitleUserNotification() instead.
|
2021-04-19 04:07:09 +00:00
|
|
|
* Autopromote class, deprecated since 1.35, was removed. Use
|
|
|
|
|
UserGroupManager instead.
|
2021-04-20 11:41:54 +00:00
|
|
|
* The following classes, hard-deprecated since 1.36, have been removed:
|
|
|
|
|
CachedAction, SpecialCachedPage, CacheHelper, ICacheHelper.
|
2021-03-28 16:19:05 +00:00
|
|
|
* The hooks BeforeHttpsRedirect, CanIPUseHTTPS and UserRequiresHTTPS, deprecated
|
|
|
|
|
in 1.35, were removed.
|
2021-04-21 02:15:03 +00:00
|
|
|
* The deprecated "es6-promise" alias ResourceLoader module has been removed. Use
|
|
|
|
|
"es6-polyfills" directly intead.
|
2021-04-16 13:17:10 +00:00
|
|
|
* AuthenticationProvider interface doesn't extend LoggerAwareInterface.
|
|
|
|
|
So AuthenticationProvider can't be typehinted as LoggerAwareInterface.
|
2021-04-06 03:09:28 +00:00
|
|
|
* The following methods, deprecated in 1.35, were removed:
|
|
|
|
|
- Parser::fetchCurrentRevisionOfTitle
|
|
|
|
|
- Parser::statelessFetchRevision
|
|
|
|
|
- Parser::getRevisionObject
|
|
|
|
|
- ParserOptions::getCurrentRevisionCallback
|
|
|
|
|
- ParserOptions::setCurrentRevisionCallback
|
2021-05-01 09:21:33 +00:00
|
|
|
* User::getGrantName(), hard deprecated since 1.36, has been removed.
|
|
|
|
|
Use MWGrants::grantName instead.
|
2021-04-29 20:44:45 +00:00
|
|
|
* SessionProvider class doesn't extend LoggerAwareInterface.
|
|
|
|
|
So SessionProvider can't be typehinted as LoggerAwareInterface.
|
2021-04-06 20:49:22 +00:00
|
|
|
|
|
|
|
|
=== Deprecations in 1.37 ===
|
2021-04-01 20:55:37 +00:00
|
|
|
* JobQueue::getWiki, deprecated in 1.33, now emits deprecation warnings.
|
2021-03-26 22:24:43 +00:00
|
|
|
* Deprecated passing UserIdentity to
|
|
|
|
|
WatchlistManager::clearAllUserNotifications() and
|
|
|
|
|
WatchlistManager::clearTitleUserNotifications(). Pass Authority instead.
|
|
|
|
|
* Deprecated passing LinkTarget to
|
|
|
|
|
WatchlistManager::clearTitleUserNotifications() and
|
|
|
|
|
WatchlistManager::getTitleNotificationTimestamp(). Pass PageIdentity instead.
|
2021-03-26 22:24:43 +00:00
|
|
|
* Deprecated User::isWatched(), User::isTempWatched(), User::addWatch(), and
|
|
|
|
|
User::removeWatch(). Use corresponding methods in WatchlistManager instead.
|
2021-04-13 03:28:23 +00:00
|
|
|
* Deprecated WatchAction::doWatchOrUnwatch(). Use WatchlistManager::setWatch()
|
|
|
|
|
instead.
|
|
|
|
|
* Deprecated WatchAction::doWatch() and WatchAction::doUnwatch(). Use
|
2021-04-19 17:35:35 +00:00
|
|
|
WatchlistManager::addWatch() or WatchlistManager::removeWatch(), instead.
|
2021-04-25 17:29:33 +00:00
|
|
|
* The getTitle() and setTitle() methods in Parser have been deprecated.
|
|
|
|
|
Use getPage() and setPage() instead.
|
2021-04-08 19:34:40 +00:00
|
|
|
* Title::isWatchable() has been deprecated. Use WatchlistManager::isWatchable()
|
|
|
|
|
instead.
|
2021-04-11 15:55:02 +00:00
|
|
|
* wfIncrStats(), deprecated in 1.36, now emits deprecation warnings.
|
2021-03-28 16:19:05 +00:00
|
|
|
* wfCanIPUseHTTPS() is now deprecated, and always returns true.
|
2021-05-01 01:28:36 +00:00
|
|
|
* The UserLoadFromDatabase hook has been deprecated. It had no known uses.
|
2021-04-16 13:17:10 +00:00
|
|
|
* AbstractAuthenticationProvider ::setLogger(), ::setManager(), ::setConfig(),
|
|
|
|
|
::setHookContainer() were soft deprecated. Use ::init() to inject
|
|
|
|
|
dependencies or override ::postInitSetup() to do any custom
|
|
|
|
|
post-initialization configuration.
|
2021-04-12 14:45:26 +00:00
|
|
|
* The following functions from the User class, deprecated in 1.35, now emit
|
|
|
|
|
deprecation warnings:
|
|
|
|
|
- getOptions
|
|
|
|
|
- isIP
|
2021-04-26 20:25:28 +00:00
|
|
|
* DatabasePostgres::remappedTableName() and its dependent constructor parameter
|
|
|
|
|
'keywordTableMap' are deprecated. Reserved identifiers that are used as table
|
|
|
|
|
names should be quoted where necessary.
|
2021-05-03 12:29:14 +00:00
|
|
|
* LinkCache::singleton(), deprecated since 1.28, now emits deprecation warnings.
|
2021-05-03 13:08:33 +00:00
|
|
|
* MessageCache::singleton(), deprecated since 1.34, now emits deprecation
|
|
|
|
|
warnings.
|
2021-05-03 14:38:44 +00:00
|
|
|
* LockManagerGroup::singleton() and ::destroySingletons(), deprecated since
|
|
|
|
|
1.34, now emit deprecation warnings.
|
2021-04-29 20:44:45 +00:00
|
|
|
* SessionProvider ::setLogger(), ::setManager(), ::setConfig(),
|
|
|
|
|
::setHookContainer() were soft deprecated. Use ::init() to inject
|
|
|
|
|
dependencies or override ::postInitSetup() to do any custom
|
|
|
|
|
post-initialization configuration.
|
2021-04-11 15:55:02 +00:00
|
|
|
* …
|
2021-04-06 20:49:22 +00:00
|
|
|
|
|
|
|
|
=== Other changes in 1.37 ===
|
2021-04-19 17:35:35 +00:00
|
|
|
* WatchlistManager::addWatch and WatchlistManager::addWatchIgnoringRights(),
|
|
|
|
|
which replace User::addWatch(), now call the WatchArticle and
|
|
|
|
|
WatchArticleComplete hooks.
|
|
|
|
|
* WatchlistManager::removeWatch and
|
|
|
|
|
WatchlistManager::removeWatchIgnoringRights(), which replace
|
|
|
|
|
User::removeWatch(), now call the UnwatchArticle and UnwatchArticleComplete
|
|
|
|
|
hooks.
|
2021-04-16 13:17:10 +00:00
|
|
|
* The overridable postInitSetup() method was added to the
|
|
|
|
|
AbstractAuthenticationProvider class. A provider can override postInitSetup()
|
|
|
|
|
to do any custom post-initialization configuration.
|
2021-04-29 20:44:45 +00:00
|
|
|
* The overridable postInitSetup() method was added to the SessionProvider
|
|
|
|
|
class. A provider can override postInitSetup() to do any custom
|
|
|
|
|
post-initialization configuration.
|
|
|
|
|
* The protected getConfig() method was added to the SessionProvider class.
|
|
|
|
|
Use SessionProvider::getConfig to get a config.
|
2021-04-06 20:49:22 +00:00
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
== Compatibility ==
|
|
|
|
|
|
|
|
|
|
MediaWiki 1.37 requires PHP 7.3.19 or later and the following PHP extensions:
|
|
|
|
|
|
|
|
|
|
* ctype
|
|
|
|
|
* dom
|
|
|
|
|
* fileinfo
|
|
|
|
|
* iconv
|
|
|
|
|
* intl
|
|
|
|
|
* json
|
|
|
|
|
* mbstring
|
|
|
|
|
* xml
|
|
|
|
|
|
|
|
|
|
MySQL/MariaDB is the recommended DBMS. PostgreSQL or SQLite can also be used,
|
|
|
|
|
but support for them is somewhat less mature.
|
|
|
|
|
|
|
|
|
|
The supported versions are:
|
|
|
|
|
|
|
|
|
|
* MySQL 5.5.8 or later
|
|
|
|
|
* PostgreSQL 9.4 or later
|
|
|
|
|
* SQLite 3.8.0 or later
|
|
|
|
|
|
|
|
|
|
== 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.
|