MediaWiki 1.40/wmf.20/Changelog

Core changes

 * - Update git submodules by Bartosz Dziewoński
 * - Update git submodules by bwang
 * - Update git submodules by Sergio Gimeno
 * - Update git submodules by Jakob Warkotsch
 * - Update git submodules by Jan Drewniak
 * - Update git submodules by Jan Drewniak
 * - Branch commit for wmf/1.40.0-wmf.20 by trainbranchbot
 * - Self link fragments should be properly escaped by Jon Robson
 * - Tests: add ObjectFactory to DummyServicesTrait by DannyS712
 * - SpecialUserrights: Allow updating the expiry of user groups by Func
 * - Rest: Handle exceptions during handler creation by Gergő Tisza
 * - tests: Rename various test files to match the class by Aaron Schulz
 * - Improve output on Special:Undelete by Matěj Suchánek
 * - ChangeTags: Replace MWException with InvalidArgumentException by Bartosz Dziewoński
 * - api/en.json: api-help-datatype-expiry add missing 'may' by Reedy
 * - Deprecate MWException by Daimona Eaytoy
 * - Filepage: Remove deprecated collapsible classname by Derk-Jan Hartman
 * - Filepage: multipage navigation rework by Derk-Jan Hartman
 * - migrateRevisionCommentTemp: Improve select query by Alexander Vorwerk
 * - Provide button for revision deletion of selected files on file page by Umherirrender
 * - API: Make continue parameter help description more specific by Emitewiki2
 * - rdbms: set lastPing in Database::initConnection by Aaron Schulz
 * - Left align metadata table by Derk-Jan Hartman
 * - apisandbox: Minor cleanup and i18n improvement by Func
 * - apisandbox: Join arguments together before passing to lable widget by Func
 * - ApiOptions: Give warning if the value is too long by Func
 * - SpecialEditWatchlist: Register table of contents in way that respects skin by Bartosz Dziewoński
 * - Generate/set/get TOCData/SectionMetadata objects instead of arrays by Subramanya Sastry
 * - Add dependency injection for Job classes by daniel
 * - Move validation of timezone to HTMLTimezoneField by Func
 * - poolcounter: Create PoolCounterFactory service class by Timo Tijhof
 * - compareLanguageConverterOutput: Use Diff and ArrayDiffFormatter by Abijeet
 * - specials: Remove js config var export from Special:Block by Umherirrender
 * - Sync up core repo with Parsoid by Arlo Breault
 * - Special:ApiHelp: Move widths and floats in CSS to media query by Steven Rawson
 * - maintenance/mysql: Add missing $serverInfo to fix --raw-host option by Timo Tijhof
 * - Add migrateRevisionCommentTemp maintenance script by Alexander Vorwerk
 * - user: Truncate option value in UserOptionsManager by Umherirrender
 * - psysh: Add MW_NO_SESSION mode for testing related features by Gergő Tisza
 * - maintenance: Clear execute bit for run.php by Kevin Israel
 * - API: Allow use of multivalue parameter documentation for templates by Gergő Tisza
 * - rdbms: Use DBConnRef in SelectQueryBuilder by Tim Starling
 * - Revert gallery changes in 1.40.0-wmf.18 & .19 by Bartosz Dziewoński
 * - jobqueue: Document that RefreshLinksJob doesn't write to ParserCache by daniel
 * - File backend: Fix "Notice: Undefined index: latest" by Paladox
 * - Update OOUI to v0.46.2    by James D. Forrester
 * - Fix docblock comment of User::sendMail $body parameter by Brian Wolff
 * - tests: Consolidate legacy Context tests into integration suite by James D. Forrester
 * - rdbms: Stop going read-only if all replicas are lagged by Amir Sarabadani
 * - rdbms: Drop three unused properties from Database by Amir Sarabadani
 * - rdbms: Drop Database::getApproximateLagStatus by Amir Sarabadani
 * - objectcache: Fix DI for MultiWriteBagOStuff sub caches by Timo Tijhof
 * - SpecialRecentChanges: Add inverted tag filter for non-javascript UI by Func
 * - openForEditing: Wait until CodeMirror is fully disabled by Func
 * - Set interface flag for the main page title message by Bartosz Dziewoński
 * - REST: Move Helper classes to their own namespace by Derick Alangi
 * - Fix global wgLocalTZoffset variable name in TestSetup by Isabelle Hurbain-Palatin
 * - deferred,jobqueue,rdbms: Change logger->notice to info or warning by Timo Tijhof
 * - JsonCodec: fix en/decoding of nested objects and stdClass objects by C. Scott Ananian
 * - Special:Preferences: fix mobilelayout anchors by jsn
 * - tests: Expand test for LogFormatter::getPerformerElement/Comment by Umherirrender
 * - Linker: Pass revision ID through to user link by Thalia
 * - tests: Add some basic coverage for RequestContext::sanitizeLangCode by James D. Forrester
 * - Make Norwegian's genitive grammar work for links by Jon Harald Søby
 * - Avoid passing null to HTMLFormField methods by Sam Wilson
 * - Make sure hreflang Tags' alternate URLs are fully-qualified by Junyin Chen

