MediaWiki 1.40/wmf.27/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.27 by trainbranchbot
 * - ParserTestRunner: don't silently skip missing files in --updateKnownFailures by C. Scott Ananian
 * - TransformHandler: Load stashed page bundle based on ETag.  by daniel
 * - Use Bcp47Code when interfacing with Parsoid by C. Scott Ananian
 * - OutputPage: Update alternate URL comments for interlanguage links by Winston Sung
 * - Preserve non-PageBundle metadata set by Parsoid by C. Scott Ananian
 * - RELEASE-NOTES-1.40: Add/correct node CI library changes, too by James D. Forrester
 * - RELEASE-NOTES-1.40: Add Parsoid upgrades (a little ahead of schedule) by James D. Forrester
 * - RELEASE-NOTES-1.40: Alpha-sort libaries by James D. Forrester
 * - Follow-up 654d1d0d: Also note langconv addition in REL-NOTs by James D. Forrester
 * - Follow-up b8f7407b2: Also note upgrade in REL-NOTs by James D. Forrester
 * - rdbms: various fixes to LoadBalancer::reconfigure by Aaron Schulz
 * - Allow marking recent changes about logged actions with bot flag by Matěj Suchánek
 * - Add renameUsersMatchingPattern.php by Tim Starling
 * - Renameuser: mostly rewrite the maintenance script by Tim Starling
 * - Renameuser: tweaks and followups by Tim Starling
 * - Renameuser: use MovePage::moveSubpagesIfAllowed by Tim Starling
 * - mail: Move SpecialEmailUser business logic to a new class by Daimona Eaytoy
 * - resources: Merge mediawiki.action.delete into mediawiki.misc-authed-ooui by Umherirrender
 * - Deprecate ParserOutput::{get,set}TOCHTML by C. Scott Ananian
 * - Add ParserOutput::getLanguage by C. Scott Ananian
 * - Add support for metadata options in Parsoid integrated mode (separate section) by C. Scott Ananian
 * - ParserTestRunner: use TOCData::prettyPrint for 'showtocdata' by C. Scott Ananian
 * - Sync up core repo with Parsoid by C. Scott Ananian
 * - objectcache: remove deprecate BagOStuff::incr method by Aaron Schulz
 * - mediawiki.Uri: Document potential for corrupting the fragment by Gergő Tisza
 * - AbstractBlock: Hard-deprecate accessing block IDs cross-wiki by Alexander Vorwerk
 * - objectcache: remove deprecate BagOStuff::decr method by Aaron Schulz
 * - specials: Show count of remaining characters for long revdel reasons by Umherirrender
 * - action: Show count of remaining characters for long delete reasons by Umherirrender
 * - composer: Bump wikimedia/alea to 1.0.0; drop bcp-47-code dev-dependency by C. Scott Ananian
 * - Revert "Revert "TransformHandler: Load stashed page bundle based on ETag."" by Subramanya Sastry
 * - [core] Menus: Make Tabs template fully-data driven to support upcoming navigation restructure work by Moh'd Khier Abualruz
 * - ResourceLoader: Silence new encodeJson warning for $states array by Timo Tijhof
 * - mediawiki.page.ready: Avoid error in fixViewportForTabletDevices by Fomafix
 * - Remove deprecated Language::commafy and mw.language.commafy by Fomafix
 * - Deprecate ParserOutput::getCategories by C. Scott Ananian
 * - Fix typo in RELEASE-NOTES-1.40 w/r/t ParserOptions deprecation by C. Scott Ananian
 * - Ensure categories are returned as strings by C. Scott Ananian
 * - WebStart: Document output buffering in wfWebStartSetup by Aaron Schulz
 * - Renameuser: refactoring round 2 by Tim Starling
 * - Renameuser: refactoring round 1 by Tim Starling
 * - specials: Remove unneeded modul addition on SpecialContributions by Umherirrender
 * - Follow-up 0f13e81a1: Fix namespace of FileDeleteForm by James D. Forrester
 * - Deprecate global function wfReportTime by Fomafix
 * - parser: Remove dead safe-guard from LinkHolderArray by thiemowmde
 * - SrConverter: add test case for initial and final roman numerals by C. Scott Ananian
 * - Don't clear LanguageConverter display title when converting ToC  by C. Scott Ananian
 * - preferences: Use `em` instead of `px` to improve skin compatibility by Bartosz Dziewoński
 * - mediawiki.less: Introduce @opacity-icon-subtle & deprecate `-accessory` by Volker E
 * - Link temporary account names to user:contribs by csimiyu
 * - Revert "TransformHandler: Load stashed page bundle based on ETag." by Subramanya Sastry
 * - media: code style improvements by Derk-Jan Hartman
 * - Add GENDER to logentry-renameuser-renameuser-legacier by Amir E. Aharoni
 * - Treat $wgHooks as a regular setting by daniel
 * - Various minor code style and doc cleanups in LinkHolderArray by Thiemo Kreuz
 * - Add Obolo (ann), Nogai (nog), and Wolaytta (wal) languages   by Amir E. Aharoni
 * - Tests: treat wgHooks like a regular config variable. by daniel
 * - OutputPage: Remove unused $IP override in test case by Timo Tijhof
 * - Hard-deprecate manual construction of LinkBatch objects by Umherirrender
 * - rdbms: tweak the refresh probability in LoadMonitor by Aaron Schulz
 * - rdbms: Rename internal ServerInfoHolder to ServerInfo by Timo Tijhof
 * - rdbms: Log warning when isWriteQuery needs to resort to regexes by Timo Tijhof
 * - objectcache: Remove $wgMainWANCache and $wgWANObjectCaches  by Timo Tijhof
 * - Mark Parsoid configuration classes @internal by C. Scott Ananian
 * - mediawiki.less: Introduce `@opacity-icon-base--disabled` by Volker E
 * - OutputPageTest: override config consistently by daniel
 * - EnConverter: Process manual language conversion rules in Pig Latin by C. Scott Ananian
 * - refreshLinks: Add verbose option by samtar
 * - OutputPage: Avoid abbreviation in documentation by Ed Sanders
 * - ResourceLoader: Make internal encodeJsonForScript private by Timo Tijhof
 * - Mobile Special:Preferences: Don't apply buttons styles to section headers in no-JS by Ed Sanders
 * - Mobile Special:Preferences: Improve CSS selectors by Ed Sanders
 * - Stats: add copy to statsd feature by Cole White
 * - RELEASE-NOTES-1.40: Hoist maintenance change to top by James D. Forrester
 * - rdbms: make LBFactoryMulti actually support "DEFAULT" in "sectionsByDB" by Aaron Schulz
 * - Language: Hard-deprecate Language::factory/getParentLanguage by Umherirrender
 * - rdbms: simplify query group selection in LoadBalancer::getConnection by Aaron Schulz
 * - Minor optimizations to MediaWiki::schedulePostSendJobs by Aaron Schulz
 * - htmlform: Skip array query parameter on HtmlForm::addHiddenField by Umherirrender

