Page MenuHomePhabricator

Replace deprecated global url utils functions (wfExpandUrl/wfParseUrl and friends)
Open, Needs TriagePublic

Description

RELEASE-NOTES-1.39
* The following global functions are deprecated in favor of the listed UrlUtils
  methods.
  - wfExpandUrl -> UrlUtils::expand
  - wfGetServerUrl -> UrlUtils::getServer
  - wfAssembleUrl -> UrlUtils::assemble
  - wfRemoveDotSegments -> UrlUtils::removeDotSegments
  - wfUrlProtocols -> UrlUtils::validProtocols
  - wfUrlProtocolsWithoutProtRel -> UrlUtils::validAbsoluteProtocols
  - wfParseUrl -> UrlUtils::parse
  - wfExpandIRI -> UrlUtils::expandIRI
  - wfMatchesDomainList -> UrlUtils::matchesDomainList
  These methods are exact replacements except that
  1) they return null instead of false or empty string on error (where
     applicable);
  2) UrlUtils::validProtocols does not take a parameter (documentation said not
     to pass one to wfUrlProtocols anyway);

https://codesearch.wmcloud.org/things/?q=%5Cb%28wfExpandUrl%7CwfGetServerUrl%7CwfAssembleUrl%7CwfRemoveDotSegments%7CwfUrlProtocols%7CwfUrlProtocolsWithoutProtRel%7CwfParseUrl%7CwfExpandIRI%7CwfMatchesDomainList%29%5Cb&files=%5C.php%24

Details

Related Changes in Gerrit:
SubjectRepoBranchLines +/-
mediawiki/coremaster+4 -1
mediawiki/coremaster+8 -4
mediawiki/coremaster+3 -1
mediawiki/coremaster+2 -1
mediawiki/coremaster+3 -2
mediawiki/coremaster+2 -1
mediawiki/coremaster+2 -1
mediawiki/coremaster+2 -1
mediawiki/coremaster+3 -1
mediawiki/extensions/Wikibasemaster+14 -5
mediawiki/extensions/FileImportermaster+45 -28
mediawiki/extensions/AchievementBadgesmaster+3 -2
mediawiki/extensions/QuickInstantCommonsmaster+9 -1
mediawiki/extensions/VisualDatamaster+4 -0
mediawiki/coremaster+25 -3
mediawiki/extensions/GlobalUsagemaster+5 -2
mediawiki/extensions/CommonsMetadatamaster+3 -1
mediawiki/extensions/CentralNoticemaster+13 -3
mediawiki/extensions/DonationInterfacemaster+3 -1
mediawiki/extensions/CentralNoticemaster+15 -3
mediawiki/extensions/GlobalWatchlistmaster+18 -2
mediawiki/extensions/Collectionmaster+23 -5
mediawiki/extensions/ReadingListsmaster+14 -5
mediawiki/extensions/GlobalUserPagemaster+2 -1
mediawiki/extensions/FeaturedFeedsmaster+9 -4
mediawiki/extensions/OAuthmaster+31 -17
mediawiki/extensions/PageImagesmaster+26 -7
mediawiki/extensions/SpamBlacklistmaster+3 -2
mediawiki/extensions/LiquidThreadsmaster+3 -1
mediawiki/extensions/Echomaster+21 -12
mediawiki/extensions/TimedMediaHandlermaster+11 -5
mediawiki/extensions/GrowthExperimentsmaster+9 -4
mediawiki/extensions/FileImportermaster+61 -81
mediawiki/extensions/FileImportermaster+6 -2
mediawiki/extensions/TorBlockmaster+8 -3
mediawiki/coremaster+11 -4
mediawiki/coremaster+29 -8
mediawiki/coremaster+35 -27
mediawiki/coremaster+8 -4
mediawiki/coremaster+20 -12
mediawiki/extensions/FileImportermaster+5 -5
mediawiki/coremaster+31 -9
mediawiki/coremaster+11 -5
mediawiki/extensions/Interwikimaster+2 -2
mediawiki/coremaster+3 -4
mediawiki/extensions/FileExportermaster+1 -1
mediawiki/extensions/VipsScalermaster+2 -2
mediawiki/extensions/Scribuntomaster+1 -1
mediawiki/extensions/EventLoggingmaster+1 -1
mediawiki/extensions/WikidataPageBannermaster+1 -1
mediawiki/extensions/WebAuthnmaster+2 -2
mediawiki/extensions/VisualEditormaster+1 -1
mediawiki/extensions/MassMessagemaster+10 -4
mediawiki/coremaster+42 -19
mediawiki/coremaster+14 -12
mediawiki/coremaster+124 -35
mediawiki/coremaster+24 -11
mediawiki/extensions/LandingCheckmaster+28 -27
mediawiki/coremaster+18 -8
mediawiki/coremaster+50 -10
Show related patches Customize query in gerrit

