MediaWiki 1.39/wmf.6/Changelog

Core changes

 * - Branch commit for wmf/1.39.0-wmf.6 by trainbranchbot
 * - phpunit: Set $wgSQLMode from DevelopmentSettings instead of MediaWikiIntegrationTestCase (ii) by Aaron Schulz
 * - phpunit: parse any --boostrap parameter in getopt call by Aaron Schulz
 * - UndeletePage: Check overall status rather than revision's by Func
 * - Make old vs. latest revision more obvious in ParserOutputAccess by Thiemo Kreuz
 * - De-obfuscate stats related code in ParserOutputAccess by Thiemo Kreuz
 * - cleanup: drop unused parameter by Adam Wight
 * - mediawiki.cookie: Revert "Wrap $.cookie in try-catch" by Krinkle
 * - SpecialListGrants: inject GrantsLocalization by Alexander Vorwerk
 * - specials: Inject TitleFactory into Special:WhatLinksHere by Umherirrender
 * - Remove unsued youhavenewmessagesmulti and newtalkseparator messages by Amir Sarabadani
 * - Drop unused directorynotreadableerror message by Amir Sarabadani
 * - MainConfigSchema is @since 1.39, not 1.38 by daniel
 * - resourceloader: Enable mw.loader.store in Firefox  by Timo Tijhof
 * - resourceloader: Disable mw.loader.store on safemode pages by Timo Tijhof
 * - ApiUndelete: Fix api bad method call by Dayllan Maza
 * - [Article] setSections must be called on non-cached parser output by Jon Robson
 * - WikiFarm: cleanup comments and dead code. by daniel
 * - ApiParse: Enable "skin mode" when mobileformat=1 is set by Ed Sanders
 * - ParserOutputAccess: Allow calling getPO with option of not saving in PC by Amir Sarabadani
 * - Add wiki-farm support by daniel
 * - phpunit: Fix slow testBotPasswordThrottled by lowering limits  by Aaron Schulz
 * - Update deprecation notes and warnings for 1.39 by Jon Robson
 * - HISTORY: Add 1.35.6/1.36.4/1.37.2 by Reedy
 * - SECURITY: Sort Special:WhatLinksHere by namespace by Lucas Werkmeister
 * - SECURITY: Add recursion guard to Title::newMainPage by Kunal Mehta
 * - SECURITY: pagers: Don't make a straight join if the user is set by Amir Sarabadani
 * - phpunit: Remove or inline phpunit.php loadSettings and fatalError by Daimona Eaytoy
 * - phpunit: Remove Makefile by Timo Tijhof
 * - phpunit: Update and simplify README by Timo Tijhof
 * - Update WVUI v0.3.5 -> v0.4.0 by Roan Kattouw
 * - phpunit: Remove custom MediaWikiPHPUnitCommand and use default directly by Daimona Eaytoy
 * - [doc only] Improve the documentation re non-string page property values by C. Scott Ananian
 * - [doc only] Update ParserOutput @deprecation to include 'since' information by C. Scott Ananian
 * - RELEASE-NOTES-1.38: Note Math and MinervaNeue tarball inclusions by James D. Forrester
 * - CoreParserFunctions: Use Parser::getTargetLanguageConverter by Func
 * - Benchmark script for settings loading. by daniel
 * - Ensure forward compatibility with new ParserOutput index policy fields by C. Scott Ananian
 * - Remove misleading test in SerializationTestTrain::validateObjectEquality by C. Scott Ananian
 * - Revert "Add SpecialPageFatalTest to @group Database" by Lucas Werkmeister (WMDE)
 * - Use page ID from parent revision, improve logging. by daniel
 * - Introduce SkinComponentSearch by jdlrobson
 * - TypeError: $.cookie is not a function by Jon Robson
 * - phan: Remove PhanPossiblyUndeclaredVariable suppression by Umherirrender
 * - parser: Set init value for some variables in Parser by Umherirrender
 * - Fix error/warning boxes on signup form by tacsipacsi
 * - maintenance: Swap order of code in jsparse.php by Umherirrender
 * - ApiUndelete: add option to undelete associated talk page by Daimona Eaytoy
 * - UndeletePage: Undelete associated talk page by Daimona Eaytoy
 * - profiler: Adjust variable names in SectionProfiler::collateData by Umherirrender
 * - api: Simplify param handling for undoafter on action=edit by Umherirrender
 * - snapshot: Simplify count after explode in BackupDumper by Umherirrender
 * - logentry: Make use getUnknownActor visible in getPerformerIdentity by Umherirrender
 * - logger: Add fallback message for unknown version in LogstashFormatter by Umherirrender
 * - Revert "WatchedStore requires PageIdentity" by Jdlrobson
 * - Do not add dir attribute for username by Jon Robson
 * - phpunit: Fallback to global default user options by Func
 * - Inline single-use 1-line method in EditPage by Thiemo Kreuz
 * - Fix UserFactory::newAnonymous performance by Tim Starling
 * - Upgrade Vue from 3.2.23 to to 3.2.31 by Lucas Werkmeister
 * - ChangeTags: Use localizer with correct page title to parse messages by Func
 * - WatchedStore requires PageIdentity by Jon Robson
 * - User::setEmailWithConfirmation minor refactoring by Reedy
 * - Update Kashmiri namespace names by Amir E. Aharoni
 * - rdbms: track active transaction IDs for named locks and temp tables by Aaron Schulz
 * - rdbms: directly use executeQuery in mysql open method by Aaron Schulz
 * - phan: Upgrade mediawiki-phan-config to 0.11.1 and set minimum_target_php_version by James D. Forrester
 * - Check return of parse_url for used url parts by Umherirrender
 * - Remove deprecated global function wfWikiID by Alexander Vorwerk
 * - RELEASE-NOTES-1.38: Expand, re-format and prepare for release by Mark A. Hershberger
 * - phan: Remove PhanTypePossiblyInvalidDimOffset suppression by Umherirrender
 * - Remove mediawiki.viewport module by Mortal303
 * - Inject ReadOnlyMode service into Parsoid's DataAccess class by C. Scott Ananian
 * - Use HookRunner to invoke hooks from Parsoid by C. Scott Ananian
 * - Inject SVGMaxSize configuration into Parsoid's DataAccess class by C. Scott Ananian
 * - Copy over Parsoid's Config and ServiceWiring classes by C. Scott Ananian
 * - [doc only] Update copyright date for files moved from Parsoid by C. Scott Ananian
 * - [doc only] Update Parsoid's class documentation; add @since tags by C. Scott Ananian
 * - Code style improvements to code moved from Parsoid by C. Scott Ananian
 * - Add namespaces names for Tyap (kcg) by Amir E. Aharoni
 * - Apply logo variant override in ResourceLoaderSkinModule by Func
 * - index.php: Remove global $mediaWiki variable by Adam Wight
 * - Parser: allow Q tag in table of content items by Pols12
 * - Remove messages in en-gb.json by Ed Sanders
 * - Correct a few recently-added Installer messages by Amir E. Aharoni
 * - changes: Replace deprecated `User::newFromName` to `::newSystemUser` by Derick Alangi

