MediaWiki 1.39/wmf.22/Changelog

Core changes

 * - Branch commit for wmf/1.39.0-wmf.22 by trainbranchbot
 * - parser: Mock WikiPage::getContentModel in ParserCacheTest to fix php8.1 by Brian Wolff
 * - LinksUpdate: Last pieces of templatelinks migration by Amir Sarabadani
 * - Add signature for implementations of RecursiveIterator by Mark A. Hershberger
 * - mediawiki.special.preferences: Move var declarations inline by Ed Sanders
 * - src/jquery: Move var declarations inline by Ed Sanders
 * - mediawiki.page.ready: Move var declarations inline by Ed Sanders
 * - Upgrade wikimedia/scoped-callback and wikimedia/services by Reedy
 * - [php8.1] Make WikiImporterFactoryTest use better mock for ImportSource by Brian Wolff
 * - [php8.1] Suppress test warning about providing null by Brian Wolff
 * - [php8] Suppress warnings for the null test of addIdentifierQuotes by Brian Wolff
 * - [php8] Don't use strlen on potentially null string by Brian Wolff
 * - Add namespaces and linkTrail for Tswana (tn) by Amir E. Aharoni
 * - [php8] Make DeletePageTest stop giving warnings on php8.1 by Brian Wolff
 * - Make ReadOnlyModeTest work in php8. by Brian Wolff
 * - Make HandlerTestTrait compatible with php8.1 by Brian Wolff
 * - tests: Migrate `setMwGlobals` to `overrideConfigValue(s)` by Derick Alangi
 * - maintenance: Use SelectQueryBuilder to construct queries by Derick Alangi
 * - SettingsTest: check that the current config didn't trigger warnings. by daniel
 * - PermissionManager: add throwPermissionErrors by Lucas Werkmeister
 * - PermissionManager: reindex errors after filtering by Lucas Werkmeister
 * - Use truncateForDatabase in MessageContent by Lucas Werkmeister
 * - Clarify Content::getTextForSummary $maxLength by Lucas Werkmeister
 * - Support REST API in BotPasswordSessionProvider by Lucas Werkmeister
 * - rdbms: Migrate delete and update sql building to SQLPlatform by Amir Sarabadani
 * - Move knowledge about the attribs array out of TransformContext by daniel
 * - Remove Flash cross-domain policy mangling by Tim Starling
 * - LanguageConverterTest: don't fail test if $wgLanguageCode != 'en' by C. Scott Ananian
 * - tests: don't assume wgLanguageCode is 'en' by C. Scott Ananian
 * - TitleDefTest: convert to proper integration test; ensure language is 'en' by C. Scott Ananian
 * - CommentParserTest: make test robust even when local language code is not 'en' by C. Scott Ananian
 * - ParserTestRunner: Couple more fixes for Parsoid test runs by Subramanya Sastry
 * - rdbms: Remove LBFactory destructor by Timo Tijhof
 * - schema: Remove postgres hack from generateSchemaChangeSql.php by Umherirrender
 * - ParsoidHandler: optionally use private URLs for redirects by daniel
 * - Allow font-size adjustment on iOS devices by Jon Robson
 * - ArrayUtils: Add coverage for consistentHashSort by Timo Tijhof
 * - Tests: remove unneeded helper methods that just return a mock with no by DannyS712
 * - schema: Move postgres special about TEXT/BYTEA to MWPlatform override by Umherirrender
 * - Rest: Refactor the `ParsoidHandler::html2wt` method by Derick Alangi
 * - EditPage: Remove inconsistent "Preview of subject:" label when adding new sections by Bartosz Dziewoński
 * - rdbms: Rename 'actual' field back to 'actualSeconds' in logs by Amir Sarabadani
 * - tests: Flatten /tests/qunit for jquery.* module tests as well  by Timo Tijhof
 * - rdbms: Instrument LoadBalancer with statsd metrics by Tim Starling
 * - Add application/vnd.ms-opentype to MIME list by RhinosF1
 * - maintenance: Use SelectQueryBuilder to construct queries by Derick Alangi
 * - Add a note to IDatabase::newSelectQueryBuilder by Derick Alangi
 * - tests: Migrate `setMwGlobals` to `overrideConfigValue(s)` by Derick Alangi
 * - Maintenance: allow legacy mOptions field to be manipulated. by daniel
 * - Temporarily revert language fallback chain changes to yue by Winston Sung
 * - EditPage: Disentangle edit summary and section title  by Bartosz Dziewoński
 * - Don't run wt2wt and selser on tests without Parsoid HTML by Subramanya Sastry
 * - Update tg-related language fallback chain by Winston Sung
 * - Update iu/ike-related language fallback chain by Winston Sung
 * - rdbms: Move DatabasePostgres::selectSQLText to PostgresPlatform by Amir Sarabadani
 * - rdbms: Migrate insert sql building code to sql platform by Amir Sarabadani
 * - Replace deep nesting in importImages script with guard clauses by Thiemo Kreuz
 * - Replace trivial usa of mock builder with createMock shortcut by Thiemo Kreuz
 * - SpecialContributions: Display form errors by Bartosz Dziewoński
 * - HTMLUserTextField: Fix validation  by Bartosz Dziewoński
 * - Fix tests so getName doesn't return null by Mark A. Hershberger
 * - Allow composer/installers plugin in composer.json by Lucas Werkmeister (WMDE)
 * - CopyTextLayout: Use 'copy' icon by Ed Sanders
 * - Step 1 of renaming sr-ec and sr-el to sr-cyrl and sr-latn by Fomafix
 * - ParserOutput::mergeMapStrategy - use a more robust comparison for objects by C. Scott Ananian
 * - Contributions link should be marked up differently from non-existent pages  by Jon Robson
 * - EditPage: Simplify check for missing summary when using preset summary by Bartosz Dziewoński
 * - Fix edit API adding empty section title when creating new pages by Bartosz Dziewoński
 * - Fire new 'wikipage.tableOfContents' hook to update TOC on live preview  by Bartosz Dziewoński

