MediaWiki 1.40/wmf.19/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.19 by trainbranchbot
 * - rdbms: remove IDatabase::selectDB by Aaron Schulz
 * - Improve tests for parser cache updates by daniel
 * - SpecialUserrights: Replace deprecated User::get/add/removeGroups by Umherirrender
 * - Upgrading psr/container (1.1.1 => 1.1.2) by Reedy
 * - EditPage: Avoid parsing wikitext in comment by Lucas Werkmeister
 * - Remove WikiRevision::importUpload by Matěj Suchánek
 * - SqliteMaintenance.php: Fix fatally broken instanceof check by Amir Sarabadani
 * - Hard-deprecate User::idFromName by Umherirrender
 * - MWCryptHash: Clean up and add types of static fields by Kevin Israel
 * - Update symfony/* by Alexander Vorwerk
 * - maintenance: Migrate mcc.php from CommandLineInc to Maintenance by Kevin Israel
 * - objectcache: Fix lack of DI for MultiWriteBagOStuff sub caches by Timo Tijhof
 * - objectcache: Fix flaky WANObjectCacheTest::testLockTSESlow case by Timo Tijhof
 * - objectcache: Simpler `@covers` annotations for WANObjectCacheTest by Timo Tijhof
 * - tests: Handle dynamic created properties on test classes by Umherirrender
 * - Storage: Change LoadBalancer::getAnyOpenConnection to getConnectionRef by Timo Tijhof
 * - Maintenance: Avoid premature access to service container by daniel
 * - Remove preprocessorFuzzTest.php script by daniel
 * - Fix shebang in maintenance/run: /bin/env -> /usr/bin/env by Antoine Musso
 * - MaintenanceRunner: improve error reporting by daniel
 * - Sync tests with parsoid by Isabelle Hurbain-Palatin
 * - Clarify wording for high-volume grants by EpicPupper
 * - Skins: Make note on getTemplateData more prominent by Jon Robson
 * - Work around brittle parsoid test (fix CI) by daniel
 * - Gallery: Improve initial state and fix thumbnail sizes by Jon Robson
 * - specials: Swap order for Language::equals in Special:MyLanguage by Umherirrender
 * - Upgrading oojs/oojs-ui (v0.46.0 => v0.46.1) by Reedy
 * - REST: collect metrics on endpoint access by Daniel Kinzler
 * - Add script to compare output between Parser and Parsoid by Abijeet
 * - Make history URL for category change consistent with other history links by Nardog
 * - HistoryPager: Make 'prev' URL consistent with other diff links by Nardog
 * - jquery.tablesorter: Normalize spaces in all cases when retrieving the sort keys by Hank Hulet
 * - Sync up core repo with Parsoid by Subramanya Sastry
 * - objectcache: Move default 'stats' assignment with the others by Timo Tijhof
 * - Revert "ChangeTags: When showing a tag, also link to a filtered RecentChanges view"  by Bartosz Dziewoński
 * - Use buildComparison in RollbackPage by Matěj Suchánek
 * - openForEditing: await openTitle by Func
 * - rdbms: improve LoadBalancer connection tests for CONN_TRX_AUTOCOMMIT by Aaron Schulz
 * - maintenance/mysql.php: Add --raw-host parameter by Timo Tijhof
 * - jobqueue: Warm parsoid parser cache using a job by Derick Alangi
 * - Add maintenance/run by daniel
 * - Remove now unused (bogus) cache key in RevDelRevisionList by Thiemo Kreuz
 * - parser: Minor code style improvements in DateFormatter by thiemowmde
 * - Make the FormSpecialPage easier to use as a GET form by Func
 * - rdbms: Drop optional parameter of ILBFactory::commitAll by Amir Sarabadani
 * - rdbms: Drop hard-deprecated and unused ILBFactory::forEachLB by Amir Sarabadani
 * - rdbms: Drop optional parameters of ILoadBalancer::waitForPrimaryPos by Amir Sarabadani
 * - rdbms: Drop LoadBalancer::getLazyConnectionRef by Amir Sarabadani
 * - rdbms: Drop unused parameter in LoadBalancer by Amir Sarabadani
 * - rdbms: Drop LoadBalancer::setLocalDomain by Amir Sarabadani
 * - mediawiki.util: Improve addPortletLink docs by Timo Tijhof
 * - Fix exception in ` ` with missing images by Bartosz Dziewoński
 * - Add parser test support for verifying TOC section metadata by Subramanya Sastry
 * - Update Codex from v0.4.2 to v0.4.3          by Anne Tomasevich
 * - diff: Update incomplete PHPDoc type in DifferenceEngine by thiemowmde
 * - Simplify callback in HTMLForm tests by Bartosz Dziewoński
 * - rdbms: clean up "serverName" normalization and enforce uniqueness by Aaron Schulz
 * - Replace deprecated WikiPage::newFromID  by Umherirrender
 * - Benchmarker: Substitute long arguments in generated case names by Timo Tijhof
 * - ParsoidOutputAccess: Mark dummy parser output as non-cacheable by Derick Alangi
 * - ParsoidOutputAccess: Completely handle unsupported content models by Derick Alangi
 * - PageContentHelper: Remove back-compat code for VisualEditor by Derick Alangi
 * - Upgrading cssjanus/cssjanus (v2.1.0 => v2.1.1) by Reedy
 * - rdbms: Remove deprecation mark for $wgSharedDB by Timo Tijhof
 * - HistoryPager: 'prev' link should ignore filters by DannyS712
 * - tests: Replace deprecated User::idFromName by Umherirrender
 * - Hard-deprecate CommentStore::getStore by Umherirrender
 * - Linker: Add a class for temporary account user name links by Thalia
 * - SpecialPageFactory: Always reset globals in ::capturePath by Umherirrender
 * - UserMailer: Don't silence warnings from PEAR Mail by Kevin Israel
 * - deferred: Remove internal DeferredUpdates::doUpdates parameter by Timo Tijhof
 * - Parser: Add mw-selflink-fragment class to links to hash fragments in the same page by Jon Robson
 * - Special:Undelete needs to load module mediawiki.interface.helpers.styles by Umherirrender
 * - Disable CodeMirror while running Selenium tests by Bartosz Dziewoński
 * - tests: Add ActionFactoryIntegrationTest by Umherirrender
 * - specials: List Special:UserLogin not always on Special:SpecialPages by Umherirrender
 * - OutputPage: Call setSections from addParserOutputMetadata  by Bartosz Dziewoński
 * - Remove unnecessary uses of by Bartosz Dziewoński
 * - Clarify "No pages link to ..." message with filters in Special:WhatLinksHere by Simon Legner

Vendor

 * - Bump parsoid to 0.17.0-a11      by Arlo Breault
 * - Updating elasticsearch related libraries by Reedy
 * - Upgrading psr/container (1.1.1 => 1.1.2) by Reedy
 * - Upgrading composer/ca-bundle (1.3.4 => 1.3.5) by Reedy
 * - Update symfony/* by Reedy
 * - Upgrading psy/psysh (v0.11.8 => v0.11.10) by Reedy
 * - Upgrading nikic/php-parser (v4.15.1 => v4.15.2) by Reedy
 * - Upgrading ezimuel/ringphp (1.2.0 => 1.2.2) by Reedy
 * - Upgrading guzzlehttp/psr7 (2.4.1 => 2.4.3) by Reedy
 * - Upgrading oojs/oojs-ui (v0.46.0 => v0.46.1) by Reedy
 * - Upgrading cssjanus/cssjanus (v2.1.0 => v2.1.1) by Reedy

3D

 * - Try to consistently call this extension 3D instead of 3d. by Brian Wolff
 * - Simplify expensive check by Bartosz Dziewoński

AdvancedSearch

 * - Enable AdvancedSearch on target mobile by Jon Robson
 * - selenium: Remove webdriverio npm package from the AdvancedSearch extension by Peter Wangai

ArticlePlaceholder

 * - ItemNotabilityFilter: Rearrange JOINs by Lucas Werkmeister
 * - ItemNotabilityFilter: Use SelectQueryBuilder by Lucas Werkmeister
 * - Remove use of deprecated ConnectionManager::releaseConnection by Umherirrender

CampaignEvents

 * - selenium: Remove webdriverio npm package from the Campaign Events extension by Vaughn Walters

CategoryTree

 * - Add modules to ParserOutput by Fomafix
 * - Support short link with target in URL path by Fomafix

CheckUser

 * - Add read new support for cu_log comment ID columns by Dreamy Jazz
 * - Add read new support for cuc_comment_id by Alexander Vorwerk
 * - Add event table write new support for the maintenance scripts by Dreamy Jazz
 * - Add maintenance script to populate cu_log comment ID columns by Dreamy Jazz
 * - Update and fix many array/mixed PHPDoc type hints by thiemowmde
 * - Inline some trivial mocks in PHPUnit tests by thiemowmde
 * - Add write new support for cu_private_event and cu_log_event in Hooks by Dreamy Jazz
 * - SpecialInvestigateBlock: Set a default for Targets by Reedy
 * - ComparePager: Null-coalescence cuc_agent value by Reedy
 * - SECURITY: Respect revision deletion status for the performer in Investigate by dreamyjazz
 * - SECURITY: Do not show suppressed usernames on edits in the API by dreamyjazz
 * - SECURITY: do not render suppressed usernames at Special:CheckUser by Alexander Vorwerk
 * - SECURITY: Always use a unique nonce/IV for AES-CTR encryption. by Brian Wolff
 * - selenium: Remove webdriverio npm package from the CheckUser extension by Peter Wangai

CirrusSearch

 * - looksLikeAutomation: Allow flagging requests from arbitrary headers by Erik Bernhardson
 * - SearchAfter: Increase default retries to 12 by Erik Bernhardson

Cite

 * - selenium: Remove webdriverio npm package from the Cite extension by Peter Wangai

CodeEditor

 * - Update Ace to 1.14.0 by Derk-Jan Hartman

ContentTranslation

 * - CX3 Build 0.2.0+20230117 by NikG
 * - SX: Use optional chaining for current target page title by NikG
 * - CX3 Build 0.2.0+20230116  by Santhosh Thottingal
 * - SX: Basic support for leaving an auto-saving translation on mobile by NikG
 * - SX: Replace old "smAndDown" breakpoint with "mobile" by NikG
 * - SX: Fix "getPage" getter to return null when title is empty by NikG
 * - CX: Sitemapper fix param description for "getPageUrl" method by NikG
 * - CX: Fix transformation of TranslationUnitDTO to custom array by NikG

CreditsSource

 * - Drop unused tables by Amir Sarabadani

DiscussionTools

 * - LanguageData: Use special page alias with spaces by Umherirrender
 * - Reduce parsoid PC writes to randomized sample by daniel
 * - Enable visual enhancements on all talk namespaces by Ed Sanders
 * - Track callers of parseRevisionParsoidHtml. by daniel
 * - Enable collapsible content in mobile talk page lede content by Bartosz Dziewoński

DonationInterface

 * - update smash-pig requirement to 0.8.2.14 by wfan
 * - Handle new namespace for RemexHtml by Elliott Eggleston
 * - Redirect to donate wiki if no country or payment_method pass from url by wfan

Echo

 * - Simplify in-array search in DiscussionParser by thiemowmde
 * - selenium: Remove webdriverio npm package from the Echo extension by Peter Wangai

Elastica

 * - Updating elasticsearch related libraries by Reedy

ElectronPdfService

 * - selenium: Remove webdriverio npm package from the ElectronPdfService extension by Peter Wangai

FileImporter

 * - selenium: Remove webdriverio npm package from the File Importer extension by Vaughn Walters

FlaggedRevs

 * - Use buildComparison in FlaggableWikiPage by Matěj Suchánek
 * - Remove redundant calls to OutputPage::setSections by Bartosz Dziewoński

Flow

 * - Actions: Fix warning due to passing null to strtolower by Timo Tijhof
 * - Remove unused wgFlowUseMemcache by Timo Tijhof
 * - phan: Suppress SecurityCheckMulti for AbstractRevision::setContentRaw by Umherirrender
 * - Replace deprecated ContentHandler functions by Umherirrender
 * - maintenance: Replace removed \MWEchoDbFactory::waitForReplicas by Umherirrender
 * - Dump: Accept CommentStore on Exporter by Umherirrender

GrowthExperiments

 * - User impact: remove unused UserDatabaseHelper::hasMainspaceEdits by Sergio Gimeno
 * - User impact: display all namespaces edit count by Sergio Gimeno
 * - selenium: Remove webdriverio npm package from the Growth Experiments extension by Vaughn Walters
 * - Define group for GrowthExperiments special pages by Kosta Harlan
 * - WikiPageConfigLoader: Stop treating "page does not exist" as failure state by Martin Urbanec
 * - Require CirrusSearch to be installed and configured for LocalSearchTaskSuggester by Kosta Harlan
 * - User impact: add missing data to instrumentation event by Sergio Gimeno
 * - User impact: fix vertical alignment of scorecards texts and icons by Sergio Gimeno
 * - Fix calls to deprecated LoadBalancer methods by Amir Sarabadani
 * - User impact: set a min-height for the unactivated state content by Sergio Gimeno
 * - jest: Fail on Vue and other warnings by Kosta Harlan
 * - tests: Use run.php entrypoint by Kosta Harlan
 * - Monitoring: Use first-contentful-paint by Kosta Harlan
 * - DatabaseMenteeOverviewDataProvider: Do not make unconditional DB queries by Martin Urbanec
 * - MentorStatusManager: Add in-process caching by Martin Urbanec
 * - MentorStatusManager: Return an accurate back at timestamp by Martin Urbanec

IPInfo

 * - Handle calls to nonexistent archived revisions by STran
 * - Do some clean up in widgets and Presenter by Thalia
 * - Show deleted edits on IPInfobox by AnaïsGueyte

Kartographer

 * - Use more robust object-fit: cover for marker icons by thiemowmde
 * - Adjust padding of map marker selection rectangles by thiemowmde
 * - Fix large focus rectangle on map markers with modern CSS by thiemowmde
 * - Split and fix currently disabled ApiQueryMapData tests by thiemowmde
 * - Remove unused $wgKartographerEnableMapFrame feature flag by Adam Wight
 * - Replace hard-coded clip rectangle hack with more flexible CSS by thiemowmde
 * - Optimize ApiQueryMapDataTest code to use framework methods by thiemowmde
 * - Fix slightly to large map marker click region  by thiemowmde
 * - Remove versioned mapdata feature flags by Adam Wight
 * - Make private ExternalDataLoader methods private again by thiemowmde

MassMessage

 * - Add cancel button, watch and minor checkboxes to EditMassMessageList by Dreamy Jazz

Math

 * - selenium: Remove webdriverio npm package from the Math extension by Vaughn Walters

MobileFrontend

 * - tests: Move away from using $GLOBALS for configs  by Derick Alangi

NavigationTiming

 * - Stop collecting Navigation Timing transferSize by Timo Tijhof

Newsletter

 * - selenium: Remove webdriverio npm package from the Newsletter extension by Vaughn Walters

OAuth

 * - MWOAuthToken: Add #[\AllowDynamicProperties] by Reedy
 * - Make sure oarc_oauth2_allowed_grants fits in a MySQL blob by Reedy

PageTriage

 * - selenium: Remove webdriverio npm package from the Page Triage extension by Vaughn Walters
 * - Remove all code related to pagetriage_log SQL table by NovemLinguae

ParserFunctions

 * - Reduce very deep indention in some larger if/elseif blocks by thiemowmde

Phonos

 * - PhonosButton.less: remove text decoration from label by MusikAnimal
 * - Clean up white spaces around Phonos by hmonroy

Popups

 * - selenium: Remove webdriverio npm package from the Popups extension by Vaughn Walters

ProofreadPage

 * - ProofreadPage:Animation should take left pane when "preview" is clicked by sushrith
 * - selenium: Remove webdriverio npm package from the Proofread Page extension by Vaughn Walters
 * - Set Proofread module targets explicitly by Jon Robson
 * - Allow required composer plugins by Sohom
 * - Persist Openseadragon zoom and pan position across sessions by Sohom

QuickSurveys

 * - Drop unused Survey::isEnabled feature by Thiemo Kreuz

RevisionSlider

 * - selenium: Remove webdriverio npm package from the Revision Slider extension by Vaughn Walters

SandboxLink

 * - Disable sanbox links for temp users by default as well by Bartosz Dziewoński

SearchVue

 * - Desktop preview hover area does not include the arrow area by Simone Cuomo
 * - Mobile: Show article lead image in the quick view. by Simone Cuomo
 * - Mobile: Loading indicator for search preview by Simone Cuomo
 * - Fix link color by Simone Cuomo

SecureLinkFixer

 * - Updating domains.php from Mozilla by SecureLinkFixer updater bot

StopForumSpam

 * - Improve namespacing by Reedy

TemplateData

 * - Move var declarations (and initializations) down in Dialog class by Thiemo Kreuz

TemplateWizard

 * - selenium: Remove webdriverio npm package from the TemplateWizard extension by Vaughn Walters

Translate

 * - TranslationPage: Use unit id with underscore when accessing collection by Abijeet
 * - RenderTranslationPageJob: Use new CommentStoreComment class by Abijeet

TranslationNotifications

 * - TranslationNotificationsSubmitJob: Ensure LanguageSet is in proper format by Abijeet

TwoColConflict

 * - selenium: Remove webdriverio npm package from the TwoColConflict extension by Vaughn Walters
 * - Load ext.TwoColConflict.JSCheck on mobile domain by Jon Robson

UniversalLanguageSelector

 * - ULS: Display "Page contents not supported" body in missing and talk pages  by NikG
 * - Add language settings button inside dropdown for non-content pages by NikG
 * - Update jquery.uls from upstream by Amir E. Aharoni

VisualEditor

 * - Update VE core submodule to master (225741274) by James D. Forrester
 * - selenium: Remove webdriverio npm package from the VisualEditor extension by Vaughn Walters
 * - Replace mediawiki.Uri with native URL (ArticleTarget) by Bartosz Dziewoński

Wikibase

 * - REST: Remove unused "old" StatementListSerializer by Jakob Warkotsch
 * - REST: Use StatementList read model in ItemData by Jakob Warkotsch
 * - Enable MediaWiki.Arrays.TrailingComma sniff by Lucas Werkmeister
 * - Explicitly set target on PropertyValueExpertsModule by Jon Robson
 * - Remove obsolete check for $wgKartographerEnableMapFrame by thiemowmde
 * - REST: Move ItemData to ReadModel namespace by Jakob Warkotsch
 * - REST: Introduce NewStatementReadModel by Jakob Warkotsch
 * - Use `static` in NewStatement to enable inheritance by Jakob Warkotsch
 * - REST: Remove superfluous offset checks by Jakob Warkotsch
 * - REST: Introduce StatementList read model by Jakob Warkotsch
 * - SECURITY: HTML-escape inner formatter in HtmlTimeFormatter by Lucas Werkmeister
 * - REST: Create read model for labels by Muhammad Jaziraly
 * - selenium: Remove webdriverio npm package from the WikiBase extension by Vaughn Walters
 * - Search results: Use parentheses message by Lucas Werkmeister
 * - REST: Refactor PropertyValuePairDeserializer by Ollie Shotton
 * - Add missing parentheses to vector search match text by Michael Große
 * - REST: Fix namespace interdependency by Ollie Shotton
 * - Simplify callback in HTMLForm tests by Lucas Werkmeister
 * - REST: Introduce a basic Statement read model by Ollie Shotton
 * - Consolidate tests into parametrized form by Michael Große

WikibaseLexeme

 * - Add more logging to unexpected exception being thrown by Michael Große
 * - Fix constant reference in RemoveSense by Lucas Werkmeister
 * - Remove obsolete TODO by Michael Große
 * - Bump new-lexeme after dependency updates by Marius Hoch
 * - selenium: Remove webdriverio npm package from the WikibaseLexeme extension by Vaughn Walters
 * - Fix test constructing HTMLFormField without parent by Jakob Warkotsch

WikibaseMediaInfo

 * - Avoid stats key collection name spam in "wbmi-mediasearch-entities" keys by Aaron Schulz
 * - Simplify MediaInfoEntityStatementsViewTest by Lucas Werkmeister

WikibaseQualityConstraints

 * - Set explicit targets of ResourceLoader modules by Lucas Werkmeister
 * - Update call to runScript.php by Amir Sarabadani

WikiLambda

 * - WikiLambda:Open link in the same tab by sushrith
 * - Minor updates in README file by dvrandecic
 * - fix missing results in metadata dialog by Julia Kieserman
 * - Fix typo in function editor definition description by gengh
 * - tests: Consolidate mw.track mocks into one place by James D. Forrester
 * - Add FE integration test for creating a Tester. by EWright
 * - Add FE integration tests for creating implementations.  by EWright
 * - Update function-schemata sub-module to HEAD (4093097)   by James D. Forrester
 * - selenium: Remove webdriverio npm package from the WikiLambda extension by Vaughn Walters
 * - link documentation page about "review process" by adesoji
 * - update function definition copy and mobile by Julia Kieserman
 * - Add wikilambdafn_limit parameter to wikilambdafn_search calls by gengh
 * - ZLabelsBlock: do not render language selector in viewmode by teleosteen

WikimediaMessages

 * - Remove messages for wmf-ops-monitoring by Taavi Väänänen
 * - Hooks: Don't try and run IPUtils::isValid on null by Reedy

Wikisource

 * - Enable Wikisource.org modules on mobile domain by Jon Robson

Wikistories

 * - selenium: Remove webdriverio npm package from the WikiStories extension by Vaughn Walters

MinervaNeue

 * - minerva.variables: Remove duplicated ones by mediawiki.skin.variables by Volker E
 * - Revert "Fixes issue with height in slideshow" by Jon Robson

Vector

 * - [Clean up] Remove CSS and HTML from cached TOC html by bwang
 * - Table of contents Collapse/Expand not working by Moh'd Khier Abualruz
 * - Update tableOfContents.js to rerender only the TOC contents rather than the entire pinnable element by Moh'd Khier Abualruz
 * - Followup to 4d1c0b89 Override PinnableElement behaviour at low resolutions. by Jan Drewniak
 * - Scale server-rendered search box with browser font size by Nicholas Ray
 * - Remove extra border that show in a page tools dropdown when a menu is hidden by bwang
 * - [Clean up] Remove unnecessary container and CSS in sticky header by bwang
 * - Convert @width-column-start-desktop and @width-column-start-desktop-wide to relative units by Nicholas Ray
 * - Override PinnableElement behaviour at low resolutions. by Jan Drewniak
 * - LanguageDropdown: Check if the page is in talk namespaces instead  by Func
 * - Table of contents elements should not be rendered where none available by Jon Robson
 * - Misc page tools visual fixes by bwang
 * - Use correct ID for table of contents in sticky header by Jon Robson
 * - Add default width and max width to dropdowns in modern Vector, preserve existing styles for legacy Vector by bwang
 * - Dead code elimination: updateDropdownMenuData by Jon Robson
 * - Components: StickyHeader by Jon Robson
 * - Factor out functions in PinnableElement.js by Jan Drewniak
 * - Components: Model table of contents in title bar. by Jon Robson
 * - Component: VariantsMenu by Jon Robson
 * - Component: UserLinks by Jon Robson
 * - Ensure TOC in sticky header has correct margin, refactor TOC styles to be more consistent by bwang
 * - Fix mustache template rendering when TOC is rerendered after an edit by bwang
 * - Remove vector-menu-dropdown-noicon class by Jon Robson
 * - Fix TOC scrollable indicator by bwang
 * - Fix alignment/spacing of grid column items  by bwang
 * - Fix alignment of searchbar by introducing CSS grid to the header on viewports greater than desktop-wide by bwang
 * - Page tools styling followup by bwang
 * - Refactor: Remove unnecessary function getULSButtonData by Jon Robson

VisualEditor/VisualEditor

 * - Update OOUI to v0.46.1 by Reedy

No changes

 * AbuseFilter
 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralAuth
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * Citoid
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * EntitySchema
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MediaModeration
 * MediaSearch
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NearbyPages
 * NewUserMessage
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * PdfHandler
 * Poem
 * PoolCounter
 * PropertySuggester
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * Score
 * Scribunto
 * SearchExtraNS
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateStyles
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TrustedXFF
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
296 Changes in 59 repos by 75 authors