MediaWiki 1.38/wmf.25/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.25 by trainbranchbot
 * - tests: Avoid unsafe use of setUpBeforeClass in ApiFormatXmlTest by Aaron Schulz
 * - ApiQuerySiteinfoTest: Don't access MW services in dataProvider by Aaron Schulz
 * - Fix type of value directly passed to php internal functions by Umherirrender
 * - Add namespaces for Gun (guw) by Amir E. Aharoni
 * - Introduces skin- prefixed message key for nav items by Jon Robson
 * - rdbms: Simplify TransactionManager class a bit now the code has moved by Amir Sarabadani
 * - MovePage: Only return Status from moveToInternal by Matěj Suchánek
 * - MovePage: Simplify data retrieval using selectFieldValues by Matěj Suchánek
 * - pageupdater.md: Update and fix references to code by Matěj Suchánek
 * - Consistently use `@deprecated since` rather `@deprecated` by Reedy
 * - GlobalIdGenerator: Code cleanup by Reedy
 * - Special:Undelete - add a backlink from revisions by DannyS712
 * - composer.json: Add 7 more PHP extensions to suggest by Reedy
 * - ActorStore: Document wikiId as string|false by Umherirrender
 * - SearchEngineConfig: Make code example match extension namespace best practice by Reedy
 * - Use local variable for null checks by Umherirrender
 * - redis: Check last error for null before using preg_match by Umherirrender
 * - Pass rcid as integer to DifferenceEngine::createDifferenceEngine by Umherirrender
 * - rdbms: Move transaction callbacks out of Database to TransactionManager by Amir Sarabadani
 * - block: Use $wgUpdateRowsPerQuery for purgeExpiredBlocks by Timo Tijhof
 * - rebuildLocalisationCache: Update threaded support to check ext-sockets by Timo Tijhof
 * - Add Sanitizer::removeSomeTags which uses Remex to tokenize  by C. Scott Ananian
 * - Remove deprecated alias $wgStyleSheetPath by daniel
 * - Handle null in ChangeTags::modifyDisplayQuery by Matěj Suchánek
 * - Skin: Streamline confusing "checkTitle" related code by Thiemo Kreuz
 * - Update nstab-mainpage using on-wiki message values by Jon Robson
 * - changetags: Fix management of a '0' tag by Matěj Suchánek
 * - parser: Adjust documentation about false for $wgExternalLinkTarget by Umherirrender
 * - skins: Avoid Title -> string -> Title conversion on ::makeUrlDetails by Umherirrender
 * - Fix documentation about query parameter as string[] by Umherirrender
 * - Fix various documentation related to false by Umherirrender
 * - deferred: Improve port handling in CdnCacheUpdate::naivePurge by Umherirrender
 * - rcfeed: Allow easy mocking of RCFeed::factory objects by Timo Tijhof
 * - Optionally use config-schema in Setup.php by daniel
 * - Trivial replacements of "-" comparisons with isDisabled by Thiemo Kreuz
 * - export: Cast File::getSize to string on dump by Umherirrender
 * - Change configuration for Kirundi (rn) by Amir E. Aharoni
 * - rdbms: Deprecate getLazyConnectionRef by Amir Sarabadani
 * - tests: Make the error message of SettingsTest more informative by Amir Sarabadani
 * - ApiUpload: Pass empty tags as empty array instead of null by Ammarpad
 * - mediawiki.action.view.postEdit: Restore 'postedit' CSS class  by Timo Tijhof
 * - mime: Return bool from error handler by Umherirrender
 * - installer: Use WebRequest::getIntOrNull to get integer by Umherirrender
 * - Fix broken SQLite test and simplify. by Ammarpad
 * - Add inNamespace support to MockTitleTrait by daniel
 * - rdbms: Change getConnectionRef to return with getLazyConnectionRef by Amir Sarabadani
 * - linker: Start of LinkTargetStore by Amir Sarabadani
 * - Update interface message defaults for all skins by Jon Robson
 * - mediawiki.notification: add option to append CSS classes to notification by MusikAnimal
 * - Fix parserTest name by Arlo Breault
 * - parser: Improve line indent in Parser::expandMagicVariable by Umherirrender
 * - Sync up with Parsoid parserTests files by Arlo Breault
 * - Add mw-file-description class on links to the file description page by Arlo Breault
 * - revisionlist: Allow subclasses of RevisionItemBase::getId to use string by Umherirrender
 * - skins: Fix non-replacing skippable state bug in SkinFactory by Timo Tijhof
 * - Revert "preferences: Use a faster and simpler form descriptor when validating" by Krinkle
 * - tests: Remove redundant fake time reset in individual tests by Ammarpad
 * - installer: Simplify wfDetectLocalSettingsFile and document gotchass by Timo Tijhof
 * - Add explicit casts between scalar types by Umherirrender
 * - Make SpecialNewpages#revisionFromRcResult protected instead of private by Jack Phoenix
 * - HTMLForm: Fix check typo by Reedy
 * - EditPage: Deprecate using getCopyrightWarning without passing context by Bartosz Dziewoński
 * - mediawiki.page.ready: Skip 'wikipage.content' when content is absent by Timo Tijhof
 * - skins: Increase SkinFactory test coverage, improve various class docs by Timo Tijhof
 * - Fix generateSchemaSql.php default output path by Tim Starling
 * - Use HTTP 404 for BadTitleErrors instead of HTTP 400 by Kunal Mehta
 * - rdbms: Fix return type for ILoadBalancer::has(Streaming)ReplicaServers by Umherirrender
 * - rdbms: Migrate TransactionProfiler calls to TransactionManager by Amir Sarabadani
 * - composer.json: Add DB drivers to suggests by Reedy
 * - web2017-polyfills: Add WHATWG URL polyfill by Timo Tijhof
 * - Throw DBError if wrong database type has been chosen. by diesel

