MediaWiki 1.38/wmf.14/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.14 by trainbranchbot
 * - HTMLFormField: fix merging of condState attributes by Daimona Eaytoy
 * - Introduced PreparedUpdate to replace PreparedEdit by daniel
 * - Revert "Work around a Chrome bug with :target selector and Special:Preferences tabs"  by Esanders
 * - Update some documentation in SiteConfiguration by Adam Wight
 * - file: Replace deprecated User::newFromAnyId with UserFactory by Umherirrender
 * - [docs] UserSelectQueryBuilder: Add missing @since annotation by Martin Urbanec
 * - ReleaseNotesTest: Minor cleanup by Reedy
 * - tests: Remove FILE_SKIP_EMPTY_LINES from ReleaseNotesTest by Umherirrender
 * - Remove Parser dependency on config LanguageCode/DisableLangConversion by Umherirrender
 * - Fix line indent in ParserFactoryTest by Umherirrender
 * - Revision: Inject local cache to RevisionStore by Amir Sarabadani
 * - Follow up on I91cd04d14f0ff86125fc8870984dab045c2098b5 by Derick Alangi
 * - Edits via API should set cookie for anons by jdlrobson
 * - ChangeTags: Fix adding CSS classes for hidden tags by Bartosz Dziewoński
 * - Fix the json schema and the extension processor for Parsoid extension modules by Isabelle Hurbain-Palatin
 * - Settings: Fix GlobalConfigBuilder use of GLOBALS for PHP 8.1 by Florian
 * - Call LinkBatch::setCaller in CommentParser by Umherirrender
 * - rdbms: remove internal assertNoOpenTransactions method from IDatabase by Aaron Schulz
 * - rdbms: Remove redundant use of QUERY_IGNORE_DBO_TRX constant by Aaron Schulz
 * - rdbms: migrate static variables to constants in Database by Aaron Schulz
 * - Revision: Bypass checking the cache if it's not found by Amir Sarabadani
 * - Work around a Chrome bug with :target selector and Special:Preferences tabs by Bartosz Dziewoński
 * - Highlight section header when linking to a section on Special:Preferences  by Bartosz Dziewoński
 * - Remove stylelint-disable-next-line plugin/no-unsupported-browser-features (again) by Bartosz Dziewoński
 * - resourceloader: Add support for JSON pages in ResourceLoaderWikiModule by Siddharth VP
 * - resourceloader: Increment CACHE_VERSION for wikimedia/minify 2.2.6 by Roan Kattouw
 * - phpunit: Initialize CLI options for vendor/bin/phpunit  by Kosta Harlan
 * - phpunit: Cleanup phpunit.xml.dist, copy suites from tests/phpunit/suite.xml by Kosta Harlan
 * - Revision: Add two caching layers to loadSlotRecords for template pages by Amir Sarabadani
 * - Remove migration script by jdlrobson
 * - Allow setting max execution time to several special pages by Amir Sarabadani
 * - Disable the legacy media dom on a few more tests by Arlo Breault
 * - HISTORY: Add 1.35.5/1.36.3/1.37.1 by Reedy
 * - SECURITY: Fix use of EditFilterMergedContent hook when changing content model by Bartosz Dziewoński
 * - SECURITY: Require 'read' right for most actions  by Kunal Mehta
 * - SECURITY: Fix permissions check in action=rollback (CVE-2021-45038) by Kunal Mehta
 * - SECURITY: Fix permissions checks in undo actions by Kunal Mehta
 * - Watchstar: Clean up message key documentation by Ed Sanders
 * - Allow EditPage's preload feature only on wikitext pages by Thiemo Kreuz
 * - Synchronize the disable state of multiselect and checkbox for submission and display by Func
 * - Add a ParserModifyImageHTML hook for PageImages  by Tim Starling
 * - docs: Fix Doxygen rendering of `@newable` in class comments by Timo Tijhof
 * - externalstore: Improve overall documentation by Timo Tijhof
 * - Revert "Replace deprecated methods IContextSource::getWikiPage && IContextSource::canUseWikiPage" by Legoktm
 * - Comment out stylelint warning by Ed Sanders
 * - cache: Add four fields to LinkCache::getSelectFields by Amir Sarabadani
 * - Reorder constructor params to UndeletePage by Daimona Eaytoy
 * - preferences: Introduce SignatureValidatorFactory service by Derick Alangi
 * - Reuse the query result in addCategoryLinks instead of relying on cache by Amir Sarabadani
 * - Allow placeholder to be set for multiselect fields in dropdown mode by Func
 * - RestrictionStoreTest: Don't access services in data providers by Kosta Harlan
 * - UpdateHandlerTest: Don't access MW services in dataProvider by Kosta Harlan
 * - SpecialPageAliasTest: Don't access MW services in dataProvider by Kosta Harlan
 * - CreationHandlerTest: Don't access MW services in dataProvider by Kosta Harlan
 * - Make some generic array type hints in PHPDocs more specific by Thiemo Kreuz
 * - ApiBlockInfoTrait: Add formatted and relative times by Ed Sanders
 * - Call static ChangesList::isDeleted statically by Umherirrender
 * - Inject ArchivedRevisionLookup into SpecialUndelete by Umherirrender
 * - Allow retrieval of tokens of all available types in one request by Siddharth VP

