MediaWiki 1.40/wmf.25/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.25 by trainbranchbot
 * - Convert eval script to Maintenance class by daniel
 * - VariantConversion: Check if core language converter supports variant by Abijeet
 * - Stats: move stats library into Stats folder by Cole White
 * - Reorg: Migrate WikiMap to WikiMap/ out of includes by Amir Sarabadani
 * - Follow-up fixes for SpecialRevisionDelete OOUI conversion by Dreamy Jazz
 * - Convert Special:RevisionDelete to OOUI by brandonxlf
 * - Fix fallback flow for gom by Pppery
 * - RCCacheEntryFactory: Don't make a "cur" link for newest revision by Matěj Suchánek
 * - EnhancedChangesList: Isolate categorization entries in getLogText by Matěj Suchánek
 * - Update Chechen (ce) namespaces by Amir E. Aharoni
 * - Rename rate limits to match permission names by daniel
 * - EnhancedChangesList: Rewrite bogus condition by Matěj Suchánek
 * - Use same formula to construct cache key in increase and clear by cicalese
 * - htmlform: Handle null from HTMLFormField::getDefault in multiselects by Umherirrender
 * - EnhancedChangesList: Consistent order of link attributes by Matěj Suchánek
 * - Set "X-Content-Type-Options: nosniff" header in images/.htaccess by Kunal Mehta
 * - qunit: Remove old $.fx and $.ajax tracking from testrunner by Timo Tijhof
 * - SpecialEditTags: Set default of '' for wpReason by Reedy
 * - Metrics: rename Metrics lib to Stats by Cole White
 * - mediawiki.storage: Disable async GC during integration test by Timo Tijhof
 * - Metrics: refactor emitter instantiation by Cole White
 * - Skins: Login link should be shown to temporary users by default by Jon Robson
 * - Language-convert Table of Contents at parse time by C. Scott Ananian
 * - ImportReporter: Reduce indenting by Reedy
 * - parser: Use the actual revision timestamp of the page for messages by Func
 * - Add table of contents to Special:Version by Bartosz Dziewoński
 * - import: Mark WikiRevision::$sha1base36 property as private by thiemowmde
 * - language: Re-arrange conditionals in LanguageConverter for speed by thiemowmde
 * - Redo some bits and pieces of Special:Version by Bartosz Dziewoński
 * - Fix 'id' attribute conflicts on Special:Version by Bartosz Dziewoński
 * - CREDITS: Update ahead of REL1_40 branching by James D. Forrester
 * - Suppress false SecurityCheckXSS positives in ParserTestPrinter by C. Scott Ananian
 * - specials: Documented used message keys on Special:EditWatchlist by Umherirrender
 * - Add client-side libraries to Special:Version by Simon Legner
 * - rdbms: Remove Database::attributesFromType and hard-deprecate ::factory by Amir Sarabadani
 * - Reorg: Move five page-related classes to page/ out of includes/ by Amir Sarabadani
 * - Sync up core repo with Parsoid by C. Scott Ananian
 * - jobqueue: Migrate all IDatabase::select to SelectQueryBuilder by Amir Sarabadani
 * - rdbms: Introduce UpdateQueryBuilder by Amir Sarabadani
 * - Simplify button HTML and CSS in preferences form by Bartosz Dziewoński
 * - Switch some simple use of LoadBalancer to use new LBFactory methods by Amir Sarabadani
 * - Revert "qunit: Enable debug=2 by default for SpecialJavaScriptTest"  by Krinkle
 * - Improve legend on Special:SpecialPages by Bartosz Dziewoński
 * - Add table of contents to Special:SpecialPages by Bartosz Dziewoński
 * - build: Rebuild package-lock.json by Timo Tijhof
 * - Add 1.39.2 to HISTORY by Reedy
 * - ParserTestRunner: Move 'showflags' handling inside ::addParserOutputInfo by C. Scott Ananian
 * - build: Upgrade grunt from 1.5.3 to 1.6.1 by James D. Forrester
 * - i18n: Add no to fallback chain of nb and nn by Reedy
 * - Metrics: simplify MetricUtils, introduce BaseMetricInterface by Cole White
 * - Metrics: refactor rendering interface by Cole White
 * - Metrics: move format configuration to separate class by Cole White
 * - build: Update qunit from 2.18.2 to 2.19.4 by Timo Tijhof
 * - ResourceLoader: Permit partial failure in OutputPage::getBottomScripts  by Timo Tijhof
 * - MessageCache: immediately update the local cache upon hash mismatch by Aaron Schulz
 * - Metrics: implement MetricsCache class by Cole White
 * - ParserTestRunner: set the user language to variant when present (take 2) by C. Scott Ananian
 * - Override getInputWidget in multiselect HTMLForm fields by Daimona Eaytoy
 * - Mobile preferences: Remove unused parameter by Ed Sanders
 * - qunit: Enable debug=2 by default for SpecialJavaScriptTest  by Timo Tijhof
 * - ResourceLoader: Fix mw.inspect tests to work on debug=2 by Timo Tijhof
 * - objectcache: Move main cache to internal "_LocalClusterCache" service by Timo Tijhof
 * - objectcache,rdbms: Widen needlessly narrow @covers test annotations by Timo Tijhof
 * - Create a function that checks if a username is a temporary user in JS by tsepothoabala
 * - Parser: Section offsets are in codepoints, not in bytes by Func
 * - rdbms: Move back ::query from IReadableDatabase to IDatabase by Amir Sarabadani
 * - Update mw-ui-icon-element line height by bwang
 * - HTMLUsersMultiselectField: Fix documentation of default value by Daimona Eaytoy
 * - objectcache: make BagOStuff::makeKeyInternal protected in subclasses by Aaron Schulz
 * - SpecialContributions: Fix message arguments by Ammarpad
 * - RecentChange: Limit RC row query for patrol to non-categorization type by Matěj Suchánek
 * - language: Add missing PHPDoc type hints to LanguageConverter by thiemowmde
 * - WebRequest: Document that "URL params can be arrays" by Thiemo Kreuz
 * - BacklinkCache: Remove unused internal `clear` method by Timo Tijhof
 * - rdbms: Introduce IConnectionProvider and IReadableDatabase by Amir Sarabadani
 * - Centralize temporary IP masking user logic inside MediaWiki core by Jon Robson
 * - Use `` in search-thumbnail-extra-namespaces-message by MarcoAurelio
 * - UnregisteredLocalFile: Don't call MimeAnalyzer if no path by Reedy
 * - rdbms: Introduce ServerInfoHolder to limit access to servers in LB by Amir Sarabadani
 * - Status: Add method for PSR-3 formatting of status objects by Gergő Tisza
 * - Reorg: Move HTML-related classes out of includes/ to Html/ by Amir Sarabadani
 * - API: Fix query+allimages user parameter description by Gergő Tisza
 * - Hard-deprecate Http::request/get/post/userAgent/isValidURI by Umherirrender
 * - TempFSFile: Use a WeakMap for reference tracking if available by Máté Szabó
 * - psysh: Dump selected log channels by Gergő Tisza
 * - rdbms: avoid throwing exceptions in DatabaseMysqli::closeConnection by Aaron Schulz
 * - Hard-deprecate Language::getLocalisationCache/getMessagesFor by Umherirrender
 * - mediawiki.user: Remove wgUserIsNamed variable as redundant by Kevin Israel
 * - Replace usages of MWException by Daimona Eaytoy
 * - Use UserTimeCorrection in Language::userAdjust by Daimona Eaytoy
 * - import: Add a syntax check for xml imports by Umherirrender
 * - GlobalFunctions: Remove check for MEDIAWIKI constant by Kevin Israel
 * - CoreMagicVariables/CoreParserFunction: unify revisionid by C. Scott Ananian
 * - CoreMagicVariables/CoreParserFunction: unify revisionuser by C. Scott Ananian

