MediaWiki 1.38/wmf.6/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.6 by trainbranchbot
 * - JobQueueRedis: Replace deprecated zSize with zCard by Paladox
 * - Reapply "Update user_touched after saving user options." by Ppchelko
 * - user: Add default value for all "variant" user option keys by Umherirrender
 * - OutputPage: Remove $wgLoggedOutMaxAge experiment and related tests by Tks4Fish
 * - Revert: "Update user_touched after saving user options." by Alexander Vorwerk
 * - Make TitleValue fields private by Petr Pchelko
 * - mediawiki.action.edit, mediawiki.page.watch.ajax: Move var declarations inline by Ed Sanders
 * - Consistent hyphenation of "case-sensitive" in messages by Amir E. Aharoni
 * - Split PageArchiveTest by Matěj Suchánek
 * - checkStorage: pass no parameters to WikiRevision::getContent by Universal Omega
 * - docker: Update dev images to newer version with Composer 2.x by Timo Tijhof
 * - build: Update mediawiki-codesniffer from v37.0.0 to v38.0.0 by Alexander Vorwerk
 * - RELEASE-NOTES-1.37: Note that we require PHP 7.4.2+ and not PHP 8.0 by James D. Forrester
 * - RELEASE-NOTES-1.37: Sync up with 1.37.0-rc.0 by Reedy
 * - CheckStorage: Annotate importRevision $revision parameter as being WikiRevision by Reedy
 * - CreditsAction: Minor code tweaks by Reedy
 * - Fix PHP warning with some inputs to wfCgiToArray by Bartosz Dziewoński
 * - Deprecate replaced PageArchive methods by Matěj Suchánek
 * - Fix checkStorage.php by Universal Omega
 * - Type-hint LinkTarget by Petr Pchelko
 * - ApiDelete: pass in page title to 'deleted-scheduled' message by MusikAnimal
 * - tests: Call parent tearDown at end of teardown in BackupDumperPageTest by Umherirrender
 * - Make live preview work when section=new&nosummary=1 by Nardog
 * - Hide deprecation on tests for ParserOutput::addWarning by Umherirrender
 * - Change return format of DeletePage entrypoints by Daimona Eaytoy
 * - Hard-deprecate remaining MWNamespace methods by Alexander Vorwerk
 * - mediawiki.action.edit.preview: Use same UX as in normal diff  by Fomafix
 * - file: Fix nullable documentation for property, args and return types by Umherirrender
 * - Don't pass nulls to CommentFormatter::formatStrings by Petr Pchelko
 * - Replace Content::getParserOutput call to ContentRenderer::getParserOutput by Roman Stolar
 * - mediawiki.page.ready: Fire hook 'wikipage.indicators' with children by Fomafix
 * - resourceloader: Replace outdated references to "globalEval" by DannyS712
 * - Promote 4 SkinTemplate methods to Skin, add getAction by jdlrobson
 * - mediawiki.Title: Regenerate phpCharMappings against plain PHP 7.2 by Petr Pchelko
 * - mediawiki.util: Improve docs with updated examples from wiki page by Timo Tijhof
 * - Replace deprecated JobQueueGroup::singleton in JobQueueEnqueueUpdate by Umherirrender
 * - HistoryBlobStub: add getLocation to get $mOldId by Universal Omega
 * - Change User::isAnon to !User::isRegistered in PageEditStash by Umherirrender
 * - Remove Title dependency from RenderedRevision by Petr Pchelko
 * - wfParseUrl: rely on parse_url for proto-relative urls by Petr Pchelko
 * - rdbms: mark getServerConnection as @internal by Aaron Schulz
 * - Use LocalFile::getHookRunner instead of LocalFile::hookRunner by Umherirrender
 * - media: Add missing false return types to doc by Umherirrender
 * - import/export: Add documentation for nullable arguments by Umherirrender
 * - Use correct default value when calling Status::getWikiText by Umherirrender
 * - Register omitted tracking categories by Matěj Suchánek
 * - Do not cache private wiki completion results by Nikki Nikkhoui
 * - Make ArchivedRevisionLookup a service by Matěj Suchánek
 * - Move methods from PageArchive to new ArchivedRevisionLookup by Matěj Suchánek
 * - Update user_touched after saving user options. by Petr Pchelko
 * - api: Inject services into ApiQuery class by Umherirrender