Event Timeline

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

Change #1071308 had a related patch set uploaded (by Ebrahim; author: Ebrahim):

[mediawiki/core@master] Avoid use of deprecated wfExpandUrl in MediaWiki\Feed

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

Change #1071310 had a related patch set uploaded (by Ebrahim; author: Ebrahim):

[mediawiki/core@master] Avoid use of deprecated wfExpandUrl in ThumbnailEntryPoint

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

Change #1071311 had a related patch set uploaded (by Ebrahim; author: Ebrahim):

[mediawiki/core@master] Avoid use of deprecated global functions in MWHttpRequest

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

Change #1071314 had a related patch set uploaded (by Ebrahim; author: Ebrahim):

[mediawiki/core@master] Avoid use of deprecated global functions in InterwikiSearchResultSetWidget

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

Change #1071308 merged by jenkins-bot:

[mediawiki/core@master] Avoid use of deprecated wfExpandUrl in MediaWiki\Feed

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

Change #1071303 merged by jenkins-bot:

[mediawiki/core@master] Avoid use of deprecated wfExpandUrl in IntroMessageBuilder

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

Change #1071351 had a related patch set uploaded (by Ebrahim; author: Ebrahim):

[mediawiki/core@master] Hard deprecation of wfUrlProtocolsWithoutProtRel

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

Change #1071314 abandoned by Ebrahim:

[mediawiki/core@master] Avoid use of deprecated global functions in InterwikiSearchResultSetWidget

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

Change #1068827 abandoned by Jforrester:

[mediawiki/extensions/FileImporter@master] Replace use of deprecated global URL functions with wfGetUrlUtils()

Reason:

Ebrahim's patches have replaced the need for this.

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

Change #1071311 merged by jenkins-bot:

[mediawiki/core@master] Avoid use of deprecated global functions in MWHttpRequest

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

Change #1071310 merged by jenkins-bot:

[mediawiki/core@master] Avoid use of deprecated wfExpandUrl in various places

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

Change #1068022 merged by jenkins-bot:

[mediawiki/core@master] Migrate all uses of deprecated URL global functions to use wfGetUrlUtils()

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

Change #1130591 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/TorBlock@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1071351 merged by jenkins-bot:

[mediawiki/core@master] Hard deprecate wfUrlProtocolsWithoutProtRel and wfMatchesDomainList, deprecated since 1.39

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

Change #1130591 merged by jenkins-bot:

[mediawiki/extensions/TorBlock@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130755 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/SpamBlacklist@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130756 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/LiquidThreads@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130757 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/GrowthExperiments@master] Switch use of deprecated wfExpandUrl and wfParseUrl to UrlUtils

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

Change #1130758 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/FileImporter@master] Switch use of deprecated wfExpandUrl and wfParseUrl to UrlUtils

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

Change #1130759 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/PageImages@master] Switch use of deprecated wfExpandUrl and wfParseUrl to UrlUtils

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

Change #1130762 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/TimedMediaHandler@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130764 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Echo@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130765 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/OAuth@master] Switch use of deprecated wfExpandUrl and wfParseUrl to UrlUtils

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

Change #1130766 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Collection@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130767 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/FeaturedFeeds@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130968 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/FileImporter@master] [POC] Use mocked URL parser during PHPUnit tests

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

Change #1130975 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/FileImporter@master] Move all SourceUrl construction out of @dataProviders

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