Vendor

 * - Bump parsoid to 0.17.0-a18    by Isabelle Hurbain-Palatin

AbuseFilter

 * - build: Upgrade mediawiki/mediawiki-codesniffer from 40.0.1 to 41.0.0 by James D. Forrester

BetaFeatures

 * - Drop legacy wgBetaFeaturesWhitelist setting by James D. Forrester

CampaignEvents

 * - selenium: My Events can allow organizer to delete registration by Vaughn Walters
 * - selenium: My Events can allow organizer to close registration by Vaughn Walters

CategoryTree

 * - Remove unused CategoryTreeCategoryViewer::$child_cats by Umherirrender

CheckUser

 * - Fix limit handling in TemporaryAccountHandler query by AnaïsGueyte
 * - Tweak group-checkuser.[js|css] wording by MarcoAurelio
 * - Follow-up 1ff57d: Use by MarcoAurelio
 * - Update "Try the new CheckUser tool" link text by Dreamy Jazz
 * - Show reveal IP buttons on Special:CheckUserLog by Thalia
 * - Various minor code cleanups in Investigate namespace by Thiemo Kreuz
 * - Replace sonarcloud marked regex with equivalent javascript function by Dreamy Jazz
 * - Enable "Show IP" buttons on Special:Contributions by STran
 * - Remove unused private class attribute from CompareService.php by Dreamy Jazz

