MediaWiki 1.41/wmf.19/Changelog

Core changes

 * - Branch commit for wmf/1.41.0-wmf.19 by trainbranchbot
 * - Make Shell::makeScriptCommand use run.php by daniel
 * - context: Simplify RequestContext::getSkin logic by Timo Tijhof
 * - Ignore parameters to OutputPage::setupOOUI and deduplicate calls by Tim Starling
 * - UploadBase: Improve wording in comments by Reedy
 * - diff: add padding to ins and del to avoid whitespace between lines by MusikAnimal
 * - generateConfigSchema.php: Enable canExecuteWithoutLocalSettings by Timo Tijhof
 * - GlobalFunctions: Update outdated wfScript docs by Timo Tijhof
 * - phpunit: Replace ad-hoc array in TestLocalisationCache with MapCacheLRU by thiemowmde
 * - revisiondelete: Use correct rev-del constants in Item/List classes by Umherirrender
 * - Simplify WHERE conditions with field IS NULL by Umherirrender
 * - Fix space after comma in single-line array declaration by Amir Sarabadani
 * - Fix attribution for "Localisation updates from https://translatewiki.net." by Winston Sung
 * - Remove isRegistered checks from some UserEditTracker callers by Thalia
 * - Make LocalisationCache::isMergeableKey cache static by thiemowmde
 * - Turn RevDelList::getSuppressBit into a constant by thiemowmde
 * - ResourceLoader: Factor out the loop body of makeModuleResponse by Tim Starling
 * - tests: Update Phan stub to php-excimer 1.1.1 by Timo Tijhof
 * - config: Widen `@covers` annotations in unit tests by Timo Tijhof
 * - HTMLFileCache: Remove `@throws` for unchecked exception by Timo Tijhof
 * - objectcache: Remove unused WRAPPER_COLLECTION_CALLBACK feature by Timo Tijhof
 * - Permissions: Clarify $useReplica assignment in checkUserBlock by Timo Tijhof
 * - Add UserIdentityUtils service by Tim Starling
 * - UserEditTracker: Prefer getId over isRegistered by Timo Tijhof
 * - LocalisationCache: Move internal static data to private constants by thiemowmde
 * - WRStats: Round up SequenceSpec::hardExpiry to the nearest integer by Tim Starling
 * - Improve performance of LocalisationCache::mergeMagicWords by thiemowmde
 * - Implement rate limiting in Authority. by daniel
 * - installer: Check MariaDB version in updater/installer by Umherirrender
 * - tests: Skip ManifoldTextDifferTest on windows by Umherirrender
 * - tests: Set RCWatchCategoryMembership=false in WikiPageDbTest by Umherirrender
 * - language: Remove unused LanguageConverter::$mUcfirst by Umherirrender
 * - Consistently use LogicException for test-only methods by thiemowmde
 * - HookContainer: avoid instantiation of handlers when calling register   by daniel
 * - Fix DB usage in non-database tests by Daimona Eaytoy
 * - phpcs: Exclude some docs/ subdirectories by Lucas Werkmeister
 * - Remove twn-related comment from languages/messages/* files by Fomafix
 * - tests: Use instanceof in LanguageConverterFactoryTest by Umherirrender
 * - Display temporary user icon by Jon Robson
 * - docker: Update apache2 image to one with a /view rewrite rule by James D. Forrester
 * - specials: Use cross-wiki aware UserIdentityLookup on Special:UserRights by Umherirrender
 * - specials: Cleanup user handling in Special:UserRights by Umherirrender
 * - Use Html::encodeJsVar and Html::encodeJsCall by Lucas Werkmeister
 * - Fix mistake in WatchedItemStoreInterface documentation by thiemowmde
 * - mw.widgets.CopyTextLayout: Extend upstream OOUI version by Ed Sanders
 * - Avoid calling overrideConfigValue multiple times by thiemowmde
 * - SpecialUserRights: Check for username to be temporary  by Alexander Vorwerk
 * - tests: Switch to SelectQueryBuilder in Sqlite and PG integration tests by Amir Sarabadani
 * - Add SlotDiffRenderer::localizeDiff by Tim Starling
 * - Update OOUI from 0.47.4 to 0.47.5 by Eric Gardner
 * - DEVELOPERS.md: make the SQLite directory writable by Novem Linguae
 * - Unbreak Parsoid CI: Followup to b42062e7 by Subramanya Sastry
 * - Add ResourcesTest to the Database group by Daimona Eaytoy
 * - maintenance: Switch simple calls of Database::select to SQB by Amir Sarabadani
 * - Restore DifferenceEngine::localiseLineNumbers by Lucas Werkmeister
 * - Update method reference by Lucas Werkmeister
 * - tests: Prevent leaking $_SERVER in RequestFromGlobalsTest by mainframe98
 * - Add unified format by Tim Starling
 * - Migrate ApiComparePages to TextDiffer concepts by Tim Starling
 * - Factor out TextDiffer hierarchy from TextSlotDiffRenderer by Tim Starling
 * - Refactor SpecialPreferencesTest by Daimona Eaytoy
 * - Update Codex from v0.14.0 to v0.15.0     by Eric Gardner
 * - tests/parser: Use LinkTarget in ParserTestRunner by Umherirrender
 * - Title: The Title::getSubjectPage method is deprecated from version 1.34 and all places that call it should use the NamespaceInfo::getSubjectPage method instead. by babiola
 * - tests: Change expectDeprecation to expectDeprecationAndContinue by Umherirrender
 * - mediawiki.page.watch.ajax: Use Object.create( null ) instead of {} by Fomafix
 * - ResourceLoader: Simplify and clean up ClientHtml nonce passing by DannyS712
 * - Slot diff option "contentLanguage" should be a string  by Tim Starling
 * - RecentChanges: Add process caching to RecentChanges UserLinks and Tags parsing by ttomalak
 * - Schema: Set default or nullable to three columns of externallinks by Amir Sarabadani
 * - TempUserCreator: Change getStashedNameOrPlaceholder to just getStashedName by Bartosz Dziewoński
 * - tests: Change some setMwGlobals to overrideConfigValue by Umherirrender
 * - phpunit: Set the MW_INSTALL_PATH env variable if needed by Daimona Eaytoy
 * - Add আলাপ and আলোচনা as namespaceAliases in Mediawiki core by MdsShakil
 * - config: Remove not needed indirection from GlobalVarConfig by thiemowmde
 * - Add option to invert the tagfilter to action=history and Special:NewPages  by Matěj Suchánek
 * - Remove feedback messages from RawHtmlMessages by Jon Harald Søby
 * - ParsoidCachePrewarmJob: enable deduplication by daniel
 * - DEVELOPERS.md: mention `git clone` and WSL by Novem Linguae
 * - DEVELOPERS.md: fix Docker logspam in Windows by Novem Linguae
 * - rdbms: Build generalized SQL while building the main SQL in UPDATE by Amir Sarabadani
 * - Avoid mentioning tests/phpunit.php in documentation by Daimona Eaytoy

Vendor

 * - Bump parsoid to 0.18.0-a18 by sbailey
 * - Update OOUI to v0.47.5 by Eric Gardner

AbuseFilter

 * - Remove faulty phan suppression by Matěj Suchánek
 * - Get parsed content from PreparedUpdate by Matěj Suchánek

BetaFeatures

 * - tests: Avoid TestUser, mock User instead by Daimona Eaytoy

CampaignEvents

 * - Fix uniqueness constraint for ce_question_aggregation by Daimona Eaytoy
 * - Clean up unused parameters in EventStore by Daimona Eaytoy
 * - Update questions subtitle on Special:RegisterForEvent by Daimona Eaytoy
 * - EventDetails: prevent invisible labels from overflowing the table by Daimona Eaytoy
 * - Fix wording on prefer not to say option on confident question by Claudio Melo
 * - Add button to clear form when registering for event by Daimona Eaytoy
 * - MyEvents: preserve kebab menu label when replacing the widget by Daimona Eaytoy
 * - Update subtitle of the registration dialog by Daimona Eaytoy
 * - Make EventQuestions.js use the API format, not HTMLForm by Daimona Eaytoy
 * - Add labels to participant checkboxes in EventDetails by Daimona Eaytoy

CentralAuth

 * - Remove $wgCentralAuthUseEventLogging by Taavi Väänänen
 * - Introduce CentralAuthUsingDatabaseTrait by Taavi Väänänen
 * - SpecialGlobalGroupMembership: don't require an attached account by Taavi Väänänen
 * - Add a GlobalRenameFactory by Taavi Väänänen

CheckUser

 * - Fix data-mw-revid attribute read on RecentChanges page for IPReveal  by ttomalak
 * - Temp account revision API: Return missingparam on missing IDs by Dreamy Jazz
 * - Set event tables migration stage to write new and old, read old by Dreamy Jazz
 * - Add support for write new and old to populateCheckUserTable.php by Dreamy Jazz
 * - Add migrated log event subtype for checkuser-private-event logs by Dreamy Jazz
 * - Add GENDER support to checkuser-logout by Dreamy Jazz
 * - Add GENDER to English log messages by Amir E. Aharoni
 * - Make multiple fixes to CheckUserUnionSelectQueryBuilder  by Dreamy Jazz
 * - Use ConvertibleTimestamp::time instead of in-built time for prune by Dreamy Jazz
 * - Implement LogFormatter class for checkuser-private-event logs by Dreamy Jazz
 * - Follow-up: Add support for writing both new and old to Hooks.php by Dreamy Jazz
 * - clienthints: Return public explanation of the use of client hints by Dreamy Jazz
 * - Add support to write new and old to MoveLogEntriesFromCuChanges by Dreamy Jazz
 * - Add support for writing both new and old to Hooks.php  by Dreamy Jazz
 * - Remove tables.sh and add version for addition of clienthints tables by Dreamy Jazz
 * - CheckUserLog API: Search by for users by target ID by Dreamy Jazz

CirrusSearch

 * - Inject ExtensionRegistry and re-enable unit tests by David Causse
 * - Add ExtensionRegistryProfileRepository by David Causse
 * - Enable updated word_break_helper everywhere-ish by tjones
 * - Make tests that use ExtensionRegistry integration tests by Daimona Eaytoy
 * - Use the LinksUpdate::isRecursive flag again to route cirrusSearchLinksUpdate by David Causse

Cite

 * - No expensive transformations on prefix/suffix messages by thiemowmde

Citoid

 * - Remove unnecessary target definitions by Marielle Volz

CodeEditor

 * - Follow-up Ie3ed681b: Unstub getCaretPosition as well by Máté Szabó
 * - Add explicit replaceSelection implementation by Máté Szabó

ContentTranslation

 * - SX: Delete draft translation created on CX by wangombe
 * - SX: Fix regression from making quick tutorial step optional by NikG
 * - CX ext.cx.dashboard.js: Migrate from ES5 to ES6 by NikG
 * - SX: Rename "translationExists" variables to "targetPageExists" by NikG
 * - Use language name instead of variant name for missing languages by Func
 * - SX: Add "useTranslationsFetch" composable and use it where needed by NikG
 * - SX: Use a single vuex getter to get translation by status by NikG
 * - SX: Remove unused section suggestion from sentenceSelectorMockStore by NikG
 * - SX: Fix draft restoration after having started another SX by NikG
 * - Update eslint configuration to use es6 rules by NikG
 * - Rename ext.cite.style to ext.cite.parsoid.styles by Subramanya Sastry
 * - SX: Include missing key in instrumentation request by wangombe
 * - SX: Add change_tag to Wikidata SX edits by wangombe
 * - Icons are more reslient to changes in Vector by Jon Robson
 * - Short term fix: Fix icons in user menu by Jon Robson
 * - Fixes User menu in Vector 2022 shows links on hover (logged-in users) by Jon Robson
 * - AUTHORS.txt: Add Nikolaos Gκοuntas by Santhosh Thottingal

DiscussionTools

 * - ThreadItemStore: Look harder for invisible rows by Bartosz Dziewoński

DonationInterface

 * - Venmo support currencies set to USD by wfan
 * - Update handleCreatePayment param to include venmo by wfan
 * - Add more variables for braintree venmo from client side by wfan
 * - Load Venmo script and write client-side JS for venmo payments by wfan

Echo

 * - Set a fixed default for echo-email-format by Daimona Eaytoy

Elastica

 * - Don't disable the last connection after http error (part deux) by Erik Bernhardson

EntitySchema

 * - Refactor `onExtensionTypes` hook handler to use hook interface by Hasan Akgün
 * - Use the new SlotDiffRenderer::localizeDiff by Tim Starling
 * - Avoid direct construction of TextSlotDiffRenderer  by Tim Starling
 * - Refactor `onContentModelCanBeUsedOn` hook handler to use hook interfaces by Hasan Akgün
 * - Show Labels for EntitySchema values in Statements by Michael Große
 * - test: Extract LinkTarget assertion callback by Michael Große
 * - Add LabelLookup service  by Michael Große

EventBus

 * - Make EventBusFactoryTest::testGetInstanceForStream an integration test by Daimona Eaytoy

EventLogging

 * - Add ContextAttributesFactoryTest to the Database group by Daimona Eaytoy

FileImporter

 * - Change ImportPlanValidatorTest to use qqx language code by thiemowmde
 * - ImportPlanValidatorTest: Use Authority instead of TestUser by Daimona Eaytoy
 * - Avoid DB access in tests when possible by Daimona Eaytoy

FlaggedRevs

 * - Remove unnecessary @phan-suppress by tacsipacsi

Flow

 * - Rename ext.cite.style to ext.cite.parsoid.styles by Subramanya Sastry

Gadgets

 * - Use strict equality with in_array by Ed Sanders
 * - SpecialGadgets: Remove incorrect comment and test for $requiredSkins being true by Ed Sanders
 * - Avoid using TestUser in non-database test by Daimona Eaytoy

GrowthExperiments

 * - Add reassignMentees.php maintenance script by Martin Urbanec
 * - Personalized praise: Add Reverted edits card by Martin Urbanec
 * - Structured Tasks: Add alt text in onboarding by Kayla Morgan
 * - ChangeMentor: Refactor the notification conditions by Martin Urbanec
 * - ApiInvalidateImageRecommendation: Error out nicely if task type is not available by Martin Urbanec
 * - [tests] Add UserDatabaseHelperTest by Martin Urbanec
 * - Fix DB usage in non-Database tests by Daimona Eaytoy
 * - GrowthExperiments help icon shouldn't remove limited width toggle on Vector by Jon Robson

Kartographer

 * - Much faster tests by setting content language to qqx by thiemowmde
 * - Use more specific InvalidArgumentException in places by thiemowmde
 * - Remove non-localizable HTML characters from message by thiemowmde

Math

 * - Add remaining mhchemtexified macros: by Moritz Schubotz (physikerwelt)
 * - Extend test coverage for TexUtil to 100% by Moritz Schubotz (physikerwelt)
 * - Add usemhchemtexified option for mhchem texified output by Moritz Schubotz (physikerwelt)
 * - Avoid using TestUser in non-database tests by Daimona Eaytoy
 * - Eliminate duplicate file by Moritz Schubotz (physikerwelt)

MediaSearch

 * - Add timing metrics around search results by Erik Bernhardson

MobileFrontend

 * - PageHTMLParser: Exclude variants from the "other languages" section by Func
 * - Add several RTL languages: acm, ary, hno, ms-arab by Amir E. Aharoni
 * - MobileUI: Use Codex markup for icons in diff page by Jon Robson
 * - Remove remains of lossy-switching and discard-switching  by Bartosz Dziewoński
 * - Avoid using TestUser in non-database tests by Daimona Eaytoy

Newsletter

 * - Block undeletion of disconnected Newsletter revisions by Pppery

OAuth

 * - Add recenchanges link to consumer detail view by Gergő Tisza
 * - Fail when OAuth is used with a non-API entry point (round 2) by Gergő Tisza

PageTriage

 * - Add margin to the New Pages Feed progress bar by suecarmol
 * - Jest: Add some additional tests by Jon Robson
 * - Add @covers annotation to tests by suecarmol
 * - Tests: Reorganize tests by module name by Jon Robson
 * - Add tests for hooks by suecarmol
 * - Simplify GENDER in a message by Amir E. Aharoni

PageViewInfo

 * - Use msg pvi-month-count-value to render infopage value by Derk-Jan Hartman

Phonos

 * - LarynxEngine: Remove space addition, refactor SSML by TheresNoTime

Popups

 * - Don't log for documentElement (nodeType 9) by Jon Robson
 * - selenium: Refactor WebdriverIO tests from sync to async mode by WMDE-Fisch
 * - Add additional debugging closest bug by Jon Robson

ProofreadPage

 * - Require `pagequality-validate` userright to validate pages by Sohom
 * - Increase timeout for Openseadragon loading to 2 min by Sohom

SecureLinkFixer

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

Translate

 * - Replace fragile re-implementation with upstream Title::isSpecial by thiemowmde
 * - Add `@group Database` to tests that need it by Daimona Eaytoy

TwoColConflict

 * - Convert TwoColConflict extension to ES6 by mareikeheuer

UniversalLanguageSelector

 * - Update jquery.ime and jquery.uls from upstream by Amir E. Aharoni
 * - Don't load mediawiki.ui.button on page load (attempt 2) by Jon Robson

UploadWizard

 * - IP masking update by Cormac Parle

VueTest

 * - Update Codex demos to v0.15.0 by Eric Gardner

VisualEditor

 * - Follow-up of "Localisation updates from https://translatewiki.net." by Winston Sung
 * - Update VE core submodule to master (8cd2c4933) by David Lynch

Wikibase

 * - Termbox: Implement WritingEntityRepository service by Silvan
 * - repo: Use ContextSource in ApiErrorReporter instead of passed language by Umherirrender
 * - REST: Create StatementReadModelHelper by Muhammad Jaziraly
 * - Set entity labels in ParserOutput to show as fallback in termbox by Michael Große
 * - REST: Add reason for violating architecture rule by Ollie Shotton
 * - Use fallback chain for label placeholders in legacy termbox by Lucas Werkmeister
 * - Update links in item and property creation summaries by Andrew Kostka
 * - Remove unused ExtensionRegistry by Lucas Werkmeister
 * - client: Avoid dynamically registering hook handlers by Amir Sarabadani
 * - REST: Improve Use Case Validator Tests by Ollie Shotton
 * - REST: Refactor UseCase Validators by Ollie Shotton
 * - Termbox: Initialize using new init function by Jakob Warkotsch
 * - Add 'Dont show this again' checkbox to Mul Popup by gtzatchkova
 * - Don’t add multiple pulsating dots by Lucas Werkmeister
 * - Add ADR about making Termbox v2 reusable by Jakob Warkotsch
 * - REST: Mark get property statement as production-ready by Muhammad Jaziraly
 * - REST: Rename "entity" to "subject" by Muhammad Jaziraly
 * - REST: Add GetPropertyStatement spec tests by Muhammad Jaziraly
 * - REST: Remove unused variables by Muhammad Jaziraly
 * - HtmlPageLinkRendererEndHookHandler: Remove stray comment by Marius Hoch
 * - REST: Replace `!isset` with `=== null` in Validators by Ollie Shotton
 * - REST: Improve the Use Case Validators by Ollie Shotton
 * - REST: Add default cases to switch statements by Ollie Shotton
 * - REST: Add missing SetItemDescriptionValidator tests by Ollie Shotton
 * - Refactor TermsListView template calls by Lucas Werkmeister
 * - REST: Separate GetStatement e2e tests by Muhammad Jaziraly
 * - Remove non-run.php support from two maintenance scripts by Lucas Werkmeister
 * - Fix DB usage in non-database tests by Daimona Eaytoy
 * - Update PHPUnit command from old script to composer by Daimona Eaytoy
 * - REST: Mark GET Property Statements as production ready by Norman Schwirz
 * - Avoid DB access in ShowSearchHitHandlerTest by Daimona Eaytoy
 * - OutputPageBeforeHTMLHookHandler: Don’t load full entities by Lucas Werkmeister

WikibaseCirrusSearch

 * - Avoid DB access in ShowSearchHitHandlerTest by Daimona Eaytoy

WikibaseLexeme

 * - Temporarily disable rate-limit tests by Michael Große

WikibaseQualityConstraints

 * - Bump unexpected from 13.1.0 to 13.2.0 by Addbot

WikiEditor

 * - RealtimePreview: Set tabindex on realtimepreview-preview by samtar

WikiLambda

 * - Restrict length of labels in UX by Cory Massaro
 * - Add cancel button and exit strategy to Publish Widget by gengh
 * - LoadPreDefinedObject: Give ability to operate over ranges  by James D. Forrester
 * - i18n: Initial replacement with Amin's new language by James D. Forrester
 * - Implement Special:ViewObject to provide a Special page version of NS0   by James D. Forrester
 * - Add short descriptions to the view and edit pages for Functions by Carrie Coxwell
 * - WikimediaApiBase: Treat ZErrorExceptions differently by James D. Forrester
 * - Follow-up 9e6d122b6: Fix display name of Special:ListObjectsByType by James D. Forrester
 * - Rename Special pages ahead of launch by James D. Forrester
 * - ZCode: Drop Lua as a suggested language for launch by James D. Forrester
 * - Follow-up dccad41: Stage the changes toe xtension.json too, whoops by James D. Forrester
 * - i18n: Wrap ZID handed Linker in a span for RTL users by James D. Forrester
 * - i18n: Split Approved/Deactivated labels for Imps and Testers by James D. Forrester
 * - ZObjectAuthorizationInCreationTest: Add in some clarity on TODOs by James D. Forrester
 * - e2e: Quick fix by nik-55
 * - Fix error handling in the Vue app by gengh
 * - Do not create a generic type when type has already been seen; default to a Z9/Reference instead. by apine
 * - tests: Assert that Z60/Natural languages need special rights to create by James D. Forrester
 * - tests: Assert that Z61/Programming languages need special rights to create by James D. Forrester
 * - Redirect to function editor if default view main content type is set to Z8 by gengh
 * - Render argument reference label instead of key in collapsed compositions by gengh
 * - ZLangRegistry: Use wikilambda_zlanguages cache table where possible by James D. Forrester
 * - ZObjectSecondaryDataUpdate: Add strings not ZStrings to DB by James D. Forrester
 * - ZObjectStore: Cache ZNaturalLanguages in a local table by James D. Forrester

WikimediaEvents

 * - Editattemptstep event logging by ksarabia
 * - Web ui scroll version update by ksarabia
 * - probenet: Simplify extractProbeData after I3da5a16bd28b4ee0a9757 by Timo Tijhof
 * - Updates web enrollment ab test js by ksarabia
 * - probenet: Reduce Probenet#extractProbeData by Sam Smith
 * - probenet: Fix validation errors in Probenet reports by Jameel Kaisar

WikimediaMaintenance

 * - Update for GlobalRenameFactory by Taavi Väänänen

WikimediaMessages

 * - wikimediaprojectnames: Add a local name for Wikifunctions by James D. Forrester
 * - Change HTML to wikitext in feedback-termsofuse by Jon Harald Søby

Wikistories

 * - Frames component update by eamedina
 * - Pause the Story Viewer when user tap on the share icon by Huei Tan

MinervaNeue

 * - build: Update SVGO to v3.0.2 by Volker E
 * - Add temporary user icon by Jon Robson
 * - Add margin top/bottom to dl list style to match other skins by SnowFire

Vector

 * - Limit button only icon resizing to Vector header button icons by Jon Robson
 * - Show limited width icon alongside help button by Jon Robson
 * - Fix attribution for "Localisation updates from https://translatewiki.net." by Winston Sung
 * - Do not hardcode uls key by Jon Robson
 * - Remove anonymous user icon by Jon Robson
 * - Add temporary user icon by Jon Robson

VisualEditor/VisualEditor

 * - Tests: Add missing close tag by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * ElectronPdfService
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RealMe
 * RelatedArticles
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SearchVue
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiLove
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
296 Changes in 55 repos by 83 authors