Vendor

 * - Bump wikimedia/parsoid to 0.17.0-a21   by Subramanya Sastry
 * - Upgrading lcobucci/jwt (4.1.5 => 4.3.0) by Reedy
 * - Upgrading ramsey/collection (1.2.2 => 1.3.0) by Reedy
 * - Bump parsoid to 0.17.0-a20 and zest-css to 3.0.0       by C. Scott Ananian

AbuseFilter

 * - Re-add BC alias for the VariableHolder class by Daimona Eaytoy
 * - Re-add #mw-abusefilter-syntaxresult by xiplus
 * - Make Ace filter editor resizable by Jean-Luc Hassec
 * - UserRenameHandler: Use core RenameUser classes by Taavi Väänänen
 * - Clean up database access in non-deployed code by Matěj Suchánek

CampaignEvents

 * - Factor a new method out of EditEventCommand::doEditUnsafe by Daimona Eaytoy
 * - Don't reset participant registration time when visibility changes by Daimona Eaytoy
 * - build: phpcs should only process php files by Antoine Musso
 * - Use DeleteEventCommand upon event page deletion by Daimona Eaytoy
 * - Accept positive timezone offsets without + sign by Daimona Eaytoy
 * - Add basic caching to EventStore by Daimona Eaytoy
 * - Make sure that event pages are not cached beyond the event end date by Daimona Eaytoy
 * - Move Rest messages to a separate file by Amir E. Aharoni
 * - Make the registration header not vary by user for logged-out requests by Daimona Eaytoy
 * - Add E2E API tests for updating registration and registering by Daimona Eaytoy
 * - Add E2E API test for enabling an event registration by Daimona Eaytoy
 * - Use the OOUI calendar icon for the registration confirmation email by Daimona Eaytoy
 * - Do not accept malformed time zone offsets in edit registration form by Daimona Eaytoy
 * - Make the participants list on EventDetails more similar to the proto by Daimona Eaytoy
 * - Fix crash in MWPermissionsLookup with anons by Daimona Eaytoy
 * - Add support for multiple organizers to the API by Daimona Eaytoy
 * - Add support for multiple organizers to the frontend by Daimona Eaytoy
 * - Add support for multiple organizers, backend only by Claudio Melo

