MediaWiki 1.37/wmf.24/Changelog

Core changes

 * - Branch commit for wmf/1.37.0-wmf.24 by trainbranchbot
 * - Escape return of Language::formatNum by Umherirrender
 * - EmailNotification: fix misplaced tab by DannyS712
 * - skins: Correctly index the copyright icon, caused failure in MF by Derick Alangi
 * - Search data should support multiple searches by jdlrobson
 * - file: Fix doc of LocalRepo::locked by Umherirrender
 * - mediawiki.mixins: Remove 2009 Flexbox spec support  by Volker E
 * - mediawiki.mixins: Remove deprecated `.box-shadow` mixin by Volker E
 * - Avoid using ContentHandler::getContentText by Alexander Vorwerk
 * - Set watch star to half-filled when temp. watched by any interface by Bartosz Dziewoński
 * - tests: Avoid trying to access the DB in data providers by Derick Alangi
 * - editpage: Replace usage of Title in TextboxBuilder::class by Derick Alangi
 * - ApiParse: Support hidden skins by Ammarpad
 * - Remove global function mimeTypeMatch by Alexander Vorwerk
 * - Soft deprecate wfReadOnly and wfReadOnlyReason by Alexander Vorwerk
 * - tests: Avoid non-namespaced aliases for Wikimedia\Rdbms namespace by Umherirrender
 * - jquery.tablesorter: Reuse existing local variable by Fomafix
 * - mediawiki.Title: Support Unicode characters out of BMP by Fomafix
 * - Reapply "GrantsInfo service to replace MWGrants" by Alexander Vorwerk
 * - Rename diff-related classes for LTR compatibility by Daimona Eaytoy
 * - Deprecate the ArticleUndeleteLogEntry hook by DannyS712
 * - TemplateParser: Remove support for deprecated cache-disabling parameter by Ammarpad
 * - mediawiki.feedlink: add mobile target by AntiCompositeNumber
 * - EditPage: Read from wpWatchlistExpiry form value on "show changes" too by Kunal Mehta
 * - phpunit: Fix phpErrorFilter check in TestCaseTrait to avoid PHP bug by Timo Tijhof
 * - MovePage - use PageUpdater to create redirect page by Petr Pchelko
 * - Show autoblock duration in the form at Special:Block by Inductiveload
 * - Unserialize objects in ParserCache->mExtensionData as objects by Sébastien Beyou
 * - Remove LockManagerGroup::singleton and ::destroySingletons by Alexander Vorwerk
 * - Remove deprecated RepoGroup methods by Alexander Vorwerk
 * - Deprecate WikiPage methods replaced by DeletePage  by Daimona Eaytoy
 * - Remove unused localisation messages for mediawiki.confirmCloseWindow by Bartosz Dziewoński
 * - Make EditPage use PageUpdater by daniel
 * - mediawiki.confirmCloseWindow: Remove support for custom 'message' by Timo Tijhof
 * - Move revert detection code from WikiPage to EditResultBuilder by Petr Pchelko
 * - Deprecate and replace legacy hooks in DeletePage by Daimona Eaytoy
 * - Remove Article::delete Article::confirmDelete and ImagePage::delete by Daimona Eaytoy
 * - Update @since doc for WikiExporterFactory by Alexander Vorwerk
 * - RELEASE-NOTES-1.37: Re-write to prepare for rc.0 by James D. Forrester
 * - Vue: Split off error logger into its own plugin by Roan Kattouw
 * - mediawiki.page.ready: Introduce `wikipage.indicators` hook by Fomafix
 * - objectcache: fix phpstorm warnings about BagOStuff::* constants and unused vars by Aaron Schulz
 * - Emit deprecation warnings reading from $wgUser by DannyS712
 * - RELEASE-NOTES-1.37: Clarify recent skin footer deprecations by jdlrobson
 * - resourceloader: Skip version hash calculation in debug mode  by Timo Tijhof
 * - resourceloader: Make getVersionHash final by Timo Tijhof
 * - Remove FileBackendGroup::singleton and ::destroySingletons by Alexander Vorwerk
 * - Remove MessageCache::singleton by Alexander Vorwerk
 * - Remove LinkCache::singleton by Alexander Vorwerk
 * - RELEASE-NOTES-1.37: Note changes in HTMLTitleTextField by Martin Urbanec
 * - Add slow-parsoid log channel by Tim Starling
 * - Deprecate Skin::getCopyrightIcon. Skin::getPoweredBy, SkinGetPoweredBy hook by jdlrobson
 * - ChangeTags: Add CSS classes to rows for hidden tags too by Bartosz Dziewoński
 * - Revert "Introduce AbstractLocalizedException" by TChin
 * - Update credits ahead of the 1.37 release by Taavi Väänänen
 * - Make UserDefTest a unit test by DannyS712
 * - UserDef: creating from id 0 should be unknown user, not context ip by DannyS712
 * - UserDef: use TitleParser instead of Title objects by DannyS712
 * - UserDef: no need to return full User objects by DannyS712
 * - Prepare for REL1_37 cut, labelling master as 1.38-alpha by James D. Forrester
 * - Add symfony/polyfill-php80 by C. Scott Ananian
 * - objectcache: improve the WANObjectCache "lag mitigation" TTL logic by Aaron Schulz
 * - Add sjd and sje languages to Names.php  by Amir E. Aharoni
 * - MediaWikiIntegrationTestCase::getExistingTestPage: Don't assume NS0 is wikitext by James D. Forrester
 * - Remove Title from signatures in CategoryViewer by Aryeh Gregor
 * - DeleteAction: use BackLinkCacheFactory by Alexander Vorwerk
 * - Disable hidden radio buttons on page history to fix behavior on Firefox by Nardog
 * - API: Using @return never documentation on more functions by Umherirrender
 * - objectcache: Misc micro-optimisations in WANObjectCache by Timo Tijhof
 * - stats: Simplify normalizeMetricKey and fix bad output for edge cases by Timo Tijhof
 * - stats: Defer BufferingStatsdDataFactory::normalizeMetricKey to send phase by Timo Tijhof
 * - objectcache: Avoid getCurrentTime call in MapCacheLRU::has by Timo Tijhof
 * - Update Special:Block UI by STran
 * - rdbms: Add more return typehints by Daimona Eaytoy
 * - WikiExporter: inject services by Alexander Vorwerk
 * - resourceloader: Fix debug mode for RL-to-RL cross-wiki module loads by Timo Tijhof