Change #1130758 merged by jenkins-bot:

[mediawiki/extensions/FileImporter@master] Switch use of deprecated wfExpandUrl and wfParseUrl to UrlUtils

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

Change #1130975 merged by jenkins-bot:

[mediawiki/extensions/FileImporter@master] Move all SourceUrl construction out of @dataProviders

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

Change #1130757 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Switch use of deprecated wfExpandUrl and wfParseUrl to UrlUtils

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

Change #1130762 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130764 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130755 merged by jenkins-bot:

[mediawiki/extensions/SpamBlacklist@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130756 merged by jenkins-bot:

[mediawiki/extensions/LiquidThreads@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1130765 merged by jenkins-bot:

[mediawiki/extensions/OAuth@master] Switch use of deprecated wfExpandUrl and wfParseUrl to UrlUtils

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

Change #1130759 merged by jenkins-bot:

[mediawiki/extensions/PageImages@master] Switch use of deprecated wfExpandUrl and wfParseUrl to UrlUtils

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

Change #1155781 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/CommonsMetadata@master] TemplateParser::parseNuke: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1155782 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/GlobalUserPage@master] WikiGlobalUserPage::getWikiDisplayName: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1155784 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/GlobalWatchlist@master] SpecialGlobalWatchlistSettings: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1155786 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/DonationInterface@master] Gateway_Form::getNoCacheAction: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1130767 merged by jenkins-bot:

[mediawiki/extensions/FeaturedFeeds@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1155782 merged by jenkins-bot:

[mediawiki/extensions/GlobalUserPage@master] WikiGlobalUserPage::getWikiDisplayName: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1156328 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Wikibase@master] Switch uses of deprecated wfParseUrl/wfExpandUrl to UrlUtils

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

Change #1156329 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/ReadingLists@master] Switch uses of deprecated wfParseUrl to UrlUtils

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

Change #1156331 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/CentralNotice@master] SpecialCentralNoticeLogs: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1156329 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] Switch uses of deprecated wfParseUrl to UrlUtils

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

Change #1130766 merged by jenkins-bot:

[mediawiki/extensions/Collection@master] Switch use of deprecated wfExpandUrl to UrlUtils

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

Change #1155784 merged by jenkins-bot:

[mediawiki/extensions/GlobalWatchlist@master] SpecialGlobalWatchlistSettings: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1156331 merged by jenkins-bot:

[mediawiki/extensions/CentralNotice@master] SpecialCentralNoticeLogs: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1156328 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Switch uses of deprecated wfParseUrl/wfExpandUrl to UrlUtils

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

Change #1155786 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Gateway_Form::getNoCacheAction: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1167291 had a related patch set uploaded (by Fomafix; author: Fomafix):

[mediawiki/extensions/CentralNotice@master] SpecialCentralNoticeLogs: Replace deprecated wfExpandUrl by UrlUtils

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

Change #1167292 had a related patch set uploaded (by Fomafix; author: Fomafix):

[mediawiki/extensions/VisualData@master] Replace deprecated wfExpandUrl by UrlUtils

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

Change #1167291 abandoned by Fomafix:

[mediawiki/extensions/CentralNotice@master] SpecialCentralNoticeLogs: Replace deprecated wfExpandUrl by UrlUtils

Reason:

Already done in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CentralNotice/+/1156331

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

Change #1155781 merged by jenkins-bot:

[mediawiki/extensions/CommonsMetadata@master] TemplateParser::parseNuke: Switch use of deprecated wfParseUrl to UrlUtils

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

Change #1176644 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/extensions/GlobalUsage@master] ApiQueryGlobalUsage: Use UrlUtils service

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

Change #1176644 merged by jenkins-bot:

[mediawiki/extensions/GlobalUsage@master] ApiQueryGlobalUsage: Use UrlUtils service

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

Change #1068023 merged by jenkins-bot:

[mediawiki/core@master] Hard-deprecate wfExpandUrl() & wfParseUrl(), deprecated since 1.39

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

Change #1167292 merged by jenkins-bot:

[mediawiki/extensions/VisualData@master] Replace deprecated wfExpandUrl by UrlUtils

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

Change #1178890 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/QuickInstantCommons@master] Replace deprecated wfExpandUrl

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

Change #1178890 abandoned by Bartosz Dziewoński:

[mediawiki/extensions/QuickInstantCommons@master] Replace deprecated wfExpandUrl

Reason:

Already done in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/QuickInstantCommons/+/1182173 (sorry)

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

Change #1198632 had a related patch set uploaded (by Hashar; author: Lewis Cawte):

[mediawiki/extensions/AchievementBadges@master] Replace use of deprecated wfExpandUrl()

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

Change #1198632 merged by Hashar:

[mediawiki/extensions/AchievementBadges@master] Replace use of deprecated wfExpandUrl()

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

lcawte subscribed.

There's probably half a dozen other commits I should have tagged with this bug. Most of these functions have now been dropped from the core as they've been removed from WMF-hosted (and some other) code. Will aim to tidy up this task to reflect the current status.

  • wfExpandUrl() - dropped in 1.46
  • wfGetServerUrl - dropped in 1.45
  • wfAssembleUrl - dropped in 1.46
  • wfRemoveDotSegments - dropped in 1.43
  • wfUrlProtocols - dropped in 1.46
  • wfUrlProtocolsWithoutProtRel - dropped in 1.46
  • wfParseUrl - dropped in 1.46
  • wfExpandIRI - dropped in 1.45
  • wfMatchesDomainList - dropped in 1.46

As far as code in WMF-controlled repositories goes, usages have either been removed or have open patches sat against them to do so (enabling them to be dropped from core).

The one outstanding item is wfGetUrlUtils() which was introduced to be any entry point to said replaced items. This is now soft deprecated, and will need to be removed at some point.

Change #1265454 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] CdnCacheUpdate: Replace remaining use of deprecated wfGetUrlUtils()

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

Change #1265455 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] ThumnailRenderJob: Replace remaining use of deprecated wfGetUrlUtils()

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

Change #1265460 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] Parser: Replace remaining use of deprecated wfGetUrlUtils()

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

Change #1265462 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] RedisPubSubFeedEngine: Replace use of deprecated wfGetUrlUtils()

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

Change #1265463 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] ContentSecurityPolicy: Replace remaining uses of deprecated wfGetUrlUtils()

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

Change #1265498 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] InterwikiSearchResultSetWidget: Replace deprecated wfGetUrlUtils() call

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

Change #1265499 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] UploadFromUrl: Replace remaining deprecated use of wfGetUrlUtils()

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

Change #1265500 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] WikiMap: Replace deprecated calls to wfGetUrlUtils()

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

Change #1265498 merged by jenkins-bot:

[mediawiki/core@master] InterwikiSearchResultSetWidget: Replace deprecated wfGetUrlUtils() call

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

Change #1265460 merged by jenkins-bot:

[mediawiki/core@master] Parser: Replace remaining use of deprecated wfGetUrlUtils()

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

Change #1265499 merged by jenkins-bot:

[mediawiki/core@master] UploadFromUrl: Replace remaining deprecated use of wfGetUrlUtils()

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

Change #1265455 merged by jenkins-bot:

[mediawiki/core@master] ThumbnailRenderJob: Replace remaining use of deprecated wfGetUrlUtils()

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

Change #1265463 merged by jenkins-bot:

[mediawiki/core@master] ContentSecurityPolicy: Replace remaining uses of deprecated wfGetUrlUtils()

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

Change #1265454 merged by jenkins-bot:

[mediawiki/core@master] CdnCacheUpdate: Replace remaining use of deprecated wfGetUrlUtils()

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

Change #1265500 merged by jenkins-bot:

[mediawiki/core@master] WikiMap: Replace deprecated calls to wfGetUrlUtils()

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

Change #1265462 merged by jenkins-bot:

[mediawiki/core@master] RedisPubSubFeedEngine: Replace use of deprecated wfGetUrlUtils()

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

Change #1270185 had a related patch set uploaded (by Lewis Cawte; author: Lewis Cawte):

[mediawiki/core@master] GlobalFunctions: Hard deprecate wfGetUrlUtils() and emit warnings

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