CentralAuth

 * - Remove "mark entries as bot" hack by Martin Urbanec
 * - CentralAuth: Add renameUsersMatchingPattern.php by Tim Starling

CentralNotice

 * - Fix fix test for opted out banner types by Andrew Green
 * - Fix test for opted out banner types by Andrew Green
 * - Update references to MessageGroups::class by wangombe
 * - selenium: Remove webdriverio npm package by Vaughn Walters
 * - Avoid deprecated override for IndexPager::makeLink by Bartosz Dziewoński
 * - Banner editor: use mw.notify by tacsipacsi

CheckUser

 * - Consistent spacing in list wikitext in a message by Amir E. Aharoni
 * - Display "Show IP" buttons when using diff keywords by jaycano
 * - Add block reason dropdown to Special:CheckUser's checkuserblock form by dreamyjazz

CirrusSearch

 * - SearcherTest: avoid setting wgHooks directly by daniel
 * - Map Romanian s&t with comma to cedilla internally by tjones

Cite

 * - Update output of diff test by Ed Sanders
 * - Enable integrated testing with Parsoid by Subramanya Sastry
 * - ve-cite: Show $originalRefList even if there are no refs in the model by Ed Sanders
 * - Add small gap between reference body and re-use warning by Ed Sanders

Citoid

 * - Use displayBothIconAndLabel:false instead of title:null by Ed Sanders

ContentTranslation

 * - SX: Support multiple translation work deletion at once by NikG
 * - Allow suppressing SX invitation dialog via JS variable by Gergő Tisza

DiscussionTools

 * - Clicking "reply" was broken by David Lynch
 * - Allow overflow from section containers on mobile  by David Lynch
 * - Disable section toggling on mobile when replying by Ed Sanders
 * - Support '&preload=...' etc. in new topic tool when '&dtpreload=1' is set by Bartosz Dziewoński

DonationInterface

 * - Add explanation for india recurring ondemand only charge monthly by wfan
 * - T331680 by varnent
 * - Update SmashPig dependency by Elliott Eggleston
 * - India recurring di configs by wfan
 * - Don't error on payment_submethod="" by Elliott Eggleston
 * - Add card type warning for recurring Brazil donors by Elliott Eggleston

EntitySchema

 * - Update mediawiki PHPCS config to 41.0.0 by Michael Große
 * - Update phan to 0.12.0 by Michael Große

FileImporter

 * - Remove unused defaults from PHPUnit test setups by thiemowmde
 * - Update MediaWiki CodeSniffer to version 41.0.0 by thiemowmde

FlaggedRevs

 * - FlaggableWikiPage: inline $callback by tacsipacsi
 * - Replace deprecated constant GAID_FOR_UPDATE by thiemowmde

GlobalBlocking

 * - Refactor block error messages for clarity by AnaïsGueyte

GlobalPreferences

 * - tests: Explicitly disable main cache in one test suite by Timo Tijhof

GlobalWatchlist

 * - selenium: Refactor WebdriverIO tests from sync to async mode by Željko Filipin