Vendor

 * - Bump wikimedia/parsoid to 0.15.0-a23     by Subramanya Sastry
 * - Remove swaggest/json-schema from require-dev by Reedy

3D

 * - Correct namespacing to match best practices by Reedy

AbuseFilter

 * - Use namespaced Renameuser classes by Alexander Vorwerk
 * - Move throttle range sizes to class constants by Daimona Eaytoy
 * - Overhaul throttle identifiers by Daimona Eaytoy
 * - Rename private assertion method by daniel
 * - Add logging when the 'block' action fails by Daimona Eaytoy
 * - Change comment for TextExtractor getNativeData to getText by russ-rogovetz
 * - Remove unused messages by Daimona Eaytoy

ApiFeatureUsage

 * - Add a non-namespaced alias for ApiFeatureUsageQueryEngineElastica by Taavi Väänänen

ArticlePlaceholder

 * - Bump eslint-config-wikimedia from 0.20.0 to 0.22.1 by Addbot

Babel

 * - Namespace Babel class by Reedy
 * - Change use of deprecated getLazyConnectionRef by Amir Sarabadani

Calendar

 * - Code cleanup by Reedy
 * - Namespace extension by Reedy

Campaigns

 * - Use namespaced EventLogging class by Reedy

CentralAuth

 * - Reference phabricator task instead of bugzilla bug by Alexander Vorwerk
 * - Namespacing the remaining classes except session provider by Alexander Vorwerk
 * - Use namespaced Renameuser classes by Alexander Vorwerk
 * - Use namespaced EventLogging class by Reedy
 * - Stop throwing fatals when invalid globalrename request id is given by Alexander Vorwerk
 * - Migrate centralauth-oversight to centralauth-suppress by Alexander Vorwerk
 * - Use re-namespaced SecurePoll classes by Reedy

CharInsert

 * - Correct namespacing to match best practices by Reedy

CheckUser

 * - Use namespaced RenameuserSQL by Alexander Vorwerk
 * - Use namespaced EventLogging class by Reedy
 * - Change use of deprecated getLazyConnectionRef by Amir Sarabadani
 * - Replace instances of UserManager with UserIdentityLookup by wikitrent

ChessBrowser

 * - build: Update 'svgo' to latest v2.8.0 by Volker E

CirrusSearch

 * - explore-similar: Fix mismatch 'mw-cirrus__xplr' prefix by Timo Tijhof
 * - explore-similar: Use 'mw-cirrus__xplr' class prefix by Timo Tijhof