Vendor

 * - Bump parsoid to 0.15.0-a5  by sbailey
 * - Unbreak Parsoid: add missing files from f8485f48 by Subramanya Sastry

AbuseFilter

 * - Rename filter_timestamp index in a different file by Daimona Eaytoy
 * - Revert "Remove references to afl_filter" by Daimona Eaytoy

Babel

 * - Avoid using User::isBlocked by vladshapik

CentralAuth

 * - CentralAuthUserUsingDatabaseTest: don't construct CAUser by Petr Pchelko
 * - Inject ReadOnlyMode into a service and into two special pages by Alexander Vorwerk
 * - Use explicit mw.msg instead of implicit mw.message by Fomafix
 * - Rename GlobalRenameBlacklist config to denylist by Taavi Väänänen

CheckUser

 * - Remove two unused messages by Amir E. Aharoni

ChessBrowser

 * - Add XML args for starting state and perspective by wugapodes

CirrusSearch

 * - Revert "Allow LTR model params to be set publicly" by DCausse
 * - Unpack Hindi, Irish, and Norwegian Analyzers by tjones

cldr

 * - Move the default entry on generated data to top by Umherirrender
 * - Sort supplemental data on rebuild by Umherirrender
 * - Add a comment as header about generated content to each cldr file by Umherirrender

ContentTranslation

 * - Add tooltips to menu items by jdlrobson
 * - Fix two spelling mistakes by Niklas Laxström
 * - SXArticleSearch suggestedSourceLanguages: Rename composable and tests by NikG
 * - SX Dashboard initialization: Unwrap computed language pair before use by NikG
 * - SX mw.proxy: Add mock siteMapper/getCurrentWikiLanguageCode method by NikG
 * - stylelint: Add selector-class-pattern rule by Ed Sanders
 * - Use addPortletLink for injecting links by jdlrobson

Disambiguator

 * - Make 'Review link' open WikiEditor link insertion dialog if available by MusikAnimal

DiscussionTools

 * - Update watchlist checkbox when main watchstar is changed by Ed Sanders
 * - Rephrase 'apierror-discussiontools-commentname-ambiguous' by Bartosz Dziewoński
 * - Fix phrasing of 'tag-discussiontools-edit' message (unused) by Bartosz Dziewoński
 * - Add hint to empty state messages for user talk pages  by Bartosz Dziewoński
 * - ImmutableRange: Port over changes from upstream by Ed Sanders
 * - Remove parser cache splitting ('dtreply' option) by Bartosz Dziewoński
 * - Remove unused non-parser-cache mode by Bartosz Dziewoński

DonationInterface

 * - Only send debug messages from API if LogDebug is true by Andrew Green
 * - Apple Pay: allow rate-limiting session start API by Elliott Eggleston
 * - Revert "Revert FormSettings changes" by Elliott Eggleston
 * - Form chooser: only count submethods for selected method by Elliott Eggleston
 * - Add client-side debug messages to submission by Elliott Eggleston
 * - Avoid using wfGetMainCache by Alexander Vorwerk
 * - Revert FormSettings changes by Elliott Eggleston
 * - Update Endowment "Other ways to give" link by pcoombe
 * - Center Apple Pay button by Elliott Eggleston
 * - Add Apple Pay to recurring form settings by Elliott Eggleston
 * - Add Apple Pay to formSettings by Elliott Eggleston

EventBus

 * - Set supportsTypeAgnostic to true for the JobQueue class by Amir Sarabadani

ExtensionDistributor

 * - Replace deprecated global function wfGetCache by Alexander Vorwerk

FileImporter

 * - Replace deprecated Content::getParserOutput call to new one ContentRenderer::getParserOutput by Roman Stolar
 * - Change use of "suppressed" to "hidden" in fileimporter-revision-removed-text and fileimporter-revision-removed-comment by Dylsss

