MediaWiki 1.38/wmf.24/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.24 by trainbranchbot
 * - MessageCache: Move LanguageConverterFactory call from wiring to constructor by Umherirrender
 * - Show pager date headers to screen-readers by Bartosz Dziewoński
 * - ReverseChronologicalPager: Group by dates in the user's timezone by Bartosz Dziewoński
 * - Add wrappers around pagers grouped by date by Bartosz Dziewoński
 * - api-testing: Remove 'matched_title' check by Nikki Nikkhoui
 * - Revert "htmlform: Replace some uses of isHidden to isDisabled" by Func
 * - Remove change tags for media additions/removals by Matthias Mullie
 * - block: Add a limit to DatabaseBlockStore::purgeExpiredBlocks by Amir Sarabadani
 * - rdbms: Remove deprecated and unused function assertIsWritableMaster by Amir Sarabadani
 * - Push down date header code from IndexPager to ReverseChronologicalPager by Bartosz Dziewoński
 * - build: Update 'svgo' to latest v2.8.0 by Volker E
 * - Add the Pannonian Rusyn language (rsk) by Amir E. Aharoni
 * - Improve documentation in tables.json about file metadata by Umherirrender
 * - block: Avoid use of null block id and blocker by Umherirrender
 * - Fix various documentation related to null types by Umherirrender
 * - jobqueue: JobQueueDB::jobFromRow cannot return null by Umherirrender
 * - installer: Fix docs for getInfoBox/label by Umherirrender
 * - http: Fix return types in MwHttpRequestToResponseInterfaceAdapter by Umherirrender
 * - LanguageConverter: Fix a deprecation and avoid some use of phan suppression by Func
 * - ContentHandler: Use ParserOutputAccess for accessing ParserOutput by Amir Sarabadani
 * - Language: Document StubUserlang in methods that accept it by Ammarpad
 * - Hard-deprecate Article::doDelete by Daimona Eaytoy
 * - composer.json: Add ext-simplexml to require-dev by Reedy
 * - composer.json: Add ext-calendar to require by Reedy
 * - Filter out "LocationShown" from image metadata by Simone This Dot
 * - Remove TrivialLanguageConverter::__construct type hint by Gergő Tisza
 * - Remove LanguageConverterFactory::instantiateConverter type hint by Gergő Tisza
 * - In parserTests.php, load test extension classes by Tim Starling
 * - mediawiki.base: Remove deprecated stateful Message#toString by Timo Tijhof
 * - tests: Change use of AtEase to at operator by Timo Tijhof
 * - mediawiki.base: Rewrite old mw.Message documentation by Timo Tijhof
 * - i18n: Adjust Special:UserRights messages to refer to user groups not rights by Taavi Väänänen
 * - Replace some more usages of Wikimedia\(suppress|restore)Warnings by Reedy
 * - preferences: Use a faster and simpler form descriptor when validating by Func
 * - api: Fix documenation/types related to null and int types by Umherirrender
 * - Use ObjectFactory in LanguageConverterFactory by Umherirrender
 * - Fix UserGroupManager::listAllGroups returning duplicates by Taavi Väänänen
 * - Convert SearchFormWidget namespace checkboxes to OOUI by dylsss
 * - mediawiki.special.search.styles: Don't break columns inside checkboxes by Bartosz Dziewoński
 * - tests: Replace some usages of Wikimedia\(suppress|restore)Warnings by Reedy
 * - maintenance: Replace some usages of Wikimedia\(suppress|restore)Warnings by Reedy
 * - reassignEdits: Only UPDATE tables if there's rows to update by Reedy
 * - Revert "Show message fallback keys when using &uselang=qqx" by Elliott Eggleston
 * - benchmarkTruncate.php: Make script work copying from tables with prefixes by Reedy
 * - Should be possible to use Linker static functions without global context by Jon Robson
 * - resourceloader: Document optimisation in WikiModule::isKnownEmpty by Timo Tijhof
 * - build: Update to QUnit 2.18 by Timo Tijhof
 * - ApiSandbox: Fix issues with non-plaintext labels by Bartosz Dziewoński
 * - build: Set package.json name by Kosta Harlan
 * - config-schema: Define types for all arrays. by daniel
 * - Add "grep.php" to search pages for a regex by Tim Starling
 * - Remove unnecessary TestingAccessWrapper from SkinComponentTableOfContentsTest by Nicholas Ray
 * - resourceloader: Add regression test for long strings and regexes by Timo Tijhof
 * - resourceloader: Fix jsminplus regex recursion by Tim Starling
 * - Allow config merge strategies to be bypassed. by daniel
 * - Make Skin::getSearchInputAttributes internal by Jon Robson
 * - ReverseChronologicalPager: Fix displaying date headers for non-revisions by Bartosz Dziewoński
 * - Avoid references to DefaultSettings. by daniel
 * - Add validation for abstract schema by mainframe98
 * - rdbms: Move another batch of transaction management code by Amir Sarabadani
 * - ApiDelete: add option to delete associated talk page by Dayllan Maza
 * - CommentParser: Optimise operation order (cache before isAlwaysKnown) by Ammarpad
 * - resourceloader: Pass exports parameter to package modules by Roan Kattouw
 * - api-testing: Run all jobs in a few more tests by Kosta Harlan
 * - Pass SettingsBuilder into config callbacks. by daniel
 * - EditPage: Support Special:MyLanguage for preload param by Niklas Laxström
 * - ParserOutput: Use page language instead of site content language for conversion by Func
 * - LinkBatch::getPageIdentities: Fix return type by Gergő Tisza
 * - api: Remove ApiQueryBlocks::prepareUsername by Umherirrender
 * - block: Replace DateTime::createFromFormat by wfTimestamp by Umherirrender
 * - ParserOutput: implement the abstract ContentMetadataCollector interface by C. Scott Ananian
 * - [Take 2] Refactor menu navigation construction"" by Jon Robson
 * - Fix documentation about mode for ContentSecurityPolicy Hooks by Umherirrender
 * - ParserOutputAccess: Check for latest revision when checking for cache by Amir Sarabadani
 * - Linker: Compact rollback edit count related code by Thiemo Kreuz
 * - SpecialUndelete: Do not show empty comments as deleted by dylsss