Vendor

 * - Bump parsoid to 0.14.0-a19   by sbailey

AbuseFilter

 * - Avoid non-namespaced aliases for Wikimedia\Rdbms namespace by Umherirrender
 * - Re-add space in AbuseLog entries by Daimona Eaytoy
 * - Remove various AtEase and error_reporting by Timo Tijhof
 * - Bump EditStashCache version by Daimona Eaytoy
 * - Rename AbuseFilterVariableGeneratorTest by Matěj Suchánek
 * - More cleanup for parser-related classes by Daimona Eaytoy

AdvancedSearch

 * - Fix/update config related documentation in several classes by Thiemo Kreuz

ArticlePlaceholder

 * - FP: Change PropertyId to NumericPropertyId by tzhelyazkova

Babel

 * - Replace deprecated LinkCache::addGoodLinkObj by vladshapik

CategoryTree

 * - Avoid default value style="display:block" in HTML by Fomafix
 * - Use .css instead of .show and .hide by Fomafix
 * - Simplify JavaScript by Fomafix
 * - Optimize PHP code by Fomafix

CentralAuth

 * - LocalRenameJob: Add namespace forwards aliases by Taavi Väänänen
 * - Namespace HTML widgets by Taavi Väänänen
 * - Inject services into Hook Handlers by Alexander Vorwerk