FlaggedRevs

 * - Create and make use RESTful interface for the review endpoint by vladshapik
 * - Replace deprecated Content::getParserOutput call to new one ContentRenderer::getParserOutput by Roman Stolar

Flow

 * - Merge style modules that are always loaded with ext.flow.styles.base by DannyS712
 * - Replace deprecated Content::getParserOutput call to new one ContentRenderer::getParserOutput by Roman Stolar
 * - Fix a few minor code style issues by Thiemo Kreuz

GeoCrumbs

 * - Replace use of deprecated ParserOutput:getProperty  by C. Scott Ananian

GrowthExperiments

 * - Add an image: edit summary by MewOphaswongse
 * - Patchdemo/CI: Add support for image suggestions by Kosta Harlan
 * - Add Image: Use title-based API endpoint by Gergő Tisza
 * - Structured Tasks: Use icons specific to the task type's difficulty by MewOphaswongse
 * - Add an image: Don't call the default deletion handler when ceRecommendedImageCaptionNode is empty by MewOphaswongse
 * - EditGrowthConfig: Add infobox templates field by Kosta Harlan
 * - ImageRecommendation: Add maxTasksPerDay setting by Kosta Harlan
 * - Update qqq for growthexperiments-addimage-inspector-skip-button by MewOphaswongse
 * - i18n: Add GENDER to growthexperiments-addimage-inspector-skip-button by Martin Urbanec
 * - Move PageConfigurationLoader::onPageSaveComplete to ConfigHooks by Martin Urbanec
 * - i18n: Links to translatable MW.org pages should use Special:MyLanguage by Martin Urbanec
 * - Add a link: Prevent edits from anonymous users by MewOphaswongse
 * - CreateAccountCampaign: Support for recurring donors by Kosta Harlan
 * - Add an image: Basic inline caption functionality by MewOphaswongse
 * - Define documentable types in eslintrc instead of inline by Ed Sanders
 * - Add last_active field to UncachedMenteeOverviewDataProvider by Gergő Tisza

InputBox

 * - Use // comments in LESS by Fomafix

IPInfo

 * - Increase test coverage for GeoIP2 information by tsepothoabala
 * - blockInfoRetriever: Use BlockManager::getIPBlock by Sam Smith

JsonConfig

 * - Replace deprecated global function wfGetCache by Alexander Vorwerk

Kartographer

 * - Use Html::rawElement instead of openElement/closeElement by Fomafix
 * - Remove title on msg->parse call by WMDE-Fisch
 * - Use LanguageNameUtils in TagHandler by WMDE-Fisch
 * - Remove not needed qualifier from class namespace by WMDE-Fisch

LiquidThreads

 * - LqtDiscussionPager: Remove deprecated usage of setProperty by Abijeet

MachineVision

 * - Write to file list as script runs rather than at the end by Cormac Parle

MassMessage

 * - Lookup: Continue the PSR-4 directory restructure for autoloading by Derick Alangi
 * - Replace deprecated Content::getParserOutput call to new one ContentRenderer::getParserOutput by Roman Stolar

MediaSearch

 * - Convert all "message" object to be plain Text by Simone This Dot
 * - Namespace filter label misaligned on FF by seddon
 * - Refactor the URI.query by Simone This Dot
 * - Refactor the URI.query by Simone This Dot

MobileApp

 * - Minor code cleanup by Reedy
 * - Swap AbuseFilterVariableHolder for namespaced VariableHolder by Reedy

MobileFrontend

 * - Replace usage of deprecated global function wfReadOnly by Alexander Vorwerk
 * - identifyLeadParagraph: Skip over invisible template paragraphs by Ed Sanders
 * - Drop unstyledContent OutputPage property by jdlrobson
 * - Swap AbuseFilterVariableHolder for namespaced VariableHolder by Reedy

MultimediaViewer

 * - Remove method_exists calls on $file by Reedy

Nuke

 * - Queue deletion job instead of trying to delete the pages  by Amir Sarabadani