Vendor

 * - Revert league/oauth2-server to 61d770dc284898ea2905d66e12f8f7e5f6664092 by Reedy
 * - Bump parsoid to 0.15.0-a22   by Arlo Breault

AbuseFilter

 * - Use new namespace for MediaWiki\Revision\RevisionLookup by Umherirrender
 * - Normalize logged parser error messages by Daimona Eaytoy
 * - Improve wording for throttled filter warnings by Daimona Eaytoy
 * - Update description of AbuseFilterEmergencyDisableThreshold by Matěj Suchánek
 * - Improve debug messages of loading ext. links by Matěj Suchánek

AdvancedSearch

 * - build: Drop qunit devDependency, seemingly unused by James D. Forrester
 * - build: Update QUnit from 2.17.2 to 2.18.0 by James D. Forrester

AntiSpoof

 * - Remove global namespaced class aliases by Reedy

ApiFeatureUsage

 * - Namespace extension by Reedy

CategoryTree

 * - CategoryTree: Use Category::getMemberCount from core by Ammarpad

CentralAuth

 * - Add centralauth-suppress permission by Alexander Vorwerk
 * - Drop Special:UsersWhoWillBeRenamed by Alexander Vorwerk
 * - Set default for globaluser.gu_enabled when inserting by Umherirrender
 * - tests: Call IDatabase::timestamp before inserting rows by Umherirrender
 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy
 * - Update ContentSecurityPolicy* hooks doc by Alexander Vorwerk
 * - Normalize some log messages by Taavi Väänänen
 * - SECURITY: Ignore cached CentralAuthUser entries with expired groups by Taavi Väänänen
 * - SECURITY: Fix ttl for groups expiring in the future by Alexander Vorwerk
 * - attachAccount: Use fatalError rather than output and exit by Reedy
 * - Standardise type for timestamp columns by Umherirrender

CheckUser

 * - Use namespaced GuidedTourLauncher by Reedy

CirrusSearch

 * - ext.cirrus.serp: Use "wikipage.content" instead of mw.util.$content by Timo Tijhof
 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy
 * - integration: move @expect_failure from one test to the full update_weight_api feature by Erik Bernhardson
 * - DataSender::sendUpdateWeightedTags: Allow omitting tags by Gergő Tisza
 * - UpdateWeightedTags: Add batch mode by Gergő Tisza

