Page MenuHomePhabricator

Drop legacy hard-deprecated code from MediaWiki ahead of MediaWiki 1.35 release
Closed, ResolvedPublic

Description

T220656: Drop legacy hard-deprecated code from MediaWiki ahead of MediaWiki 1.34 release || T259108: Drop legacy hard-deprecated code from MediaWiki ahead of MediaWiki 1.36 release

This is a list of potential deprecated code to drop. Not all of it will be dropped before 1.35 (and we'll move entries to a parallel ticket for 1.36). Found by manually looking for hard deprecations; soft-deprecated code isn't listed here (yet?).

  • From 1.23
    • Config: Setting $wgSkipSkin instead of $wgSkipSkins. (T241342)
    • Config: Setting $wgLocalInterwiki instead of $wgLocalInterwikis.
    • Config: Setting $wgProfileOnly instead of $wgDebugLogGroups['profileoutput']. (T241343)
  • From 1.25
    • Passing in an ApiMain to the constructor of an ApiResult. (r578050)
    • Using Title::isValidMoveOperation(), ::moveTo(), and ::isValidMoveTarget() instead of MovePage's methods. (T241341)
  • From 1.27
    • Config: Setting $wgExternalDiffEngine to wikidiff or wikidiff3
    • AuthManager migration stuff
      • wfSetupSession()(T249082)
      • User::setPassword() (T249181)
      • User::setInternalPassword()^^^
      • User::checkPassword() ^^^
      • User::checkTemporaryPassword() ^^^
      • User::addNewUserLogEntryAutoCreate() (T241349)
      • Calling User::createNew() with any of the params password, newpassword, newpass_time, or password_expires
      • Writing to $_SESSION
  • From 1.28
    • Interwiki::isValidInterwiki() (r577974)
    • Interwiki::fetch() (r577974)
    • Interwiki::invalidateCache() (r577974)
    • Interwiki::getAllPrefixes() (r577974)
    • UploadBase/UploadFromChunks::stashFile()
    • Linking things
      • The LinkBegin and LinkEnd hooks
      • The DummyLinker class
  • From 1.29
    • Message::getFormat()
    • Article::doEditContent() – T155696
    • Config: Setting $wgDummyLanguageCodes
    • EmailUser hook returning a raw HTML string as an error
    • Having no manifest_version set in extension.json
  • From 1.30
    • wfGlobalCacheKey() (T241350)
    • User – Setting IP addresses in the keys of $wgProxyList (r593886)
    • CommentStore migration temporary tables
  • From 1.31
    • CommentStore::newKey() (T241957)
    • WikiPage::selectFields() (r577977)
    • User::selectFields()(r585334)
    • OutputPage::parserOptions() with a non-null ParserOptions (r577986)
    • ParserOptions::setWrapOutputClass() without a wrapping class
    • Parser::serializeHalfParsedText() [1]
    • Parser::unserializeHalfParsedText() [1]
    • Parser::isValidHalfParsedText() [1]
    • StripState::getSubState() [1]
    • StripState::merge() [1]
    • Revision::loadFromId() (T242311)
    • QuickTemplate:setRef()[2]
    • SpecialRecentChanges::filterByCategories() (T241690)
    • The SimpleSearchResultWidget class
    • The SimpleSearchResultSetWidget class
    • Maintenance scripts calling Maintenance::error() with a $die value
  • From 1.32
    • CommentStore image description migration temporary tables
    • ContentHandler::makeParserOptions() [4]
    • All public properties of DifferenceEngine
    • Config: Setting $wgExternalDiffEngine to wikidiff2
    • EditPage::getContextTitle() with no title set
    • Constructing a HTMLInfoField with a string for the content when rawrow is set, instead of a FieldLayout
    • Using $input for the LogEventsListGetExtraInputs hook
    • MagicWord::get() (T242312)
    • MagicWord::getVariableIDs() (T242312)
    • MagicWord::getSubstIDs() (T242312)
    • MagicWord::getCacheTTL() (T242312)
    • MagicWord::getDoubleUnderscoreArray() (T242312)
    • The ArticleAfterFetchContentObject hook (r577988)
    • The ArticleContentViewCustom hook (T241351)
    • Calling WikiPage::getDeletionUpdates() without a RevisionRecord or with a Content object
    • Calling ResourceLoaderWikiModule::getContentObj() without a ResourceLoader context
    • Calling Revision::getRevisionText() on a post-MCR schema database
    • Calling RevisionStore::getQueryInfo() for the text table on a post-MCR schema database
    • Constructing a BaseSearchResultSet without implementing extractResults
    • BaseSearchResultSet::next()
    • BaseSearchResultSet::rewind()
    • The SearchResultSet class
    • Calling SearchResultTrait::setExtensionData() with an array argument
    • SearchEngine::replacePrefixes()
  • From 1.33
    • Calling ApiBase::checkTitleUserPermissions() with a User object for the third parameter (T241354)
    • AuthManager::callLegacyAuthPlugin() (T241355)
    • DatabaseBlock::isValid() (7276b4effd24)
    • Config: Setting $wgSquidPurgeUseHostHeader to false
    • OutputPage::parse() (T198214)
    • OutputPage::parseInline() (T198214)
    • MWTidy::setInstance() (T198214)
    • Disabling Tidy in the Parser and Sanitizer (T198214)
    • Password::equals() and implementations in InvalidPassword and Argon2Password[3]
    • Profiler::profileIn() (T241956)
    • Profiler::profileOut() (T241956)
    • The FileBasedSiteLookup class (T241356)
    • BaseTemplate::msgWiki() and QuickTemplate::msgWiki() (47e41df7efff)
    • Config: Setting $wgFixArabicUnicode to false (T241352)
    • Config: Setting $wgFixMalayalamUnicode to false (T241353)
    • Maintenance scripts calling Maintenance::getArg() without an $argId
    • Maintenance scripts calling Maintenance::hasArg() without an $argId
    • Title::getUserCaseDBKey() (T202094) - r577954

[1] Removed in https://gerrit.wikimedia.org/r/#/c/mediawiki/core/ /534264/
[2] Removed in https://gerrit.wikimedia.org/r/#/c/mediawiki/core/ /546357/
[3] Removed in https://gerrit.wikimedia.org/r/#/c/mediawiki/core/ /546352/
[4] Removed in https://gerrit.wikimedia.org/r/#/c/mediawiki/core/ /563293/

Related Objects

Mentioned In
T290960: Make it easier to track tasks which are stalled pending a MediaWiki release
T259108: Drop legacy hard-deprecated code from MediaWiki ahead of MediaWiki 1.36 release
T220656: Drop legacy hard-deprecated code from MediaWiki ahead of MediaWiki 1.34 release
Mentioned Here
rMW47e41df7efff: skins: Drop several usage of deprecated methods now unused
rMW7276b4effd24: DatabaseBlock: Remove deprecated isValid method
T259108: Drop legacy hard-deprecated code from MediaWiki ahead of MediaWiki 1.36 release
rMWc030dacfbe9f: Kill off $wgLocalInterwiki
T249181: Remove usages and drop hard deprecated User methods
T249082: Remove calls to wfSetupSession()
T202094: Deprecate Title::getUserCaseDBKey()
T198214: Deprecate and remove non-remex Tidy modes of the core parser
T242311: Drop Revision::loadFromId(), deprecated and unused
T242312: Drop deprecated and unused MagicWord functions
T241956: Remove Profiler::profileIn and ::profileOut, deprecated and unused
T241957: Remove CommentStore::newKey, deprecated and unused
T241690: Remove SpecialRecentChanges::filterByCategories(), deprecated and unused
T241349: Drop User::addNewUserLogEntryAutoCreate, deprecated and unused
T241350: Drop wfGlobalCacheKey global function, deprecated and unused
T241351: Drop ArticleContentViewCustom hook, deprecated and unused
T241352: Drop $wgFixArabicUnicode, deprecated and unused
T241353: Drop $wgFixMalayalamUnicode, deprecated and unused
T241354: Drop support for passing a User to ApiBase::checkTitleUserPermissions, deprecated and unused
T241355: Drop AuthManager::callLegacyAuthPlugin, deprecated and unused
T241356: Drop FileBasedSiteLookup class, deprecated and unused
T241343: Drop `$wgProfileOnly`, deprecated in 1.23 and unused
T241342: Drop `$wgSkipSkin`, deprecated in 1.23 and unused
T241341: Remove Title::isValidMoveOperation(), ::moveTo(), and ::isValidMoveTarget() (deprecated in favor of MovePage's methods)
T155696: Replace Article::doEditContent() with WikiPage::doEditContent()
T220656: Drop legacy hard-deprecated code from MediaWiki ahead of MediaWiki 1.34 release

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 573391 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] Drop support for wgLocalInterwiki, deprecated in 1.23, hard-deprecated in 1.34

https://gerrit.wikimedia.org/r/573391

Change 574920 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Remove $wgAllowTitlesInSVG, deprecated and unused

https://gerrit.wikimedia.org/r/574920

Change 574920 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Remove $wgAllowTitlesInSVG, deprecated and unused

https://gerrit.wikimedia.org/r/574920

Wrong task, sorry

Note that, for future tasks, this list may be generated using maintenance/findDeprecated. The current version is incomplete and (at least for me) doesn't seem to be able to find hard deprecation, but there's a new version at https://gerrit.wikimedia.org/r/#/c/mediawiki/core/ /566537/. It should probably be put in a separated library, but you can git review -d and use it locally. For hard deprecations, it's

php maintenance/findDeprecated/findDeprecated.php | grep "^ *[ *]"

Change 573391 abandoned by Jforrester:
Drop support for wgLocalInterwiki, deprecated in 1.23, hard-deprecated in 1.34

Reason:
Done in c030dacfbe9 by Reedy.

https://gerrit.wikimedia.org/r/573391

Change 593767 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] Drop wfSetupSession, deprecated in 1.27