Vendor

 * - Bump parsoid to 0.17.0-a12 by Arlo Breault
 * - Update OOUI to v0.46.2 by James D. Forrester

Babel

 * - Remove incorrect comment from tests by Pppery
 * - Remove vestiges of $wgBabelUseDatabase by Pppery
 * - Allow composer/installers plugin  by Umherirrender

CampaignEvents

 * - selenium: Cancel user registration for an event test by Vaughn Walters
 * - selenium: Enable Event Registration can have one user register privately by Vaughn Walters
 * - selenium: Enable Event Registration can have one user register publicly by Vaughn Walters
 * - Create group for special pages defined by the extension by Daimona Eaytoy
 * - Add tz validation and fix batching in UpdateUTCTimestamps by Daimona Eaytoy

CategoryTree

 * - Add a CategoryCache service for use on Special:TrackingCategories by Umherirrender

CentralAuth

 * - Add job constructors without title by Taavi Väänänen
 * - Revert "Revert "GlobalRename: Convert DB selects to use SelectQueryBuilder"" by Zabe
 * - Document query parameters used by Special:CentralAutoLogin by Gergő Tisza
 * - Document Special:CentralAutoLogin better by Gergő Tisza

CheckUser

 * - Add reason search in CU log and move plaintext gen. code to a service by Dreamy Jazz
 * - Add maintenance script to move cu_changes log entries to new table by Dreamy Jazz
 * - Drop cul_user from 'selectFields' in CheckUserLogPager by Alexander Vorwerk
 * - Drop cul_actor migration code by Alexander Vorwerk
 * - populateCucComment: fix copy/paste mistake by Alexander Vorwerk
 * - Add ability to start from cuc_id to populateCucComment by Alexander Vorwerk
 * - Remove version.js test by Dreamy Jazz
 * - Add read new support for cu_log comment ID columns by Dreamy Jazz
 * - Add test for 'checkuser-temporary-account-enable' preference by Thalia
 * - Add preference to view temp account IPs by STran
 * - Revert "Add read new support for cu_log comment ID columns" by Dreamy Jazz
 * - Log user logouts using Special:Logout or the API in CheckUser by Dreamy Jazz
 * - Use empty serialised array as default of cupe_params by Dreamy Jazz

CirrusSearch

 * - Unpack CJK Analyzer by tjones
 * - Use core's PoolCounterClient by Alexander Vorwerk
 * - selenium: Remove webdriverio npm package by Peter Wangai
 * - UpdateSuggesterIndex: Properly cleanup bad indices by Erik Bernhardson
 * - Resolve deprecations and type changes in elastica 7.3.0 by Erik Bernhardson

Cite

 * - Specify document base URLs in more test cases by Bartosz Dziewoński

cldr

 * - Fix typo in 'month-past-other' in Hausa (ha) by Bartosz Dziewoński
 * - Replace deprecated Language::getFallbacksFor by Umherirrender
 * - tests: Replace deprecated Language::factory by Umherirrender
 * - Allow composer/installers plugin by Bartosz Dziewoński

CodeMirror

 * - Enable CodeMirror code on mobile domain by Jon Robson
 * - Bump the required version of MediaWiki to 1.39 by Func
 * - selenium: Remove webdriverio npm package from the CodeMirror extension by Peter Wangai
 * - Use HookHandlers and inject services by Fomafix
 * - Use @coversDefaultClass in test case by Fomafix

Collection

 * - Allow composer/installers plugin by Umherirrender

CommonsMetadata

 * - Parse html as whole document to avoid encoding issues by Umherirrender

ContactPage

 * - Provide recipient username to emailsenttext message by Wugapodes
 * - Prevent crash if AdditionalFields not set by Wugapodes
 * - Start on selenium tests for ContactPage by Dreamy Jazz
 * - Don't display info text when email is required by Wugapodes
 * - Suppress Phan check for plain text output by Wugapodes