Vendor

 * - Run `composer update --no-dev` with composer 2.2.11 by Arlo Breault
 * - Bump parsoid to 0.16.0-a4  by Arlo Breault

AbuseFilter

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Use RestrictionStore instead of deprecated method by Matěj Suchánek

AntiSpoof

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

ApiFeatureUsage

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

Babel

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

BounceHandler

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

CategoryTree

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

CentralAuth

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Fix uses of (error|warning|success)box in CentralAuth by stang
 * - GlobalUsersPager: Use a separate groups query by Taavi Väänänen
 * - Revert "GlobalUsersPager: add gu_id to GROUP BY" by Lucas Werkmeister (WMDE)
 * - Avoid setting internal fields of HTMLForm by Func
 * - Add lu_attachment_method column to localuser table by Alexander Vorwerk

CentralNotice

 * - Fix typo in impression-events-sample-rate-field by Andrew Green
 * - Fix use of errorbox by Samwalton9
 * - Set maximum/minimum configurable value for sample rate of CentralNotice events by Damilare

CheckUser

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Use ActorStore to fetch actor id by Alexander Vorwerk
 * - Add actor migration code for SCHEMA_COMPAT_WRITE_BOTH by Alexander Vorwerk

CirrusSearch

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Get default content handlers from MainConfigSchema by daniel
 * - Make use of compact PHP 7 syntax where it makes sense by Thiemo Kreuz
 * - Fix missing return value in MoreLikeFeature by Thiemo Kreuz
 * - Simplify PHP callback syntax in several places by Thiemo Kreuz
 * - Remove misleading class constant documentation by Thiemo Kreuz
 * - Remove unused utility function to compare arrays by Thiemo Kreuz
 * - Explicitly set minimum_should_match to 1 by joseph emmanuel kayode (iemarjay)
 * - Revert "Hooks: Set default value for completion profile"  by Func