GrowthExperiments

 * - Leveling Up: Get Started Notification by Kayla Morgan
 * - Bulk mentor reassignment won't spam RecentChanges by Msz2001
 * - Post edit panel: avoid showing the toast success message twice by Sergio Gimeno
 * - PostEditPanel: Adjust display of no-results image by Kosta Harlan
 * - Leveling up: Disallow push notifications by Gergő Tisza
 * - Leveling up: Disable push notifications by default by Gergő Tisza
 * - Leveling up: Fix non-suggested post-edit dialog hiding logic by Gergő Tisza
 * - Suggested edits: Document SmallTaskCard task parameter as optional by Gergő Tisza
 * - Generalize ScoreCard(s) Vue components by Martin Urbanec
 * - Personalized praise: Add backend for settings by Martin Urbanec
 * - Post edit panel: do not wait for tasks request to show the panel by Sergio Gimeno
 * - Post edit panel: extract the fallback card construction to a separate method by Sergio Gimeno
 * - TourHooks: Set new impact discovery to seen for all created accounts by Kosta Harlan
 * - Suggested edits: Difficulty filter improvements by Gergő Tisza
 * - PostEdit: Use shouldShowLevelingUpFeatures utilty method by Kosta Harlan
 * - Suggested edits: Change post-edit no suggestions message by Kayla Morgan
 * - i18n: Adjust wording for Growth features notifications by Kosta Harlan
 * - config: Make GELevelingUpKeepGoingNotificationSendAfterSeconds an int by Kosta Harlan
 * - Mentor filters: Work around MariaDB query planner fail by Gergő Tisza
 * - Newcomer tasks: Update change tag links by Gergő Tisza
 * - User impact: Work around MariaDB query planner bug by Gergő Tisza
 * - Leveling up: check if the task type is registered before increasing its edit count by Sergio Gimeno
 * - Do not store state on another extension's object by Gergő Tisza
 * - trynewtask: Implement instrumentation requirements by Kosta Harlan
 * - Add link: Enable prioritizing underlinked tasks by default by Gergő Tisza
 * - postedit: Show try new task dialog after multiple edits without page reload by Kosta Harlan
 * - Post edit panel: check if help panel is loaded before closing by Sergio Gimeno
 * - Post edit panel: add missing OOUI icon set dependency by Sergio Gimeno
 * - i18n: Add strings for get started notification  by Kosta Harlan
 * - i18n: Add messages for post-edit variant  by Kosta Harlan
 * - levelingup: Keep going notification  by Kosta Harlan
 * - Topics match mode: update the match mode in the FiltersStore by Sergio Gimeno
 * - Leveling up: Hide postedit-nonsuggested drawer when editing by Gergő Tisza
 * - Leveling up: Suppress CX invite on non-suggested post-edit notice by Gergő Tisza
 * - tests: Disable main cache in several test suites by Timo Tijhof
 * - Leveling up: Detect post-edit reload in mobile wikitext editor by Gergő Tisza

ImageMap

 * - Sync up ImageMap repo with Parsoid by C. Scott Ananian

Kartographer

 * - Cleaner structure for the HTML rendering code in LegacyMapFrame by thiemowmde
 * - Use MainConfigNames::… constants where possible by thiemowmde
 * - Allow to use Special:Map without zoom by thiemowmde
 * - Fix placement of double-bordered "thumb" images in popups by thiemowmde
 * - Add absolute minimum alternative texts to static map images by thiemowmde

LiquidThreads

 * - use core Renameuser classes by Alexander Vorwerk

Math

 * - Fix for sideset case by Stegmujo
 * - Catch all exception during rendering by Moritz Schubotz (physikerwelt)
 * - Add minimal native MML mode by Moritz Schubotz (physikerwelt)

MobileFrontend

 * - Use URL instead of mw.Uri in mobile.init by Gergő Tisza
 * - Flag post-edit reloads in the wikitext editor by Gergő Tisza

OAuth

 * - build: Remove pinning of indirect lcobucci/jwt dependency by Timo Tijhof

PageImages

 * - Update parserTests to new format for 'property' option by C. Scott Ananian

PageTriage

 * - build: Updating npm dependencies by Umherirrender
 * - Use ParserOutput::getCategoryNames instead of ::getCategories by C. Scott Ananian
 * - maintenance: Adjust query builder to account for no secondary namespaces  by Kosta Harlan
 * - tests: Set main cache to CACHE_NONE by Kosta Harlan
 * - Drop support for UserMerge extension by Kosta Harlan