ContentTranslation

 * - CX3 Build 0.2.0+20230123   by Santhosh Thottingal
 * - Reverse key-value for subdomain-migrated language code  by Winston Sung
 * - SX: Fix language selector for draft translations by NikG
 * - SX: Move state source/target language update actions to composable by NikG
 * - Use helper classes from the new namespace by Derick Alangi
 * - SX: Instrument Contributions page entrypoint by NikG

DiscussionTools

 * - ApiDiscussionToolsEdit: Unwrap Parsoid sections before parsing by Bartosz Dziewoński
 * - Remove 'DiscussionToolsLegacyHeadingMarkup' config option by Bartosz Dziewoński
 * - Update exception handling for new code conventions by Bartosz Dziewoński
 * - Use localStorage for auto-save by Ed Sanders
 * - Hide the Source/Visual tags on DiscussionTools edits by Bartosz Dziewoński
 * - Tweaks for new heading HTML structure  by Bartosz Dziewoński
 * - Add test for DiscussionTools TOC additions by Bartosz Dziewoński
 * - Update generating DiscussionTools TOC additions after parser changes by Bartosz Dziewoński
 * - composer: Update mediawiki-codesniffer to 40.0.1 by Ed Sanders
 * - Test ServiceWiring.php by Dreamy Jazz
 * - SpecialFindComment: Use new FormSpecialPage helpers by Bartosz Dziewoński
 * - Improve handling for comment separators by Bartosz Dziewoński
 * - Add another test case for template  by Bartosz Dziewoński
 * - Flip the reply button icon on RTL by Bartosz Dziewoński

DismissableSiteNotice

 * - Add nonce support to inline script by alistair3149

DonationInterface

 * - Japan form variant #2 by Elliott Eggleston
 * - First variant for Japan tests by Elliott Eggleston
 * - Add address fields for ZA and IN by cstone
 * - Show fiscal number on DLocal forms where needed by Elliott Eggleston
 * - Preload third party script for google and dlocal by wfan
 * - Update SmashPig requirement to 0.8.3.15 by Elliott Eggleston
 * - Swap Croatia (HR) to Adyen and EUR by Elliott Eggleston
 * - Tweak Dlocal HTML to align expiry and CVV by Elliott Eggleston
 * - Log and preserve QS on redirect to donatewiki by Elliott Eggleston
 * - Use ReferenceData to unstage Ingenico submethod by Elliott Eggleston
 * - Adyen: ensure external script loads first  by Elliott Eggleston
 * - Render smartfield ui to the dlocal gateway page by wfan

EntitySchema

 * - selenium: Remove webdriverio npm package from the Entity Schema extension by Vaughn Walters

EventBus

 * - EventFactory: Make CommentFormatter an optional dependency by Kosta Harlan
 * - UserEntitySerializerTest: Work with wgAutoCreateTempUser by Kosta Harlan

GrowthExperiments

 * - User impact: amend incorrect parameter for the single day streak text by Sergio Gimeno
 * - Set GEMentorProvider to "structured" by default by Martin Urbanec
 * - Community configuration: Make validators define default content by Martin Urbanec
 * - Log to statsd when a suggested editing task is not available by Gergő Tisza
 * - ChangeMentor: Improve PHP typing and docstrings by Martin Urbanec
 * - Mentorship: When opting in, persist mentor relationship in MentorStore by Kosta Harlan
 * - MenteeFilters: Fix typo in computed instance definition by Kosta Harlan
 * - UserImpactHandler: Clarify that it supports GET and POST by Kosta Harlan
 * - [docs] Fix docstring for UserImpact::getLongestEditingStreakCount by Martin Urbanec
 * - User impact: Add thanks and longest streak scorecards to the unactivated state by Sergio Gimeno
 * - User impact: avoid removing keys in article associative arrays by Sergio Gimeno
 * - User impact: show skeleton while an api request is ongoing by Sergio Gimeno
 * - User impact: use third person copy texts in Special:Impact/ by Sergio Gimeno
 * - User impact: add skeleton markup while JavaScript loads by Sergio Gimeno
 * - Document plugin parameters of visualeditoredit API by Gergő Tisza
 * - extension.json: Alphabetize Hooks and HookHandlers by Gergő Tisza

ImageMap

 * - Allow composer/installers plugin by Umherirrender