CheckUser

 * - Simplify false check after openssl_open by Umherirrender

ChessBrowser

 * - Improve validation of PGN by wugapodes
 * - Fix legend positioning by Derk-Jan Hartman
 * - Remove collapsible dependency and move to php by Derk-Jan Hartman
 * - Add aria live captioning for moves by Derk-Jan Hartman

CirrusSearch

 * - Avoid non-namespaced aliases for Wikimedia\Rdbms namespace by Umherirrender
 * - RedirectsAndIncomingLinks: inject BacklinkCacheFactory by Alexander Vorwerk
 * - Replace usages of deprecated wfWikiID by Alexander Vorwerk
 * - Refactor AnalysisConfigBuilder Standard Analyzers by tjones
 * - Expose CirrusSearch\CirrusSearch class as a service by Gergő Tisza

cldr

 * - Change language name for language code wes by Remko de Keijzer

ContentTranslation

 * - CX3 Build 0.1.0+20210920 - second build by Santhosh Thottingal
 * - SXContentComparator: Fix regression issues in useListSelector by NikG
 * - Adjust search loading indicator to avoid jumps by Santhosh Thottingal
 * - CX Skin: Inlclude link related styles and overrides  by Santhosh Thottingal
 * - CX3 Build 0.1.0+20210920 by Santhosh Thottingal
 * - SXContentComparator: Refactor all SFCs to use composition api by NikG
 * - SXTranslationConfirmerActionPanel: Refactor SFC and merge composables by NikG
 * - Fix error while switching target languages in section selector by Santhosh Thottingal
 * - Pick a section: Display sections in the same order as in article by NikG
 * - SXSectionSelector: Refactor to use Composition API by NikG
 * - Vuex setCurrentSectionSuggestion mutation: fix constructor payload by NikG
 * - build: Updating stylelint-config-wikimedia to 0.11.1 by Umherirrender
 * - Page API: Handle empty results from searchPagesByTitlePrefix by Santhosh Thottingal
 * - SX: Remove unused aside tag by Santhosh Thottingal
 * - SX: Use Dummy VE surface based section extraction only for source page by Santhosh Thottingal
 * - SX mediawiki store: Remove unreachable code in fetchPageContent by Santhosh Thottingal
 * - SXTranslationConfirmer: Enable bookmark action by NikG

Disambiguator

 * - Remove unneeded check about database connection by Umherirrender

DiscussionTools

 * - Adjust use of 'plainlinks' class to fix button styling in some cases  by Bartosz Dziewoński
 * - Enable email delivery for our notifications for new users by default by David Lynch
 * - CommentParser: use IPUtils instead of the deprecated IP class by Alexander Vorwerk
 * - Always apply DiscussionTools page transformations  by Bartosz Dziewoński

DonationInterface

 * - Adyen Checkout: fallback to get submethod by Elliott Eggleston
 * - Use Apple-branded 'donate' button by Elliott Eggleston
 * - Get contact info from Apple Pay sheet by Elliott Eggleston

