2019-09-30 17:19:58 +00:00
|
|
|
|
= MediaWiki 1.35 =
|
|
|
|
|
|
|
|
|
|
|
|
== MediaWiki 1.35.0-PRERELEASE ==
|
|
|
|
|
|
|
|
|
|
|
|
THIS IS NOT A RELEASE YET
|
|
|
|
|
|
|
|
|
|
|
|
MediaWiki 1.35 is an alpha-quality development branch, and is not recommended
|
|
|
|
|
|
for use in production.
|
|
|
|
|
|
|
|
|
|
|
|
== Upgrading notes for 1.35 ==
|
|
|
|
|
|
1.35 has several database changes since 1.34, 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.
|
|
|
|
|
|
|
|
|
|
|
|
Some specific notes for MediaWiki 1.35 upgrades are below:
|
|
|
|
|
|
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
For notes on 1.34.x and older releases, see HISTORY.
|
|
|
|
|
|
|
|
|
|
|
|
=== Configuration changes for system administrators in 1.35 ===
|
|
|
|
|
|
|
|
|
|
|
|
…
|
|
|
|
|
|
|
|
|
|
|
|
==== New configuration ====
|
2019-11-05 15:07:06 +00:00
|
|
|
|
* $wgDiffEngine can be used to specify the difference engine to use, rather
|
|
|
|
|
|
than choosing the first of $wgExternalDiffEngine, wikidiff2, or php that
|
|
|
|
|
|
is usable.
|
2019-10-11 14:06:13 +00:00
|
|
|
|
* $wgSearchMatchRedirectPreference – This configuration setting controls whether
|
|
|
|
|
|
users can set a new preference, search-match-redirect, which decides if search
|
|
|
|
|
|
should redirect them to exact matches is available. By default, this is set to
|
|
|
|
|
|
false, which maintains the previous behaviour without preference bloat. Change
|
|
|
|
|
|
your site's default by setting $wgDefaultUserOptions['search-match-redirect'].
|
|
|
|
|
|
* …
|
2019-09-30 17:19:58 +00:00
|
|
|
|
|
|
|
|
|
|
==== Changed configuration ====
|
2019-10-13 01:16:55 +00:00
|
|
|
|
* $wgResourceLoaderMaxage (T235314) - This configuration array controls the
|
|
|
|
|
|
max-age for HTTP caching through the Cache-Control header. It has uses the
|
|
|
|
|
|
"versioned" key for urls that do have a version parameter, and the
|
|
|
|
|
|
"unversioned" key for urls without a version parameter. The sub keys for
|
|
|
|
|
|
"client" and "server" are no longer supported in MediaWiki 1.35.
|
2019-09-30 17:19:58 +00:00
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
==== Removed configuration ====
|
2019-10-11 05:14:27 +00:00
|
|
|
|
* $wgSysopEmailBans — This setting, deprecated in 1.34, was removed. To let
|
|
|
|
|
|
sysops block email access, use $wgGroupPermissions['sysop']['blockemail'].
|
2019-11-10 14:52:35 +00:00
|
|
|
|
* $wgDBWindowsAuthentication — This setting had no effect anymore after support
|
|
|
|
|
|
for SQL Server was removed in 1.34. (T230418)
|
2019-09-30 17:19:58 +00:00
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=== New user-facing features in 1.35 ===
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=== New developer features in 1.35 ===
|
2019-10-28 08:51:34 +00:00
|
|
|
|
* If CSP is enabled, extensions can now add additional sources using the
|
|
|
|
|
|
ContentSecurityPolicy::addDefaultSource, ::addStyleSrc and ::addScriptSrc
|
|
|
|
|
|
methods (e.g. $context->getOutput()->getCSP()->addDefaultSrc( 'example.com' ))
|
2019-09-30 17:19:58 +00:00
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
=== External library changes in 1.35 ===
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
==== New external libraries ====
|
2019-08-14 14:34:43 +00:00
|
|
|
|
* Added doctrine/dbal 2.9.3 (dev-only).
|
2019-09-30 17:19:58 +00:00
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
==== Changed external libraries ====
|
2019-10-20 10:36:00 +00:00
|
|
|
|
* symfony/yaml was upgraded from 3.4.28 to 4.3.4
|
|
|
|
|
|
* pear/mail_mime was upgraded from 1.10.2 to 1.10.4
|
2019-11-06 18:34:57 +00:00
|
|
|
|
* wikimedia/less.php was upgrade from 1.8.0 to 1.8.2
|
2019-10-12 17:39:14 +00:00
|
|
|
|
* Updated nikic/php-parser from 3.1.5 to 4.2.4 (dev-only).
|
2019-08-26 19:52:30 +00:00
|
|
|
|
* Updated jQuery from v3.3.1 to v3.4.1.
|
2019-08-26 19:54:22 +00:00
|
|
|
|
* Updated jQuery Migrate from v3.0.1 to v3.1.0.
|
2019-11-11 06:10:44 +00:00
|
|
|
|
* Updated jakub-onderka/php-console-highlighter from v0.3.2 to v0.4 (dev-only).
|
2019-11-11 06:17:49 +00:00
|
|
|
|
* Updated wikimedia/assert from 0.2.2 to 0.4.0.
|
2019-09-30 17:19:58 +00:00
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
==== Removed external libraries ====
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
=== Bug fixes in 1.35 ===
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
=== Action API changes in 1.35 ===
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
=== Action API internal changes in 1.35 ===
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
=== Languages updated in 1.35 ===
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
=== Breaking changes in 1.35 ===
|
2019-10-01 10:11:27 +00:00
|
|
|
|
* ResourceLoader::getLessVars(), deprecated in 1.32, was removed.
|
|
|
|
|
|
Use ResourceLoaderModule::getLessVars() instead.
|
2019-10-27 00:29:00 +00:00
|
|
|
|
* The jquery.tabIndex module, deprecated in 1.34, has been removed.
|
2019-10-08 03:47:39 +00:00
|
|
|
|
* The mediawiki.RegExp module alias, deprecated in 1.34, was removed.
|
|
|
|
|
|
Use the mediawiki.util module instead.
|
2019-10-11 01:00:56 +00:00
|
|
|
|
* The easy-deflate.inflate module, unused since 1.32, was removed.
|
2019-11-08 17:39:46 +00:00
|
|
|
|
* The easy-deflate.deflate module was removed. Use the mediawiki.deflate
|
|
|
|
|
|
module instead.
|
2019-10-08 18:30:42 +00:00
|
|
|
|
* The internal variable $constructorOptions for the Parser & SpecialPageFactory,
|
|
|
|
|
|
exposed only for integration purposes, are now each replaced by a const called
|
|
|
|
|
|
CONSTRUCTOR_OPTIONS. This was a breaking change made without deprecation.
|
2019-10-08 21:37:04 +00:00
|
|
|
|
* ObjectCache::getWANInstance, deprecated in 1.34, was removed.
|
|
|
|
|
|
Use MediaWikiServices::getMainWANObjectCache instead.
|
2019-10-27 00:33:50 +00:00
|
|
|
|
* ObjectCache::newWANCacheFromParams, deprecated in 1.34, was removed.
|
2019-10-08 21:37:04 +00:00
|
|
|
|
Construct WANObjectCache directly instead, or use MediaWikiServices.
|
2019-10-22 15:35:54 +00:00
|
|
|
|
* (T231366) The ProfilerOutputDb class and profileinfo.php entry point,
|
|
|
|
|
|
deprecated in 1.34, was removed.
|
2019-10-16 19:22:47 +00:00
|
|
|
|
* ApiQueryUserInfo::getBlockInfo, deprecated in 1.34, was removed. Use
|
|
|
|
|
|
ApiBlockInfoTrait::getBlockDetails instead.
|
2019-10-27 07:13:03 +00:00
|
|
|
|
* Password::equals(), deprecated in 1.33, was removed. Use Password::verify().
|
2019-10-27 10:11:28 +00:00
|
|
|
|
* QuickTemplate::setRef(), deprecated in 1.31, was removed. Use set().
|
2019-10-20 04:55:37 +00:00
|
|
|
|
* The mediawiki.ui.text module, deprecated in 1.28 and unused, was removed.
|
2019-10-20 00:04:00 +00:00
|
|
|
|
* AbstractBlock::mReason, deprecated in 1.34, is no longer public.
|
2019-10-21 16:16:20 +00:00
|
|
|
|
* The GetBlockedStatus, deprecated in 1.34, has been removed. Instead, use the
|
|
|
|
|
|
GetUserBlock hook.
|
2019-11-05 22:07:00 +00:00
|
|
|
|
* Parser::disableCache(), deprecated in 1.28, has been removed.
|
2019-09-04 02:36:49 +00:00
|
|
|
|
* Parser::serializeHalfParsedText() and the helper functions
|
|
|
|
|
|
Parser::unserializeHalfParsedText(), Parser::isValidHalfParsedText(),
|
|
|
|
|
|
StripState::getSubState() and StripState::merge(), deprecated in 1.31, have
|
|
|
|
|
|
been removed. The helper functions LinkHolderArray::mergeForeign() and
|
|
|
|
|
|
LinkHolderArray::getSubArray() were also removed.
|
2019-10-28 16:40:01 +00:00
|
|
|
|
* Parser::getConverterLanguage(), deprecated in 1.32, was removed. Use
|
|
|
|
|
|
Parser::getTargetLanguage() instead.
|
2019-10-18 19:50:58 +00:00
|
|
|
|
* Parser::getTitle() will throw a TypeError if Parser::$mTitle is
|
|
|
|
|
|
uninitialized. This was deprecated in 1.34.
|
2019-11-04 19:23:34 +00:00
|
|
|
|
* A number of public methods of Parser were exposed only for
|
|
|
|
|
|
historical reasons. They were deprecated in 1.34 and have now been
|
|
|
|
|
|
made private or removed: doMagicLinks, doDoubleUnderscore,
|
|
|
|
|
|
doHeadings, doAllQuotes, replaceExternalLinks, replaceInternalLinks,
|
|
|
|
|
|
replaceInternalLinks2, getVariableValue, initialiseVariables,
|
|
|
|
|
|
formatHeadings, testPst, testPreprocess, testSrvus,
|
|
|
|
|
|
areSubpagesAllowed, maybeDoSubpageLink, splitWhitespace,
|
|
|
|
|
|
createAssocArgs, armorLinks, makeKnownLinkHolder, getImageParams,
|
|
|
|
|
|
parseLinkParameter, stripAltText, replaceLinkHoldersText.
|
2019-10-09 22:36:14 +00:00
|
|
|
|
* MediaWikiTestCase::prepareServices(), deprecated in 1.32, has been removed
|
2019-09-30 17:19:58 +00:00
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
=== Deprecations in 1.35 ===
|
2018-04-13 14:48:55 +00:00
|
|
|
|
* The PHPUnit4And6Compat class, used to provide compatibility with PHPUnit 4, is
|
|
|
|
|
|
now deprecated. MediaWiki support for PHPUnit 4 ended with the removal of HHVM
|
|
|
|
|
|
support.
|
2019-10-30 22:10:31 +00:00
|
|
|
|
* Revision::getRevisionText(), deprecated in 1.32, now emits deprecation alerts.
|
2019-10-24 09:17:21 +00:00
|
|
|
|
* LockManagerGroup::getDefault() and LockManagerGroup::getAny() are deprecated.
|
|
|
|
|
|
They seem to be unused. Just use get() directly, and catch any exception.
|
2019-09-20 15:03:48 +00:00
|
|
|
|
* AbstractBlock::getPermissionsError and AbstractBlock::getBlockErrorParams are
|
|
|
|
|
|
deprecated. Use BlockErrorFormatter::getMessage instead.
|
2019-08-22 15:39:26 +00:00
|
|
|
|
* The following Language methods are deprecated: getFallbackFor,
|
|
|
|
|
|
getFallbacksFor, getFallbacksIncludingSiteLanguage. Use the corresponding new
|
|
|
|
|
|
methods on the LanguageFallback class: getFirst, getAll, and
|
|
|
|
|
|
getAllIncludingSiteLanguage.
|
2019-10-23 13:34:53 +00:00
|
|
|
|
* FileJournal::factory is deprecated. Use the constructor directly instead.
|
2019-09-05 21:25:33 +00:00
|
|
|
|
* AbstractBlock methods setBlocker(), getBlocker() are deprecated and will
|
|
|
|
|
|
become internal implementation of DatabaseBlock.
|
2019-10-16 20:10:58 +00:00
|
|
|
|
* Title::countRevisionsBetween has been deprecated and moved into RevisionStore.
|
2019-08-13 08:52:13 +00:00
|
|
|
|
* FileBackendGroup::singleton() is deprecated. Use MediaWikiServices instead.
|
|
|
|
|
|
* FileBackendGroup::destroySingleton() is deprecated. Test frameworks should
|
|
|
|
|
|
instead reset MediaWikiServices between test runs.
|
|
|
|
|
|
(MediaWikiIntegrationTestCase does this automatically.)
|
2019-09-02 16:13:08 +00:00
|
|
|
|
* MediaWikiIntegrationTest::setContentLang() has been deprecated. Use
|
|
|
|
|
|
setMwGlobals( 'wgLanguageCode', 'xxx' ) to set a different site language
|
|
|
|
|
|
code, or setService( 'ContentLanguage', $myObj ) to set a specific Language
|
|
|
|
|
|
object. Service resets and $wgContLang will be handled automatically.
|
2019-10-20 00:04:00 +00:00
|
|
|
|
* AbstractBlock::getReason is deprecated, since reasons are actually stored as
|
|
|
|
|
|
CommentStoreComments, and getReason returns a string with no caller control
|
|
|
|
|
|
over language or formatting. Instead use AbstractBlock::getReasonComment,
|
|
|
|
|
|
which returns the CommentStoreComment.
|
2019-10-03 18:07:33 +00:00
|
|
|
|
* The global function wfGetRusage() is deprecated and will now always call the
|
|
|
|
|
|
getrusage() function without checking for its existence.
|
2019-09-18 19:49:11 +00:00
|
|
|
|
* The properties User::mBlock, User::mBlockedby and User::mHideName are
|
|
|
|
|
|
deprecated. Instead, use User::getBlock to get the block, then use
|
|
|
|
|
|
AbstractBlock::getByName or AbstractBlock::getHideName.Use the GetUserBlock
|
|
|
|
|
|
hook to set, unset or modify a block, including hiding or unhiding a user.
|
2018-08-07 13:17:16 +00:00
|
|
|
|
* Language::factory() and Language::getParentLanguage() are deprecated, and so
|
|
|
|
|
|
is directly calling the Language constructor. Use the new LanguageFactory
|
|
|
|
|
|
class instead.
|
|
|
|
|
|
* Language::classFromCode() is deprecated. There is no reason it should be used
|
|
|
|
|
|
outside the Language class itself.
|
2019-10-29 11:46:27 +00:00
|
|
|
|
* Language::clearCaches() is deprecated. Instead, reset all services and set
|
|
|
|
|
|
Language::$mLangObjCache = [].
|
2019-10-28 18:05:35 +00:00
|
|
|
|
* Language::$mLangObjCache is deprecated and should be removed in 1.36. Use
|
2018-08-07 13:17:16 +00:00
|
|
|
|
MediaWikiServices instead to get a LanguageFactory.
|
2019-10-28 18:05:35 +00:00
|
|
|
|
* Language::getMessagesFor(), getMessageFor(), and getMessageKeysFor() are
|
|
|
|
|
|
deprecated. Use LocalisationCache's getItem(), getSubitem(), and
|
|
|
|
|
|
getSubitemList() methods directly.
|
2019-10-28 05:01:17 +00:00
|
|
|
|
* OutputPage::getCSPNonce() is deprecated, use OutputPage::getCSP()->getNonce()
|
|
|
|
|
|
instead.
|
2019-10-20 11:19:12 +00:00
|
|
|
|
* Skin::makeI18nUrl() and makeNSUrl() have been deprecated, no longer used.
|
2019-10-24 19:08:33 +00:00
|
|
|
|
* Title::countAuthorsBetween and Title::getAuthorsBetween have been deprecated.
|
|
|
|
|
|
Use respective methods in RevisionStore instead.
|
2019-11-18 21:16:27 +00:00
|
|
|
|
* Remove deprecated SkinCopyrightFooter &$forContent parameter
|
2019-10-20 00:04:00 +00:00
|
|
|
|
* …
|
2019-09-30 17:19:58 +00:00
|
|
|
|
|
|
|
|
|
|
=== Other changes in 1.35 ===
|
|
|
|
|
|
* …
|
|
|
|
|
|
|
|
|
|
|
|
== Compatibility ==
|
2019-10-15 20:47:35 +00:00
|
|
|
|
MediaWiki 1.35 requires PHP 7.2.9 or later, and the following PHP extensions:
|
2019-09-30 17:19:58 +00:00
|
|
|
|
|
|
|
|
|
|
* ctype
|
|
|
|
|
|
* dom
|
|
|
|
|
|
* fileinfo
|
|
|
|
|
|
* iconv
|
|
|
|
|
|
* 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.2 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.
|