PageImages

 * - Replace deprecated Content::getParserOutput call to new one ContentRenderer::getParserOutput by Roman Stolar

ProofreadPage

 * - Fix html-comment regexes in tests by Petr Pchelko

PropertySuggester

 * - Fail on search backend errors when using wbsgetsuggestions by David Causse

QuickSurveys

 * - Survey no longer rendered if user says no thank you by Maggie Epps

RelatedArticles

 * - Use namespaced Disambiguator Hooks class by Reedy

Score

 * - DeleteOldScoreFiles: Output Status using error by Reedy
 * - Add some simple chunking/batching for delete/update operations by Reedy
 * - I'm not sure score files count as "fancy" by Reedy
 * - Fix description of UpdateLYFileHeaders.php by Reedy

Scribunto

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

SpamBlacklist

 * - Replace deprecated Content::getParserOutput call to new one ContentRenderer::getParserOutput by Roman Stolar

StopForumSpam

 * - Swap AbuseFilterVariableHolder for namespaced VariableHolder by Reedy

TemplateSandbox

 * - build: Disable phan option scalar_implicit_cast and make pass by Umherirrender
 * - Replace deprecated Content::getParserOutput call to new one ContentRenderer::getParserOutput by Roman Stolar

TemplateStyles

 * - Override ContentHandler::fillParserOutput instead of Content::getParserOutput and TextContent::getHtml. by Alexander Vorwerk

timeline

 * - Input may be null when rendering a self-closing tag ` ` by Bartosz Dziewoński

TorBlock

 * - Swap AbuseFilterVariableHolder for namespaced VariableHolder by Reedy

Translate

 * - Special:ActiveLanguages: Fix lang attribute for message documentation by João Carvalho
 * - Update version for MLEB 2021.10 by Abijeet
 * - MessageHandle: Improve handling of spaces in getInternalKey by Abijeet
 * - PageTitleRenamer: Fix handling of page namespace change by Abijeet
 * - Add VisualEditor support for Translate by Isabelle Hurbain-Palatin
 * - Update %MESSAGE_URL% to return the complete URL by Abijeet
 * - Replace deprecated global function wfGetCache by Alexander Vorwerk
 * - Move var declarations inline by Ed Sanders
 * - Special:Translate Pass context to localise group label by Niklas Laxström
 * - Merge ext.translate.recentgroups into ext.translate.special.translate by DannyS712
 * - SpecialManageGroups: Fix renames appearing multiple times by Abijeet

TranslationNotifications

 * - Replace deprecated global function wfGetCache by Alexander Vorwerk

TwoColConflict

 * - Merge single use tour dependency into ext.TwoColConflict.SplitJs by Thiemo Kreuz
 * - Use DefaultUserOptions from extension registry instead of hook by Thiemo Kreuz

UniversalLanguageSelector

 * - Update language name search data by Niklas Laxström
 * - Update version for MLEB 2021.10 by Abijeet
 * - Language name search: Avoid searching for very long search keys by Santhosh Thottingal
 * - Merge jquery.webfonts into ext.uls.webfonts.repository by DannyS712

UrlShortener

 * - Avoid using User::isBlocked by vladshapik

VisualEditor

 * - Use for the outline part headers by WMDE-Fisch
 * - Make text fields and related information accessible to screen readers by Svantje Lilienthal
 * - Rework all code using template type related conditions by Thiemo Kreuz
 * - Add title to sidebar search by WMDE-Fisch
 * - Add a11y label to sidebar parameter selection by WMDE-Fisch
 * - Update VE core submodule to master (7e8550432) by Bartosz Dziewoński
 * - Use cheaper jQuery constructor for minor template param label by Thiemo Kreuz
 * - Set aria-multiselect on OutlineParameterSelectWidget by WMDE-Fisch
 * - Update VE core submodule to master (b50ed2975) by Bartosz Dziewoński
 * - Don't try to focus a removed template parameter by Thiemo Kreuz
 * - Handle annotation tags as nodes rather than metaitems. by Isabelle Hurbain-Palatin
 * - Give skins/extensions ability to trigger VisualEditor by jdlrobson
 * - Change template dialog hotkeys by WMDE-Fisch
 * - Workaround to prevent removing the selected item by Adam Wight
 * - Update VE core submodule to master (386526a35) by James D. Forrester
 * - Fix rendering of render-less templates in preview snippets by Ed Sanders
 * - Fix unintentional raw HTML message by Bartosz Dziewoński
 * - Move var declarations inline by Ed Sanders
 * - Fix strange dialog title when using `subst:` by Thiemo Kreuz
 * - Fix/cleanup template dialog methods dealing with parts vs. items by Thiemo Kreuz