Phonos

 * - stylelint: Auto-fix selector-pseudo-element-colon-notation by James D. Forrester
 * - CountOrphanedFiles: add 'wikis' flag, use API:Siteinfo for Phonos check by MusikAnimal
 * - countOrphanedFiles.php: Handle exception for bad sites table data by TheresNoTime
 * - PhonosButton.js: sync progress animation with playback speed by MusikAnimal
 * - Remove $wgPhonosStoreFilesAsMp3 by MusikAnimal
 * - Store usage of Phonos files as page properties  by MusikAnimal

SearchVue

 * - Mobile Quick View: Show interwiki links for the article by Simone Cuomo

SecureLinkFixer

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

SyntaxHighlight_GeSHi

 * - Document the linelinks attribute and load JS when used by Ed Sanders

TemplateSandbox

 * - Use HookContainer::scopedRegister instead of $wgHooks by daniel
 * - Set preview and other context variables for VE preview by Derk-Jan Hartman

TimedMediaHandler

 * - TimedMediaIframeOutput: Disable new SecurityCheck-XSS phan error by James D. Forrester

Translate

 * - Use HookContainer to register hooks. by daniel

UniversalLanguageSelector

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

VisualEditor

 * - Update VE core submodule to master (bcb501475) by Bartosz Dziewoński
 * - Fix line height in templates used dialog by Ed Sanders
 * - Update VE core submodule to master (7e95f6c58)   by Ed Sanders
 * - Update DirectParsoidClient to match BCP-47 changes in core by C. Scott Ananian
 * - Set editor preference even when disableForAnons is set by Ed Sanders
 * - Remove visualeditor-enable-experimental and ext.visualEditor.experimental by Ed Sanders
 * - Enable VE by default for 3rd party installs by Ed Sanders
 * - Remove unused user option 'visualeditor-enable-language' by Ed Sanders
 * - Fix incompatible skin reporting logic by Gergő Tisza
 * - Template context: Link to source templates in "Generated from:" list by Ed Sanders

Wikibase

 * - REST: Mark GetItemAliases as ready for use by Ollie Shotton
 * - bridge: reenable typescript in tests by Michael Große
 * - bridge: ignore typescript being unsure about array index being defined by Michael Große
 * - ApiListEntityUsageTest: Simplify DB data further by Lucas Werkmeister
 * - bridge: update typescript to 4.6 so it knows Array.protoype.at by Michael Große
 * - bridge: fix type inference in test by Michael Große
 * - bridge: don't use private function in tests by Michael Große
 * - bridge: make store in test mutable by Michael Große
 * - Wikibase Repository: Fix collapse button in sitelinks view by Winston Sung
 * - bridge: use type to select correct overload in test by Michael Große
 * - REST: Require sitelink URL in OpenAPI spec by Jakob Warkotsch
 * - REST: Include site link URL in serialization by Jakob Warkotsch
 * - REST: Use Aliases read model in ItemData by Jakob Warkotsch
 * - REST: Add spec tests for GET aliases route by Muhammad Jaziraly
 * - REST: Handle redirect/not-found for aliases by Muhammad Jaziraly
 * - REST: Improve ItemDataSerializerTest by Jakob Warkotsch
 * - tests: Disable main cache in UsageTrackingIntegrationTest by Timo Tijhof
 * - REST: Use SiteLinks read model in ItemData by Jakob Warkotsch
 * - ApiListEntityUsageTest: Simplify, only insert usages once by Marius Hoch

WikibaseCirrusSearch

 * - fulltext: include stemmed label field in the filter by David Causse

WikibaseQualityConstraints

 * - Bump sinon from 15.0.1 to 15.0.2 by Addbot

WikiEditor

 * - Don't do logging if MobileFrontend is active for the current page by David Lynch