AbuseFilter

 * - Avoid using WikiPage::factory by Alexander Vorwerk

ActiveAbstract

 * - Avoid using WikiPage::factory by Alexander Vorwerk

Babel

 * - Fix zh-tw mis-translation in mediawiki/extensions/Babel by Winston Sung

CentralAuth

 * - Clean up RenameQueueTablePager by Matěj Suchánek
 * - Simplify some database reads by Matěj Suchánek
 * - Introduce GlobalRenameRequestStore by Taavi Väänänen

CodeMirror

 * - Fix syntax highlighting test failing when Cite isn't loaded by Thiemo Kreuz

Cognate

 * - Avoid using deprecated WikiPage instantiation methods by Alexander Vorwerk

ContentTranslation

 * - Avoid using WikiPage::factory by Alexander Vorwerk
 * - Fix empty reference cards in visual editor by Santhosh Thottingal

DiscussionTools

 * - Remove getHeading from HeadingItem (JS) by Ed Sanders
 * - Implement getSubscribableHeading/isSubscribable in JS and use by Ed Sanders
 * - Better document {Object} types by Ed Sanders
 * - ReplyWidget: Document all methods by Ed Sanders
 * - Controller: Use 'this' in $.each as intended by Ed Sanders
 * - Controller: Document private methods by Ed Sanders
 * - Use ParserOptions::newFromAnon instead of ParserOptions::newCanonical by Umherirrender
 * - Test cases for partially transcluded comments by Bartosz Dziewoński
 * - Add Range::compareBoundaryPoints by Bartosz Dziewoński
 * - Remove unused JS version of ThreadItem#getTranscludedFrom by Bartosz Dziewoński
 * - Move user subscription limit to config by Ed Sanders
 * - Show a hint on legacy interface when arriving from new topic tool hint by Bartosz Dziewoński
 * - Show a hint on the new topic tool to explain that it's new by David Lynch
 * - Make preferences button in auto-subscription popup more obviously clickable by Bartosz Dziewoński
 * - Fix replying when comments with the same name have different transclusion data by Bartosz Dziewoński
 * - Rename DiscussionToolsAutoTopicSubWhere to DiscussionToolsAutoTopicSubEditor by Ed Sanders
 * - Move some helpers from CommentParser to CommentUtils by Bartosz Dziewoński
 * - Change auto topic subs to re-subscribe you if you unsubscribed by Bartosz Dziewoński
 * - Add beta preference discussiontools-betaenable to DefaultUserOptions by Umherirrender

DonationInterface

 * - Update cancelPayment response handling for ingenico. by jgleeson

Echo

 * - Specify that watchlist emails are only sent once per page by Pppery

EntitySchema

 * - SECURITY: Replace more block checks permission checks by Lucas Werkmeister
 * - SECURITY: Do not let globally blocked users edit by Lucas Werkmeister