Cite

 * - tests: Use ve.test.utils.newMwEnvironment by Ed Sanders
 * - build: Update linters by Ed Sanders

Citoid

 * - extension.json: Remove empty requires extensions object by Reedy
 * - build: Update linters by Ed Sanders

cldr

 * - Remove unused CldrCurrencies/CldrCurrency by Reedy

CodeMirror

 * - Enable eslint for our custom code in the matchbrackets addon by Thiemo Kreuz
 * - Highlight multi-line tags by bhsd

Collection

 * - Correct namespacing to match best practices by Reedy

ConfirmEdit

 * - Correct namespacing to match best practices by Reedy

CongressLookup

 * - Fix MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected by zoranzoki21
 * - Namespace extension by Reedy

ContentTranslation

 * - CX3 Build 0.1.0+20220307 by Santhosh Thottingal
 * - Use namespaced EventLogging class by Reedy
 * - Move api and specials into PSR-4 directory structure by Timo Tijhof
 * - Namespace SkinContentTranslation by Reedy
 * - CX: Replace usage of wfGetDB with main load balancer by NikG
 * - styles: Last few fixes by James D. Forrester

DiscussionTools

 * - Use namespaced EventLogging class by Reedy
 * - Remove check for CDATA nodes by Bartosz Dziewoński
 * - Disable the biggest JS modifier test cases temporarily by Bartosz Dziewoński
 * - Poll for new comments in the section you are replying in by Ed Sanders
 * - Don't show auto-save notifications when dynamically updating the page by Ed Sanders
 * - Show error message as soon as we detect the parent comment has been deleted by Ed Sanders
 * - Highlight new comments when refreshing by Ed Sanders
 * - CommentItem: Fix warning when the comment is empty by Bartosz Dziewoński
 * - Move (auto) topic subscription initialisation to separate file by Ed Sanders
 * - Only bind page-level handlers once by Ed Sanders
 * - Move highlightPublishedComment to highlighter.js by Ed Sanders
 * - Move highlighting methods to separate file by Ed Sanders
 * - Rename highlighter to debughighlighter by Ed Sanders
 * - Improve detecting already signed comments     by Bartosz Dziewoński
 * - Handle reply/topic preview entirely server-side by Bartosz Dziewoński

DonationInterface

 * - Remove RUB from supported list by Elliott Eggleston
 * - Uncomment PE + UY form settings  by Elliott Eggleston
 * - Script to batch cancel PayPal EC recurrings by Elliott Eggleston
 * - Email preference center's language list filter with civi by wfan
 * - Filter media wiki country with civicrm countries by wfan
 * - Update CSS and add template partials by wfan

Echo

 * - Use namespaced EventLogging class by Reedy
 * - Clicking Echo badge should close ULS dialog by Jon Robson
 * - tests: Remove overlayManager from NotificationBadge params by Kosta Harlan
 * - Change use of deprecated getLazyConnectionRef by Amir Sarabadani
 * - tests: Fix QUnit warnings and resolve complex test_NotificationBadge by Timo Tijhof
 * - ext.echo.mobile: Name init function as such for clarity by Timo Tijhof
 * - build: Update eslint-config-wikimedia to 0.22.1 by Ed Sanders
 * - build: Update stylelint-config-wikimedia to 0.12.2 by Ed Sanders

Elastica

 * - Namespace extension by Reedy

EventBus

 * - tests: Remove use of deprecated wgRCEngines by Timo Tijhof

EventLogging

 * - SerializeEventTest: Use namespaced EventLogging class by Reedy
 * - Namespace extension by Reedy

FileImporter

 * - tests: Don't rely on 'en' falling back to 'qqx' when set as site language by Bartosz Dziewoński
 * - Disable VE on Special:ImportFile using new VisualEditorBeforeEditor hook by Ed Sanders

FlaggedRevs

 * - Remove superfluous check of fr_rev_timestamp by Amir Sarabadani

Flow

 * - build: Update stylelint-config-wikimedia to 0.12.2 by Ed Sanders

Gadgets

 * - GadgetHooksTest: Use namespaced GadgetRepo by Reedy
 * - Add global class_alias for Gadget by Reedy
 * - Namespace extension by Reedy