Vendor

 * - Bump wikimedia/parsoid to 0.16.0-a17    by Subramanya Sastry
 * - Upgrade wikimedia/scoped-callback and wikimedia/services by Reedy

3D

 * - PatentFormField: pass on $this->mParent to HTMLRadioField constructor by Taavi Väänänen

AbuseFilter

 * - VE integration: Remove "unrecoverable" errors by Bartosz Dziewoński

AntiSpoof

 * - schema: Convert spoofuser.su_legal from bool to smallint by Umherirrender

ApiFeatureUsage

 * - quiet deprecation warning about date formatting by Erik Bernhardson

ArticlePlaceholder

 * - Use more compact PHPUnit and PHP7 syntax in tests by Thiemo Kreuz

CampaignEvents

 * - Add the ability to load more participants on scroll by Claudio Melo
 * - Make event address and country optional for in-person events by Daimona Eaytoy
 * - Check if the user created the event page in userCanEnableRegistration by Daimona Eaytoy

CentralAuth

 * - Cleanup remains of the gu_hidden migration by Taavi Väänänen

CheckUser

 * - Move ServiceWiring.php to src/ folder by Alexander Vorwerk
 * - Disable showing the paging navigation bar until paging for Get IPs works by dreamyjazz
 * - Omit navigation bar from 'get edits' when there are no results by Alexander Vorwerk
 * - Remove now redundant code now that the page_time index is fully renamed by dreamyjazz
 * - Show results in paginator instead of truncation by dreamyjazz
 * - Ignore broken code coverage reports for ServiceWiring.php by dreamyjazz
 * - Fix isValidRange and getIpConds tests and document test data by dreamyjazz
 * - tests: Fix testUpdateCheckUserData for postgres by Umherirrender
 * - Remove cuSearchType from contribs target link as it's no longer used by dreamyjazz
 * - Test getAgent, insertIntoCuChangesTable and updateCheckUserData by dreamyjazz
 * - Change cu_log actor migration to write both by Alexander Vorwerk
 * - Add a link to check the /64 for all IPv6 on 'Get IP Addresses' by dreamyjazz
 * - Allow the copy feature to be collapsed in Special:Investigate by Thalia
 * - Add checks links for the initiator and target in the CheckUserLog by dreamyjazz

CirrusSearch

 * - Ignore cirrusExplain for incompatible dump options by Gergő Tisza
 * - article_page test: Change WVUI CSS selector to equivalent Codex selector by Roan Kattouw