Kartographer

 * - Fix typo in extension.json by thiemowmde
 * - Log if external data expansion takes more than 1s by Adam Wight
 * - Backwards-compatibility for named layers by Adam Wight
 * - Pass group names through to layer selector by Adam Wight
 * - Revert "Revert "Breaking upgrade: mapdata"" by Adam Wight
 * - Nearby: Link image in popup to target article as well by thiemowmde
 * - Reduce minor code duplication related to preview in MapFrame by thiemowmde
 * - Revert "Breaking upgrade: mapdata" by Thiemo Kreuz (WMDE)
 * - No auto-focus when using the arrow keys by Svantje Lilienthal
 * - Nearby: Throw ConfigException when required extension missing by thiemowmde
 * - nearby: Refresh points not only on "movend" but on move by thiemowmde

LoginNotify

 * - Update for CheckUser actor migration by Alexander Vorwerk

MobileFrontend

 * - MobileFrontendHooks: Remove unused variable from `onSpecialPageInitList` by Derick Alangi
 * - Make ApiParseExtenderTest more robust to HTML changes by Bartosz Dziewoński
 * - Fix variants links for multi-language wikis by Func

MultimediaViewer

 * - Use checkered background for transparent WebP images by Gergő Tisza

OAuth

 * - Pin lcobucci/jwt to compatible version (4.1.5) by Lucas Werkmeister

PageAssessments

 * - PageAssessments.i18n.alias.php: add alias for zh by MusikAnimal

PageTriage

 * - CurationToolbar: Disallow sending note to self on the tags flyout by MPGuy2824

Popups

 * - Don't show page previews on hash fragments by Jon Robson

RelatedArticles

 * - Update npm lockfileVersion to v2 by Željko Filipin
 * - selenium: Remove webdriverio npm package by Vaughn Walters

Renameuser

 * - phan: Suppress unlikely XSS warning from phan in LogFormatter by Umherirrender

SearchVue

 * - Replace searchSatisfaction in SearchPreview event implementation by Simone Cuomo
 * - Reduce jumping of content in mobile preview animation by Simone Cuomo
 * - Improve Search Preview Spacing on mobile by Simone Cuomo
 * - Enhance search Preview keyboard navigation by Simone Cuomo

SecureLinkFixer

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

SecurePoll

 * - findUsersWithRight: Don't run CA code unless CA is loaded by Reedy

TemplateData

 * - Improve API examples by EpicPupper

Translate

 * - Update slevomat/coding-standard to 8.8.x by Abijeet
 * - Update version for MLEB 2023.01 by Abijeet
 * - Utilities: Cast string to int before calling messageKeyToGroups by Abijeet
 * - ImportExternalTranslations: Add option to broaden safe languages by Abijeet
 * - Remove processMessageChanges by Abijeet
 * - Move TranslateUtils into Utilities namespace by wangombe

TwoColConflict

 * - Try to make selenium tests a little more stable & specific by thiemowmde
 * - build: Bump dev dependencies by WMDE-Fisch

UniversalLanguageSelector

 * - Set hreflang attribute to the links by Santhosh Thottingal
 * - Update version for MLEB 2023.01 by Abijeet
 * - Update jQuery.uls to add support for up/down navigation of languages by Abijeet

VisualEditor

 * - Fix Wikitext editor preview layout in Vector 2022 by Jan Drewniak
 * - Remove references to mediawiki.Uri by Bartosz Dziewoński
 * - Rewrite mw.libs.ve.getTargetDataFromHref with URL API by Bartosz Dziewoński
 * - Update VE core submodule to master (b7ff5aac0) by Bartosz Dziewoński
 * - More realistic mocked data for MWWikitextStringTransferHandler tests by Bartosz Dziewoński
 * - Minor test tweaks by Bartosz Dziewoński
 * - Remove unnecessary test file by Bartosz Dziewoński
 * - mw.Target: Allow passing storageExpiry to initAutosave by Ed Sanders
 * - Update VE core submodule to master (035756895) by Ed Sanders
 * - Update VE core submodule to master (5917667a6) by Bartosz Dziewoński
 * - Work around Firefox bug affecting LazyMultilineTextInputWidget by thiemowmde
 * - Update eslint-config-wikimedia to 0.24.0 by Ed Sanders
 * - Use getImageNodes instead of custom filter by Wout Gevaert
 * - Use helper classes from the new namespace by Derick Alangi

Wikibase

 * - REST: Use error log level for unexpected errors by Jakob Warkotsch
 * - REST: Remove StatementJsonPresenter by Jakob Warkotsch
 * - REST: Remove PatchItemStatementErrorJsonPresenter by Jakob Warkotsch
 * - REST: Use Item read model in ItemRevision by Jakob Warkotsch
 * - REST: Test edit while user blocked by Muhammad Jaziraly
 * - REST: Improve edit use case tests by Jakob Warkotsch
 * - REST: Disallow use of fully qualified class names by sihe
 * - REST: Remove GetItemJsonPresenter by Jakob Warkotsch
 * - Add GuidGenerator::newStatementId: StatementGuid by Jakob Warkotsch
 * - REST: Move ItemRevision to ReadModel namespace by Jakob Warkotsch
 * - REST: Wrap {field} in single quotes in errors by Ollie Shotton

