483 lines
23 KiB
Text
483 lines
23 KiB
Text
= MediaWiki 1.36 =
|
||
|
||
== MediaWiki 1.36.0-PRERELEASE ==
|
||
|
||
THIS IS NOT A RELEASE YET
|
||
|
||
MediaWiki 1.36 is an alpha-quality development branch, and is not recommended
|
||
for use in production.
|
||
|
||
== Upgrading notes for 1.36 ==
|
||
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.36 upgrades are below:
|
||
|
||
* …
|
||
|
||
For notes on 1.35.x and older releases, see HISTORY.
|
||
|
||
=== Configuration changes for system administrators in 1.36 ===
|
||
…
|
||
|
||
==== New configuration ====
|
||
* $wgManualRevertSearchRadius – this introduces a new feature that marks edits
|
||
as reverts if they restore the page to an exact previous state. This
|
||
configuration variable sets the maximum number of revisions of a page that
|
||
will be checked against every new edit. Set this to 0 to disable the feature
|
||
entirely.
|
||
* $wgOldRevisionParserCacheExpireTime was added, to control caching of
|
||
ParserOutput for old revisions (T244058).
|
||
* …
|
||
|
||
==== Changed configuration ====
|
||
* …
|
||
|
||
==== Removed configuration ====
|
||
* $wgUseTwoButtonsSearchForm - This setting, deprecated in 1.35, has been
|
||
removed.
|
||
* $wgAllowImageMoving - This setting, deprecated in 1.35, has been removed.
|
||
Use group permission settings instead. For example, to prevent sysops
|
||
from moving files, set `$wgGroupPermissions['sysop']['movefile'] = false;`
|
||
* $wgExtNewTables, $wgExtNewFields, $wgExtNewIndexes, $wgExtPGNewFields,
|
||
$wgExtPGAlteredFields, $wgExtModifiedFields — These settings were removed.
|
||
They became obsolete after 1.17 overhauled the database updater, but were kept
|
||
for backwards compatibility. The LoadExtensionSchemaUpdates hook should be
|
||
used instead.
|
||
* …
|
||
|
||
=== New user-facing features in 1.36 ===
|
||
* All HTML5 named entities are now accepted in wikitext.
|
||
* …
|
||
|
||
=== New developer features in 1.36 ===
|
||
* Parser test files can now declare a dependency on a specific extension
|
||
being loaded, not just on the presence of a certain extension tag hook.
|
||
This is a better fit for extensions like TimedMediaHandler, which affect
|
||
the output but don't register parser hooks. Use `extension:Foo` in
|
||
the `!! hooks` section of your parser test file to declare a dependency
|
||
on the `Foo` extension being loaded.
|
||
* To expose code previously present in SpecialBlock/SpecialUnblock
|
||
to other parts of the code, or to extensions,
|
||
the new BlockUser and UnblockUser command objects were added.
|
||
Use the BlockUserFactory and UnblockUserFactory services to create them.
|
||
* The hook UsersPagerDoBatchLookupsHook takes now a \Wikimedia\Rdbms\IDatabase
|
||
instead of \Wikimedia\Rdbms\DBConnRef as first parameter
|
||
* MediaHandlers can now customize the formatting of the metadata they emit
|
||
by overriding MediaHandler::formatTag( $key, $value ). The default for
|
||
unknown tags is numeric formatting; non-EXIF tags which are non-numeric
|
||
should always use this method to specify the desired formatting.
|
||
* The new 'title' type can be used to validate action API and REST API inputs.
|
||
* …
|
||
|
||
=== External library changes in 1.36 ===
|
||
* …
|
||
|
||
==== New external libraries ====
|
||
* Added pear/net_url2 2.2.2.
|
||
* …
|
||
|
||
===== New development-only external libraries =====
|
||
* …
|
||
|
||
==== Changed external libraries ====
|
||
* pear/mail_mime was upgraded from 1.10.8 to 1.10.9.
|
||
* wikimedia/html-formatter was upgraded from 1.0.2 to 2.0.0.
|
||
* Updated OOUI from 0.39.3 to 0.40.4.
|
||
* Updated jquery.client from 2.0.2 to 3.0.0.
|
||
* Updated guzzlehttp/guzzle from 6.5.4 to 7.2.0.
|
||
* Updated pear/net_smtp from 1.9.1 to 1.9.2.
|
||
* Updated wikimedia/object-factory from 2.1.0 to 3.0.0.
|
||
* Updated composer/semver from 1.5.1 to 1.5.2.
|
||
* …
|
||
|
||
===== Changed development-only external libraries =====
|
||
* Updated composer/spdx-licenses from 1.5.3 to 1.5.4.
|
||
* doctrine/sql-formatter was upgraded from 1.1.0 to 1.1.1.
|
||
* doctrine/dbal was upgraded from 2.10.2 to 2.10.4.
|
||
* Updated nikic/php-parser from 4.4.0 to 4.10.2.
|
||
* Updated monolog/monolog from 1.25.3 to 2.0.2.
|
||
* …
|
||
|
||
==== Removed external libraries ====
|
||
* The html5shiv library has been removed, as support for Internet Explorer 8 has
|
||
been dropped.
|
||
* …
|
||
|
||
=== Bug fixes in 1.36 ===
|
||
* (T190285) ApiEditPage module used to switch 'undo' and 'undoafter' parameters,
|
||
if it founds you reversed them (based on assumption that higher revision ID
|
||
indicates a later revision). The assumption is not always true and is
|
||
hindering proper edit undoing in some cases, hence the logic has been removed.
|
||
Reversing the paramaters will now lead to edit conflict or undefined behavior.
|
||
* (T263340) In history merging, pages with a content model that does not support
|
||
redirects will now be recorded as deleted if no revision is being left in the
|
||
source page (that's if all revisions of the page have been merged to another).
|
||
* …
|
||
|
||
=== Action API changes in 1.36 ===
|
||
* …
|
||
|
||
=== Action API internal changes in 1.36 ===
|
||
* …
|
||
|
||
=== Languages updated in 1.36 ===
|
||
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.
|
||
|
||
* (T245359) Split Bali script locale from "ban" (Balinese) (ban-bali).
|
||
* (T259330) Added language support for Mara (mhr).
|
||
* (T263968) Added support for Nias language (nia).
|
||
* (T264582) Added language support for Madurese (mad).
|
||
|
||
=== Breaking changes in 1.36 ===
|
||
* (T176526) EditPage::getContextTitle() will now throw an exception if a context
|
||
title was not set using setContextTitle(). Previously, this mis-use would only
|
||
cause a deprecation warning to be emitted.
|
||
* Multiple methods that fell back to the $wgUser global variable were
|
||
individually hard deprecated previously. The following have now been removed:
|
||
- ApiTestCase::doLogin
|
||
- Article::doDeleteArticle
|
||
- Article::doDeleteArticleReal
|
||
- Article::getComment
|
||
- Article::getCreator
|
||
- Article::getUser
|
||
- Article::getUserText
|
||
- Article::insertProtectNullRevision
|
||
- File::delete
|
||
- File::recordUpload
|
||
- ForeignDBFile::delete
|
||
- ForeignDBFile::recordUpload
|
||
- LocalFile::delete
|
||
- LocalFile::deleteOld
|
||
- LocalFile::recordUpload
|
||
- PageArchive::undelete
|
||
- RecentChange::markPatrolled
|
||
- Title::getUserPermissionsErrors
|
||
- Title::quickUserCan
|
||
- Title::userCan
|
||
- WebRequest::getLimitOffset
|
||
- WikiPage::doDeleteArticle
|
||
- WikiPage::insertProtectNullRevision
|
||
- All methods of the old SpecialPageFactory; the entire class was removed
|
||
* Multiple methods previously had optional User parameters, with fallbacks
|
||
to the $wgUser global variable. Not passing a User to those methods was
|
||
previously hard deprecated, and support for not passing a User has now
|
||
been removed:
|
||
- ArchivedFile::userCan
|
||
- File::userCan
|
||
- FileDeleteForm::__construct
|
||
- FileDeleteForm::doDelete
|
||
- LocalFileDeleteBatch::__construct
|
||
- LogEventsList::getExcludeClause (only needed for the 'user' audience)
|
||
- LogEventsList::userCan
|
||
- LogEventsList::userCanBitfield
|
||
- LogEventsList::userCanViewLogType
|
||
- LogPage::addEntry (also accepts user id instead)
|
||
- OldLocalFile::userCan
|
||
- PatrolLog::record
|
||
- Title::getNotificationTimestamp (though the entire method is deprecated)
|
||
- WikiPage::getComment (only needed for the FOR_THIS_USER audience)
|
||
- WikiPage::getCreator (only needed for the FOR_THIS_USER audience)
|
||
- WikiPage::getUser (only needed for the FOR_THIS_USER audience)
|
||
- WikiPage::getUserText (only needed for the FOR_THIS_USER audience)
|
||
* The following hooks have been removed:
|
||
- APIQueryInfoTokens
|
||
- APIQueryRecentChangesTokens
|
||
- APIQueryRevisionsTokens
|
||
- APIQueryUsersTokens
|
||
- ApiTokensGetTokenTypes
|
||
* LogEventsList::typeAction previously accepted an optional right parameter,
|
||
and checked if the context user ($wgUser) had that right. Passing a right
|
||
was hard deprecated in 1.35, and support for passing a right has now been
|
||
removed.
|
||
* WikiPage::doDeleteArticleReal previously accepted an optional user as its
|
||
fifth parameter, and fell back to $wgUser if not user was provided. The
|
||
signature changed to have the user as the second parameter, and the old
|
||
signature was hard deprecated in 1.35. Support for the old signature has
|
||
now been removed.
|
||
* User::addNewUserLogEntry, deprecated since 1.27, was removed.
|
||
* As part of refactoring the EditPage class, EditPage::setPreloadedContent,
|
||
which had no known callers was removed entirely. Additionally, the
|
||
following public methods were made private:
|
||
- ::extractSectionTitle
|
||
- ::getSummaryInputWidget
|
||
- ::noSuchSectionPage
|
||
- ::initialiseForm
|
||
* The global function `wfWaitForSlaves`, deprecated in 1.27 and hard-deprecated
|
||
in 1.35, has been removed. Use LBFactory::waitForReplication() instead.
|
||
* The global variable $wgMemc, deprecated since 1.35, has been removed.
|
||
Usage should generally be migrated to WANObjectCache, or if you really need
|
||
the internal object, use ObjectCache::getLocalClusterInstance instead.
|
||
* CategoryFinder, which was deprecated in 1.31 and hard-deprecated in 1.35,
|
||
has been removed.
|
||
* Sanitizer::escapeId(), deprecated in 1.30, has been removed.
|
||
* Parser::setFunctionTagHook(), deprecated in 1.35, has been removed.
|
||
* The ParserBeforeTidy hook, deprecated in 1.35, has been removed.
|
||
* The ParserBeforeTidy, ParserBeforeStrip, and ParserAfterStrip hooks,
|
||
deprecated in 1.35, have been removed.
|
||
* All methods of MWTidy except for MW::tidy() have been removed. These
|
||
were either @internal or deprecated in 1.35.
|
||
* The support for IE8 has been dropped.
|
||
* (T248062) Mixins `.background-image-svg()` and `.background-image-svg-quick()`
|
||
(provided by mediawiki.mixins.less), which have been deprecated since 1.35,
|
||
have now been removed. MediaWiki no longer supports any browser which would
|
||
require this SVG-fallback PNG support, so you can simply use the regular CSS
|
||
`background-image:` declaration instead.
|
||
* The ResourceLoader module `mediawiki.legacy.oldshared` and its file
|
||
'oldshared.css', deprecated since 1.35 has been removed (T248357).
|
||
* The LinkBegin and LinkEnd hooks, deprecated in 1.28, have been removed. You
|
||
can instead use the HtmlPageLinkRendererBegin and HtmlPageLinkRendererEnd
|
||
hooks, respectively.
|
||
* Skin::getDynamicStylesheetQuery(), deprecated in 1.32, has been removed. You
|
||
should use action=raw&ctype=text/css directly.
|
||
* Skin::makeI18nUrl(), deprecated in 1.35, has been removed.
|
||
* The following User methods, deprecated and moved to BlockManager in 1.34,
|
||
were removed: isDnsBlacklisted, inDnsBlacklist, isLocallyBlockedProxy,
|
||
trackBlockWithCookie.
|
||
* Support for v1 of the parser tests file format has been removed; it was
|
||
deprecated in 1.35. (T174199)
|
||
* SpecialUnblockUser::processUIUnblock() has a different return
|
||
value (previously, array of messages or a boolean value, now,
|
||
a Status object). This function was also marked as @internal and is no
|
||
longer safe to call it publicly.
|
||
* mw.Title.getDotExtension() from the 'mediawiki.Title' module was removed
|
||
without deprecation. You should use mw.Title.getExtension() and prepend
|
||
the dot if need be.
|
||
* Profiler::getTemplated and Profiler::setTemplated, deprecated in 1.34,
|
||
have been removed.
|
||
* Removed HookContainer::getOriginalHooksForTest() without deprecation.
|
||
This method was introduced in 1.35 for internal use, and appears unused
|
||
outside of MediaWiki core.
|
||
* ParserCache::__construct() now requires three parameters.
|
||
* Message->getFormat(), deprecated in 1.29, has been removed.
|
||
* Support for passing Article to ParserCache::get, deprecated in 1.35,
|
||
has been removed.
|
||
* ParserCache::singleton(), deprecated in 1.30, has been removed.
|
||
* DatabaseBlock::deleteIfExpired and ::fromMaster, deprecated in 1.35, have been
|
||
removed.
|
||
* AbstractBlock::prevents, deprecated in 1.33, has been removed.
|
||
* AbstractBlock::shouldTrackWithCookie, deprecated in 1.34, has been removed.
|
||
* AbstractBlock::getBlocker, ::setBlocker, and ::getBlockErrorParams,
|
||
deprecated in 1.35, have been removed.
|
||
* Multiple DatabaseBlock methods dealing with cookies, deprecated in 1.34,
|
||
have been removed:
|
||
- ::setCookie
|
||
- ::clearCookie
|
||
- ::getCookieValue
|
||
- ::getIdFromCookieValue
|
||
- ::shouldTrackWithCookie
|
||
* The public static callback function SpecialUnblock::processUIUnblock has been
|
||
removed. This method was for internal use only, and appears unused outside of
|
||
MediaWiki core.
|
||
* ChangeTags::truncateTagDescription, deprecated in 1.35, has been removed.
|
||
* Deprecated null fallbacks in PasswordReset constructor have been removed.
|
||
* User::isEveryoneAllowed and User::getAllRights, deprecated in 1.34, has been
|
||
removed.
|
||
* The following methods of the UserGroupMembership class, deprecated in 1.35,
|
||
has been removed:
|
||
- ::initFromRow
|
||
- ::newFromRow - use UserGroupManager::newGroupMembershipFromRow
|
||
- ::selectFields - use UserGroupManager::getQueryInfo
|
||
- ::delete - use UserGroupManager::removeUserFromGroup
|
||
- ::insert - use UserGroupManager::addUserToGroup
|
||
- ::purgeExpired - use UserGroupManager::purgeExpired
|
||
- ::getMembershipsForUser - use UserGroupManager::getUserGroupMemberships
|
||
- ::getMembership - use UserGroupManager::getUserGroupMemberships
|
||
* The public static callback function SpecialBlock::validateTargetField has been
|
||
removed. This method was for internal use only, and appears unused outside of
|
||
MediaWiki core.
|
||
* The public static callback function SpecialUploadStash::tryClearStashedUploads
|
||
has been removed. This method was for internal use only, and appears unused
|
||
outside of MediaWiki core.
|
||
* SpecialComparePages::showDiff() ::revOrTitle(), ::checkExistingTitle(),
|
||
and ::checkExistingRevision() were marked as @internal to allow for
|
||
breaking changes. They are no longer safe to call. The methods were
|
||
unused outside of MediaWiki core.
|
||
* Special pages provided by core now using service injection via constructor.
|
||
When extending a special page the call to grandparent constructor
|
||
("SpecialPage::__construct()") in the sub class breaks the extension special
|
||
page, because the fallback code in the parent constructor cannot set the
|
||
services as needed. Be sure to call the parent constructor when extending
|
||
core special pages. The extending of core special pages is not part of the
|
||
stable interface and should be avoided.
|
||
* Language::getExtraUserToggles and ::viewPrevNext, deprecated in 1.34, have
|
||
been removed.
|
||
* StreamFile::send404Message and ::parseRange, deprecated in 1.34, have been
|
||
removed.
|
||
* SVGMetadataExtractor class, deprecated in 1.34, has been removed.
|
||
* ProcessCacheLRU class, deprecated in 1.32, has been removed.
|
||
* wfForeignMemcKey(), deprecated in 1.35, has been removed.
|
||
* LoadBalancer::safeWaitForMasterPos(), deprecated in 1.34, has been removed.
|
||
* ApiFeedRecentChanges::getFeedObject has been changed to private, and appears
|
||
unused outside of MediaWiki core.
|
||
* Skin::subPageSubtitle() has been changed to private method. Callers should
|
||
use Skin::prepareSubtitle().
|
||
* wfForeignMemcKey() and wfMemcKey(), deprecated in 1.35, have been removed.
|
||
* MediaWiki now also requires the php-intl extension.
|
||
* …
|
||
|
||
=== Deprecations in 1.36 ===
|
||
* LocalFile::recordUpload2, soft deprecated in 1.35, now emits deprecation
|
||
warnings. Use ::recordUpload3 instead.
|
||
* The User class, which was marked as @newable in 1.35, is no longer newable,
|
||
meaning that it is no longer safe to manually call the constructor via
|
||
`new User`. Instead, use the UserFactory service.
|
||
* Use of the `preprocessor=Preprocessor_DOM` option in parser test files has
|
||
been deprecated. Preprocessor_DOM was removed in 1.35.
|
||
* ParserOptions::setTidy() has been deprecated. It has had no effect since
|
||
1.35.
|
||
* Sanitizer::escapeIdReferenceList() has been deprecated; it will eventually
|
||
be made private to the class, as it appears to have no uses outside the
|
||
Sanitizer class.
|
||
* Sanitizer::hackDocType() is deprecated; it will eventually be made private.
|
||
* Skin::getIndicatorsHTML() is deprecated. The functionality can be retained
|
||
by reimplementing the method using the raw indicators data from
|
||
OutputPage::getIndicators.
|
||
* Skin::makeVariablesScript() has been deprecated. Use
|
||
ResourceLoader::makeInlineScript() instead.
|
||
* The PageProps class was converted to a service. PageProps::overrideInstance
|
||
was deprecated, and MediaWikiServices::redefineService should be used
|
||
instead.
|
||
* Title::nameOf() is deprecated; use Title::newFromID()->getPrefixedDBkey()
|
||
instead.
|
||
* DatabaseBlock::insert, DatabaseBlock::update, DatabaseBlock::purgeExpired and
|
||
DatabaseBlock::delete are deprecated. Use DatabaseBlockStore::insertBlock,
|
||
DatabaseBlockStore::updateBlock, DatabaseBlockStore::purgeExpiredBlocks and
|
||
DatabaseBlockStore::deleteBlock instead.
|
||
* SpecialBlock::getTargetAndType is deprecated. Call AbstractBlock::parseTarget
|
||
directly instead.
|
||
* SpecialUnblock::processUnblock was deprecated - use UnblockUserFactory
|
||
service instead.
|
||
* Deprecated MediaWikiIntegrationtestCase::removeTemporaryHook() in favor of
|
||
MediaWikiIntegrationtestCase::clearHook().
|
||
* Skin::getSearchLink(), also exposed as 'searchaction' option in SkinTemplate,
|
||
has been deprecated. Use Title or SpecialPage methods directly.
|
||
* Skin::getAllowedSkins and ::getSkinNames have been deprecated. Use their
|
||
respective equivalents in SkinFactory instead.
|
||
* The RollbackComplete hook has been deprecated, use the PageSaveComplete hook
|
||
instead.
|
||
* Skin::makeUrl() has been deprecated. Title methods should be used instead.
|
||
* Skin::privacyLink(), Skin::disclaimerLink() and Skin::aboutLink() have been
|
||
deprecated. Please use Skin::footerLink() instead.
|
||
* Skin::getLogo() has been deprecated. Use ResourceLoaderSkinModule instead.
|
||
* Skin::mainPageLink() has been deprecated. Use LinkRenderer service instead.
|
||
* BaseTemplate::getToolbox() method has been hard deprecated. The toolbox data
|
||
is now available in a sidebar data array which you can get from any class
|
||
that's extending QuickTemplate class.
|
||
* Constructing a DefaultPreferencesFactory, LinkHolderArray or PasswordReset
|
||
without a $hookContainer parameter is deprecated.
|
||
* Autopromote class, soft deprecated since 1.35, now emits deprecation warnings.
|
||
Use UserGroupManager instead.
|
||
* SpecialBlock::canBlockEmail has been deprecated. Please use
|
||
BlockPermissionChecker::checkEmailPermissions instead.
|
||
* SpecialBlock::checkUnblockSelf has been deprecated. Please use
|
||
BlockPermissionChecker::checkBlockPermissions instead.
|
||
* SpecialBlock::parseExpiryInput was deprecated - use
|
||
BlockUser::parseExpiryInput instead.
|
||
* SpecialBlock::validateTarget has been deprecated, use BlockUtils instead.
|
||
* SpecialBlock::validateTargetField has been deprecated for external use,
|
||
use BlockUtils instead.
|
||
* ParserCache::getKey has been deprecated. Use ParserCache::getMetadata and
|
||
ParserCache::makeParserOutputKey instead.
|
||
* The PHPUnit4And6Compat class, used to provide compatibility with PHPUnit 4,
|
||
was removed. MediaWiki support for PHPUnit 4 ended with the removal of HHVM
|
||
support.
|
||
* The PHPUnit6And8Compat class, used to provide compatibility with PHPUnit 6,
|
||
was removed without deprecation. This class was introduced during the
|
||
upgrade to PHPUnit 8, but never used.
|
||
* ParserCache::getETag has been deprecated, instead build suitable etag
|
||
explicitly.
|
||
* The following functions from the Language class have been hard deprecated
|
||
and will be removed in a subsequent release:
|
||
- findVariantLink
|
||
- convertTitle
|
||
- updateConversionTable
|
||
- commafy
|
||
* The mw.language.commafy client-side method has been deprecated, to match
|
||
the deprecation of Language::commafy. Use mw.language.convertNumber
|
||
instead.
|
||
* Title::isDeleted() and Title::isDeletedQuick() have been deprecated. Please
|
||
use Title::getDeletedEditsCount() and Title::hasDeletedEdits() instead.
|
||
* Article::getContentObject, soft-deprecated since 1.32, was hard-deprecated.
|
||
* WikiRevision::importUpload, soft-deprecated since 1.31, was hard-deprecated.
|
||
* Html::infoBox() has been deprecated. There's no replacement.
|
||
* BagOStuff::makeKeyInternal() usage outside of BagOStuff has been deprecated.
|
||
* …
|
||
|
||
=== Other changes in 1.36 ===
|
||
* The 'tidy' key in ParserOptions (used in the parser cache) has been removed.
|
||
It has had no effect since 1.35.
|
||
* A future release of MediaWiki will make {{=}} a built-in parser function,
|
||
for use when automatically escaping the `=` character in template arguments.
|
||
A tracking category and parser warning have been added to this release when
|
||
{{=}} is used and it expands to something other than `=`.
|
||
* The implementation of TestFileReader::read has been changed to use
|
||
Parsoid's parser test file parser. This should be compatible with
|
||
existing code, but it only supports version 2 of the test file
|
||
specification and may be more strict when parsing invalid input,
|
||
including duplicate tests.
|
||
* The SkinLessImportPaths attribute was added, allowing skins to add a
|
||
directory to the import path for LESS stylesheets. Skins can use this
|
||
to provide a custom version of mediawiki.skin.variables.less, setting
|
||
skin-specific values for certain LESS variables.
|
||
* The interaction between ContentHandler::getParserOutputForIndexing()
|
||
and ContentHandler::getDataForSearchIndex() has been clarified
|
||
(the latter should only be called with the result of the former).
|
||
Extensions may override getParserOutputForIndexing() to skip generating HTML,
|
||
which may improve indexing performance. (The default implementation
|
||
still generates HTML, and getDataForSearchIndex() implementations can still
|
||
rely on it if they do not override getParserOutputForIndexing().)
|
||
* Article::fetchContentObject, ::mContentObject, ::mContentLoaded,
|
||
::mRevIdFetched, deprecated since 1.32, were removed.
|
||
* Article::mParserOptions and ::setParserOptions were removed.
|
||
* Article and ImagePage::getEmptyPageParserOutput, unused, were removed.
|
||
* All public properties of CacheTime and ParserOutput classes, as well as
|
||
declaring properties dynamically on these classes were deprecated. Use
|
||
appropriate getters/setters instead.
|
||
|
||
== Compatibility ==
|
||
MediaWiki 1.36 requires PHP 7.2.22 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.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.
|