Cite

 * - Remove overwrite of autoExpandSidebar by Svantje Lilienthal

ContentTranslation

 * - Section translation Desktop editor: Load a section by Santhosh Thottingal
 * - Add support for mw:File  by Arlo Breault

DiscussionTools

 * - ReplyWidget: Scroll save error into view after showing it by Bartosz Dziewoński
 * - Show topic container even if heading is unsubscribable by Ed Sanders
 * - highlighter: Fix exception when trying to highlight an unknown comment by Bartosz Dziewoński
 * - Separate ContentThreadItem and DatabaseThreadItem etc. by Bartosz Dziewoński

DonationInterface

 * - update smashpig version by wfan
 * - Check method to decide whether to show MC modal by Elliott Eggleston

Echo

 * - Echo mobile: add CSS media query class by suecarmol
 * - postgres: Convert timestamp in EchoUnreadWikis by Umherirrender
 * - EchoPlainTextEmailFormatter: correctly handle getPrimaryLink returning false by Universal Omega

EntitySchema

 * - Fix the copyright page in languages other than English by Michael Große

FlaggedRevs

 * - Remove LEFT-TO-RIGHT MARK (U+200E) from comments and messages by Fomafix
 * - Make current PreparedUpdate available to autoreviewEdit by daniel

Gadgets

 * - Remove LEFT-TO-RIGHT MARK (U+200E) from source code comments by Fomafix

GrowthExperiments

 * - Post edit dialog: update tasks fetched accumulator based on API response by Sergio Gimeno
 * - styles: Replace deprecated Less `.transform` mixin with standard CSS by Volker E
 * - SpecialEnrollAsMentor: Remove 'reason' field by Martin Urbanec
 * - MentorDashboard.Vue: allow setting empty values for edit count filters by Sergio Gimeno
 * - jest: Add NewImpact to test configuration by Kosta Harlan
 * - NewImpact: Use 'impact' as the module name by Kosta Harlan
 * - phpunit: Set GEUseNewImpactModule to false for testGetImpactModule by Kosta Harlan
 * - Remove GrowthExperimentsServices::getConfig by Martin Urbanec
 * - MentorStatusManager: Move away from IDatabase::selectFieldValues by Martin Urbanec
 * - QuitMentorship: Do not check if a mentor has mentees with structured list by Martin Urbanec

intersection

 * - Use LinkRenderer instead of Linker::link by palak199

IPInfo

 * - Remove PermissionManager from Logger class and related tests by Diesel kapasule
 * - Update GeoIP retriever tests by STran

Kartographer

 * - Remove LEFT-TO-RIGHT MARK (U+200E) from source code by Fomafix

Math

 * - Make dependency to Wikibase client config optional by Moritz Schubotz (physikerwelt)
 * - Replace MathWikibaseConfig with ServiceOptions by Moritz Schubotz (physikerwelt)
 * - Revert "Revert "Add wbEntitySelector widget to edit qid in VE"" by Physikerwelt
 * - Provide static Factory Class for Math related services by Moritz Schubotz (physikerwelt)
 * - Remove deprecated method hasSite by Moritz Schubotz (physikerwelt)
 * - Transform MathWikibaseConfig into a service by Moritz Schubotz (physikerwelt)
 * - Transform MathWikibaseConnector into a service by Moritz Schubotz (physikerwelt)

MobileFrontend

 * - Remove LEFT-TO-RIGHT MARK (U+200E) by Fomafix

OAuth

 * - Use OOUI for Special:MWOAuth form by Mark Holmquist

PageTriage

 * - Move tag menu "Mark as reviewed" check box by Novem Linguae
 * - Fix AFD and PROD bugs   by Novem Linguae

ProofreadPage

 * - Update for php 8+ and some clean up by Mark A. Hershberger
 * - Setup for integrating edit-in-sequence into ProofreadPage by Sohom

QuickSurveys

 * - Logging: Restore logging of responses  by Jon Robson
 * - QuickSurveys uses Codex instead of WVUI  by Jon Robson
 * - Make EventLogging a soft dependency on QuickSurveys by Jon Robson
 * - Refactor QuickSurveys use of event logging by Jon Robson

