- Added a test where ParserOutput objects with CacheTime properties set are unserialized from previous versions. - Generate new serialization tests for 1.38 Now all serialization in production is JSON, so changing property visibility shouldn't affect ParserCache. Bug: T263851 Depends-On: I283340ff559420ceee8f286ba3ef202c01206a23 Change-Id: I70d6feb1c995a0a0f763b21261141ae8ee6dc570
262 lines
10 KiB
Text
262 lines
10 KiB
Text
= MediaWiki 1.38 =
|
||
|
||
== MediaWiki 1.38.0-PRERELEASE ==
|
||
|
||
THIS IS NOT A RELEASE YET
|
||
|
||
MediaWiki 1.38 is an alpha-quality development branch, and is not recommended
|
||
for use in production.
|
||
|
||
== Upgrading notes for 1.38 ==
|
||
Don't forget to always back up your database before upgrading!
|
||
|
||
See the file UPGRADE for more detailed per-version upgrade instructions from the
|
||
oldest supported upgrading version, MediaWiki 1.29.
|
||
|
||
Some specific notes for MediaWiki 1.38 upgrades are below:
|
||
* …
|
||
|
||
For notes on 1.36.x and older releases, see HISTORY.
|
||
|
||
=== Configuration changes for system administrators in 1.38 ===
|
||
* …
|
||
|
||
==== New configuration ====
|
||
* $wgBrowserFormatDetection – This setting allows overriding browsers' automatic
|
||
detection and handling of formats. It's initially used to prevent auto-linking
|
||
of possible telephone numbers in wiki pages' output in Safari on iOS; this can
|
||
be re-enabled if you wish, or locally extended for other browsers' quirks.
|
||
* …
|
||
|
||
==== Changed configuration ====
|
||
* $wgMaxImageArea - This setting may now be set to false to disable size
|
||
checking before scaling. Extensions can still override its value by
|
||
using the BitmapHandlerCheckImageArea hook.
|
||
* …
|
||
|
||
==== Removed configuration ====
|
||
* $wgShellLocale - This setting has been removed as it was a flawed solution
|
||
to the problem of locale dependence, MediaWiki will now always set a locale
|
||
of C.UTF-8 or C and works around the remaining problems of the C locale by
|
||
not using escapeshellarg. This follows the direction of PHP 8.0, which sets
|
||
a locale of C by default instead of respecting LC_CTYPE.
|
||
* $wgIncludejQueryMigrate - Deprecated in 1.36. We only support jQuery v3.
|
||
* …
|
||
|
||
=== New user-facing features in 1.38 ===
|
||
* …
|
||
|
||
=== New developer features in 1.38 ===
|
||
* Added a deleteUserEmail maintenance script - This file enables the deletion
|
||
of a given user's associated email address. It can be helpful for
|
||
privacy-preserving operations.
|
||
* …
|
||
|
||
=== External library changes in 1.38 ===
|
||
* …
|
||
|
||
==== New external libraries ====
|
||
* …
|
||
|
||
===== New development-only external libraries =====
|
||
* …
|
||
|
||
==== Changed external libraries ====
|
||
* Updated wikimedia/parsoid from v0.14.0-a14 to v0.15.0-a1.
|
||
* Updated wikimedia/purtle from 1.0.7 to 1.0.8.
|
||
* Updated wikimedia/shellbox from 2.0.0 to 2.1.0.
|
||
* Updated pear/mail_mime from 1.10.9 to 1.10.11.
|
||
* Updated pear/net_smtp from 1.9.2 to 1.10.0.
|
||
* Updated psr/log from 1.1.3 to 1.1.4.
|
||
* Updated wikimedia/wrappedstring from 3.2.0 to 4.0.1.
|
||
* …
|
||
|
||
===== Changed development-only external libraries =====
|
||
* Updated doctrine/dbal for PHP < 7.3 from 2.10.4 to 2.13.3.
|
||
* Updated doctrine/dbal for PHP >= 7.3 from 3.0.0 to 3.1.2.
|
||
* Updated composer/spdx-licenses from 1.5.4 to 1.5.5.
|
||
* Updated composer/semver from 3.5.4 to 3.5.5.
|
||
* …
|
||
|
||
==== Removed external libraries ====
|
||
* …
|
||
|
||
=== Bug fixes in 1.38 ===
|
||
* …
|
||
|
||
=== Action API changes in 1.38 ===
|
||
* …
|
||
|
||
=== Action API internal changes in 1.38 ===
|
||
* …
|
||
|
||
=== Languages updated in 1.38 ===
|
||
MediaWiki supports over 400 languages. Many localisations are updated regularly.
|
||
Below only new and removed languages are listed, as well as changes to languages
|
||
because of Phabricator reports.
|
||
|
||
* (T292166) Updated namespace names for the Lombard language.
|
||
* (T291899) Added language support for Xiang Chinese (hsn).
|
||
* (T292612) Added language support for S'gaw Karen (ksw).
|
||
|
||
=== Breaking changes in 1.38 ===
|
||
* (T291008) The IP class, deprecated since 1.35 in favor of the IPUtils library,
|
||
has been removed. The IP related regexes which were also deprecated in favor
|
||
of the IPUtils library were also removed, IPUtils::RE_* should be used
|
||
instead.
|
||
* LinkCache::singleton(), deprecated since 1.28, has been removed.
|
||
* RepoGroup::singleton(), ::destroySingletons() and setSingleton(), all
|
||
deprecated since 1.34, have been removed.
|
||
* The following methods from FileDeleteForm were removed:
|
||
- ::__construct (the class is no longer newable)
|
||
- ::execute()
|
||
- ::haveDeletableFile()
|
||
Use FileDeleteAction instead.
|
||
* MessageCache::singleton(), deprecated since 1.34, has been removed.
|
||
* LockManagerGroup::singleton() and ::destroySingletons(), both deprecated since
|
||
1.34, have been removed.
|
||
* FileBackendGroup::singleton() and ::destroySingletons(), both deprecated since
|
||
1.35, have been removed.
|
||
* TemplateParser used to support disabling the cache with a boolean parameter
|
||
in its constructor. This was deprecated in 1.35 and has now been removed.
|
||
* The ArticleUndeleteLogEntry hook, deprecated in 1.37, was removed.
|
||
* The BeforeResetNotificationTimestamp hook, deprecated in 1.37, was removed.
|
||
* The global function mimeTypeMatch() has been removed without a deprecation
|
||
process.
|
||
* The signature of PageUpdater::markAsRevert method was changed. It has never
|
||
been used outside of MediaWiki core.
|
||
* If you want to use interwiki titles with HTMLTitleTextField, you now need
|
||
to pass 'interwiki' => true. In 1.37, the default behavior was to let
|
||
interwiki title through by default, logging a deprecation warning.
|
||
* The `UndeleteForm::undelete` hook, deprecated in 1.37, was removed.
|
||
* The `jquery.mw-jump` ResourceLoader module was removed.
|
||
* Several Skin methods, hard deprecated in 1.36, have been removed. These
|
||
include Skin::privacyLink(), aboutLink(), disclaimerLink(), makeUrl()
|
||
getIndicatorsHTML(), getLogo(), subPageSubtitle(), getSearchLink(),
|
||
makeVariablesScript(), getAllowedSkins(), getSkinNames() and
|
||
mainPageLink(). Use Skin::footerLink for footer links instead of
|
||
privacyLink, aboutLink and disclaimerLink. For others use
|
||
Skin::getIndicatorsData, ResourceLoaderSkinModule::getAvailableLogos,
|
||
Skin::prepareSubtitle, Skin::getSearchPageTitle,
|
||
ResourceLoader::makeInlineScript(), SkinFactory::getAllowedSkins
|
||
or SkinFactory::getInstalledSkins().
|
||
* Parser::getUser and ::mUser, as well as ParserOptions::getUser, deprecated
|
||
since 1.37, has been removed.
|
||
* DatabaseBlock::setBlocker() no longer accepts a username as blocker, it
|
||
must always be a UserIdentity. This was deprecated since 1.36.
|
||
* The following deprecated constructor options of DatabaseBlock class
|
||
have been removed:
|
||
- 'byText' property with blocker's name,
|
||
use 'by' property with UserIdentity value instead.
|
||
- 'by' property with blocker's ID,
|
||
use 'by' property with UserIdentity value instead.
|
||
* The following functions, hard deprecated since 1.37, have been removed:
|
||
- Title::isWatchable()
|
||
- WatchAction::doWatchOrUnwatch(), WatchAction::doWatch(),
|
||
WatchAction::doUnwatch(), WatchAction::getWatchToken()
|
||
- User::isWatched(), User::isTempWatched(), User::addWatch(),
|
||
User::removeWatch()
|
||
* ParserOptions::setTidy() that had no effect and was deprecated since 1.35
|
||
has been removed.
|
||
* The constant ApiBase::PARAM_VALUE_LINKS, deprecated since 1.35 has been
|
||
removed.
|
||
* …
|
||
|
||
=== Deprecations in 1.38 ===
|
||
* The MWGrants class is deprecated in favor of the new GrantsInfo and
|
||
GrantsLocalization services.
|
||
* PageArchive::undeleteAsUser(), ::getFileStatus() and ::getRevisionStatus()
|
||
were deprecated. Use UndeletePage instead.
|
||
* The global functions wfReadOnly() and wfReadOnlyReason() have been
|
||
deprecated in favor of the ReadOnlyMode service.
|
||
* PageProps::getInstance() has been deprecated. Use
|
||
MediaWikiServices::getPageProps() instead.
|
||
* User::setOption(), deprecated since 1.35, now emits deprecation warnings.
|
||
* Linker::formatComment(), ::formatLinksInComment(), ::commentBlock() and
|
||
revComment() were soft-deprecated. Use the new CommentFormatter service.
|
||
* Skin::getSkinStylePath has been hard deprecated. Direct string path
|
||
should be used instead.
|
||
* DatabaseBlock::purgeExpired(), deprecated since 1.36, now emit
|
||
deprecation warnings.
|
||
* SkinTemplate::getPersonalToolsList(), deprecated since 1.35, now emits
|
||
deprecation warnings.
|
||
* The following methods from the User class were hard deprecated:
|
||
- ::blockedBy
|
||
- ::getBlockId
|
||
* Content::getParserOutput() was deprecated.
|
||
Use ContentRenderer::getParserOutput and override
|
||
ContentHandler::fillParserOutput instead.
|
||
* Article::doDelete() was deprecated. Use WikiPage::doDeleteArticleReal if
|
||
you only need to delete the article. If you also need things to happen
|
||
with OutputPage, you may want to check the hooks in DeleteAction instead.
|
||
* MessageContent class was hard-deprecated.
|
||
* Message::content() was hard-deprecated.
|
||
* The following methods from the ParserOutput class were hard deprecated:
|
||
- ::hideNewSection() - use ::setHideNewSection()
|
||
- ::preventClickjacking() - use ::{get,set}PreventClickjacking()
|
||
* The following methods from the ParserOutput class were soft deprecated:
|
||
- ::getProperty() - use ::getPageProperty()
|
||
- ::setProperty() - use ::setPageProperty()
|
||
- ::unsetProperty() - use ::unsetPageProperties()
|
||
- ::getProperties() - use ::getPageProperties()
|
||
* The following methods were soft-deprecated; use ::setPreventClickjacking(..)
|
||
instead:
|
||
- OutputPage::preventClickjacking()
|
||
- OutputPage::allowClickjacking()
|
||
- ImageHistoryList::preventClickjacking()
|
||
- ImageHistoryPseudoPager::preventClickjacking()
|
||
- ContribsPager::preventClickjacking()
|
||
* Collation::singleton() and ::factory() were hard-deprecated.
|
||
* Return values in the parameter $pageLang of the hook PageContentLanguage
|
||
with other types than a Language object, deprecated since 1.33, now emmits
|
||
deprecation warnings.
|
||
* All external access to ParserOutput and CacheTime classes properties
|
||
was hard-deprecated. Use getters and setters instead.
|
||
* …
|
||
|
||
=== Other changes in 1.38 ===
|
||
* …
|
||
|
||
== Compatibility ==
|
||
|
||
MediaWiki 1.38 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.libera.chat.
|