GlobalCssJs

 * - Change use of deprecated getLazyConnectionRef by gerritbot

GlobalWatchlist

 * - Minor PHP tweaks by Reedy

GrowthExperiments

 * - Use namespaced EventLogging class by Reedy
 * - Remove deprecated Mentor::getMentorUser by Martin Urbanec
 * - Use namespaced SkinMinvera in SiteNoticeGeneratorTest by Reedy
 * - Use re-namespaced PageViewService by Reedy
 * - Use namespaced SkinMinerva by Reedy
 * - GLAM event: Update landing page content by MewOphaswongse
 * - Suggested edits: use plural for number of edits text by Sergio Gimeno
 * - Suggested edits: update homepage preview after filters change by Sergio Gimeno

GWToolset

 * - Fix naming convention for uppercase class properties by Thiemo Kreuz

ImageMap

 * - Correct namespacing to match best practices by Reedy

intersection

 * - Add missing break to switch by Reedy

IPInfo

 * - Fix logging of changes to a user's IPInfo access by Thalia
 * - Get the current timestamp in seconds, in Logger::debouncedLog by Thalia
 * - Use "off" instead of 0 for eslint rule by Thalia
 * - Add ipinfo-viewer user group by STran
 * - Introduce reusable log function for event logging by Thalia
 * - Add IPInfo click logging event by AnaïsGueyte
 * - Add tests around LogIPInfoAccessJob by STran
 * - IPInfoLogFormatter: Document messages used for logging access changes by Thalia
 * - Add message to extension.json by STran
 * - Log whenever a user's access changes by STran

Linter

 * - Hooks.php: Check for non-array $tags by Subramanya Sastry

Listings

 * - Minor code cleanup by Reedy

MachineVision

 * - Change use of deprecated getLazyConnectionRef by gerritbot

MassMessage

 * - Delete incorrect en-gb.json by Reedy
 * - Pass context to EditPage::getCopyrightWarning by Bartosz Dziewoński

Math

 * - tests: Use ve.test.utils.newMwEnvironment by Ed Sanders

MediaSearch

 * - Change use of deprecated getLazyConnectionRef by gerritbot

MobileFrontend

 * - Fix @see for XAnalytics by Reedy
 * - Use re-namespaced XAnalytics class by Reedy
 * - specials: Move too many optional parameters to array of options by Derick Alangi
 * - ApiParseExtender: Show 'mobileformat' option in VE & DT APIs by Ed Sanders

MultimediaViewer

 * - Separate processing for Parsoid thumbs by Arlo Breault
 * - s/thumbContain/thumbContainer/ by Arlo Breault

NavigationTiming

 * - tests: Replace flaky mock with the real thing in onMwLoadEnd test by Timo Tijhof

OAuth

 * - Fix client secret display after reset on API Portal by Bill Pirkle
 * - Drop old namespace by Reedy
 * - Correct namespacing to match best practices by Reedy
 * - Change use of deprecated getLazyConnectionRef by Amir Sarabadani
 * - composer.json: Add ext-openssl as a require by Reedy
 * - AuthorizationProvider: Code cleanup by Reedy

OAuthRateLimiter

 * - Use re-namespaced OAuth by Reedy

OpenStackManager

 * - Namespace extension by Reedy

PagedTiffHandler

 * - Fix ID of submit button in file delete form by Daimona Eaytoy

PageViewInfo

 * - Re-namespace WikimediaPageViewServiceSmokeTest too by Reedy
 * - Drop old namespace by Reedy
 * - Correct namespacing to match best practices by Reedy

ParserFunctions

 * - Correct namespacing to match best practices by Reedy

PdfHandler

 * - Fix excluded PHPCS error MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected by zoranzoki21

Poem

 * - Namespace extension by Reedy

Popups

 * - Use namespaced GadgetRepo by Reedy
 * - build: Update stylelint-config-wikimedia to 0.12.2 by Ed Sanders
 * - build: Update eslint-config-wikimedia to 0.22.1 by Ed Sanders

PropertySuggester

 * - Use namespaced EventLogging class by Reedy

Quiz

 * - Namespace extension by Reedy