CirrusSearch

 * - Unpack Romanian and Sorani Analyzers by tjones
 * - Make added/removedLinks optional in LinksUpdate by David Causse
 * - Only use ServiceWiring for registering services by David Causse
 * - Extract a ChangeListener class out of Hooks.php by David Causse
 * - Update UPGRADE description by Moritz Schubotz (physikerwelt)

Cite

 * - Make auto-generated reference names like name=":0" visible in VE  by thiemowmde
 * - Fix icon of re-use reference tool by Ed Sanders

CiteThisPage

 * - Use ParserOptions::newFromContext on special page by Umherirrender

Citoid

 * - Do a faster clone when building the CitoidReferenceWidget preview by Ed Sanders
 * - VE: Specify narrowConfig for Citoid tool by Ed Sanders
 * - Remove unused CSS vendor prefix by Ed Sanders

cldr

 * - Update LocalNamesXx after merge of CLDR 42 by Raymond
 * - Remove LocalNamesNo by Reedy
 * - Update to cldr 42 by Reedy
 * - Update minimum PHP version to 7.4 as per MLEB policy by Abijeet
 * - Add Sorani Kurdish (ckb) overrides for time units by Bartosz Dziewoński

CodeEditor

 * - Update Ace to 1.15.2 by David Lynch

ContentTranslation

 * - mw.cx: Move more var declarations inline by Ed Sanders
 * - Fix contribution menu entrypoint in vector-2022 skin by Santhosh Thottingal
 * - Transaction#getModifiedRange: Use new function signature by Ed Sanders

DiscussionTools

 * - Remove more unused CSS for .ext-discussiontools-init-replylink-divider by Bartosz Dziewoński
 * - Add German aliases for special pages by Hgzh3
 * - Undo inline-flex hack, fix alignment of buttons with text when wrapped  by Bartosz Dziewoński
 * - foreign-resources.yaml: Add extra fields by Reedy
 * - Remove unused CSS for .ext-discussiontools-init-replylink-divider by Bartosz Dziewoński
 * - Use the new method of getting database object by Amir Sarabadani
 * - Disable on LiquidThreads pages by Bartosz Dziewoński
 * - Remove some `px` font-size overrides on topic metadata and buttons by Bartosz Dziewoński

DonationInterface

 * - Add bank transfer submethods that supported by dlocal by wfan
 * - only show direct flow for dlocal cc payment method by wfan
 * - Update Smash-pig to v0.8.3.18 by Damilare Adedoyin

EntitySchema

 * - Fix spelling mistakes in .phpcs.xml comment by Dreamy Jazz
 * - Update PHPCS to version 40.0.1 by thiemowmde
 * - Fix some temporary PHPCS exclusions by thiemowmde
 * - Enable SpaceAfterClosure PHPCS sniff by thiemowmde

EventLogging

 * - Extract EventSubmitter interface by Sam Smith
 * - foreign-resources.yaml: Add extra fields by Reedy
 * - Extract EventLogging.StreamConfigs service by Sam Smith

FileImporter

 * - Remove temporary hint for feedback by Hgzh3

FlaggedRevs

 * - Drop string→array→string conversion from FlaggedRevision by Thiemo Kreuz

