MediaWiki 1.40/wmf.23/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.23 by trainbranchbot
 * - Ensure CacheTime properties are reflected by ParserOutput::collectMetadata by C. Scott Ananian
 * - phpunit: Generalize LanguageConverterTestTrait and simplify tests by Func
 * - pager: Provide a method to override the timestamp field by Func
 * - Add Kusaal language (kus) by Amir E. Aharoni
 * - upload: Allow attributes starting with "on" in inkscape SVG namespace by Derk-Jan Hartman
 * - pager: Allow getting range offsets outside the subclass context by Func
 * - Add correct spaces in MaintenanceRunner.php help text by Amir E. Aharoni
 * - Clear the statsd data buffer regardless of StatsdServer config by Func
 * - importImages: Use yield to reduce the memory usage by Func
 * - rdbms: Update old LBFactoryConf docs and remove needless file path by Timo Tijhof
 * - media: Guard wgSVGConverters against placeholders within shell arguments by Derk-Jan Hartman
 * - permissions: Check cascade protection only if page can exists by Umherirrender
 * - Properly utilize LinkCache in SpecialAllPages by Máté Szabó
 * - Fix API help URLs by Nardog
 * - LinksUpdate: Use DB key for category links table by Func
 * - Remove back-compatibility code for ToC marker by C. Scott Ananian
 * - ParserTestRunner: properly pass options to Parsoid tests by C. Scott Ananian
 * - Use a SectionMetadata object in Linker::generateTOC by C. Scott Ananian
 * - Temporarily preserve TOC top-level extension data by C. Scott Ananian
 * - media: Remove unneeded complexity in BitmapHandler command replacement by Derk-Jan Hartman
 * - Sync up core repo with Parsoid by Arlo Breault
 * - revisiondelete: Reuse LogFormatter::getComment instead of own formatting by Umherirrender
 * - Do not use media filename as alt attribute   by Arlo Breault
 * - Improve some documentation around DisableQueryPageUpdate by Reedy
 * - Reorg: Move category-related classes from includes/ to Category/ by Amir Sarabadani
 * - Sync up core repo with Parsoid by Arlo Breault
 * - Don't emit empty alt attribute unless it's explicitly asked for by Arlo Breault
 * - ParamValidator: Improve paramvalidator-help-multi-max message by Reedy
 * - rdbms: clean up LoadBalancer/ChronologyProtector primary pos methods by Aaron Schulz
 * - Improve ApiQuerySiteInfo handling of deprecated and "extra" language links by C. Scott Ananian
 * - mediawiki.mixins: Remove `box-sizing` mixin by Volker E
 * - Apply variant conversion to page bundles by daniel
 * - phpunit: Add PHPUNIT_LOGS flag by Gergő Tisza
 * - objectcache: clean up makeMultiKeys/multiRemap comments in WANObjectCache by Aaron Schulz
 * - ResourceLoader: Update wikimedia/less.php to v3.2.1 by Timo Tijhof
 * - rdbms: Fix path to LBFactoryMulti.php in LBFactoryConf documentation by Umherirrender
 * - user: Fix typo on ActorStore::checkDatabaseDomain by Umherirrender
 * - MessageCache: improve handling of I/O errors from cache lock keys by Aaron Schulz
 * - Add explicit wgParserEnableLegacyMediaDOM config to legacyMedia.txt by Arlo Breault
 * - vue i18n: Prevent unnecessary rerender in v-i18n-html by Roan Kattouw
 * - Remove unused arguments to private functions by Umherirrender
 * - http: Log GuzzleHttpRequest requests by Gergő Tisza
 * - rdbms: Fix LoadBalancer::waitFor regression after clean up by Amir Sarabadani
 * - BacklinkCache: Simplify to use getWithSetCallback and remove check key by Aaron Schulz
 * - skin: Restore default 'value' attribute in makeSearchButton by Ammarpad
 * - shell: Command::cgroup has been removed, no callers by Derick Alangi
 * - unittests: rename some files to match the class name by Aaron Schulz
 * - Remove remaining SVG fallback hacks by Bartosz Dziewoński
 * - ResourceLoader: Remove SVG fallback hack from SkinModule by Bartosz Dziewoński
 * - ResourceLoader: Remove SVG fallback hack from ImageModule by Bartosz Dziewoński
 * - Linker: Replace use of HtmlFormatter in expandLocalLinks by Bartosz Dziewoński
 * - [followup] mediawiki.feedlink: Atom's link icon overlaps the link by Moh'd Khier Abualruz
 * - build: Upgrade eslint-config-wikimedia from 0.22.1 to 0.24.0 by James D. Forrester
 * - Pingback: Migrate select queries to SelectQueryBuilder by Amir Sarabadani
 * - Add StatusValue::hasMessagesExcept by Gergő Tisza
 * - Update OOUI to v0.46.3   by James D. Forrester
 * - skins: Allow skins to specify their Codex theme by Roan Kattouw
 * - Add a missing article in a message by Amir E. Aharoni
 * - block: Remove unused variable from SpecialBlock::processFormInternal by Umherirrender
 * - mime: Avoid unneeded variable assigment in MimeAnalyzer by Umherirrender
 * - respect migration stage when deleting from revision_comment_temp by Alexander Vorwerk
 * - Mobile preferences: Use a OO.ui.ProcessDialog by Ed Sanders
 * - Fix Special and SpecialPages namespace translation for Pa'O language by Superpes15
 * - Add $magicwords for nepali by Tulsi Bhagat
 * - OldChangesList: Pass revision ID through to user link by Thalia
 * - MaintenanceRunner: Print error if Maintenance initialization fails by Kevin Israel
 * - MaintenanceRunner: Pull some checks out of initInternal by Kevin Israel
 * - Minor documentation and naming cleanup in global wfMerge by Adam Wight
 * - Check return value of XMLReader::open by Umherirrender