ReadingLists

 * - Correct namespacing to match best practices by Reedy
 * - Type against IDatabase instead of DBConnRef by Timo Tijhof
 * - Change use of deprecated getLazyConnectionRef by gerritbot
 * - tests: Improve timestamp handling by Umherirrender

Renameuser

 * - Namespace extension by Alexander Vorwerk

RevisionSlider

 * - Correct namespacing to match best practices by Reedy

Score

 * - Namespace extension by Reedy

SecureLinkFixer

 * - Updating domains.php from Mozilla by Reedy

SecurePoll

 * - Drop old namespace by Reedy
 * - Correct namespacing to match best practices by Reedy

TemplateData

 * - Use namespaced EventLogging class by Reedy
 * - Don't extract template parameters from  by Thiemo Kreuz
 * - Remove unreachable validation step by Thiemo Kreuz

TemplateStyles

 * - Namespace extension by Reedy

TimedMediaHandler

 * - Sync up with Parsoid timedMediaHandlerParserTests.txt by Arlo Breault
 * - videojs: play audio clips without subs inline by Derk-Jan Hartman
 * - Embedplayer ready fix by Derk-Jan Hartman
 * - Fix the undefined aspect ratio for audio clips by Derk-Jan Hartman
 * - Tests: expected value goes first in PHPUnit assertions by DannyS712
 * - Fix CC labels on small thumbnails by Derk-Jan Hartman
 * - Correct placeholders in time units by Amir E. Aharoni

Translate

 * - Parse magic words in deletereason-dropdown message by Niklas Laxström
 * - Tests: expected value goes first in PHPUnit assertions by DannyS712
 * - Replace deprecated wfShellExec method by Gee
 * - Change use of deprecated getLazyConnectionRef by Amir Sarabadani
 * - Disable VE on translate pages using new VisualEditorBeforeEditor hook by Ed Sanders
 * - PrepareTranslatablePageSpecialPage: Add strict types by Abijeet
 * - Rename SpecialPagePreparation to PrepareTranslatablePageSpecialPage by Gee
 * - DeleteTranslatablePageSpecialPage: Add strict types, code improvements by Abijeet
 * - Rename class SpecialPageTranslationDeletePage to DeleteTranslatablePageSpecialPage by Abijeet
 * - TranslateSpecialPage: Add strict types and type hints by Abijeet
 * - TranslateRenderJob: Fix logging when article editing error occurs by Abijeet
 * - TranslateSpecialPage: Inject services by Abijeet
 * - Rename SpecialTranslate to TranslateSpecialPage by Abijeet
 * - MigrateTranslatablePageSpecialPage: Add strict types by Abijeet

TrustedXFF

 * - TrustedXFFTest: Add extra @covers by Reedy
 * - generate.php: Minor code cleanup by Reedy
 * - Rename TrustedXFFBodyTest to TrustedXFFTest by Reedy
 * - Correct namespacing to match best practices by Reedy
 * - TrustedXFF: Minor cleanup by Reedy
 * - trusted-hosts.txt: Remove trailing whitespace by Martin Urbanec

TwoColConflict

 * - Use namespaced EventLogging class by Reedy

UniversalLanguageSelector

 * - Update jquery.ime and jquery.uls from upstream by Amir E. Aharoni
 * - Use namespaced Babel class by Reedy
 * - Use ExtensionRegistry to see if Babel is loaded by Reedy

UploadWizard

 * - Use namespaced EventLogging class by Reedy

UrlShortener

 * - Namespace extension by Reedy

VisualEditor

 * - Change use of deprecated getLazyConnectionRef by gerritbot
 * - mw.libs.ve.getTargetDataFromHref: Don't check for internal links twice by Ed Sanders
 * - DesktopArticleTarget tests: Mock config using QUnit.newMwEnvironment by Ed Sanders
 * - Update VE core submodule to master (4eacee1c5) by Bartosz Dziewoński
 * - Allow auto-save recovery notifications to be suppressed by Ed Sanders
 * - Remove logic for disabling VE when certain extensions are running by Ed Sanders
 * - Block Ctrl+Del/Backspace when Remove button is inaccessible by Thiemo Kreuz
 * - Skip initial creation of unused parameter widget by Thiemo Kreuz
 * - Move var declarations inline by Ed Sanders
 * - ApiVisualEditorTest: Assert properties in result by Ed Sanders
 * - Show correct button label in the missing summary notice by Matěj Suchánek
 * - Added check for hotkey action on input or textareas by Svantje Lilienthal
 * - Fix spacing between sticky find bar and field list by Ed Sanders
 * - Fix missing return value and related docs in MWTransclusionNode by Thiemo Kreuz

