MediaWiki 1.38/wmf.9/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.9 by trainbranchbot
 * - Introduced settings sources and formats by Dan Duvall
 * - media: Avoid logspam in case of lack of 'data' in metadata by Amir Sarabadani
 * - Revert "media: Port DjVuImage::retrieveMetaData to use BoxedCommand" by Ladsgroup
 * - mediawiki.ui: Organize files by module bundle by Timo Tijhof
 * - Follow-Up: I10fbd4b6a: Update @since tags as those were backported by Alexander Vorwerk
 * - Create redirect Special Pages for delete and protect action by Alexander Vorwerk
 * - Increase memory limit for DjVu metadata by Amir Sarabadani
 * - Introducing SettingsBuilder for loading settings files.   by daniel
 * - Drop User methods which were deprecated since 1.35 by vladshapik
 * - media: Make new DjVu metadata handler more defensive by Amir Sarabadani
 * - media: Build and use JSON for metadata of djvu instead of XML  by Amir Sarabadani
 * - DeleteAction: properly handle the "page not found" case by Daimona Eaytoy
 * - Deprecate $hasHistory param to ContentHandler::getAutoDeleteReason by Daimona Eaytoy
 * - Upgrading guzzlehttp/guzzle (7.2.0 => 7.4.0) by Reedy
 * - Update wikimedia/minify to 2.2.5 by Timo Tijhof
 * - Update deprecated Guzzle Psr7 function calls by Reedy
 * - Use ParserCache for local file description renders by Petr Pchelko
 * - Move Content::prepareSave to ContentHandler by Roman Stolar
 * - resourceloader: Only load LanguageFallback data if module has languageScripts by Timo Tijhof
 * - DjVu: Update @since tag from 1.37 to 1.38 for $wgDjvuShell by Yuki Shira
 * - rdbms: rename Database::wasConnectionError and make it protected by Aaron Schulz
 * - rdbms: make Database transaction IDs more collision resistant by Aaron Schulz
 * - resourceloader: Fix indent in ResourceModules docs for "es6" option by Timo Tijhof
 * - objectcache: make CACHE_MEMCACHED alias "memcached-php" by Aaron Schulz
 * - Return instance from createMwApp.mount by Lucas Werkmeister
 * - Tweak error message for missing composer dependencies by wctaiwan
 * - objectcache: add watchErrors to BagOStuff/WANObjectCache by Aaron Schulz
 * - rdbms: Reduce time precision in DBPerformance messages to 3 digits by Timo Tijhof
 * - LockManager: distinguish conflicts from other kinds of lock errors by Tim Starling
 * - media: Port DjVuImage::retrieveMetaData to use BoxedCommand by Kunal Mehta
 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders
 * - resourceloader: Fix null type docs for FileModule::getPackageFiles by Umherirrender
 * - language: Use property LanguageConverter::mUserVariant for optimisation by Umherirrender
 * - Reapply "Move limit report rendering to ParserOutput" by Ppchelko
 * - RELEASE-NOTES-1.37: Prepare for 1.37.0-rc.2 by Reedy
 * - Drop User::getRights by vladshapik
 * - Revert "Move limit report rendering to ParserOutput" by Ppchelko
 * - LoginSignup: Add function for overriding benefits container by Kosta Harlan
 * - resourceloader: Use UserIdentity in some cases by Umherirrender
 * - Update doctrine/dbal versions by Reedy
 * - Make DeleteAction and FileDeleteAction share showForm by Daimona Eaytoy
 * - Add linkTrail for several Cyrillic-script languages by Amir Aharoni
 * - Add the Pa'O language (blk) to Names.php by Amir E. Aharoni
 * - ApiQuerySiteinfo: Fix "rightsinfo"/"url" when $wgRightsPage is set by Bartosz Dziewoński
 * - Vue: Add propsData parameter to Vue.createMwApp by Roan Kattouw
 * - ShellboxClientFactory: add RPCClient getters by Petr Pchelko
 * - ContentHandlerTest: Remove wfGetLangObj and test case from test by Fomafix
 * - registration: Let namespaces specify if they're includable by Kunal Mehta