Cite

 * - Page properties should always be strings  by C. Scott Ananian

CodeReview

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Use namespaced RenameuserSQL by Reedy

ContentTranslation

 * - CX3 Build 0.2.0+20220404   by Santhosh Thottingal
 * - SX: Fix "learn more" link inside MT warning/error panel by NikG
 * - SX: Fix grammar issue in translation messages by NikG
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Update use of deprecated constants in getAllowedParams by gerritbot
 * - CX Dependency Injection: add PreferenceHelper service by NikG
 * - Overriding getPortletData was deprecated in 1.38 by Jon Robson
 * - tests: mw.cx.TranslationTracker: Fix for changes in VE by Bartosz Dziewoński
 * - Review use of mw.message by Niklas Laxström
 * - Add dir and lang attributes to more places by Santhosh Thottingal

DiscussionTools

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Update use of deprecated constants in getAllowedParams by gerritbot
 * - debughighlighter: Fix date highlighting by Bartosz Dziewoński
 * - Use namespaced VisualEditor traits and classes by Reedy
 * - ApiDiscussionToolsEdit: Use CommentParser to get name/title of last topic by Ed Sanders
 * - Remove data-mw-comment-name attribute from subscribe links by Ed Sanders
 * - ApiDiscussionToolsEdit: Add $preview- prefix to variables used in parsing preview by Ed Sanders
 * - ApiDiscussionToolsEdit: Use existing $this->commentParser reference by Ed Sanders
 * - Make comment markers inline-block to fix comment wrapping in Safari by Ed Sanders

Echo

 * - SECURITY: Send original client info on x-wiki requests by Taavi Väänänen
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - MarkRead: Remove redundant setAction by Func

EventLogging

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - tests: Clean up tests by Timo Tijhof
 * - tests: Add missing teardown for setOptionsForTest by Timo Tijhof

EventStreamConfig

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

ExtensionDistributor

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

FeaturedFeeds

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

FlaggedRevs

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Drop logger from class by Adam Wight
 * - Simplify/remove some unused code from FlaggedRevs class by Thiemo Kreuz
 * - Remove meaningless restriction level "none" by Thiemo Kreuz
 * - Deprecate the FlaggableWikiPage constructor by Thiemo Kreuz
 * - Extract cache handling into a new class by Adam Wight
 * - SECURITY: Do not show patrol details if the author is hidden by Taavi Väänänen
 * - Fix a series of Phan exceptions by Thiemo Kreuz
 * - Drop Special:AdvancedReviewLog (a.k.a. Special:QualityOversight) by Ed L
 * - Stub base class so that test doesn't break when Scribunto is missing by Adam Wight
 * - Simplify the code a bit by Amir Sarabadani
 * - Rearrange larger code pieces for readability and stability by Thiemo Kreuz
 * - Minor PHPDoc type fixes by Thiemo Kreuz
 * - Fix a PHPCS exception related to a SELECT by Thiemo Kreuz

Flow

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Drop usages of errorbox by Sergio Gimeno
 * - Remove config 'FlowEditorList' by Ed Sanders

Gadgets

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Drop global class aliases by Reedy
 * - SpecialGadgets: Avoid setting internal fields of HTMLForm by Func

GeoData

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

GlobalBlocking

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Namespace extension by Taavi Väänänen

GlobalPreferences

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

GlobalUsage

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

Graph

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