Citoid

 * - Namespace extension by Reedy

CodeMirror

 * - Highlight tags in link text by bhsd
 * - Namespace extension by Reedy

CodeReview

 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

ContentTranslation

 * - SXTranslationListLanguageSelector: Add missing lang attribute by Santhosh Thottingal
 * - Fix: contenttranslationlangtrend API fails with Internal DBQueryError by Santhosh Thottingal
 * - SX entrypoints: Autogenerate sql file for cx_significant_edits table by NikG
 * - For sections with MT misuse issue, validate it on content updates by Santhosh Thottingal
 * - CX: Add "cx_significant_edits" table to support entrypoint by NikG

CreditsSource

 * - Namespace extension by Reedy

DiscussionTools

 * - Warn when target comments in a link can't be found by Bartosz Dziewoński
 * - Highlight all comments since the oldest in a thread bundle by Ed Sanders
 * - Mobile: Only show "Add discussion" button if "New section" tab would be shown on desktop by Bartosz Dziewoński
 * - Fix check for enabling features on mobile by Bartosz Dziewoński
 * - Mobile config: Always enable reply/newtopic tools on mobile, disable subscriptions by Ed Sanders
 * - Avoid undefined index for mobileformat by Ed Sanders
 * - Fix legacy hint URI on mobile by Ed Sanders
 * - Don't insert comment markers inside replaced elements (like ` `)  by Bartosz Dziewoński
 * - Don't detect comments within references by Bartosz Dziewoński

DismissableSiteNotice

 * - Namespace extension by Reedy

DonationInterface

 * - Add dedicated IPDenyListFailScore by jgleeson
 * - Update translation from wikimediafoundation.org by wfan
 * - E-mail Preferences Center header, footer and styling  by Andrew Green
 * - Email Prefs center - use expiring checksum by Elliott Eggleston

Echo

 * - build: Update 'svgo' to latest v2.8.0 by Volker E

EntitySchema

 * - selenium: Reenable some long-disabled tests by Lucas Werkmeister

EventBus

 * - Use new namespace for MediaWiki\Revision\RevisionSlots by Umherirrender

EventLogging

 * - Move support for POST data from sendBeacon back to submit by Timo Tijhof

FlaggedRevs

 * - ext.flaggedRevs.review: Restore tolerance when setting "disabled" prop by Timo Tijhof
 * - Use namespaced Database class by Umherirrender

Flow

 * - Use new namespace for MediaWiki\Revision\RevisionRecord by Umherirrender
 * - Use namespaced IDatabase class by Umherirrender
 * - Use namespaced GuidedTourLauncher by Reedy
 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

GeoCrumbs

 * - Namespace extension by Reedy

GlobalCssJs

 * - Use new namespace for MediaWiki\Revision\RevisionRecord by Umherirrender

Graph

 * - ve.dm.MWGraphModel: Fix invalid assert.throws call in test by Timo Tijhof

GrowthExperiments

 * - GLAM event: update landing page icon by MewOphaswongse
 * - GLAM event: enableCampaign should set image recommendation task type by Kosta Harlan
 * - GLAM event: landing page by MewOphaswongse
 * - Mentor dashboard: Mark mentor-tools as stable by Martin Urbanec
 * - build: Update 'svgo' to latest v2.8.0 & re-crush images by Volker E
 * - Use new namespace for MediaWiki\SpecialPage\SpecialPageFactory by Umherirrender
 * - Use new namespace for MediaWiki\Revision\RevisionLookup by Umherirrender
 * - HomepageHooks: Micro-optim around onMessageCache__get and other hooks by Timo Tijhof
 * - phpunit: Add some tests for VariantHooks by Kosta Harlan
 * - Help panel dialog: use mock only for getTaskTypes by Sergio Gimeno
 * - GLAM event: use GrowthExperimentsCampaignConfig for QualityGateDecorator and PageConfigurationLoader by MewOphaswongse
 * - LocalSearchTaskSuggester: Make sure search errors are serializable by Gergő Tisza
 * - GrowthArticleTopicFeature: Accept any topic by Gergő Tisza
 * - GLAM event: Show CampaignTopic for users in the campaign by MewOphaswongse
 * - Structured task: Don't show dialog for confirming leaving suggestions mode upon rejection by MewOphaswongse
 * - Add an image: add "confirm_reject_suggestion" action by MewOphaswongse
 * - Newcomer tasks: Add CampaignTopic by Gergő Tisza
 * - tests: Mock wgArticleId instead of relying on SpecialPage value by Timo Tijhof