Vendor

 * - Bump wikimedia/parsoid to 0.17.0-a15   by Subramanya Sastry
 * - Update wikimedia/less.php to v3.2.1 by Timo Tijhof
 * - Update OOUI to v0.46.3 by James D. Forrester

ArticlePlaceholder

 * - Bump eslint-config-wikimedia from 0.23.0 to 0.24.0 by Addbot
 * - Bump grunt from 1.5.3 to 1.6.1 by Addbot
 * - Bump grunt-eslint from 24.0.0 to 24.0.1 by Addbot

CategoryTree

 * - Remove flag for ParserOutput by Fomafix

CentralAuth

 * - Add compatibility for ActionRestriction to SpecialCentralAuth by Alexander Vorwerk

CheckUser

 * - Pagers: Replace the deprecated rangeConds property by Func
 * - Use string key instead of boolean for whether an XFF is trusted by Dreamy Jazz
 * - Use translated version of the XFF prefix used by checkUserHelper.js by Dreamy Jazz
 * - Remove CheckUserActorMigration as cu_changes actor migration is done by Alexander Vorwerk
 * - Don't Show IP button to blocked Admins by AnaïsGueyte
 * - Fix non-sequential indices in TemporaryAccountHandler API results by csimiyu
 * - Remove cuc_comment from cu_changes by Alexander Vorwerk
 * - Perform insertion to cu_log post send by Dreamy Jazz
 * - Add cuc_only_for_read_old to cu_changes to assist in migration by Dreamy Jazz

ChessBrowser

 * - parserTests.txt: Add `nohtml` option to accomodate test runner change by C. Scott Ananian

CirrusSearch

 * - Allow CirrusSearchCompletionSuggesterUseDefaultSort from cirrus-config-dump by David Causse

Cite

 * - Re-enable test by Arlo Breault
 * - Disable test for CI by Arlo Breault
 * - Sync up Cite repo with Parsoid by Arlo Breault
 * - Parsoid CSS: Use more W3C-supported counter types by Subramanya Sastry
 * - Parsoid CSS: mw-ref-linkback counter inits to -1, not 0  by Subramanya Sastry
 * - Parsoid CSS: Remove default rendering for "standard" ref groups by Subramanya Sastry

Cognate

 * - Use SelectQueryBuilder in RecalculateCognateNormalizedHashes by Marius Hoch
 * - Add RecalculateCognateNormalizedHashesIntegrationTest by Marius Hoch
 * - Use SelectQueryBuilder in PurgeDeletedCognatePages by Marius Hoch
 * - Fix maintenance/purgeDeletedCognatePages, add tests  by Marius Hoch
 * - Use SelectQueryBuilder in populateCognatePages by Marius Hoch
 * - Add PopulateCognatePagesIntegrationTest by Marius Hoch
 * - Use SelectQueryBuilder in CognateStore by Marius Hoch
 * - Add tests for CognateStore::selectSitesForPage by Marius Hoch
 * - build(deps-dev): bump grunt-eslint from 24.0.0 to 24.0.1 by Addbot
 * - build(deps-dev): bump grunt from 1.5.3 to 1.6.1 by Addbot

ContactPage

 * - Allow multiple messages to be form specific in the contact form by Dreamy Jazz