RevisionSlider

 * - Remove unnecessary vendor prefixes by Ed Sanders

Scribunto

 * - Hooks: Minor clean up, remove redundant PSquare check by Timo Tijhof
 * - Hooks: Bump scribunto-stats cache version by Timo Tijhof

SecurePoll

 * - populateEditCount: Call waitForReplication every 500 users by Alexander Vorwerk

SimilarEditors

 * - Add README, pointing to on-wiki documentation by Thalia

SpamBlacklist

 * - VE integration: Remove "unrecoverable" errors by Bartosz Dziewoński

TimedMediaHandler

 * - Use shortcut mw.msg( ... ) instead of mw.message( ... ).text by Fomafix

TitleBlacklist

 * - VE integration: Remove "unrecoverable" errors by Bartosz Dziewoński

Translate

 * - TranslationStashActionApi: Use strict types and add to namespace by Wangombe
 * - TranslatorSandboxActionApi: Use strict types and add to namespace by Wangombe
 * - TtmServerActionApi: Use strict types and add to namespace by Wangombe
 * - MessageTable: Prevent overflow with Vector 2022 CSS grid layout by Abijeet
 * - Update version and required MediaWiki version for MLEB 2022.07 by Abijeet
 * - AggregateGroupsActionApi: Add strict types and move to namespace by Wangombe
 * - QueryMessageTranslationsActionApi: Add strict types; move to namespace  by Wangombe
 * - QueryMessageGroupsActionApi: Add strict types; move to namespace by Wangombe
 * - CheckTranslationActionApi: Add strict types and move to namespace by Abijeet
 * - SearchTranslationsActionApi: Add strict types and move to namespace by Abijeet
 * - QueryMessageCollectionActionApi: add strict types and move to namespace  by Wangombe
 * - ReviewTranslationActionApi: Move to namespace and add strict types by Abijeet
 * - postgres: Disable Special:ActiveLanguages by Umherirrender

UniversalLanguageSelector

 * - Update jquery.uls from upstream by Amir E. Aharoni
 * - Update version and required MediaWiki version for MLEB 2022.07 by Abijeet
 * - Update jquery.ime and jquery.uls from upstream by Amir E. Aharoni

UrlShortener

 * - Use shortcut mw.msg( ... ) instead of mw.message( ... ).text by Fomafix
 * - Replace Maintenance::error call with ::fatalError by Matěj Suchánek
 * - tests: Set arguments on maintenance script with loadWithArgv by Umherirrender

VisualEditor

 * - ve.ui.MWTemplateDialog: Fix dialog becoming inert by Bartosz Dziewoński
 * - Remove dysfunctional "no outline" mode from template dialog by Thiemo Kreuz
 * - Add missing check to confirmation dialog's "closed" handler by Thiemo Kreuz
 * - Document what "current page" means in two-pane layout by Thiemo Kreuz
 * - Remove unused getCurrentPageName method from two-pane layout by Thiemo Kreuz
 * - ApiVisualEditor: set title when expanding permission editnotices by vahurzpu
 * - build: Updating grunt to 1.5.3 by James D. Forrester
 * - build: Updating grunt-banana-checker to 0.10.0 by James D. Forrester
 * - Template dialog: Make blue selection color transparent by Thiemo Kreuz
 * - Rename confusing "itemSet" to "active parameter" by Thiemo Kreuz
 * - Rename confusing "isSet" to "active page indicator" by Thiemo Kreuz
 * - Restructure code finding closest top-level page for readability by Thiemo Kreuz
 * - Fix "current page" not being reset when page is removed by Thiemo Kreuz
 * - Fix sidebar losing focus when unchecking params with space by Thiemo Kreuz
 * - Remove "unrecoverable" errors from the save dialog by Bartosz Dziewoński
 * - Minor fixes and optimizations to ParameterSelectWidget by Thiemo Kreuz
 * - Remove duplicate selection code from template dialog sidebar by Thiemo Kreuz
 * - Use generic "outline item selected" event for top-level parts by Thiemo Kreuz
 * - Rename specific "parameter selected" event to be more generic by Thiemo Kreuz
 * - Template dialog: Fix oval help button by Thiemo Kreuz
 * - Template dialog sidebar: Skip glitchy jQuery animation by Thiemo Kreuz
 * - Follow-up I586b67a0cf: No need to check for 'resource' key by Ed Sanders