EventBus

 * - phpunit: Don't access MW services in dataProvider by Kosta Harlan
 * - Replace deprecated User::newFromIdentity with UserFactory by Umherirrender
 * - EventFactory: inject WikiPageFactory by Alexander Vorwerk

EventLogging

 * - EventLogging::submit: Add typehint for LoggerInterface by Kosta Harlan
 * - docs: Link to documentation for EventLogging::submit by Kosta Harlan
 * - Workaround false Phan error about User::getIntOption by Kosta Harlan

FlaggedRevs

 * - Reduce unused/duplicate is…PageView… code in FlaggablePageView by Thiemo Kreuz
 * - Remove global $mediaWiki usage by Adam Wight

Flow

 * - Use strict equality when safe to do so by Ed Sanders

Gadgets

 * - Add global 'withgadget' query parameter for ad-hoc loading of gadgets by Siddharth VP

GeoCrumbs

 * - Avoid using WikiPage::newFromID by Alexander Vorwerk

GeoData

 * - Avoid using WikiPage::factory by Alexander Vorwerk

GlobalUsage

 * - Hyphenating "case-sensitive" by Amir E. Aharoni

GlobalWatchlist

 * - build: Upgrade mediawiki-phan-config to 0.11.1 by Alexander Vorwerk

Graph

 * - Use ParserOptions::newFromAnon instead of ParserOptions::newCanonical by Umherirrender
 * - ApiGraph: inject services by Alexander Vorwerk

GrowthExperiments

 * - MentorTools: Add margin below weighting field by Martin Urbanec
 * - Fix subpage handling in SubpageRecommendationProvider by Gergő Tisza
 * - purgeExpiredMentorStatus: Fix batching logic by Martin Urbanec
 * - Create API to get/set mentee status by Martin Urbanec
 * - Use ParserOptions::newFromAnon instead of ParserOptions::newCanonical by Umherirrender
 * - Mentorship: Invalidate MentorManager's cache after mentor list is edited by Martin Urbanec
 * - Rewrite MentorManager::isMentorshipEnabledForUser to tristate by Martin Urbanec
 * - Mentor tools: Add frontend for changing mentor load by Martin Urbanec
 * - Use content language for mentor intro text by Gergő Tisza
 * - Mentor dashboard: Point to mw:Special:MyLanguage/Growth instead of mw:Growth by Martin Urbanec
 * - Homepage: avoid invisible link click area on mobile by Sergio Gimeno
 * - Rename files in ext.growthExperiments.Homepage.Logger & ext.growthExperiments.Homepage.Logging by MewOphaswongse
 * - Avoid using WikiPage::factory by Alexander Vorwerk
 * - MentorManager: Only invalidate cache when mentor list exists by Martin Urbanec
 * - Hardcode EditGrowthConfig requiresWrite/doesWrites by Gergő Tisza
 * - Structured task: take user back to suggested edits when all suggestions are skipped by MewOphaswongse
 * - Rename files and modules for discovering the homepage by MewOphaswongse
 * - MentorPageMentorManager: Do not fail hard with no mentor list configured by Martin Urbanec
 * - Rename files in ext.growthExperiments.Homepage.ConfirmEmail & ext.growthExperiments.Homepage.ConfirmEmail.styles by MewOphaswongse
 * - Move SuggestedEditSession.js out of homepage directory by MewOphaswongse
 * - Add Chinese special page aliases by Martin Urbanec
 * - Prepare for Minerva heading ID change by jdlrobson
 * - Add an image: track all suggestions filtered errors by Sergio Gimeno
 * - WelcomeSurvey: Instrument interactions with form by Kosta Harlan
 * - Add an image: Consolidate logic for generating thumbnail URL by MewOphaswongse
 * - Monitoring: Track newcomer task saves by task type, per wiki by Kosta Harlan
 * - Structured task: give users options for watchlist by MewOphaswongse

intersection

 * - Set a maximum allowed time for db queries by Amir Sarabadani

IPInfo

 * - IP Info icon should be present on collapsed lines on RecentChanges by tsepothoabala
 * - Fix misnamed directory name in ipInfo/modules by wikitrent
 * - logging: Combine implementation and interface by Sam Smith

JsonConfig

 * - Avoid using WikiPage::factory by Alexander Vorwerk