ContentTranslation

 * - SX entrypoints: Use 'wgPageName' instead of 'wgTitle' config parameter by NikG
 * - CxUlsEntrypoint: Fix CX buttons to have "href" for better accessibility by NikG
 * - SX fetch pages api: set non-normalized titles as alias by NikG
 * - CX: Provide the appropriate arguments to ve.ui.CXSurface constructor by NikG
 * - Fix entrypoints to use page title instead of page name by NikG

DiscussionTools

 * - ReplyLinksController: Fix teardown failing when reloading by Bartosz Dziewoński
 * - Revert "Use setExtensionData instead of marker comments where possible (2/3)" by DLynch
 * - Revert "Use setExtensionData instead of marker comments where possible (3/3)" by DLynch
 * - Use setExtensionData instead of marker comments where possible (3/3) by Bartosz Dziewoński
 * - Use setExtensionData instead of marker comments where possible (2/3) by Bartosz Dziewoński
 * - Use setExtensionData instead of marker comments where possible (1/3) by Bartosz Dziewoński
 * - Optimize selectors in mobile hacks by Bartosz Dziewoński
 * - Move TOC metadata generation to a post-processing step by Bartosz Dziewoński

DonationInterface

 * - Default emailPreference template to emailPreferences by wfan

DoubleWiki

 * - Handle null from Title::newFromText by Umherirrender

Echo

 * - OOUI .addItems must be called with an array by thiemowmde

EventBus

 * - EventFactory: Remove CommentFormatter from service injection by Kosta Harlan
 * - Restore mediawiki.page-undelete hook by Ottomata
 * - Finalize mediawiki/page/change schema at 1.0.0 by Ottomata

EventLogging

 * - Extract UserBucketService service class by Sam Smith

FlaggedRevs

 * - Remove unused parameter from setDim method by Thiemo Kreuz
 * - Dramatically simplify getMaxLevel implementation by Thiemo Kreuz

Flow

 * - Use range offsets for listing contributions by Func
 * - Fix import of non-ASCII sections by C. Scott Ananian
 * - Replace use of Content::getNativeData by Máté Szabó
 * - i18n: Reword message when transcluding Flow board by EpicPupper

GrowthExperiments

 * - NewImpact: remove undefined values in template by Sergio Gimeno
 * - AddImage: Send event when user accepts/rejects/invalidates suggestion by Kosta Harlan
 * - Suggested edits: use existing FiltersButtonGroupWidget update method by Sergio Gimeno
 * - Setup VitePress frontend documentation by Sergio Gimeno
 * - Fix phpcs errors in CampaignBenefitsBlock by Sergio Gimeno
 * - NewImpact: Make the new impact module the default by Kosta Harlan
 * - NewImpact: Make total views count reflect all edits, not just top viewed by Kosta Harlan
 * - Add ApiQueryImageSuggestionData prop module  by Kosta Harlan
 * - ComputedUserImpactLookup: Reduce logspam for page view rate limiting by Kosta Harlan

ImageMap

 * - Re-enable tests by Arlo Breault
 * - Disable tests for CI by Arlo Breault
 * - Re-enable tests by Arlo Breault
 * - Disable tests for CI by Arlo Breault

InterwikiSorting

 * - build(deps-dev): bump grunt-eslint from 24.0.0 to 24.0.1 by Addbot
 * - build(deps-dev): bump grunt from 1.5.3 to 1.6.1 by Addbot

IPInfo

 * - Refactor Use Handler::getAuthority for permissions checks in IPInfo RestHandler classes by csimiyu

Kartographer

 * - Remove unnecessary targets definitions from extension.json by C. Scott Ananian
 * - Move "Show in full screen" tooltip to correct DOM element by thiemowmde
 * - Minor code cleanups related to thumbnail image URL calculation by Thiemo Kreuz
 * - Nearby: Fix link image in popup to target article by WMDE-Fisch
 * - Minor follow-ups to "align" and "frameless" parsing by thiemowmde
 * - [refactor] Move group filtering into a function by Adam Wight
 * - Remove carriage return chars after browserify by WMDE-Fisch
 * - Disable right click coordinate popup for the static map preview by WMDE-Fisch
 * - Add strict types to properties and parameters where possible by Isabelle Hurbain-Palatin
 * - Revert "Port jsduck -> jsdoc" by WMDE-Fisch
 * - Only make geopoints focusable that have an interaction by Svantje Lilienthal
 * - Nearby: Adjust article limit and cluster radius by WMDE-Fisch
 * - Nearby: Minor style fixes for the reload button by thiemowmde
 * - Remove unused property from Hooks class by thiemowmde
 * - Rename misnamed $mapService property to $mapServer by thiemowmde
 * - Move conversion of deprecated width in % to argument parsing by thiemowmde
 * - Don't tab to non-functional fullscreen button in static mode by thiemowmde
 * - Make enter work on fullscreen map close button by thiemowmde
 * - Nearby: Mark createReloadButton private by WMDE-Fisch
 * - Rename confusing getText to getString by thiemowmde
 * - Omit impossible static thumbnail in preview mode by Adam Wight
 * - Add hints for developers on JS code depenants by WMDE-Fisch
 * - Port jsduck -> jsdoc by Adam Wight
 * - Extract argument parsing into small, neutral service by thiemowmde