https://gerrit.wikimedia.org/r/593767

Change 593767 merged by jenkins-bot:
[mediawiki/core@master] Drop wfSetupSession, deprecated in 1.27

https://gerrit.wikimedia.org/r/593767

Change 593874 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] Drop the LinkBegin and LinkEnd hooks, deprecated since 1.28

https://gerrit.wikimedia.org/r/593874

Change 593886 had a related patch set uploaded (by Ammarpad; owner: Ammarpad):
[mediawiki/core@master] Remove support for setting IP addresses in the keys of $wgProxyList

https://gerrit.wikimedia.org/r/593886

Change 596904 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/VipsScaler@master] Remove hard deprecate QuickTemplate::msgWiki

https://gerrit.wikimedia.org/r/596904

Change 596904 abandoned by DannyS712:
Remove hard deprecate QuickTemplate::msgWiki

Reason:
wrong repo :(

https://gerrit.wikimedia.org/r/596904

Change 596905 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Remove hard deprecate QuickTemplate::msgWiki

https://gerrit.wikimedia.org/r/596905

Change 596905 abandoned by DannyS712:
Remove hard deprecated QuickTemplate::msgWiki and BaseTemplate::msgWiki

Reason:
already done

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /596905

Change 593886 merged by jenkins-bot:
[mediawiki/core@master] Remove support for setting IP addresses in the keys of $wgProxyList

https://gerrit.wikimedia.org/r/593886

Are we closing this as done for 1.35? And opening a task for MW-1.36-release instead as the current version in master?

Izno updated the task description. (Show Details)