Echo

 * - Avoid non-namespaced aliases for Wikimedia\Rdbms namespace by Umherirrender
 * - Clarify the references to talk pages in notification preferences (#2) by Bartosz Dziewoński

EntitySchema

 * - Avoid non-namespaced aliases for Wikimedia\Rdbms namespace by Umherirrender
 * - Update expectations in diff tests after core changes by Daimona Eaytoy

EventBus

 * - Support x_client_ip_forwarding_enabled setting per event service by Michael Holloway
 * - Update wgEventStreams text fixture format by Michael Holloway

FlaggedRevs

 * - Pass ContextSource to DifferenceEngine by Umherirrender

Flow

 * - Update constructor arguments of Exporter to match WikiExporter by Alexander Vorwerk

GettingStarted

 * - styles: Remove IE 8 opacity workaround by Volker E

GlobalUsage

 * - GlobalUsageCachePurgeJob: use BacklinkCacheFactory by Alexander Vorwerk

Graph

 * - Remove unsupported 'message' parameter to mw.confirmCloseWindow by Bartosz Dziewoński

GrowthExperiments

 * - Override icon by jdlrobson
 * - QUnit: Add basic test for AddLinkArticleTarget.annotateSuggestions by Kosta Harlan
 * - Stop using MultiWriteMentorStore by Martin Urbanec
 * - Hard deprecate PreferenceMentorStore load/save methods by Martin Urbanec
 * - PostEditDialog: Don't show pageview data by Kosta Harlan
 * - AddLink: Skip over headings in phrase matching by Kosta Harlan
 * - ApiSetMentorTest: remove unused $oldMentor by DannyS712
 * - mb_strlen always returns int by Umherirrender
 * - Require $wgGEMentorshipMigrationStage to be SCHEMA_COMPAT_NEW by Martin Urbanec
 * - tests: Do not directly save MENTOR_PREF in integration tests by Martin Urbanec
 * - ApiSetMentorTest: Do not use PreferenceMentorStore by Martin Urbanec
 * - Mentee overview: Only include mentor's primary mentees by Martin Urbanec
 * - ChangeMentor: Execute notify as a deferred update by Martin Urbanec
 * - ChangeMentor: Avoid calling User::newFromIdentity by Martin Urbanec
 * - Add a link: Enable auto-advance for desktop by MewOphaswongse
 * - Mentee overview: Reorder columns by Martin Urbanec
 * - Suppress SecurityCheck-DoubleEscaped in QuestionStore::trimQuestion by Martin Urbanec
 * - Use growthexperiments-structuredtask-no-suggestions-found-dialog-button in outdated suggestions dialog by MewOphaswongse
 * - Help module: Allow long words to wrap by MewOphaswongse
 * - UncachedMenteeOverviewDataProvider: Do not fatal with zero mentees by Martin Urbanec
 * - Hebrew QuitMentorship alias by Amir E. Aharoni
 * - Add "the" before "last" by Amir E. Aharoni
 * - MentorTools: Make away for days required in AwaySettingsDialog by Martin Urbanec
 * - Remove disableDefaultEditModeToolsForRegularVeMode for add image target initializer (desktop) by MewOphaswongse
 * - QuitMentorship: Rephrase new mentor notification by Martin Urbanec
 * - Mentor dashboard: Add frontend for Mentor tools by Martin Urbanec
 * - Check for data before attempting to use by Kosta Harlan
 * - Mentor dashboard: Add backend code for mentor's status by Martin Urbanec
 * - Add Image: Handle submission by Gergő Tisza
 * - Add an image: Create basic elements for image inspector by MewOphaswongse
 * - Create StructuredTaskToolbarDialog by MewOphaswongse
 * - Update suggested edits module state from start editing dialog by Kosta Harlan

GuidedTour

 * - Disable logging by Dan Andreescu

IPInfo

 * - infobox: Ignore 50em width restriction by Sam Smith

Kartographer

 * - Remove unneeded null check by Umherirrender

LdapAuthentication

 * - Make domain_id auto incrementing again by Reedy

MachineVision

 * - FP: Change PropertyId to NumericPropertyId by tzhelyazkova
 * - Add options to allow job createFileList job to use subcategories by Cormac Parle

Math

 * - FP: Change PropertyId to NumericPropertyId by Jakob Warkotsch
 * - styles: Remove obsolete -moz- vendor prefixed rules by Volker E

MediaSearch

 * - Refactor History state by Simone This Dot
 * - Handle possible unsupported timezone errors by Eric Gardner
 * - Use mw.Title.newFromText to avoid exceptions by Eric Gardner
 * - Update Observer comments by Simone This Dot

MobileFrontend

 * - specials: Make SpecialContributions be able to view IP editors contribs by Derick Alangi
 * - [selenium] temporarily delete problematic test by jdlrobson
 * - [Selenium] Skip failing user page test by jdlrobson
 * - DI NamespaceInfo, RevisionStore & RevisionFactory services by Derick Alangi
 * - specials: Properly dependency inject RevisionLookup in MobileDiff by Derick Alangi

NearbyPages

 * - i18n: Replace instances of "article" with "page" by jdlrobson

PagedTiffHandler

 * - Port retrieveMetaData to BoxedCommand by Kunal Mehta

PageImages

 * - Check $thumb->isError before trying to use it by Kunal Mehta

PageTriage

 * - Remove deprecated date.js library by Siddharth VP

PdfHandler

 * - Port retrieveMetaData to BoxedCommand by Kunal Mehta
 * - Code tweaks by Reedy

ProofreadPage

 * - Add parser dependencies on Index and Pages by Inductiveload
 * - Introduce JSON serialisation for Index page content by Inductiveload

PropertySuggester

 * - FP: Change PropertyId to NumericPropertyId by Jakob Warkotsch

SecurePoll

 * - Add purgeDecryptionKeys.php script by Sam Smith

TemplateData

 * - Add test cases for (almost) all possible parsing errors by Thiemo Kreuz
 * - Omit the newline from EndFormat if no parameters are present by Arlo Breault
 * - Update FormatString spec to match Parsoid's implementation by Arlo Breault

Translate

 * - Avoid non-namespaced aliases for Wikimedia\Rdbms namespace by Umherirrender
 * - TranslationHelperException: Fix formatting for declare strict_types by Abijeet
 * - Avoid duplicated directory separators for premade groups by Niklas Laxström
 * - Clear translatable source page cache after move by Abijeet
 * - TranslatablePageMover: Remove custom target page exists check by Abijeet
 * - SpecialPageTranslationMovePage: Wrap common fields in a function by Abijeet
 * - MovePage: Add support for moving talkpages by Abijeet
 * - Breaking change: Remove getConfiguration and getFFS from MessageGroup by Niklas Laxström
 * - QueryTranslationStatsActionApi: Increase max value by Niklas Laxström

UploadWizard

 * - Remove unsupported 'message' parameter to mw.confirmCloseWindow by Bartosz Dziewoński
 * - Avoid using ContentHandler::getContentText by Alexander Vorwerk
 * - Fix casing of internal special page name Userlogin by Umherirrender
 * - Replace obsolete LESS `box-shadow` mixin by Volker E

VipsScaler

 * - Use remoteExtPath, not remoteSkinPath by Kunal Mehta

VisualEditor

 * - Add tests for MWTemplateSpecModel.getTitle  by Thiemo Kreuz
 * - Scroll template dialog element into view when pressing space by Thiemo Kreuz
 * - Drop substitution prefixes before querying for TemplateData by Andrew Kostka
 * - Regression: Update selection in new sidebar relative to content  by Thiemo Kreuz
 * - Fix Cite dialog failing with new sidebar by Thiemo Kreuz
 * - Regression: Fix selection of first transclusion element by Thiemo Kreuz
 * - Improve messaging for when a template is not found by Andrew Kostka
 * - Rename weird .onBookletLayoutSet event handler by Thiemo Kreuz
 * - Regression: Fix broken click on top-level template elements  by Thiemo Kreuz
 * - Utilize native .isRemovable in template dialog sidebar by Thiemo Kreuz
 * - Use OO.ui.PageLayout.setupOutlineItem instead of setOutlineItem by Thiemo Kreuz
 * - Update VE core submodule to master (ec9e8022e) by Bartosz Dziewoński
 * - Fix enter sometimes focusing the wrong template part by Thiemo Kreuz
 * - Hide "required" indicator in new sidebar by Thiemo Kreuz
 * - Change confusing property name in AddParameterPage by Thiemo Kreuz
 * - Update AddParameterPage validation when the template changes by Thiemo Kreuz
 * - Avoid referencing methods via strings, take 2 by Thiemo Kreuz
 * - Align more/less button by Svantje Lilienthal
 * - Force delete button to be disabled on template parameters by Thiemo Kreuz
 * - Optimize .selectPartById to fire less events by Thiemo Kreuz
 * - Update and fix all `@param config` and `@cfg` documentation by Thiemo Kreuz
 * - Merge "templateParameterClick" and "choose" events by Thiemo Kreuz
 * - Override default source mode font in placeholders too by Bartosz Dziewoński
 * - Rename showSidebar to expandSidebar for consistency by Andrew Kostka

Wikibase

 * - FP: Change PropertyId to NumericPropertyId by tzhelyazkova
 * - Use class constant instead of repeating string literals by Michael Große
 * - FP: typehint db source in EntitySourceDefinitions by Jakob Warkotsch
 * - Fix secondary CI emails by Lucas Werkmeister
 * - Avoid non-namespaced aliases for Wikimedia\Rdbms namespace by Umherirrender
 * - Fix secondary CI again by Michael Große
 * - FP: fix test system after entity sources config changes by Jakob Warkotsch
 * - Don't repeatedly dispatch old changes by Michael Große
 * - FP: Change PropertyId to NumericPropertyId in data-model by Jakob Warkotsch
 * - Simplify checking for an empty job queue in test by Michael Große
 * - Remove obsolete test stub by Michael Große
 * - GitHub Action fix email_content.html path by Thomas Arrow
 * - FP: Replace NewEntitySource with NewDatabaseEntitySource in data-access/tests by rosalie
 * - Don't run tests if there is no Client enabled by Michael Große
 * - Introduce DatabaseEntitySource and ApiEntitySource by rosalie
 * - FP: Make EntitySource an Interface and use DatabaseEntitySource and ApiEntitySource by rosalie
 * - Update GitHub action-send-mail by Thomas Arrow
 * - FP: Wikibase/lib - replace PropertyId with NumericPropertyId by tzhelyazkova
 * - Make sure change dispatching has most current changes by Michael Große
 * - Remove unused method from EntityChangeLookup by Michael Große
 * - selenium: Upgrade @wdio packages to v7 by Željko Filipin
 * - Extract method to create new EntityChange instances in test by Michael Große
 * - Use lastrevid from base response if existing by toan
 * - styles: Remove obsolete -moz- vendor prefixed rules by Volker E
 * - Replace dispatchChanges maint scripts with jobs by Michael Große
 * - Fix assertion and add test for ChangeStore delete by Michael Große
 * - FP: Wikibase/client - replace PropertyId with NumericPropertyId by tzhelyazkova
 * - FP: remove unnecessary prefetch optimization by Jakob Warkotsch
 * - FP: refactor FederatedPropertiesEntityParserOutputGenerator by Jakob Warkotsch
 * - CI to extract new packages to standalone libraries by Thomas Arrow
 * - Drop tmpUseRequestLanguagesForRdfOutput config by Ladsgroup

WikibaseCirrusSearch

 * - FP: Change PropertyId to NumericPropertyId by Jakob Warkotsch

WikibaseLexeme

 * - FP: Unskip skipped tests after migration by Jakob Warkotsch
 * - Unskip LexemePageTest by Lucas Werkmeister
 * - Update lexeme-header to use tags by toan
 * - Use tags when making ui edits by toan
 * - Add tags parameter to editing api modules by toan
 * - FP: use NumericPropertyId where applicable by Jakob Warkotsch
 * - Use DataBaseEntitySource by rosalie

WikibaseLexemeCirrusSearch

 * - FP: Change PropertyId to NumericPropertyId by tzhelyazkova

WikibaseMediaInfo

 * - selenium: Delete tests by Željko Filipin
 * - FP: Change PropertyId to NumericPropertyId by tzhelyazkova
 * - Deal with boosts on stemmed fields for non-stemmed languages by Cormac Parle
 * - Use DataBaseEntitySource by rosalie

WikibaseQualityConstraints

 * - FP: Unskip skipped tests after migration by Jakob Warkotsch
 * - FP: Prepare for data-model switch to NumericPropertyId by Jakob Warkotsch
 * - Re-enable ConstraintParameterParserTest by tzhelyazkova
 * - FP: Change PropertyId to NumericPropertyId by tzhelyazkova
 * - Add suggestion status to API documentation by Lucas Werkmeister
 * - Simplify SparqlHelperMock by Lucas Werkmeister
 * - Always ignore deprecated statements in findEntitiesWithSameStatement by Lucas Werkmeister
 * - Add separators to UniqueValueChecker by toan
 * - Use DataBaseEntitySource by rosalie

wikihiero

 * - styles: Remove obsolete -moz- vendor prefixed rules by Volker E

WikimediaBadges

 * - Update logic for Wikimedia Commons sitelink by Lucas Werkmeister
 * - FP: Change PropertyId to NumericPropertyId by tzhelyazkova
 * - Add strict types by Lucas Werkmeister

Wikisource

 * - FP: Change PropertyId to NumericPropertyId by rosalie

MinervaNeue

 * - Allow overriding of icon by jdlrobson
 * - Fixes Click/Tap Targets on User and Page Actions Menu Item by jdlrobson
 * - Standardize use of buttons and icons in Minerva by jdlrobson
 * - [Selenium] Skip failing test by jdlrobson
 * - Minerva uses centralized link styling colors by jdlrobson

MonoBook

 * - mobile.js.less: fix padding for a.feedlink by AntiCompositeNumber

Vector

 * - Restore legacy new (red) link in legacy Vector to `#ba0000` & `#a55858` for visited by jdlrobson
 * - Restrict sticky header to specified namespaces by Clare Ming
 * - Fix navigation menu h2 from showing in legacy Vector by bwang
 * - Fix aria-expanded status for user menu by bwang
 * - Add aria-label to language dropdown menus by Clare Ming
 * - Add search to sticky header by Nicholas Ray
 * - [refactor] DRY up attribute suffixing by jdlrobson
 * - [refactor] reduce usages of typescript type declarations by jdlrobson
 * - Clean up for adding title to sticky header by Clare Ming
 * - Add history and talk page icons to sticky header by jdlrobson
 * - Add page title to sticky header  by Clare Ming
 * - Add user menu to sticky header by Clare Ming
 * - [Storybook] Add Header component by jdlrobson
 * - Improve heading structure and heading semantics by removing redundant headings and labels for modern Vector by bwang
 * - Scope styles that should only apply to the main header to Header.less by Nicholas Ray

VisualEditor/VisualEditor

 * - Update and fix all `@param config` and `@cfg` documentation by Thiemo Kreuz
 * - Make default source mode font easier to override by Bartosz Dziewoński

No changes

 * 3D
 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralNotice
 * CharInsert
 * Cite
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * CodeReview
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * DismissableSiteNotice
 * DoubleWiki
 * DynamicSidebar
 * Elastica
 * ElectronPdfService
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * ImageMap
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * Linter
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MapSources
 * MassMessage
 * MediaModeration
 * MobileApp
 * Modern
 * MultimediaViewer
 * NavigationTiming
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageNotice
 * PageViewInfo
 * ParserFunctions
 * Poem
 * PoolCounter
 * Popups
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UniversalLanguageSelector
 * UploadsLink
 * UrlShortener
 * UserMerge
 * WebAuthn
 * WikiEditor
 * WikiLove
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * WikimediaMessages
 * XAnalytics
 * intersection
 * timeline

Total changes
321 Changes in 59 repos by 70 authors