GrowthExperiments

 * - phan: Use dependencies from CI instead of maintaining stubs by Kosta Harlan
 * - TemplateBasedTaskTypeHandler: Fix name of links tag by Kosta Harlan
 * - WelcomeSurvey: Use experiment groups for showing/hiding mailing list question by Kosta Harlan
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Update use of deprecated constants in getAllowedParams by gerritbot
 * - SECURITY: Don't leak suppressed usernames on Special:Impact by Alexander Vorwerk
 * - ApiQuestionStore: Fallback to empty array if array_map fails by Kosta Harlan
 * - phan: Fix PhanRedundantCondition error by Kosta Harlan
 * - Post-edit dialog: check for presence of preferences.topicFilters by mewoph
 * - PostEdit: Clear the window after the dialog is closed by Kosta Harlan
 * - VisualEditorHooks: Update hook compatibility, re-enable Selenium tests by Kosta Harlan
 * - Newcomer tasks: always align button and text to the right by Sergio Gimeno
 * - selenium: Temporarily disable tests so VisualEditor patch can merge by Kosta Harlan
 * - GrowthExperiments.alias.php: Add Korean aliases by Kosta Harlan
 * - Create account: drop usages of warningbox by Sergio Gimeno
 * - Add an image: don't assume the presence of 'accepted' key in AddImageSubmissionHandler::validate by mewoph

GuidedTour

 * - Drop global GuidedTourLauncher class alias by Reedy

IPInfo

 * - Add EventLogging for enable/disable IPInfo events by STran
 * - Log when a user copies an IP address by Thalia
 * - build: Update linters and fix ESLint config by Ed Sanders

JsonConfig

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - SECURITY: HTML-escape strings and don’t display arrays by Lucas Werkmeister

Kartographer

 * - remove Parser::clearState by msantos
 * - Make SimpleStyleParser a little more robust by Thiemo Kreuz

Linter

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

LiquidThreads

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Use namespaced RenameuserSQL by Reedy

MachineVision

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - build: Upgrade vue to 3.2.31 to align with MediaWiki by James D. Forrester

MassMessage

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

MediaSearch

 * - Convert Mixins unit test to vue 3 by adesoji
 * - Upgrade test for Result folder by Simone This Dot
 * - Update all "components" unit test to use the new version of vue test util by adesoji
 * - Convert Store unit test to vue 3 by Simone This Dot
 * - Update MediaSearch front-end unit tests to Vue 3 by adesoji
 * - Updated all "components/base" unit test by adesoji

MobileFrontend

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Apply transformations to ApiParse output using onOutputPageBeforeHTML  by Ed Sanders
 * - Show a warning message to clients using the old mobile view API by Jon Robson

Newsletter

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

Nuke

 * - SpecialNuke: use Message::plaintextParams for page titles by DannyS712

OATHAuth

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - "OATHUserRepository: Stop handling legacy single-key" take 2 by Reedy
 * - Revert "OATHUserRepository: Stop handling legacy single-key" by Zabe
 * - ApiOATHValidate: Fix example passing TOTP token in data by Reedy

ORES

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

PageAssessments

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

PageImages

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

PageTriage

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

PageViewInfo

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

ProofreadPage

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Page properties should always be strings by C. Scott Ananian
 * - VE: Remove old Parsoid compat code by Bartosz Dziewoński

PropertySuggester

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

QuickSurveys

 * - Convert performanceNow datatype to Integer in QuickSurvey Initiation by essexigyan
 * - fixed close button for QuickSurvey by EllenR
 * - custom thank you message & additional info by jsn

ReadingLists

 * - Adjust argument for local interwiki in InterwikiLookup::getAllPrefixes by Umherirrender

RelatedArticles

 * - Drop outdated references to Cards extension by Jon Robson

Renameuser

 * - Fix uses of (error|successbox) by tacsipacsi
 * - Remove global class aliases by Reedy

Scribunto

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Adjust argument for local interwiki in InterwikiLookup::getAllPrefixes by Umherirrender

SecurePoll

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - ListPager: Introduce an escaped param for voter name message by Func

SiteMatrix

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

SpamBlacklist

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

TemplateData

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

TemplateSandbox

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

TemplateWizard

 * - Full fallback to prefixsearch when Cirrus returns nothing by Thiemo Kreuz

Thanks

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot

TimedMediaHandler

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - SECURITY: Disallow blocked users from resetting transcodes by dylsss
 * - Limit precision of duration and remove unused startoffset by Derk-Jan Hartman
 * - Remove placeholder labels from inline playback by Derk-Jan Hartman
 * - Set noflip for css rule that needs it by Amir Sarabadani
 * - Display duration under 10 seconds correctly by Derk-Jan Hartman

