+* The Article::selectFields(), ::onArticleCreate(), ::onArticleDelete(), and
+ ::onArticleEdit() methods, deprecated in 1.24, were removed.
+* Installer::locateExecutable() and ::locateExecutableInDefaultPaths() were
+ removed. Use ExecutableFinder::findInDefaultPaths() instead.
+* The deprecated MW_DIFF_VERSION constant was removed.
+ DifferenceEngine::MW_DIFF_VERSION should be used instead.
+* Due to significant refactoring, method ContribsPager::getUserCond() that had
+ no access restriction has been removed.
+* 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".
+* The following methods and constants from the WatchedItem class, which were
+ deprecated in 1.27, have been removed:
+ * WatchedItem::getTitle()
+ * WatchedItem::fromUserTitle()
+ * WatchedItem::addWatch()
+ * WatchedItem::removeWatch()
+ * WatchedItem::isWatched()
+ * WatchedItem::duplicateEntries()
+ * WatchedItem::IGNORE_USER_RIGHTS
+ * WatchedItem::CHECK_USER_RIGHTS
+ * WatchedItem::DEPRECATED_USAGE_TIMESTAMP
+* The $statementsOnOwnLine parameter of JavaScriptMinifier::minify was removed.
+ $wgResourceLoaderMinifierStatementsOnOwnLine, the corresponding configuration
+ variable, has been deprecated since 1.27 and was removed as well.
+* The $maxLineLength parameter of JavaScriptMinifier::minify was removed.
+ $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
+ HtmlFormatter\HtmlFormatter class should be used instead.
+* 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.
+* The following properties of PreparedEdit were deprecated in 1.21 and have
+ been removed:
+ * PreparedEdit->newText
+ * PreparedEdit->oldText
+ * PreparedEdit->pst
+* ParserOutput objects which are generated using a non-default value for
+ ParserOptions::setWrapOutputClass() can no longer be added to the parser
+ cache.
+* 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
+ * Additionally, the protected OutputPage::$mExtStyles array, only accessed
+ through the above and with no known uses, was removed.
+* The no-op method Skin::showIPinHeader(), deprecated in 1.27, was removed.
+* The following variables and methods in EditPage, deprecated in MediaWiki 1.30,
+ were removed:
+ * $isCssJsSubpage — use ::isUserConfigPage()
+ * $isCssSubpage — use ::isUserCssConfigPage()
+ * $isJsSubpage — use ::isUserJsConfigPage()
+ * $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:
+ * ::setCookie()
+ * ::clearCookie()
+ * ::setExtendedLoginCookie()
+ Note that User::setCookies() remains, and is not deprecated.
+* 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
+ * ::passwordChangeInputAttribs()
+* The global functions wfProfileIn and wfProfileOut, deprecated in 1.25, have
+ been removed.
+* SpecialPageFactory::getList(), deprecated in 1.24, has been removed. You can
+ use ::getNames() instead.
+* OpenSearch::getOpenSearchTemplate(), deprecated in 1.25, has been removed. You
+ can use ApiOpenSearch::getOpenSearchTemplate() instead.
+* The global function wfBaseConvert, deprecated in 1.27, has been removed. Use
+ Wikimedia\base_convert() directly.
+* 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.
+* The global function wfOutputHandler() was removed, use the its replacement
+ 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
+ ::listSoftwareDefinedTags() instead.
+* Title::getTitleInvalidRegex(), deprecated in 1.25, has been removed. You can
+ use MediaWikiTitleCodec::getTitleInvalidRegex() instead.
+* HTMLForm & VFormHTMLForm::isVForm(), deprecated in 1.25, have been removed.
+* The ProfileSection class, deprecated in 1.25 and unused, has been removed.
+* 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.
+* The ResourceLoaderModule::getHashMtime() and ::getDefinitionMtime() methods,
+ deprecated in 1.26, were removed.
+* The deprecated 'mediawiki.widgets.CategorySelector' module alias was removed.
+ Use the 'mediawiki.widgets.CategoryMultiselectWidget' module directly.
+
+=== 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.
+* The global function wfCountDown is now deprecated in favor of
+ Maintenance::countDown.