Flow

 * - Hooks::isBetaFeatureAvailable: Don't fetch the config before checking installation by James D. Forrester
 * - Hooks::isBetaFeatureAvailable: Use non-deprecated BetaFeaturesAllowList pref by James D. Forrester

Gadgets

 * - Add namespace translations for Chechen (ce) by Amir E. Aharoni

GrowthExperiments

 * - PostEdit: Close help panel when post-edit or try new task panels are shown by Kosta Harlan
 * - Use mw.libs.ge class prefix consistently by Gergő Tisza
 * - Leveling up: Add try new task dialog by Kosta Harlan
 * - foreign-resources.yaml: Add extra fields by Reedy
 * - ApiQueryNextSuggestedTaskType: Return edit count by task type by Kosta Harlan
 * - SuggestedEditSession: Fetch next suggested task type when initializing by Kosta Harlan
 * - [Vue] Standardize the location of icons.json by Martin Urbanec
 * - User impact: show the module on its activated state for by Sergio Gimeno
 * - docs: avoid linting docs directory with eslint by Sergio Gimeno
 * - Post-edit: Use fixed positioning for success notice by Gergő Tisza
 * - Add getPraiseworthyMentees.php maintenance script by Martin Urbanec
 * - API: Add "growthnextsuggestedtasktype" query module by Kosta Harlan
 * - Services: Introduce LevelingUpManager by Kosta Harlan
 * - docs: Update content for Vitepress site by Kosta Harlan
 * - docs: Remove unneeded ignored directories by Kosta Harlan
 * - docs: set a base URL for the VitePress built site by Sergio Gimeno
 * - phpcs: ignore php files under documentation/frontend/node_modules by Sergio Gimeno
 * - UserImpact: Calculate and store edit count by task type by Kosta Harlan
 * - TaskTypeHandler: Allow finding task type ID from change tag name by Kosta Harlan
 * - build: Re-enable npm run doc by Kosta Harlan
 * - build: Update Codex to 0.6.1 by Kosta Harlan
 * - phan: Fix UnusedSuppression errors by Kosta Harlan
 * - build: Temporarily disable npm run doc by Kosta Harlan
 * - Frontend docs: add build command in the root of the repository by Sergio Gimeno
 * - PSR-3 normalize errors by Gergő Tisza
 * - Post edit panel: show the task description skeleton while requesting the PCS by Sergio Gimeno
 * - Do not enable mentorship when mentor is changed in bulk by Martin Urbanec
 * - Do not trigger DB lookup in ResourceLoader callbacks by Gergő Tisza
 * - Build backend for PersonalizedPraise by Martin Urbanec
 * - Post edit panel: avoid showing the pageviews skeleton by Sergio Gimeno
 * - SpecialImpact: Allow username parameter to be autocompleted by Gergő Tisza
 * - ComputedUserImpactLookup: Avoid infinite pageview lookup loop by Gergő Tisza

Kartographer

 * - Avoid some bits of code duplication in CoordFormatter by thiemowmde
 * - Make CoordFormatter compatible with Parsoid by Isabelle Hurbain-Palatin

Linter

 * - Linter Tag and Template search feature, UI and report code by sbailey
 * - Use new linter_namespace column and index in the Linter table by sbailey
 * - Remove API action=record-lint by Kunal Mehta

LiquidThreads

 * - LqtDispatch: Minor cleanup by Reedy

MobileFrontend

 * - .nvmrc: Update to 16.19.1 after CI update by James D. Forrester
 * - Move bundlesize checks to PHPUnit integration tests by Jon Robson
 * - Completely get rid of responsiveimages removal  by Amir Sarabadani
 * - Allow disabling of mobile diff view by Jon Robson

NavigationTiming

 * - Remove obsolete visibilitychange vendor prefixes by Timo Tijhof

NearbyPages

 * - Targets no longer needed in NearbyPages by Jon Robson

OATHAuth

 * - TOTPKey: Add better fallback attempts to find a useable cache by Reedy

PageTriage

 * - build: Remove phpcs MissingDocumentationPublic exclusion by MPGuy2824
 * - Stop userspace patrolling by MPGuy2824