TitleBlacklist

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

Translate

 * - Fix typo by Taavi Väänänen
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - ManageGroups: Fix the check to determine when to fuzzy by Abijeet
 * - PageTranslationHooks: Don't kick in during interface message parsing by Func
 * - Move webservice consumers to WebService namespace by Gee
 * - Rename JS methods to fetch MessageGroupStats to match API methods by Abijeet
 * - ManageGroups: Select import when key is reused and content is same by Abijeet

UploadWizard

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - Remove EventLoggingSchemas entries by Sam Smith

UrlShortener

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

VisualEditor

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Update VE core submodule to master (05fbb163c) by Bartosz Dziewoński
 * - Follow-up I0eaeb987: Sync temp wikitext editor before activating target by Ed Sanders
 * - Update VE core submodule to master (38b8213b5)  by Bartosz Dziewoński
 * - Remove "delete" button from link node desktop context by Ed Sanders
 * - Allow hook implementations to modify params by Kosta Harlan
 * - Full fallback to prefixsearch when Cirrus returns nothing by Thiemo Kreuz
 * - Use boolean RegExp.test instead of .match where possible by Thiemo Kreuz
 * - selenium: Check if editing toolbar is displayed by Željko Filipin
 * - Use new config option signature when building sequences by Ed Sanders

WebAuthn

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

Wikibase

 * - REST: Use setting instead of custom feature toggle by Jakob Warkotsch
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - REST: Extract function for request validation by Jakob Warkotsch
 * - 1.39 Release Notes: Add info about wbsearchentities change by Michael Große
 * - Add empty 1.39 RELEASE_NOTES file by Michael Große
 * - SECURITY: Escape message in hook handler by Lucas Werkmeister
 * - Fix outline for selected statement group by Lucas Werkmeister
 * - REST: Validate requests in e2e tests by sihe
 * - Add missing ORDER BY to UnexpectedUnconnectedPagePrimer by Lucas Werkmeister
 * - Accept ADR 1 for Wikibase REST API by sihe
 * - Revert "Temporary switch dependabot-gerrit-action branch" by Tobias Andersson
 * - REST: Use comma separator in _field query param by Ollie Shotton
 * - REST: Remove `GetItemValidationResult` DTO by Ollie Shotton
 * - REST: Set 'Content-Language: en' for 500 errors by sihe
 * - REST: Remove `UnexpectedError` response by Ollie Shotton
 * - Temporary switch dependabot-gerrit-action branch by toan
 * - Accept ADR 0 for Wikibase REST API by sihe
 * - Bump cross-fetch from 3.1.4 to 3.1.5 by Addbot

WikibaseLexeme

 * - Bump Special New Lexeme to include some error handling by Michael Große
 * - LexiData: Add i18n message for netweork error by Noa wmde
 * - Bump sinon from 13.0.0 to 13.0.1 by Addbot

WikibaseQualityConstraints

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Add new display member to wikibase.entityselector.search results by Lucas Werkmeister
 * - Bump grunt-stylelint from 0.17.0 to 0.18.0 by Addbot
 * - Remove $wgWBQualityConstraintsSuggestionsBetaFeature by Lucas Werkmeister

Wikidata.org

 * - build(deps-dev): bump grunt-stylelint from 0.17.0 to 0.18.0 by Addbot

WikiEditor

 * - Add event logging for Realtime Preview enabling and disabling by Sam Wilson
 * - Persist Realtime Preview state in a user preference by Sam Wilson
 * - Add Realtime Preview vars to the virtual package's versionCallback by MusikAnimal
 * - Realtime Preview: disable if average response time is very slow by MusikAnimal
 * - Fix dragbar direction for RTL text direction by Sam Wilson