Kartographer

 * - Use ParserOptions::newFromAnon instead of ParserOptions::newCanonical by Umherirrender
 * - Avoid using WikiPage::factory by Alexander Vorwerk

Linter

 * - Avoid using WikiPage::factory by Alexander Vorwerk
 * - Add linter category for "inline-media-caption" by Arlo Breault
 * - Remove hardcoded list of categories with no parameters by Arlo Breault

MassMessage

 * - SpecialMassMessage: Improve the way we allot tab index to controls by Abijeet

Math

 * - Use ParserOptions::newFromAnon instead of ParserOptions::newCanonical by Umherirrender

MediaSearch

 * - Make sure all method return a promise by Simone This Dot
 * - Don't boot users with title="Special:MediaSearch" back to old search page by Eric Gardner
 * - Filter out non-string keys/values from query string before using by Eric Gardner
 * - Filter out image with no width/height by Simone This Dot
 * - Remove multiple instance of VUEX initialization by Simone This Dot
 * - Don't attempt to scroll to a non-existing result by Eric Gardner

MobileFrontend

 * - Remove moment.js, use formatted timestamps from the API by Ed Sanders
 * - Update and fix incorrect zh-* special page alias translations in MobileFrontend  by Winston Sung
 * - Remove forceHTTPS from CacheVaryCookies hook by Kunal Mehta

NearbyPages

 * - Migrate extension.json to manifest_version 2 by Umherirrender

Newsletter

 * - Remove aggregation from addNewsletterIssue method. by arttsymbar

NewUserMessage

 * - Avoid using WikiPage::factory by Alexander Vorwerk

OAuth

 * - build: Disable phan option null_casts_as_any_type and make pass by Umherirrender

ORES

 * - Remove unneeded User::newFromIdentity call by Umherirrender
 * - Avoid using WikiPage::factory by Alexander Vorwerk

Popups

 * - Use HookHandlers and implement hook interfaces by Fomafix
 * - Fix popups footer covering clickable content by Thiemo Kreuz
 * - Fix Popups storybook cases after renames in core by Func
 * - Update eventlogging schema by Adam Wight

ProofreadPage

 * - Add a category for referring to a missing index by Inductiveload
 * - Use ParserOptions::newFromAnon instead of ParserOptions::newCanonical by Umherirrender
 * - Move horizontal/vertical layout to CSS only by Sam Wilson
 * - Avoid using WikiPage::factory by Alexander Vorwerk

RevisionSlider

 * - Merge ….RevisionList ResourceLoader module away by Thiemo Kreuz
 * - Merge ….HelpDialog ResourceLoader module away by Thiemo Kreuz
 * - Merge ….Pointer ResourceLoader module away by Thiemo Kreuz

Scribunto

 * - Avoid using WikiPage::factory by Alexander Vorwerk
 * - mw.title: Add pageLanguage property by Brad Jorsch
 * - Update zh/zh-* namespace names and adding namespace aliases in Scribunto   by Winston Sung

SecurePoll

 * - Inject WikiPageFactory into action pages by Alexander Vorwerk

SpamBlacklist

 * - Use ParserOptions::newFromAnon instead of ParserOptions::newCanonical by Umherirrender

TemplateData

 * - Remove comma-delimiting code by Adam Wight
 * - Edit aliases via a proper widget instead of comma-separated by Thiemo Kreuz
 * - Add missing validation for aliases and suggestedvalues by Thiemo Kreuz
 * - Fix serialization adding empty autovalue when not needed by Thiemo Kreuz

TemplateSandbox

 * - Avoid using WikiPage::factory by Alexander Vorwerk

TemplateStyles

 * - Avoid using WikiPage::factory by Alexander Vorwerk

TextExtracts

 * - ApiQueryExtracts: inject WikiPageFactory by Alexander Vorwerk

Thanks

 * - Avoid using WikiPage::factory by Alexander Vorwerk

TheWikipediaLibrary

 * - Replace deprecated User::newFromIdentity with UserFactory by Umherirrender