Vendor

 * - Bump Parsoid to 0.15.0-a10    by sbailey
 * - Update guzzlehttp/* by Reedy
 * - Update wikimedia/minify to 2.2.5 by Timo Tijhof

CategoryTree

 * - ApiCategoryTree: Inject services by Fomafix

Cite

 * - Follow-up cf95dbd: Fix incorrect scope in loop by Ed Sanders
 * - build: Remove unused npm package fields by Timo Tijhof
 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders
 * - Move var declarations inline by Ed Sanders
 * - Move eslint client config to modules, fix warnings by Ed Sanders
 * - Use proper method for comparing linear data by Ed Sanders

Citoid

 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders

cldr

 * - Add Pa'O (blk) by Raymond

CodeReview

 * - Avoid using User::isBlocked by vladshapik

ConfirmEdit

 * - Replace deprecated methods IContextSource::getWikiPage && IContextSource::canUseWikiPage by Roman Stolar

ContentTranslation

 * - Revert "SX getInitialLanguagePair: Add debug logs to investigate issue" by Santhosh
 * - CX3 Build 0.1.0+20211115 by Santhosh Thottingal
 * - Optimize two JavaScript code paths by Thiemo Kreuz
 * - Prefer UserIdentity methods over User by Thiemo Kreuz
 * - Transition Gruntfile.js tasks to NPM scripts by Santhosh Thottingal
 * - Eslint: Ignore vue/no-v-html warnings by Santhosh Thottingal
 * - SX sentence selector: Scroll the selected sentence in to view by Santhosh Thottingal
 * - CX3 Build 0.1.0+20211108           by Santhosh Thottingal
 * - SX useDashboardInitialization: Fix missing variable bug by NikG

CreditsSource

 * - Fix url and message for creditssource-credits by xiplus

Disambiguator

 * - Update notification summary message to match similar one in WikiEditor by Sam Wilson
 * - Add CodeMirror compatibility to DisambiguatorNotifications by MusikAnimal

DiscussionTools

 * - Auto topic subscriptions disabled by default, enabled only for new users when out of beta by Bartosz Dziewoński
 * - First-run experience popup for automatic topic subscriptions by Bartosz Dziewoński
 * - Update the [subscribe] buttons when auto-subscriptions are added by Bartosz Dziewoński
 * - Automatic topic subscriptions (only for reply tool and new topic tool) by Bartosz Dziewoński
 * - Automatic topic subscriptions (on any edit) by Bartosz Dziewoński
 * - Messages for Automatic Topic Subscriptions feature by Ed Sanders
 * - Set a user preference to record whether the new topic tool has been used by David Lynch
 * - Avoid splitting about-groups starting with an empty  by Bartosz Dziewoński
 * - Test case for splitting about-groups starting with an empty  by Bartosz Dziewoński
 * - List methods not covered by unit tests in TODO sections by Ed Sanders
 * - Split DiscussionToolsEnableMobile=true into 'behind-overlay' and 'remove-overlay'   by Bartosz Dziewoński
 * - Suppress events from comments that are more than 10 minutes old by Ed Sanders
 * - CommentItem.php: Store timestamp object instead of string by Ed Sanders
 * - Handle window resize in debug mode by Ed Sanders
 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders

EntitySchema

 * - build: Remove phan exclusions, disable per-line instead by Umherirrender

EventBus

 * - build: Update npm package mocha by Umherirrender

ExtensionDistributor

 * - Add negative caching to Graphite stats requests by Kunal Mehta

FileImporter

 * - Use narrow UserIdentity/Authority interfaces where possible by Thiemo Kreuz
 * - Remove User and Title casts for ManualLogEntry by Umherirrender

Gadgets

 * - Re-apply "Make each gadget a separate preference, instead of one huge multiselect" by Bartosz Dziewoński

GlobalCssJs

 * - maintenance: Use 'ResoureLoader' service instead of unstable ctor call by Timo Tijhof

GlobalPreferences

 * - Change the way of fetching global preferences for Special:GlobalPreferences by Func
 * - Remove old and unused code and hover-state for local prefs by Sam Wilson
 * - Set initial state of local-exception disabling of preference by Sam Wilson
 * - Fix phpcs exclusion for private class member variables by Sam Wilson
 * - Handle loosly-boolean local exception values by Sam Wilson
 * - Remove use of User::setOption by vladshapik
 * - Disable no-jquery/no-sizzle rule and remove commented-out code by Sam Wilson

GrowthExperiments

 * - Allow for platform specific variant assignment by Kosta Harlan
 * - End linkrecommendation variant experiment by Kosta Harlan
 * - Avoid long filenames break save dialog layout by Sergio Gimeno
 * - Suggested edits: Allow disabling task types via community config #2 by Gergő Tisza
 * - Suggested edits: Allow disabling task types via community config by Gergő Tisza
 * - Suggested edits: Make dependencies internal for TaskTypesAbFilter.js by Gergő Tisza
 * - SpecialEditGrowthConfig: Add difflink to last edit by Gergő Tisza
 * - CI: Make ApiQueryMentorStatusTest fixture more fixed by Gergő Tisza
 * - CI: Generalize CirrusSearch mocking hack by Gergő Tisza
 * - Structured tasks: Document setAssociatedRevId side effects by Gergő Tisza
 * - Add an image: Update text color for caption field  by MewOphaswongse
 * - Add an image: update copy & QQQs for suggested edits module by MewOphaswongse
 * - Add an image: update copy & QQQs for AddImageCaptionInfoDialog by MewOphaswongse
 * - Add an image: Only update dialog size when it's shown by MewOphaswongse
 * - ServiceImageRecommendationProviderTest: Fix coverage tags by Kosta Harlan
 * - Add an image: update copy & QQQs for image inspector, rejection dialog, edit summary, caption UI    by MewOphaswongse
 * - Add Image: Track API performance by Sergio Gimeno
 * - Add Image: Suppress outline when canceling rejection dialog by Gergő Tisza
 * - Suggested edits: Un-promisify quality gates by Gergő Tisza
 * - Add an image: update onboarding copy text by Sergio Gimeno
 * - AwaySettingsDialog: Return a promise when saving by Martin Urbanec
 * - AwaySettingsDialog: Pause button should be enabled only when the form can be submitted by Martin Urbanec
 * - CreateAccountCampaign: Show/hide new HTML based on query param by Kosta Harlan
 * - Improve log method naming by Gergő Tisza
 * - Add Image: Save dialog icon color  by Gergő Tisza
 * - Add an image: update copy & QQQs for difficulty overlay by MewOphaswongse
 * - Add an image: caption changes by MewOphaswongse
 * - Mentor dashboard: Fix empty set handling in RC filter by Gergő Tisza
 * - Add an image: Prevent pasting outside of the caption box by MewOphaswongse
 * - Add an image: guidance content by Sergio Gimeno
 * - Check for ImageRecommendationTaskType to avoid PhanUndeclaredMethod by Kosta Harlan
 * - Check taskState before handling caption exit by Kosta Harlan
 * - Mentor tools: When AwaySettingsDialog is cancelled, set the dropdown back to active by Martin Urbanec
 * - Add image: Manage minimum caption length from task type by Kosta Harlan
 * - Add an image: caption length validation by MewOphaswongse
 * - Update Add Image schema version by Gergő Tisza
 * - Add Image: Image details dialog  by Gergő Tisza
 * - Avoid getContext in SpecialPage constructor by Umherirrender
 * - Move hack out of SpecialHomepage::__construct by Umherirrender
 * - Add an image: Update bullet style for AddImageCaptionInfoDialog by MewOphaswongse
 * - Include ext.growthExperiments.SuggestedEditSession as a depedency for modules that use StructuredTaskLogger by MewOphaswongse
 * - phpunit: Set GEHelpPanelHelpDeskTitle manually by Kosta Harlan
 * - MenteeOverviewDataUpdater: Use UserOptionsManager::saveOptions by Martin Urbanec

InputBox

 * - Use HookHandlers to inject services and replace global variables by Fomafix
 * - Use services from Parser by Umherirrender

IPInfo

 * - Make ext.ipInfo module's dependency on mediawiki.api explicit by Thalia
 * - Show country in the popup and infobox by AnaïsGueyte
 * - Add IPInfo popup on content hook by STran
 * - Add getCountry to Info by STran
 * - Set DefaultUserOptions for all preferences by Umherirrender

Kartographer

 * - Fix link on "type": "satellite" for mapper.acme.com by Fomafix
 * - Add missing tests for default zoom level 0 by Thiemo Kreuz
 * - Describe latitude/longitude in code documentation by Thiemo Kreuz

MachineVision

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender
 * - Make MachineVision work with the Vue 3 migration build by Simone This Dot

MediaSearch

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender
 * - Ensure media search shows the "no result found" banner by Simone This Dot

MobileFrontend

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender
 * - editor: Make inline logic more legible with ternary by Ed Sanders
 * - Drop special MobileFrontend licensing by jdlrobson
 * - build: Update wdio devDependencies by Ed Sanders
 * - Update overlay header to use flexbox instead of table by bwang

NearbyPages

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender

Popups

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender

ProofreadPage

 * - Show the page status controls for IPs, but disabled. by Inductiveload
 * - build: Upgrade mediawiki-phan-config to 0.11.1 by James D. Forrester
 * - Build prev/next link only from the TOC  by Tpt
 * - build: Upgrade mediawiki-codesniffer to 38.0.0 by James D. Forrester

QuickSurveys

 * - eslint: Lint server files with wikimedia/server by Ed Sanders
 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders

ReadingLists

 * - Prefer ->isRegistered over ->isAnon by Thiemo Kreuz

Scribunto

 * - Override ContentHandler::validateSave instead of Content::prepareSave. by Roman Stolar

TemplateStyles

 * - Override ContentHandler::validateSave instead of Content::prepareSave. by Roman Stolar

TheWikipediaLibrary

 * - Avoid TypeError when setting global prefernce by jsn
 * - Check local echo noficiation for duplicates by jsn
 * - Prevent duplicate notifications by jsn
 * - Use ConfigRegistry by jsn

Translate

 * - Special:Translate: On List tab open the first unit only on page load by Sébastien Beyou
 * - Avoid getContext in SpecialPage::__construct by Umherirrender
 * - TranslateReplaceTitle: Move to appropriate namespace by Abijeet
 * - Slight tweak to wording of message re: translation region in Visual Editor by C. Scott Ananian
 * - Introduced version check on VisualEditor features by Isabelle Hurbain-Palatin
 * - PageMigration: Handle invalid group when fetching translation units by Abijeet

UniversalLanguageSelector

 * - Update jquery.ime and jquery.uls from upstream by Amir E. Aharoni
 * - Update language name search data by Niklas Laxström
 * - Update jquery.ime and jquery.uls from upstream by Amir E. Aharoni
 * - Use .parseDom instead of .parse by Fomafix
 * - Update OpenDyslexic by Reedy

UploadWizard

 * - Add note explaining EXIF metadata by Simone This Dot

VisualEditor

 * - Update VE core submodule to master (cf04cc0ae) by Bartosz Dziewoński
 * - Move feedback icon to correct position in template dialog by Thiemo Kreuz
 * - Only use aria description on multipart transclusions by WMDE-Fisch
 * - Update VE core submodule to master (ef47d7814)  by Bartosz Dziewoński
 * - Fix specificity for mw-body-content in VE overlay by Ed Sanders
 * - Move misplaced close button back to standard position by Thiemo Kreuz
 * - Minor fixes to floating help dialog in desktop mode by Thiemo Kreuz
 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders
 * - Use a fullscreen help dialog for templates on mobile by Andrew Kostka
 * - selenium: The first test by Željko Filipin
 * - Implement floating help dialog for templates by Andrew Kostka
 * - Update shortcut to add a part in the template dialog, take #3 by Thiemo Kreuz
 * - assert.ok -> assert.true by Ed Sanders
 * - Update VE core submodule to master (d29db14ee) by Bartosz Dziewoński

Wikibase

 * - bridge: Use new wdio-wikibase by Michael Große
 * - Minor update to the package-lock.json format by Michael Große
 * - Make "fake" title replacement checks more robust and test them by Matěj Suchánek
 * - Use local namespace lookup in HtmlPageLinkRendererEnd by Matěj Suchánek
 * - Add DomainDb documentation to the docs folder by Noa wmde
 * - Remove “saved in parser cache” workaround by Lucas Werkmeister
 * - Fix LuaWikibaseIntegrationTest by Lucas Werkmeister
 * - Add termbox language codes aqg and mcn  by Remko de Keijzer

WikibaseLexeme

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender
 * - Selenium: Upgrade WebdriverIO to v7 by sahil
 * - Switch to new format for package-lock.json by Michael Große
 * - Selenium: consolidate test and guard against replication lag by Michael Große
 * - Selenium: consolidate replication functions by Michael Große
 * - Selenium: simplify ResourceLoader handling in before hook by Michael Große
 * - Selenium: work around "badtoken: Invalid CSRF token" error by Michael Große

WikibaseMediaInfo

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender
 * - Remove all references to "related concepts" feature by Matthias Mullie

WikibaseQualityConstraints

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender
 * - Bump eslint-config-wikimedia from 0.20.0 to 0.21.0 by Addbot
 * - Handle missing entities in EntitySelectorHookHandlerFactory by Lucas Werkmeister

WikiEditor

 * - Replace usage of ConfirmEdit_ActivateCaptcha random properties. by Roman Stolar
 * - Replace WebRequest::getVal by WebRequest::getRawVal by Fomafix
 * - Fix comma splice in a message by Amir E. Aharoni

WikiLambda

 * - Add example function call using the Pair type function by apine
 * - Update function-schemata sub-module to HEAD (1ba5259)  by James D. Forrester
 * - Function Editor headings should be "bolded" only if steps is completed by adesoji
 * - Make the UX for creating a user-defined type straightforward by Simone This Dot
 * - Add on-wiki example of a function call using a Typed List. by apine
 * - Update function-schemata sub-module to HEAD (c9a98a1)    by James D. Forrester
 * - Hooks::parserFunctionCallback: Use getValueByKey rather than direct access by James D. Forrester
 * - README: Suggest use of Docker Compose v2 by dr0ptp4kt
 * - phan: Remove/adjust phan exceptions now it's re-enabled by James D. Forrester

WikimediaEvents

 * - We need some way to distinguish namespaces by jdlrobson
 * - MobileWebUIActions tracks init event by jdlrobson
 * - Remove use of MEDIAWIKI_JOB_RUNNER by Timo Tijhof
 * - Update web UI scroll js by Clare Ming

WikimediaMessages

 * - Drop unused code path by jdlrobson
 * - Fix Flow and DiscussionTools licensing messages on Wikidata by Bartosz Dziewoński
 * - Fix Wikidata license link in mobile editor by jdlrobson
 * - Update language files to support Beta QA testing for QuickSurvey by gerrit:ellenr

Wikisource

 * - Default OCR to enabled, for easier patchdemoing by Sam Wilson

MinervaNeue

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender
 * - Remove SkinMinerva class properties by jdlrobson
 * - Remove MinervaTemplate class by Clare Ming
 * - Move header styles into header.less by bwang
 * - Fix external icon specificity by Volker E
 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders
 * - build: Update wdio devDependencies by Ed Sanders
 * - Partial revert "Fix spacing between icon + text in main menu" by Jdlrobson
 * - Use the message "portal" as the label for the "portal-url" link by xiplus
 * - Fix empty title for logged-out users using Minerva skin by xiplus
 * - Clean up MobileFrontend overlay skin styles by bwang

MonoBook

 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders
 * - skin.js: Add required dependency on mediawiki.user by Ed Sanders

Vector

 * - Revert "Fix font size in editor preview"  by Esanders
 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender
 * - Fix font size in editor preview by jdlrobson
 * - Use searchFooterText slot in typeahead search component by bwang
 * - Revert "Apply typography rules to `.mw-body-content` elements outside `.vector-body`" by Jdlrobson
 * - Add scroll event + init A/B test logging to sticky header, AB js by Clare Ming
 * - Apply typography rules to `.mw-body-content` elements outside `.vector-body` by jdlrobson
 * - Fix specificity of widespread `.external` selector by Volker E
 * - search: Prepare for Vue 3 migration by Roan Kattouw

WikimediaApiPortal

 * - build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 by Umherirrender

VisualEditor/VisualEditor

 * - Use no-jquery/no-html to warn against writing HTML strings to the DOM by Ed Sanders
 * - eslint: Enable no-jquery/no-append-html by Ed Sanders
 * - Inject meta tag to disable iOS tel: conversion in HTML head by Ed Sanders
 * - createDocumentFromHtml: Improve body wrapping logic with regex by Ed Sanders
 * - createDocumentFromHtml: Add test for wrapping logic by Ed Sanders
 * - Handle TargetWidget submit events in dialogs by Ed Sanders
 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralAuth
 * CentralNotice
 * CharInsert
 * CheckUser
 * ChessBrowser
 * CirrusSearch
 * CiteThisPage
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * CongressLookup
 * ContactPage
 * Dashiki
 * DismissableSiteNotice
 * DonationInterface
 * DoubleWiki
 * DynamicSidebar
 * Echo
 * Elastica
 * ElectronPdfService
 * EventLogging
 * EventStreamConfig
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FlaggedRevs
 * Flow
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MobileApp
 * Modern
 * MultimediaViewer
 * NavigationTiming
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageTriage
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * PropertySuggester
 * Quiz
 * RSS
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadsLink
 * UrlShortener
 * UserMerge
 * VipsScaler
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMaintenance
 * XAnalytics
 * intersection
 * timeline
 * wikihiero

Total changes
278 Changes in 52 repos by 75 authors