WikibaseLexeme

 * - Bump new-lexeme to pull in a11y improvements by Lucas Werkmeister

WikibaseQualityConstraints

 * - Remove redundant JSON files used for PHPunit tests by Noa wmde
 * - Remove JsonFileEntityLookup by Lucas Werkmeister
 * - Stop using JsonFileEntityLookup in TypeChecker tests by Noa wmde
 * - Bump eslint-config-wikimedia from 0.23.0 to 0.24.0 by Addbot

WikiLambda

 * - Fix styles for default view nesting by gengh
 * - Throw error when get 404 from orchestrator. by EWright
 * - replace language label with ISOcode by adesoji
 * - Change toggle event name by gengh
 * - Add width fit-content features to ZObjectSelector and TextInput fields   by gengh
 * - Provide the user rights for creating, editing, and running ZObjects by James D. Forrester
 * - Use core's PoolCounterClient by Alexander Vorwerk
 * - tests: Check that an error occurs in ApiPerformTest when the orchestrator isn't present by James D. Forrester
 * - Add example of orchestrator timeout. by apine
 * - resources/lib: Update Ace from 1.12.1 to 1.14.0 by James D. Forrester
 * - jsdoc: Link to Set so jsdoc doesn't whine by James D. Forrester
 * - jsdoc: Don't try to document upstream libraries by James D. Forrester
 * - Remove stopPropagation from click event by gengh
 * - Fix styles of input and block separation in FunctionEditor by gengh
 * - Cache results of ZTester runs in MW's DB by James D. Forrester

WikimediaMaintenance

 * - Add script to rename a change tag in wmf prod by Alexander Vorwerk

Wikistories

 * - Fix builder text area glitch on Firefox by Huei Tan

MinervaNeue

 * - selenium: Remove webdriverio npm package from the Minerva Neue skin by Vaughn Walters

Vector

 * - Define grid template row for .mw-body grid container to ensure the grid cell containing the content will expand in height when needed by bwang
 * - Add temporary extra grid-area for content translation extension by Jan Drewniak
 * - Work around sticky-positioned layers disabling subpixel rendering by Bartosz Dziewoński
 * - Change limited-width toggle to appear at 1400px by Jan Drewniak
 * - Fix font-size adjustments for narrow width   by Sam Wilson
 * - DI: Make pinnable elements work on Safari 13 and earlier by Derk-Jan Hartman
 * - Update puppeteer actions for page tools by bwang
 * - Personal tools accessibility label should not be "Foo" by Jon Robson
 * - Legacy Vector is not a responsive skin by Jon Robson
 * - Use tabs consistently in .mustache files by Ed Sanders
 * - Update displaying DiscussionTools TOC additions after parser changes by Bartosz Dziewoński
 * - Remove code to disable new search on Wikidata by Lucas Werkmeister

WikimediaApiPortal

 * - Remove documentation in repository in favor of on-wiki skin page by EpicPupper
 * - Remove unused requirement in composer.json by apaskulin

VisualEditor/VisualEditor

 * - Specify document base URLs in more test cases by Bartosz Dziewoński
 * - Minor test tweaks by Bartosz Dziewoński
 * - Remove unused test code by Bartosz Dziewoński
 * - Update OOUI to v0.46.2 by James D. Forrester
 * - Update eslint-config-wikimedia to 0.24.0 by Ed Sanders
 * - ve.dm.Surface: Support storage expiry by Ed Sanders
 * - Update SafeStorage and ConflictableStorage with expiry functionality by Ed Sanders
 * - Replace ListStorage with ConflictableStorage by Ed Sanders

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * Citoid
 * CodeEditor
 * Cognate
 * CologneBlue
 * ConfirmEdit
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DoubleWiki
 * Echo
 * Elastica
 * ElectronPdfService
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FlaggedRevs
 * Flow
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * MachineVision
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MediaSearch
 * MobileApp
 * Modern
 * MonoBook
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Phonos
 * Poem
 * ProofreadPage
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * VueTest
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMessages
 * Wikisource
 * XAnalytics
 * intersection
 * timeline
 * wikihiero

Total changes
280 Changes in 50 repos by 84 authors