Wikibase

 * - tests: Don't rely on 'en' falling back to 'qqx' when set as site language by Bartosz Dziewoński
 * - Change use of deprecated getLazyConnectionRef by gerritbot
 * - Bump @wdio/local-runner from 7.16.13 to 7.16.16 by Addbot
 * - REST: Add metadata headers to GET item by sihe
 * - REST: Use EntityRevisionLookup to retrieve item by sihe
 * - REST: Add ADR to develop REST API in Wikibase.git by sihe
 * - REST: Add service wiring and factory by Jakob Warkotsch
 * - REST: Use GetItem use case in RouteHandler by sihe
 * - Provide specific type hint for newItemSerializer by sihe
 * - Bump actions/checkout from 2 to 3 by Addbot
 * - REST: Added swagger autodocs by Leszek Manicki
 * - REST: Added initial REST API OpenAPI spec by Leszek Manicki
 * - LexiData: add parameter to copyright translation message (take 2) by Lucas Werkmeister
 * - REST: add example feature toggled route handler by Jakob Warkotsch
 * - REST: add feature toggle to use with route handler by Jakob Warkotsch
 * - REST: Add first integration test for GetItem by sihe
 * - REST: Add custom ItemSerializer by sihe
 * - REST: Add feature toggle setting for REST API by Jakob Warkotsch
 * - REST: Rename GetItemResponse to GetItemResult by sihe
 * - Bump @wdio/mocha-framework from 7.16.6 to 7.16.15 by Addbot

WikibaseLexeme

 * - LexiData: get URL and text settings for CC0 license message by Noa wmde
 * - Remove WikibaseLexemeServices::newTestInstance by Lucas Werkmeister
 * - Simplify WikibaseLexemeServices instance management by Lucas Werkmeister
 * - Add missing Special:NewLexemeAlpha i18n messages by Lucas Werkmeister
 * - Add tests for special/new-lexeme to package.json by Lucas Werkmeister
 * - Let Special:NewLexemeAlpha create lexemes by Michael Große
 * - Add git add to bump-special-new-lexeme command by Lucas Werkmeister
 * - Provide csrf token to NewLexeme form (take 2) by Lucas Werkmeister
 * - Bump @wdio/local-runner from 7.16.14 to 7.16.16 by Addbot

WikibaseMediaInfo

 * - Fix formatting issue for Date input by Simone This Dot
 * - Use mock titles in unit tests by daniel

Wikidata.org

 * - build(deps-dev): bump stylelint-config-wikimedia from 0.12.0 to 0.12.2 by Addbot

WikiEditor

 * - Use namespaced EventLogging class by Reedy
 * - Remove unused jquery.wikiEditor.html file by Timo Tijhof
 * - Remove unused messages and commented-out code by Sam Wilson
 * - Allow tool.element to be a function by Sam Wilson

WikiLambda

 * - Replace SdButton with CdxButton from Codex by James D. Forrester
 * - ZObjectUtils::filterZMultilingualStringsToLanguage: Test last edge case by James D. Forrester
 * - tests: Mock $i18n globally by Roan Kattouw
 * - Revert some of the Vue2->3 migration code for the VueRouter wrapper, not needed by James D. Forrester
 * - Vuex: Migrate store creation from Vuex 3 to Vuex 4 by James D. Forrester
 * - build: Upgrade local Jest Vue/Vuex testing code to work with Vue 3  by James D. Forrester
 * - Tests: expected value goes first in PHPUnit assertions by DannyS712
 * - ZObjectUtils::extractHumanReadableZObject: Re-factor to throw when invalid input by James D. Forrester
 * - Add ZFunction built-in class by gengh
 * - ZObjectUtils: Test getIterativeList and remaining getLabelOf* methods too by gengh
 * - extension: Update orchestrator/evaluator docker-compose defaults yet again by James D. Forrester
 * - Don't quote input to user-defined validation function. by apine
 * - Automatically assign key IDs when creating a new type by adesoji
 * - update logic for determining the literal type for type creation  by jkieserman
 * - Add missing getters in function-definition-footer by Simone This Dot
 * - Fix Icon not being loaded properly in function components by Simone This Dot
 * - Add dialog component and use a dialog when abandoning function edits  by jkieserman
 * - Update function-schemata sub-module to HEAD (f615309) by jkieserman
 * - jest: Enforce minimal code coverage by James D. Forrester
 * - Update function-schemata sub-module to HEAD (a28d2df)   by James D. Forrester