WikiLambda

 * - UpdateImplementationsJob: Add even more logging by James D. Forrester
 * - i18n: Use '…' not '...' in two messages by James D. Forrester
 * - StandaloneHooksTest: Cover unlabelled edit in onMultiContentSave by James D. Forrester
 * - HooksTest: Cover non-NS_MAIN in onMultiContentSave by James D. Forrester
 * - HooksTest: Cover newer parts of registerExtension by James D. Forrester
 * - Enhance and make more consistent the logging around Tester runs by James D. Forrester
 * - ZObjectAuthorization: Turn commented-out wfDebugLog call to a proper log by James D. Forrester
 * - ApiPerformTestTest: Re-enable test of passing a non-implementation. by James D. Forrester
 * - Hooks::registerExtension: Add general rights to the namespace by James D. Forrester
 * - AUTHORS: Update for 2023-03-08 by James D. Forrester
 * - Follow-up 0650ad838: Fix more copyright messages to be consistent by James D. Forrester
 * - build: Rationalise compat/compat eslint rule by James D. Forrester
 * - Update function-schemata sub-module to HEAD (dfdb855) by James D. Forrester
 * - selenium-test: change assert to expect by nik-55
 * - tests: Update copyright notices for consistency by James D. Forrester
 * - Add logging statements for implementation ordering code by dmartin
 * - Rights: Let +sysops grant 'functioneer', and crats grant 'functionmaintainer' by James D. Forrester
 * - ZObjectSecondaryDataUpdate: Add FIXME for race condition by James D. Forrester
 * - create a default view for typed lists by Julia Kieserman
 * - ZObjectStore: Transition wfDebug calls to proper logs by James D. Forrester
 * - ApiPerformTest: Transition wfDebug calls to proper logs where we can by James D. Forrester
 * - ApiPerformTest: Re-use JobQueueGroup from Services where we can by James D. Forrester
 * - Testers on Implementations should be links by sushrith

WikimediaEvents

 * - Use EventLogging::submit to submit PrefUpdate events by Sam Smith

WikimediaMessages

 * - T331680 by varnent
 * - T331680 by varnent

Wikistories

 * - Use distinct sha1 for each file mocks in test by Stephane Bisson

MonoBook

 * - Don't include the "jump to (navigation|search)" links when copy-pasting article text by Jack Phoenix

Timeless

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

Vector

 * - Enable the pinning for anonymous users when page tools is enabled. by Nicholas Ray
 * - Fix inconsistencies in sticky header font-size and spacing by Ed Sanders
 * - [cleanup] Factor out bindPinnableBreakpoint for readability, ensure auto unpinning logic doesnt apply to TOC by bwang
 * - Removes old style rule by ksarabia
 * - [vector] Menus: Make Tabs template fully-data driven to support upcoming navigation restructure work by Moh'd Khier Abualruz
 * - T331680 by varnent
 * - Fixes missing account login in OfficeWiki by ksarabia
 * - Drop unused template and associated code by Jon Robson
 * - Extend new config flag to site styles by Jon Robson
 * - Add hash fragment support to table of contents by Nicholas Ray
 * - Break words for long links by Jon Robson
 * - Add logging to the add topic button when it's promoted to the header by David Lynch
 * - styles: Update opacity values to align with Codex design system by Volker E
 * - Update scroll threshold to be the same as scroll padding top  by bwang
 * - Switch order of "Add topic" and language dropdown by Ed Sanders
 * - Allow wikis to customize whether Vector skins share user scripts and styles by Jon Robson
 * - Remove skinStyles for wikibase.client module by Jan Drewniak
 * - Increase @scroll-padding-top to 75px by Jan Drewniak

WikimediaApiPortal

 * - T331680 by varnent
 * - T331680 by varnent
 * - Add support for temporary users by daniel
 * - Update node dependencies by cicalese

VisualEditor/VisualEditor

 * - ve.ui.DiffElement: Don't override margin on added/removed block elements by Bartosz Dziewoński
 * - ve.ui.TargetWidget: Fix type hint by Bartosz Dziewoński
 * - build: Upgrade stylelint-config-wikimedia from 0.13.1 to 0.14.0 by James D. Forrester
 * - Collapse no-change diff context in lists by Ed Sanders
 * - VisualDiff: Don't descend in non-tree nodes in tree diff by Ed Sanders
 * - CompletionAction/Widget: Factor out more methods for extensibility by Ed Sanders
 * - PreviewElement: Add a #beforeAppend method so nodes can be modified by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Echo
 * Elastica
 * ElectronPdfService
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * Flow
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalCssJs
 * GlobalUsage
 * GlobalUserPage
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * MediaModeration
 * MediaSearch
 * MinervaNeue
 * MobileApp
 * Modern
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * Popups
 * ProofreadPage
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * TemplateData
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * VueTest
 * WebAuthn
 * WikiLove
 * WikibaseLexeme
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
306 Changes in 50 repos by 79 authors