Wikibase

 * - Stop using LanguageFallbackLabelDescriptionLookupFactory in Scribunto_LuaWikibaseLibrary by Lucas Werkmeister
 * - Use FallbackLabelDescriptionLookupFactory in DataAccessSnakFormatterFactory by Lucas Werkmeister
 * - Use PHPUnit fail method where it makes sense by Thiemo Kreuz
 * - Use shorter callback syntax in array_map and such by Thiemo Kreuz
 * - Change a few Html::rawElement to Html::element by Lucas Werkmeister
 * - REST: Create ReplaceStatementRouteHandler by Jakob Warkotsch
 * - REST: Fix AddItemStatementTest.js by Ollie Shotton
 * - REST: Fix RemoveItemStatement not being removed by Ollie Shotton
 * - REST: Make RequestBuilder work with DELETE requests by sihe
 * - REST: Make RequestBuilder work with PUT requests by Jakob Warkotsch
 * - Improve StatementList::replaceStatement by sihe
 * - Fix profile in wbsearchentities and wbsearch by Lucas Werkmeister
 * - REST: Create ReplaceItemStatement use case by sihe
 * - Add StatementList::replaceStatement by sihe
 * - REST: Add "PUT statement" endpoints to OpenAPI by sihe
 * - REST: Add NotModifiedPreconditionMiddleware by Jakob Warkotsch
 * - REST: Add AuthenticationMiddleware by Jakob Warkotsch
 * - REST: Handle error cases in RemoveItemStatement by Jakob Warkotsch
 * - Temporarily disable yue language fallback tests by Winston Sung
 * - Remove php entry points by Alexander Vorwerk
 * - Use FallbackLabelDescriptionLookupFactory in newSnakSerializationRenderer by Lucas Werkmeister
 * - Use FallbackLabelDescriptionLookupFactory in SpecialPagesWithBadges by Lucas Werkmeister
 * - Use FallbackLabelDescriptionLookupFactory in SidebarLinkBadgeDisplay by Lucas Werkmeister
 * - Remove SingleEntitySourceServicesFactory from service container by Lucas Werkmeister
 * - Stop using SingleEntitySourceServicesFactory for term lookups by Lucas Werkmeister
 * - Add EntityRevisionLookup to client service container by Lucas Werkmeister
 * - Use FallbackLabelDescriptionLookupFactory in SpecialListProperties by Lucas Werkmeister
 * - Use FallbackLabelDescriptionLookupFactory in SpecialSetSiteLink by Lucas Werkmeister
 * - Use FallbackLabelDescriptionLookupFactory in EntityIdLabelFormatterFactory by Lucas Werkmeister

WikibaseLexeme

 * - Lexemes and Forms don't have Labels, so don't try to look them up by Michael Große
 * - Load Special:NewLexemeAlpha RL modules on mobile by Lucas Werkmeister

WikibaseMediaInfo

 * - Stop using SingleEntitySourceServicesFactory for term lookups by Lucas Werkmeister

WikiEditor

 * - Realtime Preview: don't show error message and manual-mode bar at the same time by Sam Wilson
 * - Realtime Preview: make ResizingDragBar's max width match the CSS by MusikAnimal
 * - Realtime Preview: hide onboarding popup when screen is too narrow by MusikAnimal
 * - Realtime Preview: better construction of OnboardingPopup by Sam Wilson
 * - Realtime Preview: fix display when toggling content in manual mode by hmonroy
 * - Realtime Preview: preserve caret position when opening/closing RTP by MusikAnimal

WikiLambda

 * - Function editor: Reset the lookupResults for the language selector after a language is selected to clear the input box. by ddw
 * - Function editor: Assign new argument key to zItemsLength + 1 by ddw
 * - Components/Function: Replace hardcoded URLs with mw.Title by ddw
 * - Function View: Fix links to create new implementations, and create a new test by ddw
 * - Factor out dieWithZError method to WikiLambdaApiBase common class by teleosteen
 * - add pagination to the wikilambdafn_search API by jkieserman
 * - portray: Add custom labels for memory and CPU usage meta-data fields  by James D. Forrester
 * - Show iso code for object type and label by jkieserman
 * - Use Beta Cluster by default and wire-up end-to-end tests   by James D. Forrester
 * - Vue: Send 'Z1|Z2|Z3' to perform_test, not '[Z1,Z2,Z3]' by James D. Forrester
 * - Add --force and --clear options to realoadBuiltinData by gengh
 * - Add metadata dialog to function call page by dmartin
 * - Add custom class capability to dialog components by dmartin
 * - Update function-schemata sub-module to HEAD (04570e8) by James D. Forrester