GuidedTour

 * - build: Update 'svgo' to latest v2.8.0 by Volker E

ImageMap

 * - Account for strtok boolean return type by Arlo Breault
 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

Insider

 * - Namespace extension by Reedy

intersection

 * - Use namespaced Database class by Umherirrender

IPInfo

 * - Use namespaced IDatabase class by Umherirrender
 * - Restore default preferences when beta feature enabled/disabled by Thalia
 * - Update ipinfo log line copy by STran
 * - Create a log entry when the LogHandler is called by tsepothoabala

Josa

 * - Namespace extension by Reedy

Kartographer

 * - Replace use of deprecated ParserOutput::addJsConfigVars by C. Scott Ananian
 * - build: Update 'svgo' to latest v2.8.0 by Volker E
 * - Make live data test setup more readable by Thiemo Kreuz
 * - Disable broken test by Gergő Tisza

LdapAuthentication

 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

Linter

 * - Delete lint errors when blank page saved while changing content type by sbailey
 * - Account for all lintable contentmodels after contentmodel change by Arlo Breault
 * - Delete lint error records when content model changes from wikitext by sbailey

Listings

 * - Namespace extension by Reedy

MachineVision

 * - Use new namespace for MediaWiki\Revision\RevisionStore by Umherirrender

MapSources

 * - Namespace extension by Reedy

MassMessage

 * - Use new namespace for MediaWiki\Revision\RevisionStore by Umherirrender

MobileFrontend

 * - Toggler: Use getObject/setObject to handle JSON serialisation by Ed Sanders
 * - Use new namespace for MediaWiki\Revision\RevisionRecord by Umherirrender
 * - Toggler: Remove old localStorage code by Ed Sanders
 * - Fix documentation typo by Ed Sanders
 * - build: Update QUnit from 2.17.2 to 2.18.0 by James D. Forrester
 * - Editor init: Use wgAction instead of query string action by Ed Sanders

MultimediaViewer

 * - build: Update 'svgo' to latest v2.8.0 by Volker E
 * - Namespace extension by Reedy

NavigationTiming

 * - tests: Avoid loadCallback in tests and re-enable onMwLoadEnd test by Timo Tijhof
 * - tests: Improve stability and visibility of emitCpuBenchmark test by Timo Tijhof
 * - ext.navigationTiming: Use early return for isRegularNavigation by Timo Tijhof
 * - ext.navigationTiming: Change $.each to Array#forEach by Timo Tijhof

NearbyPages

 * - Swap AutoloadClasses for AutoloadNamespaces by Reedy

NewUserMessage

 * - Namespace extension by Reedy

OATHAuth

 * - Explicitly specify SQL columns to SELECT by Kunal Mehta
 * - Add basic tests for TOTPKey by Kunal Mehta
 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy
 * - SECURITY: Use constant time checks for token values by sbassett

OAuth

 * - composer.json: Pin league/oauth2-server to commit by Reedy

PagedTiffHandler

 * - Drop unused PagedTiffHandlerRenderCommand hook by James D. Forrester

PageTriage

 * - Replace deprecated JobQueueGroup::singleton by Umherirrender

Popups

 * - build: Update 'svgo' to latest v2.8.0 & re-crush images by Volker E

RevisionSlider

 * - build: Update 'svgo' to latest v2.8.0 by Volker E

RSS

 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

Scribunto

 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

SearchExtraNS

 * - Namespace extension by Reedy

SecurePoll

 * - Add optional comment box to the end of the vote form  by Tim Starling
 * - Improve dependency injection into Ballot classes by Tim Starling
 * - Add table and script for UCoC ratification vote by Reedy

SpamBlacklist

 * - Use new namespace for MediaWiki\Revision\SlotRecord by Umherirrender
 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

SubPageList3

 * - Namespace extension by Reedy

SubpageSortkey

 * - Namespace extension by Reedy

TemplateStyles

 * - Use namespaced quietCall by Reedy