Phonos

 * - Animate button background to indicate playback progress by Nardog
 * - Stop using jsonlint for testing + update devDependencies by zoranzoki21
 * - Improve icon size and position, and baseline of label  by Sam Wilson

ProofreadPage

 * - foreign-resources.yaml: Add extra fields by Reedy
 * - Make proofreadpage_nosuch_index_category a real tracking category by tacsipacsi
 * - Remove unnecessary Phan suppression by tacsipacsi

QuickSurveys

 * - Modules target desktop and mobile by default now by Jon Robson

RelatedArticles

 * - Targets no longer needed in RelatedArticles by Jon Robson

Scribunto

 * - Update namespace translation for Chechen (ce) by Amir E. Aharoni
 * - ScribuntoException: Use value property not dynamic property by Reedy

SearchVue

 * - package.json: Add coverage command by Peter Wangai
 * - Trigger an event when interacting with Interwiki Link section by Simone Cuomo
 * - Create wiki project interwiki link widgets and add to the quick view panel by Matthias Mullie

TimedMediaHandler

 * - TimedMediaTransformOutput: Handle no media sources in getHtmlMediaTagOutput by Reedy
 * - TimedMediaTransformOutput: Minor cleanup by Reedy

Translate

 * - Move MetaYamlSchemaExtender to MessageGroupConfiguration by wangombe
 * - TranslateEditAddons move to TranslatorInterface namespace  by wangombe
 * - Special:Translate: Make message table statsbar vertically centered by Abijeet

UniversalLanguageSelector

 * - Update jquery.uls from upstream by Amir E. Aharoni

UploadWizard

 * - build: Upgrade mediawiki/mediawiki-codesniffer from 40.0.1 to 41.0.0 by James D. Forrester

VueTest

 * - Add ToggleSwitch to the Codex demo navigation by Roan Kattouw

VisualEditor

 * - build: Upgrade mediawiki/mediawiki-codesniffer from 40.0.1 to 41.0.0 by James D. Forrester
 * - Update VE core submodule to master (51ac44db2) by Bartosz Dziewoński
 * - Preserve link content for broken media by Arlo Breault
 * - Don't allow table attributes to be edited when hasExpandedAttrs by Ed Sanders
 * - Update MWGallery tests with newer Parsoid output by Ed Sanders

Wikibase

 * - REST: Modify GetItem to use exceptions by Muhammad Jaziraly
 * - REST: Modify AddItemStatement to use exceptions by Muhammad Jaziraly
 * - Update mediawiki/codesniffer to 41.0 by Lucas Werkmeister
 * - REST: Modify ReplaceItemStatement to use exceptions by Muhammad Jaziraly
 * - REST: Add ADR 8 about using exceptions in UseCases by Muhammad Jaziraly
 * - REST: Add ADR 0007 about multiple route files by Ollie Shotton
 * - Fully remove tmpUnconnectedPagePagePropMigrationStage by Lucas Werkmeister
 * - Validate entity ID part of URIs in data values by Lucas Werkmeister
 * - Don’t load Tainted References during QUnit tests by Lucas Werkmeister
 * - REST: Rename newStatementNotFoundError method by Ollie Shotton
 * - Fix tainted-ref CI after Node v16 upgrade by Jakob Warkotsch
 * - REST: Delete unused error response files by Muhammad Jaziraly
 * - REST: Improve tests by Ollie Shotton
 * - REST: Modify GetItemStatement to use exceptions by Muhammad Jaziraly
 * - REST: Modify GetItemLabels to use exceptions by Muhammad Jaziraly
 * - REST: Fix sitelinks in OpenAPI Schema by Ollie Shotton
 * - REST: Rename GetItemDescriptionsSuccessResponse by Ollie Shotton
 * - REST: Provide example of mediawiki edit request elements in OpenAPI spec by Leszek Manicki
 * - Use SelectQueryBuilder in EntityUsageTable by Lucas Werkmeister
 * - REST: Add an example of sitelink badge in OpenAPI spec by Leszek Manicki