TimedMediaHandler

 * - Avoid using WikiPage::factory by Alexander Vorwerk
 * - Remove usage of deprecated is_resource by Derk-Jan Hartman
 * - Use TextContent->getText instead of getNativeData by Derk-Jan Hartman
 * - Fix the progressbar when loading videoJs by Derk-Jan Hartman
 * - ApiTimedText: inject services by Alexander Vorwerk
 * - Remove "Created on" from file header comment by Umherirrender

TitleBlacklist

 * - Avoid using WikiPage::factory by Alexander Vorwerk

Translate

 * - LanguageSelector: Add code and direction based on selected language by Abijeet
 * - TranslatorActivity: Implement caching for inactive languages by Niklas Laxström
 * - Use Parser hooks instead of LinksUpdate to suppress categories by Tim Starling

TwoColConflict

 * - Fix typo in comment by WMDE-Fisch
 * - Avoid using WikiPage::factory by Alexander Vorwerk

UserMerge

 * - Avoid using WikiPage::factory by Alexander Vorwerk

VisualEditor

 * - Update VE core submodule to master (9df59571b) by Bartosz Dziewoński
 * - ApiVisualEditorEdit: Fix Phan build failure by Bartosz Dziewoński
 * - Remove more DOM garbage introduced by 'Web of Trust' extension by Ed Sanders
 * - Only set diffmode-historical user option when it has changed by Ed Sanders
 * - Update VE core submodule to master (2947b78df) by Bartosz Dziewoński
 * - Use no-jquery/no-html to warn against writing HTML strings to the DOM by Ed Sanders
 * - eslint: Enable no-jquery/no-append-html by Ed Sanders
 * - ve.ui.MWMediaDialog: Clean up image metadata display by Bartosz Dziewoński
 * - SECURITY: ve.ui.MWMediaDialog: Escape plaintext image metadata fields by sbassett
 * - Delay initialization of all invisible "add parameter" components by Thiemo Kreuz
 * - Skip bad suggestedvalues and aliases in the template dialog by Thiemo Kreuz
 * - Remove obsolete performance bottleneck from TransclusionModel by Thiemo Kreuz

Wikibase

 * - bridge: Remove pointless tests and reenable throw on console by Michael Große
 * - bridge: Use wrapper.findComponent and wrapper.findAllComponents by Michael Große
 * - bridge: upgrade to newer vue-test-utils and add Vue.nextTick by Michael Große
 * - Load Tainted Refs dynamically (fix IE11) by Lucas Werkmeister
 * - Use ParserOptions::newFromAnon instead of ParserOptions::newCanonical by Umherirrender
 * - bridge: replace usage of old new Vue constructor by Michael Große
 * - bridge: Reenable scrolling by mounting into parent by Michael Große
 * - bridge: fix terms of service and copyright missing by Michael Große
 * - SECURITY: Ignore formatter URLs with bad protocol by Lucas Werkmeister
 * - Add a config to pass the test by Amir Sarabadani
 * - Update docs on idGeneratorInErrorPingLimiter by toan
 * - Stop using WikiPage::factory in SubmitEntityAction by Lucas Werkmeister
 * - Stop using WikiPage::factory in EditFilterHookRunner by Lucas Werkmeister
 * - Stop using WikiPage::factory in order providers by Lucas Werkmeister
 * - Stop using WikiPage::factory in tests by Lucas Werkmeister
 * - Stop using WikiPage::factory in EchoNotificationsHandlers by Lucas Werkmeister
 * - Add missing LinkBatch::setCaller calls by Lucas Werkmeister

WikibaseLexeme

 * - Register service 'WikibaseLexemeGrammaticalFeaturesOrderProvider' by Noa wmde