TheWikipediaLibrary

 * - Namespace remaining classes by Reedy

TimedMediaHandler

 * - Use namespaced Database class by Umherirrender
 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy
 * - Use namespaced quietCall by Reedy
 * - Add CC and duration labels on top of the placeholder by Derk-Jan Hartman

timeline

 * - Namespace extension by Reedy

TitleBlacklist

 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

TorBlock

 * - Migrate AbuseFilter-filterAction hook to AbuseFilterAlterVariables by Daimona Eaytoy

Translate

 * - Rename SpecialPageMigration to MigrateTranslatablePageSpecialPage by Abijeet
 * - Avoid writing to objectcache table by Amir Sarabadani
 * - TranslationEntitySearch: Add parameter to fetch specific entity types by Abijeet
 * - Dry out preprocessing in tag hooks by Arlo Breault
 * - Strip tags from source when preprocessing by Arlo Breault
 * - Disable translation helper for user without rights by Gee

TwoColConflict

 * - build: Update 'svgo' to latest v2.8.0 by Volker E

UniversalLanguageSelector

 * - build: Update 'svgo' to latest v2.8.0 & re-crush images by Volker E
 * - Update jquery.ime and jquery.uls from upstream by Amir E. Aharoni

UploadWizard

 * - Use namespaced Database class by Umherirrender

VipsScaler

 * - Namespace extension by Reedy
 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy

VisualEditor

 * - Make sure postEdit hook doesn't fire until after saveComplete is done by David Lynch
 * - Don't let MobileFrontend show abandonedit after saveComplete by David Lynch
 * - Add section fragment to keyboard help link by WMDE-Fisch
 * - Fix bad visualization of empty suggested value by Thiemo Kreuz
 * - ApiVisualEditor: Support Special:MyLanguage for preload param by Thalia
 * - ApiVisualEditorTest: Avoid using VirtualRESTServiceClient by Thalia
 * - Update VE core submodule to master (a75d285a8) by James D. Forrester
 * - Update VE core submodule to master (492815b58) by Ed Sanders
 * - Avoid undefined index for mobileformat by David Lynch
 * - Never collapse newly added templates in transclusion dialog by Thiemo Kreuz
 * - MobileSaveDialog: Also add 'content' class to preview panel by Ed Sanders

Wikibase

 * - Add more directories for eslint to ignore by Jakob Warkotsch
 * - REST: Enable end-to-end tests via Mocha JS by Ollie Shotton
 * - Revert "LexiData: add parameter to copyright translation message" by Lucas Werkmeister
 * - Update Termbox (CI fix) by Lucas Werkmeister
 * - LexiData: add parameter to copyright translation message by Noa wmde
 * - Update to Node 12.21.0 as CI has migrated by James D. Forrester
 * - REST: extend Wikibase PHPCS config in rest-api dir by Jakob Warkotsch
 * - REST: First getItem happy path by Ollie Shotton
 * - REST: Set up dir and autoload namespaces by Jakob Warkotsch

WikibaseLexeme

 * - Revert "Provide csrf token to NewLexeme form" by Urbanecm
 * - Provide csrf token to NewLexeme form by Michael Große

WikibaseMediaInfo

 * - Use new namespace for MediaWiki\Revision\RevisionStore by Umherirrender
 * - build: Update QUnit from 2.9.3 to 2.18.0 by James D. Forrester
 * - Remove fulltext score normalization by Matthias Mullie

WikibaseQualityConstraints

 * - Bump grunt-stylelint from 0.16.0 to 0.17.0 by Addbot
 * - Bump stylelint-config-wikimedia from 0.11.1 to 0.12.2 by Addbot
 * - Bump unexpected from 12.0.3 to 12.0.4 by Addbot

Wikidata.org

 * - build(deps-dev): bump grunt-stylelint from 0.16.0 to 0.17.0 by Addbot

WikiEditor

 * - insertlink: Set url mode of title field when switching between modes automatically  by Func
 * - Remove unused deprecated module "jquery.throttle-debounce" by Ed Sanders