WikimediaEvents

 * - clientError.js: Add 'error.pagetriage' topic by TheresNoTime

WikimediaMaintenance

 * - renameWiki: Remove pointless tableNames call by Lucas Werkmeister
 * - addWiki: Remove closeConnection by Amir Sarabadani
 * - Use the new setOption method. by daniel

WikimediaMessages

 * - Use shortcut mw.msg( ... ) instead of mw.message( ... ).text by Fomafix
 * - Add full stop to two messages by Lucas Werkmeister
 * - IPInfo: Use parameters for links to external tools from Special:Contributions by Thalia

Wikistories

 * - Use shortcut mw.msg( ... ) instead of mw.message( ... ).text by Fomafix
 * - Add logging to deferred update by Stephane Bisson
 * - Wikistories discover section redesign by Eduardo
 * - Provide Special page localized name as module data instead of mw.config by Stephane Bisson
 * - Add filesize and filetype to the Commons search API by Huei Tan
 * - Rename modules to ext.wikistories by Stephane Bisson

Modern

 * - Maintenance: Fixes style module JavaScript developer console warning by Jon Robson

Vector

 * - icons: Amend external link icon for lo-dpi screens by Volker E
 * - [Refactor] Split MenuDropdown.less for modern and legacy by Jan Drewniak
 * - Update CSS to allow TOC to be collapsed at larger viewports using grid by bwang
 * - [Regression] Restore proper watchstar icons in Vector 2022 by Jan Drewniak
 * - Add text to TOC collapsible button label for accessibility. by Clare Ming
 * - Enable sticky header on article and user talk pages  by Ed Sanders
 * - Table of contents: Update TOC styles by bwang
 * - Layout: Release CSS grid by Jon Robson
 * - styles: Make external icon indicator size for lo-dpi environments by Volker E
 * - Remove Table of Contents feature flag by Clare Ming
 * - Refactor chevron across components + separate watchstar by Jan Drewniak
 * - styles: Replace IE hack `list-style: none none`  by Volker E
 * - styles: Remove `linear-gradient` hack for non-supported browsers  by Volker E
 * - styles: Remove IE9 Flexbox fallback  by Volker E
 * - styles: Unify on standard external link icon by Volker E
 * - search: Mark App.vue as being compatible with Vue 3 by Roan Kattouw
 * - Update to 4ab2b1bf: Refactor Vector tabs layout by Jan Drewniak
 * - styles: Replace `@top-margin…` with `@margin-top…` variable names by Volker E
 * - styles: Remove divider image fallbacks for now non-basic support browsers  by Volker E
 * - Refactor Vector tabs layout for reduced size & complexity   by Jan Drewniak
 * - styles: Use default `border-width` and `border-style` vars by Volker E
 * - styles: Apply `@background` var to Sidebar `background` by Volker E
 * - styles: Rename `border-tabs` to `border-bottom-tabs` by Volker E
 * - styles: Use mediawiki.skin.variables `transition-duration` vars by Volker E
 * - Search: Use Codex and Vue 3 instead of WVUI and Vue 2.     by Roan Kattouw
 * - styles: Replace distinct color var with standard variable by Volker E

VisualEditor/VisualEditor

 * - MobileActionsContextItem: Use 'copy' icon by Ed Sanders

No changes

 * ActiveAbstract
 * AdvancedSearch
 * ArticleCreationWorkflow
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * Flow
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * MediaModeration
 * MediaSearch
 * MinervaNeue
 * MobileApp
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * PropertySuggester
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * SandboxLink
 * Score
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SiteMatrix
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * Timeless
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * VipsScaler
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * Wikisource
 * XAnalytics
 * cldr
 * timeline
 * wikihiero

Total changes
285 Changes in 52 repos by 75 authors