MediaWiki 1.41/wmf.2/Changelog

Core changes

 * - Branch commit for wmf/1.41.0-wmf.2  by trainbranchbot
 * - mediawiki.special.block.js: Make target widget editable if pre-filled with IP by Thalia
 * - namespaceDupes: Remove extra addQuotes calls by Taavi Väänänen
 * - api: Mark query as read-only to avoid regex on SQL by Amir Sarabadani
 * - ApiParse: Add 'parsoid' option by C. Scott Ananian
 * - ParserOutputAccess: Fork primary and secondary caches for parsoid  by C. Scott Ananian
 * - Allow setting a ParserOption to generate Parsoid HTML   by C. Scott Ananian
 * - Simplify RedisBagOStuff::incrWithInit by Tim Starling
 * - MemcLockManager: fix variable overwritten by foreach by Tim Starling
 * - registration: Improve docs and add `ingroup` tags by Timo Tijhof
 * - Just another 80 or so PHPStorm inspection fixes (#4) by Tim Starling
 * - Fix even more PHPStorm inspections (#3) by Tim Starling
 * - Fix more PHPStorm inspections (#2) by Tim Starling
 * - Fix some PHPStorm inspections (#1) by Tim Starling
 * - Clean up IDatabase::deleteJoin return value assumptions by Tim Starling
 * - Maintenance: Add convenience methods to the Maintenance base class by daniel
 * - Parser: Remove back-compatibility NO_TOC_CONVERSION code by C. Scott Ananian
 * - Skin: Register icon for delete by Jon Robson
 * - Skin: Add icons for action=info and permalink by Jon Robson
 * - Add update-tests to parserTests by Arlo Breault
 * - tests: Introduce ExtensionJsonTestBase by Lucas Werkmeister
 * - SpecialVersion: Fix $wgSpecialVersionShowHooks support by Bartosz Dziewoński
 * - Support exposing fieldname a search snippet is sourced from by Matthias Mullie
 * - Revert "AutoLoader: Make $psr4Namespaces private" by Reedy
 * - tests: Introduce ExtensionServicesTestBase by Lucas Werkmeister
 * - mediawiki.special.block.js: Cast target value to string by Thalia
 * - tests: Make some PHPUnit data providers static by Tim Starling
 * - tests: Fix @covers for MaintenanceParametersTest by Umherirrender
 * - preferences: Only show the "responsive mode" setting for relevant skins by Func
 * - SpecialVersion: Build HTML directly instead of wikitext by Bartosz Dziewoński
 * - qunit: Move from JS to HTML by Timo Tijhof
 * - qunit: Remove non-standard assertTrue and assertFalse methods by Timo Tijhof
 * - HookContainer: test more cases by daniel
 * - tests/qunit: Replace assert.assertTrue with assert.true by Umherirrender
 * - jobqueue: Strip line break from Job::toString debug log line by Youri
 * - Parsoid PageConfigFactory: warn on any attempt to use deprecated argument by C. Scott Ananian
 * - Fix typo in Setup.php by Arlo Breault
 * - AutoLoader: Make $psr4Namespaces private  by Reedy
 * - maintenance/checkComposerLockUpToDate.php: Make the execution more followable by James D. Forrester
 * - ResourceLoader: Silence failure of encodeJson for $modules param by Timo Tijhof
 * - Update @wikimedia/codex-search module from v0.6.2 to v0.7.0 by Anne Tomasevich
 * - EditPage: Add capability of targeting editors of code in editor by Jon Robson
 * - Skins: Declare icons for move, delete, protected and whatlinkshere menu items by Jon Robson
 * - WikiTextStructure: Also extract figcaption elements as captions by Erik Bernhardson
 * - title: Use Title::makeName instead of ::getFullText in ::isValid by Umherirrender
 * - profiler: Add ProfilingContext class by Aaron Schulz
 * - Add a colored background box around a temporary account name by csimiyu
 * - Fix editTests.php by Arlo Breault
 * - EditPage: Only limit styling of edit interfaces when div present by Jon Robson
 * - EditPage: Check explicitly for blocks against the global session by Thalia
 * - Remove deprecated pager methods/classes by Bartosz Dziewoński
 * - jquery.makeCollapsible: support toggle placeholder by Lucas Werkmeister
 * - Fix some typos by Matěj Suchánek
 * - mediawiki.less: Add wrapper file to make codex-icon-paths import work by Roan Kattouw
 * - objectcache: fix connections in RedisBagOStuff multi methods by Aaron Schulz
 * - specials: Show block/suppress log extracts on Special:Unblock/ by Umherirrender
 * - objectcache: fix RedisBagOStuff::incrWithInit return value by Aaron Schulz
 * - objectcache: remove FLD_GENERATION_TIME field from WANCache entries by Aaron Schulz
 * - import: Check for seekable streams before doing syntax check by Umherirrender
 * - Use a Bcp47Code when communicating with Parsoid by C. Scott Ananian
 * - Allow a temp username pattern to be reserved without activating the system by Tim Starling
 * - parserTests.php: Add support for --trace, --dump Parsoid flags by Subramanya Sastry
 * - phpunit: Lower report limit to 10 slowest tests by Kosta Harlan
 * - Check images server responses for nosniff by Derk-Jan Hartman
 * - CategoryViewer::getSectionPagingLinks: Fix null array offset warning by Paladox
 * - specials: Make Special:Mute only usable for named users by Umherirrender
 * - Make LanguageNameUtils more lenient with input by Niklas Laxström

Vendor

 * - Bump wikimedia/parsoid to 0.18.0-a3    by C. Scott Ananian
 * - Update wikimedia/metrics-platform to 2.0.0 by Sam Smith

AbuseFilter

 * - Use actor table in AbuseFilter by Matěj Suchánek
 * - Replace deprecated database object access methods by Matěj Suchánek

Babel

 * - Make sure normalized MediaWiki codes are valid by Pppery

BetaFeatures

 * - Fix doc blocks and SPDX licenses by Reedy
 * - BetaFeatures: Special page aliases should not store in zh by Winston Sung
 * - Drop legacy blacklist preference-matching setting by James D. Forrester

CampaignEvents

 * - selenium: Edit Event Registration can allow organizer to change the event to be online and in-person by Vaughn Walters
 * - selenium: Refactor edit event registration test by Vaughn Walters
 * - Change organizer field placeholder message by Claudio Melo

CentralAuth

 * - SpecialWikisets: Avoid passing null to htmlspecialchars by Taavi Väänänen
 * - SpecialWikiSets: Avoid calling WikiSet::getId on null by Martin Urbanec

CheckUser

 * - Improve the race conditions present by STran
 * - Be explicit about loading ext.checkUser scripts on non-special pages by Thalia
 * - CheckUser: Special page aliases should not store in zh by Winston Sung

CirrusSearch

 * - Unpack Turkish Analyzer, enable better_apostrophe by tjones
 * - Fix implementation of Iterator for PHP 8.1 by Universal Omega
 * - build: Updating npm dependencies by Umherirrender
 * - Rename FileNumericFeature as IndexedNumericFieldFeatureTest by David Causse
 * - Remove redundant targets by Jon Robson
 * - Drop ext.cirrus.explore-similar feature by Jon Robson

CiteThisPage

 * - Register icon name for citethispage menu by Jon Robson

CodeEditor

 * - Use core behaviour regarding saving options for non-registered users by Bartosz Dziewoński

CodeMirror

 * - build: Updating npm dependencies by Umherirrender

Cognate

 * - Standardize and test CognateServices by Lucas Werkmeister

ContactPage

 * - ContactPage: Special page aliases should not store in zh by Winston Sung

ContentTranslation

 * - SX: Support restoration of lead section translations by NikG
 * - Store lead section translations inside "cx_section_translations" table by NikG
 * - Remove unnecessary targets  by Jon Robson
 * - CX corpora query API: Handle null blob types for translation units by NikG
 * - CX corpora dump: Filter out translation units without source by NikG
 * - SX: Instrument follow-up invite shown after publishing by NikG
 * - CX3 Build 0.2.0+20230321   by NikG

DiscussionTools

 * - Add new topics subscription button in Minerva by Ed Sanders
 * - Add a limit to queries on SpecialFindComment etc. by Bartosz Dziewoński
 * - Add `` to some localisation messages by Bartosz Dziewoński
 * - Add Special:DiscussionToolsDebug by Bartosz Dziewoński
 * - Only show the mobile add topic button on view pages by David Lynch
 * - Fix [reply] spacing on mobile when usability improvements unavailable by Bartosz Dziewoński
 * - Update linters by Ed Sanders
 * - build: Remove unneeded inline stylelint-disable-next-line by Umherirrender
 * - Bring over deleted message `minerva-talk-full-page` from Minerva by Ed Sanders
 * - persistRevisionThreadItems: Allow processing all pages in a namespace by Bartosz Dziewoński
 * - Use setExtensionData instead of marker comments where possible (3/3) by Bartosz Dziewoński
 * - Centralize EditAttemptStep logging code in WikimediaEvents by Bartosz Dziewoński

DonationInterface

 * - Move PlaceholderFiscalNumber to dlocal_gateway by wfan
 * - Dlocal: Handle return from 3ds authentication by Elliott Eggleston
 * - Dlocal: set use_3d_secure when configured by Elliott Eggleston
 * - update smash-pig to 0.8.4.7 by jgleeson
 * - Update smash-pig by Elliott Eggleston
 * - Respect result.redirect in dlocal.js by Elliott Eggleston
 * - Dlocal: Stop mapping submethod to payment_method_id by Elliott Eggleston
 * - Add 'wmf_token' CSRF protection to dLocal forms by Damilare Adedoyin

Echo

 * - Revert "Remove 50% opacity from notification badges when they are all read"  by Novem Linguae
 * - build: Remove unneeded inline stylelint-disable-next-line by Umherirrender
 * - Echo: Special page aliases should not store in zh by Winston Sung
 * - Make page linked notification link to diff by lectrician1

EntitySchema

 * - tests: Use ExtensionJsonTestBase by Lucas Werkmeister
 * - Test ContentHandlers in GlobalStateFactoryMethodsResourceTest by Lucas Werkmeister
 * - Add integration test to assert wiring conventions by Michael Große
 * - tests: Use ExtensionServicesTestBase by Lucas Werkmeister
 * - Introduce Service Wiring by Noa wmde
 * - Add section about browser tests to the README by Michael Große
 * - Add Readme section about updating dependencies  by Michael Große
 * - Allow ES6 js by Michael Große
 * - Add more detailed installation instructions to the README by Michael Große

EventBus

 * - EventBusFactory: Do not pass deprecated parameter by Sam Smith
 * - EventBusFactory: Do not pass deprecated parameter by Sam Smith

EventLogging

 * - MetricsPlatform: Fix ContextAttributesFactoryTest failing on prod branch by Sam Smith
 * - CI: Remove MobileContext Phan stub by Sam Smith
 * - ext.eventLogging: Add test coverage for e.meta and e.client_dt by Timo Tijhof
 * - tests/qunit: Change assert.ok to assert.true by Umherirrender
 * - EventLogging: Do not pass deprecated parameter by Sam Smith
 * - Integrate wikimedia/metrics-platform 2.0.0 by Sam Smith

EventStreamConfig

 * - StreamConfigs: Hard deprecate parameter by Sam Smith

FileImporter

 * - Use more narrow IConnectionProvider interface where possible by thiemowmde

Flow

 * - Remove targets from Flow  by Jon Robson

GlobalBlocking

 * - Return early from GetUserBlock hook handler if no IP to check by Thalia

GrowthExperiments

 * - documentation/frontend: Create "Add link" onboarding dialog demo by vyanez
 * - build: Updating npm dependencies by Umherirrender
 * - ComputedUserImpactLookup: Shared method for logging bad page data status by Kosta Harlan
 * - Frontend documentation: test a component that uses a Codex component by Sergio Gimeno
 * - User impact: Reduce pageview fetching log noise by Gergő Tisza
 * - Mentorship notifications: In Hebrew, display LTR version of the icon by Martin Urbanec
 * - MenteeOverview: Add access to user talk page by Martin Urbanec
 * - Make Personalized praise configurable via Special:EditGrowthConfig by Martin Urbanec
 * - GrowthMentors.json: Add a write-only username field by Martin Urbanec
 * - Personalized praise: Enable backend by default by Martin Urbanec
 * - ChangeMentor: Do not notify users with no access to mentorship by Martin Urbanec

GuidedTour

 * - tests/qunit: Replace assert.assertTrue with assert.true by Umherirrender
 * - tests/qunit: Change assert.ok to assert.assertTrue by Umherirrender

ImageSuggestions

 * - .gitreview: Remove defaultbranch when track=1 is given by Umherirrender

InputBox

 * - Add support for 'usedt' parameter to set '&dtpreload=1' by Bartosz Dziewoński

Kartographer

 * - Replace MapLinkTrait by MapLinkAttributeGenerator by Isabelle Hurbain-Palatin
 * - Export internationalized fragment creation to ParsoidUtils class by Isabelle Hurbain-Palatin
 * - Don't show unnamed groups in WikiVoyage layer controls by WMDE-Fisch
 * - Disable BoxZoom event as well when fullscreen map closes by thiemowmde
 * - Don't add empty groups to the map by WMDE-Fisch
 * - build: Remove unneeded inline stylelint-disable-next-line by Umherirrender
 * - Streamline updateMarkerSymbolCounters implementation by thiemowmde
 * - Make updateMarkerSymbolCounters data update optional by Isabelle Hurbain-Palatin
 * - Hide the center of a marker cluster when expanded  by thiemowmde
 * - Use larger autoPanPadding only for nearby popups by thiemowmde
 * - Various minor PHP code cleanups by thiemowmde
 * - Add missing tests cases for both & no tracking categories by thiemowmde

Linter

 * - Replace use of select or selectRow with QueryBuilder by sbailey

LiquidThreads

 * - LiquidThreads: Special page aliases should not store in zh by Winston Sung

Math

 * - Fix colors by Stegmujo
 * - Fix texstyle when rendering limits by Stegmujo
 * - Fix derivatives by Stegmujo
 * - build: Remove unneeded inline stylelint-disable-next-line by Umherirrender
 * - Fix P rendered as pilcrow by Stegmujo
 * - Fix spaces defined by tilde and backslash by Stegmujo
 * - Fix spaces not rendering if within mtext by Stegmujo
 * - Fix spaces and commas differentiation by Stegmujo
 * - Split latex_function_names and braces by Stegmujo

MediaSearch

 * - build: Updating npm dependencies by Umherirrender

MobileFrontend

 * - Centralize EditAttemptStep logging code in WikimediaEvents by Bartosz Dziewoński
 * - Remove remaining target by Jon Robson
 * - Remove references to unused mw.config values by Bartosz Dziewoński
 * - Special:MobileLanguages redirects to languages at bottom of page by Jon Robson
 * - Remove talk page tools by Bartosz Dziewoński

NavigationTiming

 * - Disconnect the observer when we collect the metrics. by Peter Hedenskog

NearbyPages

 * - NearbyPages: Special page aliases should not store in zh by Winston Sung

Nuke

 * - Nuke: Special page aliases should not store in zh by Winston Sung

OATHAuth

 * - Database-level support for multiple auth devices  by Taavi Väänänen

PageAssessments

 * - PageAssessments: Special page aliases should not store in zh  by Winston Sung

PageTriage

 * - Ignore partial blocks while showing blocked status for page authors by MPGuy2824

Phonos

 * - extension.json: Update minimum mediawiki version by s-mukuti
 * - extension.json: Remove unnecessary targets definitions by s-mukuti
 * - Remove i18n/api/ directory by Sam Wilson
 * - CountOrphanedFiles: use array_merge instead of union operator by MusikAnimal
 * - Phonos: Add PhonosInlineAudioPlayerMode config variable by TheresNoTime
 * - Improve icon and label alignment in MonoBook by Sam Wilson
 * - Phonos: Debug logging on handleNewFile by TheresNoTime
 * - PhonosButton.less: Remove focus rule by TheresNoTime

Popups

 * - Don't sync non-existent value by Jon Robson
 * - Fix storybook integration by Jon Robson

QuickSurveys

 * - Rename CdxButton `type` prop to `weight` by Anne Tomasevich

ReadingLists

 * - Only show share button on pages with an ID by Jon Robson
 * - Rename CdxButton `type` prop to `weight` by Anne Tomasevich

RevisionSlider

 * - build: Remove unneeded inline stylelint-disable-next-line by Umherirrender

SearchVue

 * - Expanded snippets by Simone Cuomo
 * - Quick view - Show the expanded search result snippet by Simone Cuomo

StopForumSpam

 * - Tweak msg: action-sfsblock-bypass by MarcoAurelio

Thanks

 * - build: Updating npm dependencies by Umherirrender
 * - Thanks: Special page aliases should not store in zh by Winston Sung

TimedMediaHandler

 * - build: Simplify eslint config by Umherirrender

Translate

 * - MessageWebImporter: Use translation instead of language code on import by Abijeet
 * - UpdatedAid: ensure definition is older than translation by Pols12
 * - TranslatablePageInsertableSuggester: use unicode regexp by Niklas Laxström

TranslationNotifications

 * - Save translator last signup activity time in user options by wangombe

TwoColConflict

 * - build: Updating npm dependencies by Umherirrender

UniversalLanguageSelector

 * - Update jquery.uls from upstream by Amir E. Aharoni
 * - Update jquery.uls from upstream by wangombe

VisualEditor

 * - Add editcheck tags when VE thinks a reference is needed by David Lynch
 * - Initial edit check tagging by Ed Sanders
 * - MWSaveDialog: Center preview in Vector 2022 by Ed Sanders
 * - Centralize EditAttemptStep logging code in WikimediaEvents by Bartosz Dziewoński
 * - Simplify timing tracking code by Bartosz Dziewoński
 * - Remove unnecessary targets  by Jon Robson

WebAuthn

 * - Drop getDataFromUser by Taavi Väänänen

Wikibase

 * - Icon is called logoWikidata not wikidata by Jon Robson
 * - tests: Use ExtensionJsonTestBase by Lucas Werkmeister
 * - REST: Add a self-validating value object for Rank by sihe
 * - REST: Adjust serializer for PropertyValuePair by Jakob Warkotsch
 * - REST: Enforce presentation namespace dependencies by Jakob Warkotsch
 * - REST: Add PropertyValuePair read model by Jakob Warkotsch
 * - REST: Allow DataValues as a domain model dependency by Jakob Warkotsch
 * - EntityUsageTable: Mark query as read-only by Lucas Werkmeister
 * - REST: Enforce validation namespace dependencies by Jakob Warkotsch
 * - REST: Enforce serialization namespace dependencies by Jakob Warkotsch
 * - tests/qunit: Replace assert.assertTrue with assert.true by Umherirrender
 * - Declare Wikibase icon by Jon Robson
 * - REST: Move domain exceptions to Domain\Services\Exceptions by Jakob Warkotsch
 * - REST: Nest dependencies in PHPat test by Jakob Warkotsch
 * - Revert "Remove unused phan suppression" by Jakob
 * - REST: Add Generic.WhiteSpace.ScopeIndent PHPCS rule by Jakob Warkotsch
 * - REST: Create OAS tests for GetItemDescription by Muhammad Jaziraly
 * - REST: Handle description not found for item by sihe
 * - REST: Handle redirect/not-found for descriptions by Norman Schwirz
 * - REST: Change 'alias' to 'aliases' by Muhammad Jaziraly
 * - REST: Create OAS tests for GetItemAliasesInLanguage by Muhammad Jaziraly
 * - REST: Align language "not found" vs "not defined" by Jakob Warkotsch
 * - REST: Create openapi validation tests for GET label by Jakob Warkotsch
 * - REST: Respond with 404 if no aliases found for specific lang by Muhammad Jaziraly
 * - REST: Respond with 404 if requested label does not exist by Jakob Warkotsch
 * - REST: Handle redirect/not-found for aliases in language by Muhammad Jaziraly
 * - REST: Create GetItemAliasesInLanguageValidator by Muhammad Jaziraly
 * - REST: Create GetItemDescriptionValidator by Muhammad Jaziraly
 * - REST: Create GetItemAliasesInLanguageRouteHandler by Muhammad Jaziraly
 * - REST: Fix validation vs use case error code by Jakob Warkotsch
 * - REST: Handle redirect/not-found for GetItemLabel by sihe
 * - REST: Fix @covers annotations in tests by Muhammad Jaziraly
 * - tests: Use ExtensionServicesTestBase by Lucas Werkmeister

WikibaseLexeme

 * - Remove text-transform: capitalize; by Jon Harald Søby

WikibaseQualityConstraints

 * - Bump sinon from 15.0.2 to 15.0.3 by Addbot

WikiEditor

 * - build: Remove unneeded inline stylelint-disable-next-line by Umherirrender
 * - build: Remove unneeded inline stylelint-disable-next-line by Umherirrender
 * - Realtime Preview: enable by default  by Sam Wilson
 * - Centralize EditAttemptStep logging code in WikimediaEvents by Bartosz Dziewoński

WikiLambda

 * - UpdateImplementationsJobs: Log interesting bits of the Status only by James D. Forrester
 * - Fix changeType methods and improve related tests by gengh
 * - ZTypedList: Handle changing the type of a typed list  by Julia Kieserman
 * - Fix ApiPerformTest test: not found when passed a non existing implementation by gengh
 * - build: Updating npm dependencies by Umherirrender
 * - portray.js: Fix check for empty array by Umherirrender
 * - CUJ 2: Create a function definition by Florent
 * - build: Drop file-level disables of CI errors/warnings on our Vue code by James D. Forrester
 * - Add integration test for Z823. by apine
 * - ZTypeRegistry: Add test coverage of isZFunctionBuiltIn/getZFunctionBuiltInName by James D. Forrester
 * - ZTypeRegistry::isZObjectInstanceOfType: Add test for last edge case by James D. Forrester
 * - ZObjectRegistry::__construct: Mark line as never covered in tests by James D. Forrester
 * - Follow-up ac9c3fbef: ApiZObjectFetcher: Cover the last two edge cases by James D. Forrester
 * - Update use of CdxButton `type` and `action` props by Anne Tomasevich
 * - ZObjectEditAction: Actually link the label for the user rights by James D. Forrester
 * - tests for mixins/typeUtils new methods by nik-55
 * - Feat: front-end: Add specific unit tests for `zobjectTreeUtils` by Allan Jeremy
 * - Improve test coverage for maybeUpdateImplementationRanking by dmartin

WikimediaEvents

 * - Centralize EditAttemptStep logging code in WikimediaEvents by Bartosz Dziewoński
 * - Decommission the EditorActivation instrument by Sam Smith

WikimediaMaintenance

 * - A script to create SecurePoll or MassMessage list for users with names matching a prefix by Tim Starling

WikimediaMessages

 * - Rename "Support and Safety" to "Trust and Safety" by MarcoAurelio

Wikistories

 * - Close or reload confirmation by eamedina

MinervaNeue

 * - Make toolbox and actions menu more flexible to extension by Jon Robson
 * - Enable core interface styles on mobile by Jon Robson
 * - Remove talk page tools by Bartosz Dziewoński

Vector

 * - build: Update SVGO to v3.0.2 & re-crush icons by Volker E
 * - Fix order of language menu and add topic in sticky header by Bartosz Dziewoński
 * - Add indicator that appears when TOC & page tools menu have been hidden by Moh'd Khier Abualruz
 * - Linting: run npm -s run lint:js -- --fix by Moh'd Khier Abualruz
 * - Hide language menu in sticky header on non-subject pages by Ed Sanders

VisualEditor/VisualEditor

 * - Grey out list marker when list item is no-change context by Ed Sanders
 * - Remove unused ve.trackSubscribeAll by Bartosz Dziewoński

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * Cite
 * Citoid
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FlaggedRevs
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * IPInfo
 * ImageMap
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * ProofreadPage
 * PropertySuggester
 * Quiz
 * RSS
 * RelatedArticles
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * TheWikipediaLibrary
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TrustedXFF
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * VueTest
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
302 Changes in 68 repos by 87 authors