LabeledSectionTransclusion

 * - Add tracking category for invalid LST calls by Pppery

Linter

 * - Fix migrate data error when params has excessively long strings by sbailey
 * - Fix write error when linter_params has excessively long strings by sbailey
 * - Link to detailed Special:LintErrors from action=info by Kunal Mehta
 * - Move LoadExtensionSchemaUpdatesHook handler to separate class by Kunal Mehta

LiquidThreads

 * - Set the article for moved threads in Thread::doLazyUpdates by Umherirrender

MachineVision

 * - styles: Replace deprecated Less mixins with CSS unprefixed property  by Volker E

Math

 * - Fix underline overline cases in TexUtilTest by Stegmujo
 * - Fix low scores for oint statements by Stegmujo
 * - Fix parsing of 'P' operator by Stegmujo
 * - Fix parsing macros in mbox for TexUtilTest by Stegmujo
 * - Fix Parsing of Mod elements with and without params by Stegmujo
 * - Fix parsing functions for MMLGenerationTexVCUtilTest by Stegmujo

OAuth

 * - maint/createOAuthConsumer.php: Specify oauth2GrantTypes by addshore
 * - Swap \ for use statements by Reedy
 * - ListClientsEndpointTest: Fix response body for anon request by Ammarpad

Phonos

 * - Move aria-label to be on anchor, and remove `text` from it  by Sam Wilson

ProofreadPage

 * - Add internal API to retrieve default content for a Page: page by Sohom
 * - Also setupPreferences when WikiEditor is not enabled by Sam Wilson
 * - Move state management of current pagedata PageModel by Sohom

PropertySuggester

 * - build(deps-dev): bump grunt-eslint from 24.0.0 to 24.0.1 by Addbot
 * - build(deps-dev): bump grunt from 1.5.3 to 1.6.1 by Addbot

ReadingLists

 * - Remove unnecessary targets definitions from extension.json by C. Scott Ananian

SecureLinkFixer

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

SyntaxHighlight_GeSHi

 * - parserTests.txt: Add `nohtml` option to accomodate test runner change by C. Scott Ananian

TimedMediaHandler

 * - Re-enable test by Arlo Breault
 * - Disable test for CI by Arlo Breault

Translate

 * - Drop support for syck by Niklas Laxström
 * - Disable Visual Editor for custom translation namespaces by Niklas Laxström
 * - MessageGroupStatsSpecialPage: Use typed properties by Abijeet
 * - entity.selector.css: Convert to LESS file by Abijeet
 * - MessageGroupStats: Support fetching stats for message prefixes by Abijeet
 * - Add MessageGroupStatsTable to build output for GroupStats page by Abijeet

UploadWizard

 * - Use full qualified class name in QUnit module names by thiemowmde

VisualEditor

 * - DesktopArticleTarget.init: Ignore fake section edit links added by gadgets by Bartosz Dziewoński
 * - Enable visual diffs on history pages by default by Ed Sanders
 * - DesktopArticleTarget.init: Fix init from "Add topic" tab in some cases by Bartosz Dziewoński
 * - Follow-up I3412c53cc: Fix reference to target in ve.ce.MWWikitextSurface by Ed Sanders
 * - Don't unnecessarily load huge icons for Wikimedia logos by Bartosz Dziewoński
 * - Loosen the edit link selector specificity in setupMultiTabs by Jack Phoenix
 * - Update VE core submodule to master (109c9a606)   by James D. Forrester
 * - Target#tryTeardown should succeed when target isn't active by Bartosz Dziewoński