Wikibase

 * - Update documentation for useChangesTable option by Michael Große
 * - Remove unused getSettings call by Lucas Werkmeister
 * - Add some more stats to DispatchChanges job by Michael Große
 * - Use term “site global ID” more consistently in docs/ by Lucas Werkmeister
 * - Use __METHOD__ instead of __FUNCTION__ by Lucas Werkmeister
 * - Fix metric collection in ResubmitChanges.php maint script by Michael Große
 * - Catch CannotCreateActorException in InjectRCRecords by Lucas Werkmeister
 * - Warn before returning null in ExternalUserNames wiring by Lucas Werkmeister
 * - Document requirement on item and property source by Lucas Werkmeister
 * - Support non-numeric entity IDs in MockRepository by Lucas Werkmeister
 * - Mention removed config settings in 1.38 release notes by Lucas Werkmeister
 * - Remove wb_changes_dispatch table by Lucas Werkmeister
 * - Update documentation for new Change Dispatching mechanism by Michael Große
 * - Remove no-longer-used repo dispatch settings by Lucas Werkmeister
 * - Add EntitySearchException by David Causse
 * - Remove dispatchLagToMaxLagFactor repo setting by Lucas Werkmeister
 * - Remove old DispatchStats code by Lucas Werkmeister
 * - Create service to hold the hook container by Dat
 * - RecentChangeFactory: Add missing 'rc_logid' value by Bartosz Dziewoński
 * - New DispatchStats special page by Michael Große
 * - Remove dispatchViaJobs repo setting by Lucas Werkmeister
 * - Remove dispatchViaJobsPruneChangesTableInJobEnabled repo setting by Lucas Werkmeister
 * - Remove dispatchViaJobsAllowedClients repo setting by Lucas Werkmeister
 * - Remove traces of dispatchingLockManager repo option by Lucas Werkmeister
 * - Update deprecated calls in ShortDescHandler by Lucas Werkmeister
 * - Override ContentHandler::fillParserOutput instead of Content::getParserOutput. by Roman Stolar
 * - Fix ChangeHandlerTest for non-English languages by Lucas Werkmeister
 * - Replace deprecated TitleFactory::newFromIDs by TChin
 * - Enable dispatching via jobs by default by Lucas Werkmeister
 * - Fix ExternalUserNames service wiring for local database by Lucas Werkmeister
 * - Use explicit mw.msg instead of implicit mw.message by Fomafix
 * - Remove all the old dispatching code by Amir Sarabadani
 * - Empty dispatchChanges.php and pruneChanges.php by Lucas Werkmeister
 * - Start 1.38 release notes with change dispatch migration by Lucas Werkmeister
 * - Make labels of Lua test items less confusing by Lucas Werkmeister

WikibaseCirrusSearch

 * - Add override method ::newEmptyContent. by Roman Stolar

WikibaseLexeme

 * - Require mw.wikibase in mw.wikibase.lexeme.lua by Lucas Werkmeister
 * - Extract Scribunto_LuaWikibaseLexemeAbstractEntityLibrary by Lucas Werkmeister
 * - Track “all” usage for whole Lexeme instead of Sense/Form by Lucas Werkmeister
 * - Bump eslint-plugin-promise from 5.1.0 to 5.1.1 by Addbot
 * - Change function declarations to Lua style by Lucas Werkmeister
 * - Add Lua module for Senses by Lucas Werkmeister
 * - Add Lua module for Forms by Lucas Werkmeister
 * - Make LexemeContent::getEntityHolder public. Add override method LexemeHandlerTest::newEmptyContent. by Roman Stolar