WikiLambda

 * - jest: Clean up the ignores and explain why we do so by James D. Forrester
 * - Apply correct spacing and positioning on function heading by adesoji
 * - Update function-schemata sub-module to HEAD (370b9cb) by James D. Forrester
 * - Validation tests: Enable LIST meta-schema by James D. Forrester
 * - Add @codeCoverageIgnore directives to some trivial files we can't test by James D. Forrester
 * - API: Improve coverage reports by ignoring structural methods by James D. Forrester
 * - fix the publish function to show hand on button and redirect after clicking publish  by jkieserman
 * - Update function-schemata sub-module to HEAD (650770f)  by James D. Forrester
 * - Validation tests: Don't try to use the Z10 and Z7_backend schemas, going away by James D. Forrester

WikimediaBadges

 * - build(deps-dev): bump grunt-stylelint from 0.16.0 to 0.17.0 by Addbot

WikimediaEvents

 * - build: Update eslint-config-wikimedia to 0.22.1 by Ed Sanders
 * - mobileWebUIActions: Minor optims that simplify and reduce indirection by Timo Tijhof

WikimediaIncubator

 * - Use renamed SpecialRandomPage class by Umherirrender
 * - Fix escaped HTML showing on Special:IncubatorFirstSteps by Jon Harald Søby

WikimediaMaintenance

 * - Replace usages of Wikimedia\(suppress|restore)Warnings by Reedy
 * - createExtensionTables.php: Update path for translate's tables by Martin Urbanec

WikimediaMessages

 * - Remove obsolete message overrides for Special:UsersWhoWillBeRenamed by Alexander Vorwerk
 * - Use namespaced GuidedTourLauncher by Reedy
 * - Add overrides for 2FA disabled notification by Kunal Mehta

MinervaNeue

 * - build: Update 'svgo' to latest v2.8.0 & re-crush images by Volker E
 * - Use new namespace for MediaWiki\SpecialPage\SpecialPageFactory by Umherirrender
 * - Deprecate MobileMenu hook by Jon Robson
 * - Search icon should be part of search form for grade C browsers by Jon Robson

MonoBook

 * - build: Update 'svgo' to latest v2.8.0 & re-crush images by Volker E

Nostalgia

 * - Namespace skin by Reedy

Timeless

 * - build: Update 'svgo' to latest v2.8.0 by Volker E

Vector

 * - build: Update 'svgo' to latest v2.8.0 & re-crush images by Volker E
 * - Hide sticky header and ULS button in print mode by bwang
 * - Add icon classes to portlet links without IDs by BrandonXLF
 * - Use TOC template data for showing collapsible section arrows by bwang
 * - Revert "Improve jsdoc for tableOfContents.js and sectionObserver.js" by Nicholas Ray
 * - Switch order of sidebar menu and article toolbar in DOM by bwang
 * - Improve jsdoc for tableOfContents.js and sectionObserver.js by Nicholas Ray
 * - Clean up: Remove ts-ignores in stickyheader.js by bwang

WikimediaApiPortal

 * - Use new namespace for MediaWiki\SpecialPage\SpecialPageFactory by Umherirrender

VisualEditor/VisualEditor

 * - build: Update QUnit from 2.16.0 to 2.18.0 by James D. Forrester
 * - ve.ce.Surface: Fix error on load when document has no content offsets by Bartosz Dziewoński
 * - Show copy button when selecting focusable nodes on mobile by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * Cite
 * CiteThisPage
 * CodeEditor
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * CongressLookup
 * ContactPage
 * Dashiki
 * Disambiguator
 * DoubleWiki
 * DynamicSidebar
 * Elastica
 * ElectronPdfService
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoData
 * GlobalBlocking
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * InputBox
 * Interwiki
 * InterwikiSorting
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LiquidThreads
 * LocalisationUpdate
 * LoginNotify
 * Math
 * MediaModeration
 * MediaSearch
 * MobileApp
 * Modern
 * Newsletter
 * Nuke
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * ProofreadPage
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * SandboxLink
 * Score
 * SecureLinkFixer
 * ShortUrl
 * SiteMatrix
 * StopForumSpam
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TocTree
 * TranslationNotifications
 * TrustedXFF
 * UploadsLink
 * UrlShortener
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikidataPageBanner
 * WikimediaApiPortalOAuth
 * WikimediaEditorTasks
 * Wikisource
 * XAnalytics
 * cldr
 * wikihiero

Total changes
306 Changes in 90 repos by 67 authors