WikiLambda

 * - convert remaining button components to codex by jkieserman
 * - add JS Documentation for Vue components by jkieserman
 * - Fix tests to work with function-schemata 225fe88 by gengh
 * - Provide description of data modelling in the UI by Simone This Dot
 * - Investigate why ZKeyModeSelector.test.js test for changing the type expects 6 but since the Vue3 upgrade gets 5 elements by adesoji
 * - docs: Add Doxyfile to configure doxygen by James D. Forrester
 * - docs: Provide jsdoc documentation of our JS code by James D. Forrester
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Replace deprecated ApiBase::PARAM_ with IntegerDef ones by gerritbot
 * - docs: Use Z\d+/Foo syntax in some documentation consistently by James D. Forrester
 * - increase FE testing by jkieserman
 * - Use ZTypeRegistry::Z_NULL rather than the Z23 string by James D. Forrester
 * - bin/updateSubmodule: Use same order for print-out as git commit by James D. Forrester
 * - eslint: Don't use file-level disables but inline-only by James D. Forrester
 * - Reorganize the "arguments" store for ease of development by Simone This Dot
 * - Ensure all internationalization string are parsed with "text" by Simone This Dot
 * - tests: Set up the Vuex store once rather than in each beforeEach by adesoji
 * - build: Upgrade vue to 3.2.31 to align with MediaWiki by James D. Forrester
 * - Remove unused getters and actions from the components by Simone This Dot
 * - Clean Up implementation store ahead of Function View work by Simone This Dot
 * - Update function-schemata sub-module to HEAD (e98f603)    by James D. Forrester

WikiLove

 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot
 * - Fix usage of ApiBase::PARAM_* deprecated constants by gerritbot

WikimediaBadges

 * - build(deps-dev): bump grunt-stylelint from 0.17.0 to 0.18.0 by Addbot

WikimediaEvents

 * - Add WebABTestArticleIdFactory and WebABTestArticleIdStrategy classes by Nicholas Ray
 * - Update webUIScroll js to process new hook. by Clare Ming
 * - PageSplitter: Misc simplification and clarification in code and tests by Timo Tijhof

WikimediaMessages

 * - Add messages for Tyap Wikipedia (kcgwiki) by gerritbot
 * - Add internal trust and safety survey test messages by jsn

Wikistories

 * - Replace an image by Stephane Bisson
 * - Update the search loading bar animation keyframes property by hueitan
 * - Removed unused props from search query to save bandwidth by Stephane Bisson
 * - Reusable Story Viewer State and Next Story Button Feature by hueitan

CologneBlue

 * - Use html-title-heading template data provided by core  by Fernand Dell

MinervaNeue

 * - Re-arrange getHistoryLink method for readability by Thiemo Kreuz
 * - Contributions headings should be border box by Jon Robson

Timeless

 * - Use null coalescing operator by Lucas Werkmeister

Vector

 * - Drop the LatestSkinVersionRequirement   by Jon Robson
 * - Small clean up and TOC update by bwang
 * - Scroll active TOC links to midpoint when past threshold by bwang
 * - Don't set a user preference on new accounts by default by Tim Starling
 * - Move sticky header DOM queries into main.js by bwang
 * - Do not show footer menu in print mode by Clare Ming
 * - Drop SkinVector global class alias by Reedy
 * - Restore the classes skin-vector and skin-vector-search-vue to body by Jon Robson
 * - Update scroll instrument for TOC by Clare Ming
 * - Add fade to indicate scrollability in TOC by Clare Ming
 * - Make beginning bold on scroll by Jon Robson
 * - Enable table of contents on all namespaces by Jon Robson

VisualEditor/VisualEditor

 * - Allow unknown types for ve.dm.AlienMetaItem by Bartosz Dziewoński
 * - Follow-up I534ce003d: Fix height restriction calculation of desktop context by Ed Sanders
 * - PreviewElement: Document event by Ed Sanders
 * - Always show label-only button for MergeCellsContextItem button by Ed Sanders
 * - tests: Add some tests for ve.init.Target by James D. Forrester

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * BetaFeatures
 * Calendar
 * Campaigns
 * Capiunto
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CommonsMetadata
 * ConfirmEdit
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DonationInterface
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * ExternalGuidance
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * GeoCrumbs
 * GlobalCssJs
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * ImageMap
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MapSources
 * Math
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Nostalgia
 * OAuth
 * OAuthRateLimiter
 * OpenStackManager
 * PageNotice
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * Quiz
 * RSS
 * RevisionSlider
 * SandboxLink
 * Score
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateStyles
 * TextExtracts
 * TheWikipediaLibrary
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UniversalLanguageSelector
 * UploadsLink
 * VipsScaler
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
385 Changes in 85 repos by 82 authors