WikibaseQualityConstraints

 * - Bump stylelint-config-wikimedia from 0.13.1 to 0.14.0 by Addbot
 * - Show constraint clarifications below violation message by Lucas Werkmeister
 * - Remove no-longer-used Phan suppression by Lucas Werkmeister
 * - Avoid deprecated WANObjectCache::get calling pattern by Aaron Schulz
 * - README: Fix more maintenance calls by Lucas Werkmeister
 * - Use LanguageFallbackChainFactory for multilingual texts by Lucas Werkmeister

WikiLambda

 * - README: Note how to give your user special rights by James D. Forrester
 * - Move UpdateImplementationsJob from API to Jobs by dmartin
 * - ApiPerformTest: Factor caching out to a job, avoiding a DB write on API GET by James D. Forrester
 * - foreign-resources.yaml: Add extra fields by Reedy
 * - ApiPerformTestTest: Mark these as Standalone by James D. Forrester
 * - ZMonoLingualString::getLanguage: Ensure returned value is valid by James D. Forrester
 * - Add granular zobject edit authorization strategy by gengh
 * - ApiPerformTestTest: Disable failing test of passing a non-implementation by James D. Forrester
 * - Add PublishComponent into the DefaultView screen by nik-55
 * - Automatically reorder implementations after performing tests by dmartin

WikimediaMessages

 * - Add messages for Amical Wikimedia (amicalwikimedia) by gerritbot
 * - Revert "Refactor Global Blocking error messages for clarity" by AGueyte
 * - Refactor Global Blocking error messages for clarity by AnaïsGueyte
 * - Update Belarusian grammar forms by Alexander Vorwerk

MinervaNeue

 * - Targets no longer needed by Jon Robson
 * - Remove unused constructor params of MainMenuDirector by Func

MonoBook

 * - build: Upgrade mediawiki/mediawiki-codesniffer from 40.0.1 to 41.0.0 by James D. Forrester
 * - Re-add support for "New user message" notification by Porplemontage

Vector

 * - Vector: Break long bare external links by Derk-Jan Hartman
 * - Only render TOC related HTML when TOC is available by bwang
 * - 2010: IP masked user icon should differ by Jon Robson
 * - Add feature flag to "promote add topic" feature by Ed Sanders
 * - Promote "Add topic" button to PageTitlebar by Ed Sanders
 * - Table of contents: FIXME cleanup by Jon Robson
 * - Ignore noisy rule for a11y test by bwang
 * - Revert "Only apply vertical margin to #siteNotice content when non-empty" by Bernard Wang
 * - Update naming convention for TOC by ksarabia
 * - SkinVector22.php: Add missing typehints by Ed Sanders
 * - SectionObserver should be updated at certain points in MediaWiki lifecycle  by Jon Robson
 * - Clean up user links cached HTML code by bwang
 * - Rename IconLink to Link by bwang
 * - Only apply vertical margin to #siteNotice content when non-empty by Ed Sanders
 * - Cleanup: Remove unused TOC scroll hooks code by bwang
 * - Bump nvmrc to 16.16.0 to match Codex by bwang
 * - Ensure ToC is always accessible via landmark region  by Moh'd Khier Abualruz
 * - Fix dropdown icon markup to match Codex button by bwang
 * - Revert "Updates for core temp user autocreation feature" by Jon Robson
 * - Shows TOC below page title for anon users  by bwang
 * - Disallow scroll anchoring in navigation grid columns by Bartosz Dziewoński
 * - Targets no longer needed by Jon Robson
 * - Split off mediawiki.notification styles for legacy Vector by Bartosz Dziewoński
 * - search: Undo v-i18n-html workaround by Catrope

VisualEditor/VisualEditor

 * - CompletionAction: Make suggestion data more extendable by Ed Sanders
 * - CompletionWidget: Avoid exception when trying to update torn down widget by Ed Sanders
 * - CompletionWidget: Avoid double scrollbars by Ed Sanders
 * - BlockImageNode: Re-use captionData by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralAuth
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Echo
 * Elastica
 * ElectronPdfService
 * EventBus
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MediaSearch
 * MobileApp
 * Modern
 * MultimediaViewer
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * Popups
 * PropertySuggester
 * Quiz
 * RSS
 * ReadingLists
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexeme
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikisource
 * Wikistories
 * XAnalytics
 * intersection
 * timeline
 * wikihiero

Total changes
298 Changes in 51 repos by 82 authors