Wikibase

 * - REST: Consistently format response blocks in route handlers by Jakob Warkotsch
 * - REST: Add spec test for GET descriptions route by Jakob Warkotsch
 * - REST: Handle redirect/not-found for descriptions by Muhammad Jaziraly
 * - REST: Catch UseCaseErrorException in route handler by Ollie Shotton
 * - REST: Fix missing property data-type 500 error by Muhammad Jaziraly
 * - REST: Don't consider prevented edits unexpected by Jakob Warkotsch
 * - REST: Validate GetItemDescriptions request by sihe
 * - GlobalStateFactoryMethodsResourceTest: Allow mocked factory to return mock MultiHttpClient by Kosta Harlan
 * - REST: Move PATCH routes to routes.json by Jakob Warkotsch
 * - Bump actions/cache from 3.0.11 to 3.2.4 by Addbot
 * - Use User::newSystemUser for 'Maintenance script' by Umherirrender
 * - corrections and clarifications in README for https://app.asana.com/0/1200080771921153/1203439725297760/f by Dan Shick
 * - corrections for REST API doc issue https://app.asana.com/0/1200080771921153/1203439725297760/f by Dan Shick
 * - Remove LanguageWithConversion methods returning Language by Lucas Werkmeister
 * - Construct parsers with a copy of ParserOptions  by Matěj Suchánek

WikibaseQualityConstraints

 * - Add strict types to files about to be touched by Lucas Werkmeister

Wikidata.org

 * - build(deps-dev): bump grunt-eslint from 24.0.0 to 24.0.1 by Addbot
 * - Extend the Readme with some more details about this extension by Michael Große
 * - build(deps-dev): bump grunt from 1.5.3 to 1.6.1 by Addbot

WikiLambda

 * - Create 'Functioneer' and 'Maintainer' groups, and move rights to them by James D. Forrester
 * - Implementations on Tester pages should be links by nik-55
 * - Add LocalizedLabel and fix label methods in zkeys module  by gengh
 * - Fix misaligned checkboxes by nik-55
 * - ZObjectEditAction::getPageTitleMsg: Relax existence check from false to falsey by James D. Forrester
 * - ZObjectEditAction: Don't fatal when the page doesn't exist by James D. Forrester
 * - Update function-schemata sub-module to HEAD (88f1588) by James D. Forrester
 * - Use new store methods for attach testers and implementations by gengh
 * - Add Row class and use in zobjectTree and zobject modules  by gengh
 * - consolidate metadata dialog instances into single component by Julia Kieserman
 * - Fixup failing "call function" e2e test by Stef Dunlap
 * - replace wikilambda chip with codex infoChip by Julia Kieserman
 * - Update function-schemata sub-module to HEAD (b193f0c)  by James D. Forrester
 * - docs: Generally replace uses of 'generic' for a more clear word by James D. Forrester

WikimediaApiPortalOAuth

 * - widget: Fix default behavior for callback prefix by apaskulin

WikimediaBadges

 * - build(deps-dev): bump grunt-eslint from 24.0.0 to 24.0.1 by Addbot
 * - build(deps-dev): bump grunt from 1.5.3 to 1.6.1 by Addbot

WikimediaMessages

 * - Add messages for Azerbaijani Wikimedians User Group (azwikimedia) by gerritbot

Wikistories

 * - hide navigation elements from article view by Huei Tan

MinervaNeue

 * - Remove the Group::insertAfter function in Minerva by ksarabia
 * - Make figure styling more specific to thumbs by Arlo Breault

Vector

 * - Make space between top of TOC/Page tools and top of viewport/bottom of sticky header 30px  by Nicholas Ray
 * - Use the wikimedia-ui-legacy theme for Codex component styles  by Roan Kattouw
 * - Remove custom handling of user links menu items and handle case when anon editor links are disabled   by bwang
 * - Additional FIXME cleanup relating to moving feature classes from body by bwang
 * - Replace automated testing code with npm package by bwang
 * - Moving padding-bottom to mixin-vector-scroll-indicator by Nicholas Ray
 * - Make page tools sticky  by Nicholas Ray
 * - Disable languages on history page by Jon Robson
 * - Remove button styling from log in link by bwang

VisualEditor/VisualEditor

 * - Try to prevent selections inside ref/template nodes on Firefox   by Bartosz Dziewoński
 * - Update OOUI to v0.46.3 by James D. Forrester

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * CampaignEvents
 * Campaigns
 * Capiunto
 * CentralNotice
 * CharInsert
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * Josa
 * JsonConfig
 * LandingCheck
 * LdapAuthentication
 * Listings
 * LoginNotify
 * MapSources
 * MassMessage
 * MediaModeration
 * MediaSearch
 * MobileApp
 * MobileFrontend
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageTriage
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * Popups
 * QuickSurveys
 * Quiz
 * RSS
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SearchVue
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UniversalLanguageSelector
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * VueTest
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexeme
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
265 Changes in 52 repos by 80 authors