WikimediaBadges

 * - build(deps-dev): bump stylelint-config-wikimedia from 0.12.0 to 0.12.2 by Addbot

WikimediaEditorTasks

 * - Change use of deprecated getLazyConnectionRef by gerritbot

WikimediaEvents

 * - Use namespaced EventLogging class by Reedy
 * - Remove SearchSatisfactionErrors EventLoggingSchemas entry by Sam Smith
 * - Remove CompletionSuggestions EventLoggingSchemas entry by Sam Smith

WikimediaIncubator

 * - tests: Rename IncubatorUnitTests so that it actually runs by Timo Tijhof
 * - Namespace extension by Reedy
 * - Revert "Remove four unused messages" by Jon Harald Søby
 * - Replace uses of Linker::link with LinkRenderer by Jon Harald Søby

WikimediaMessages

 * - Namespace extension by Reedy
 * - Add messages for Shan Wikivoyage (shnwikivoyage) by gerritbot

Wikisource

 * - Use namespaced GadgetRepo by Reedy

XAnalytics

 * - Drop old namespace by Reedy
 * - Correct namespacing to match best practices by Reedy

MinervaNeue

 * - Namespace SkinMinerva by Reedy
 * - Namespace two more classes by Reedy
 * - Disable failing talk page tests temporarily by Bartosz Dziewoński
 * - Remove user navigation min width and width by Jon Robson
 * - Change minerva-talk-add-topic message to "Add topic" to match Vector by Ed Sanders

Timeless

 * - Remove old CSS class for the file deletion form by Daimona Eaytoy

Vector

 * - Ensure watchlist in user menu dropdown has the collapsible class by bwang
 * - Namespace Vector integration tests by Reedy
 * - Namespace SkinVector* PHP classes by Reedy
 * - Unset data-toc in SkinVector by Jon Robson
 * - Render sidebar menu above TOC by bwang
 * - Update Vector menu CSS to use `vector-menu-heading` instead of `h3` by Mortal303
 * - Fix language alert regression by Clare Ming
 * - Only show scrollbars when needed in language menu by BrandonXLF
 * - Use explicit line height for user menu items by Nicholas Ray

VisualEditor/VisualEditor

 * - Use parseFloat to parse numbers in standalone demo by Ed Sanders
 * - ve.dm.BlockImageNode: Fix typo in generating empty caption by Ed Sanders
 * - Simplify done calls in tests by Thiemo Kreuz
 * - Fix some missed instances of var declarations that can be moved inline by Ed Sanders

No changes

 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ArticleCreationWorkflow
 * BetaFeatures
 * BounceHandler
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CiteThisPage
 * CodeEditor
 * CodeReview
 * Cognate
 * CologneBlue
 * CommonsMetadata
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * DynamicSidebar
 * ElectronPdfService
 * EntitySchema
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * Kartographer
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * LocalisationUpdate
 * LoginNotify
 * MapSources
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * ORES
 * PageAssessments
 * PageImages
 * PageNotice
 * PageTriage
 * PoolCounter
 * ProofreadPage
 * QuickSurveys
 * RSS
 * RelatedArticles
 * SandboxLink
 * Scribunto
 * SearchExtraNS
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * UploadsLink
 * VipsScaler
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseQualityConstraints
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaMaintenance
 * timeline
 * wikihiero

Total changes
368 Changes in 92 repos by 73 authors