WikibaseLexemeCirrusSearch

 * - Add override method ::newEmptyContent. by Roman Stolar

WikibaseMediaInfo

 * - Escape captions when writing stored data into js state by Cormac Parle
 * - Use shortcut mw.msg( ... ) instead of mw.message( ... ).text by Fomafix
 * - explicitly declare 2 message dependencies in wikibase.mediainfo.statements by AntiCompositeNumber
 * - Make MediaInfoContent::getEntityHolder public. by Roman Stolar

WikiLambda

 * - ApiQueryZObjectsTest: Fix order of some assertEquals calls – expected then test by James D. Forrester
 * - Update function-schemata sub-module to HEAD (bc54941)     by James D. Forrester
 * - Update Persistent object to use a string not a reference for Z2K1 by Simone This Dot
 * - Remove deprecated methods from ZObjectFactory by gengh
 * - Remove unnecessary tests on GenericZObjectsTest and fix OptionalKeysTest by gengh
 * - Provide a custom UX for Z4 by Simone This Dot
 * - README: Explain how to bring in our composer dependencies by apine
 * - Navigating backward after landing on the Function editor does not work by adesoji
 * - docs: Switch hyphens for endashes for consistency by James D. Forrester
 * - Move all development/ scripts into maintenance/ for consistency by James D. Forrester
 * - Add ZObjectFactory tests for all creation methods by gengh
 * - Decouple validation and ZObject creation to use function-schemata validator   by gengh
 * - Change "zObject" to "ZObject" in a message by Amir E. Aharoni
 * - AUTHORS: Update for October 2021 by James D. Forrester
 * - extension.json: Change docker-compose config for 2.x by James D. Forrester

WikimediaEvents

 * - Use config option to over sample DesktopWebUIActionsTracking events for logged in users by bwang

WikimediaMaintenance

 * - addwiki: fix DatabaseLookup namespace by Alexander Vorwerk

MinervaNeue

 * - Remove MinervaTemplate::getSecondaryActions by bwang
 * - Move components files up one level into Skins directory by jdlrobson
 * - Remove getPageActionsHtml and related methods by jdlrobson
 * - Drop wgMinervaPageActions by jdlrobson
 * - Restore title to mobile skin without logo by jdlrobson
 * - Move skins.minerva.content.styles into skins.minerva.base.styles by Vadim Kovalenko
 * - Make missing links in tabs red like all other skins by Inductiveload

Vector

 * - Remove duplicate `vector-menu-dropdown` class by Nicholas Ray
 * - Combine return paths in getLanguagesCached by Fomafix
 * - ES6-ify sticky header code by jdlrobson
 * - Separate code from ES6 browsers from ES5 code by jdlrobson
 * - Make dropdown menus toggle with enter key by Nicholas Ray
 * - Sticky header: Add user page link to user menu in sticky header by jdlrobson
 * - Vector should be notified by addPortletLink to collapsible where needed by jdlrobson
 * - [a11y] Add title attributes to logout, talk and history and DRY up code. by jdlrobson

VisualEditor/VisualEditor

 * - Prevent iOS Safari from re-focusing the doc when clicking on links by Ed Sanders
 * - Update language lists by Ed Sanders
 * - Follow-up Ibac94edb: Fix offsets when rebuilding attachedRoot by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * Cite
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * CodeReview
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * DismissableSiteNotice
 * DoubleWiki
 * DynamicSidebar
 * Echo
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventLogging
 * EventStreamConfig
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MapSources
 * Math
 * MediaModeration
 * Modern
 * MonoBook
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageNotice
 * PageTriage
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * Quiz
 * RSS
 * ReadingLists
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SiteMatrix
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TrustedXFF
 * UploadWizard
 * UploadsLink
 * UserMerge
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMessages
 * Wikisource
 * XAnalytics
 * intersection
 * wikihiero

Total changes
284 Changes in 62 repos by 72 authors