WikiLambda

 * - update routing for new function editor tabs by jkieserman
 * - ZObjectHistoryAction::getPageTitle: Fall back if the object is corrupted by James D. Forrester
 * - ZObjectStore::fetchZObjectLabel: Fall back to English if the given code isn't recognised by James D. Forrester
 * - ZObjectJson: Line-break the comment to stop whine. by James D. Forrester
 * - zTesterResults: Use GET not POST for tester results by James D. Forrester
 * - Fix Frontend after Vue 3 migration build upgrade in MediaWiki by Simone This Dot
 * - Function pages display "object" or "array" instead of the name of the function, hides ZID by adesoji
 * - i18n: Consistently use the term 'Tester' not 'Test' by James D. Forrester
 * - Hooks::createInitialContent: If a ZObject exists, purge it rather than just returning by James D. Forrester
 * - onHtmlPageLinkRendererEnd: Call fetchZObjectLabel with language code, not ZID by gengh
 * - wikilambda_zobject_labels: Add wlzl_return_type column and migrate code by gengh
 * - Follow-up d6e1ebb: Don't try to declare VueRouter twice, Vue3 throws an error by James D. Forrester
 * - ZObjectStore::fetchZObjectByTitle: Use cached getKnownCurrentRevision not getRevisionByTitle by James D. Forrester
 * - tests: Make HooksTest Standalone, so it runs in parallel with other tests by James D. Forrester

WikimediaEvents

 * - Bump EditAttemptStep version to 1.2.0 by David Lynch
 * - PrefUpdate: Track growthexperiments-mentorship-weight for Growth by Martin Urbanec

WikimediaMaintenance

 * - Avoid using WikiPage::factory by Alexander Vorwerk
 * - blameStartupRegistry: Fix clash in $startupBytes variable name by Timo Tijhof

WikimediaMessages

 * - Rename OTRS to VRT in WikimediaMessages by Jon Harald Søby
 * - Fix typo in autopatrol protection message by TTO
 * - On mobile override main page title by jdlrobson

MinervaNeue

 * - Make whole area of last edited section to be tappable by Gagah Pangeran Rosfatiputra
 * - Use more narrow UserIdentity interface where possible by Thiemo Kreuz
 * - Prefer UserIdentity interface methods over User where possible by Thiemo Kreuz
 * - Remove unused class property initialization by Thiemo Kreuz
 * - Use PHPUnit shortcuts where possible by Thiemo Kreuz
 * - Remove some comments that literally repeat the code by Thiemo Kreuz
 * - Donate link is disabled by default for 3rd parties by jdlrobson
 * - Add composer test:size as shortcut bundle size test by Kosta Harlan
 * - Wrap the sitenotice with div element as other skins do by Func

Vector

 * - DRY up mw-ui- class generation by jdlrobson
 * - Disable table of contents in article body by jdlrobson
 * - Drop language A/B test bucketing check by jdlrobson
 * - Don't use ts-ignore. It is hiding real errors by jdlrobson
 * - Move watchlist button out of user menu dropdown and adds temporary feature flag by bwang
 * - Update skin authors to include web team by jdlrobson
 * - Vector uses html-title-heading by jdlrobson
 * - Add feature flag for sticky table of contents by Clare Ming
 * - Validate the value of VectorWebABTestEnrollment by jdlrobson
 * - Close .vector-menu-dropdown menus in modern Vector beforeunload by Nicholas Ray
 * - Add composer test:size as shortcut bundle size test by Kosta Harlan

VisualEditor/VisualEditor

 * - Follow-up I0f5a01e3d: Update unicodeJS readme and headers by Ed Sanders
 * - Converter: Cache whitespace regexes by Ed Sanders
 * - Tests: Move var declarations inline by Ed Sanders
 * - Tweak paragraph margins in multi-line table cells to match view mode by Bartosz Dziewoński
 * - ve.ce.Surface.test: Move var declarations inline by Ed Sanders
 * - Increase specificity of source mode paragraph margin rule by Ed Sanders

No changes

 * 3D
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * CheckUser
 * ChessBrowser
 * CirrusSearch
 * Cite
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeReview
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * DynamicSidebar
 * Elastica
 * ElectronPdfService
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUserPage
 * GoogleNewsSitemap
 * GuidedTour
 * ImageMap
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MachineVision
 * MapSources
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageTriage
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * SandboxLink
 * Score
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SiteMatrix
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateWizard
 * Timeless
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * UniversalLanguageSelector
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * Wikisource
 * XAnalytics
 * cldr
 * mediawiki/vendor
 * timeline
 * wikihiero

Total changes
278 Changes in 64 repos by 67 authors