MediaWiki 1.40/wmf.2/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.2 by trainbranchbot
 * - Setup: Adopt RequestContext::getActionName for most early callers by Timo Tijhof
 * - mediawiki.skin.defaults: Add Opacities to skin.defaults variables by Volker E
 * - purgeList.php: Clarify that --db-touch is only for purging by title by Timo Tijhof
 * - Suppress php 7.4 phan false positive by Zabe
 * - pruneUnusedLinkTargetRows.php: Fix batching and DELETE query by Kevin Israel
 * - IndexPager: $offsets may be shorter than $columns by Bartosz Dziewoński
 * - SpecialEditTags: Set default value of wpTagsToRemove to empty array by Func
 * - rdbms: Limit CP warning message for T314434 to initial 10s window by Timo Tijhof
 * - rdbms: improve documentation about sections/clusters in LBFactory classes by Aaron Schulz
 * - objectcache: clean up lock expiration in BagOStuff by Aaron Schulz
 * - mediawiki.page.ready: Emit the 'change' event in checkboxShift.js by Daimona Eaytoy
 * - parser: Remove Title::canHaveTalkPage check from fullpagename by Umherirrender
 * - objectcache: clarify WANObjectCache::makeMultiKeys comments by Aaron Schulz
 * - REST: make ParsoidHandler use HTMLTransformFactory by daniel
 * - Remove the deprecated MWGrants class by Alexander Vorwerk
 * - Update name of language of CHO. by Hasan Akgün
 * - GlobalVarConfig: Avoid slowness of array_key_exists on $GLOBALS in PHP 8.1+ by James D. Forrester
 * - pruneUnusedLinkTargetRows: Avoid deletion if there is nothing to delete by Amir Sarabadani
 * - Permissions: Exit early from RestrictionStore::loadRestrictions if no rev id by Brian Wolff
 * - Revert "Mobile Preferences - display Special:Preferences as a vertical menu" by Jsn.sherman
 * - Mobile Preferences - display Special:Preferences as a vertical menu by suecarmol
 * - Use more permissive match for TOC_PLACEHOLDER in parser output by C. Scott Ananian
 * - Parser: Use linkAnchor in section definition as well as anchor by Jon Robson
 * - rdbms: Use plain array to store position data by Alexander Vorwerk
 * - session: Fix broken SessionTest case due to PHPUnit dependency change by Timo Tijhof
 * - Update Codex from v0.1.1 to v0.2.1         by Eric Gardner
 * - rdbms: Bump ChronologyProtector cache key version by Timo Tijhof
 * - Coalesce rc comment field to empty string if null by Brian Wolff
 * - Outstanding improvements to the results layout on special:search page by Simone Cuomo
 * - Suppress interwiki on search offset and iw css tweaks for special search by Joseph Seddon
 * - Remove ChangesListFilterGrouping instrument by Sam Smith
 * - rdbms: Allow SubQuery objects in SelectQueryBuilder as table by Amir Sarabadani
 * - SQLPlatform: Introduce buildComparison by Bartosz Dziewoński
 * - Move unit tests for SQLPlatform to a separate file by Bartosz Dziewoński
 * - Separate RevisionOutputCache::makeParserOutputKey from no revid case by Brian Wolff
 * - docs: Fix warnings about deprecated Doxygen config by Timo Tijhof
 * - docs: Remove non-existent 'static' directory from Doxygen config by Timo Tijhof
 * - docs: Apply excludes like 'vendor' and 'tests' to extensions as well by Timo Tijhof
 * - Introduce pruneUnusedLinkTargetRows maint script by Amir Sarabadani
 * - Fix docs for InterwikiCache about .cdb files by Umherirrender
 * - Update Docker instructions for DEVELOPERS.md by Marielle Volz

ArticlePlaceholder

 * - Capitalize a button label by Amir E. Aharoni

Babel

 * - Remove LEFT-TO-RIGHT MARK (U+200E) from comments by Fomafix

CampaignEvents

 * - Add ce_address and ce_event_address table. by Claudio Melo
 * - Add more tests for EventStore by Daimona Eaytoy
 * - Fix JS error when searching participants by Daimona Eaytoy
 * - Show placeholder text for hidden organizer usernames on event page by Daimona Eaytoy

CentralAuth

 * - Replace deprecated Language::factory by Fomafix

CheckUser

 * - Move LogPager.php to the CheckUser pagers as it's only used by CheckUserLog by dreamyjazz

CirrusSearch

 * - Add token_count subfield to outgoing_link by Erik Bernhardson
 * - Convert SearcherTest to use generic fixture handling by Erik Bernhardson

Collection

 * - Remove USE INDEX statement for add category feature on Special:Book by Umherirrender

ContentTranslation

 * - CX section translation: Fix view page link to always use page title by NikG
 * - CX: Remove unused globals for titles, section titles and revision by NikG
 * - Remove ContentTranslation* instruments by Sam Smith
 * - CX: Fix arguments passed to WikiPage constructor for target page by NikG
 * - Adjust text style for sections when translated on desktop by NikG
 * - Fix contenttranslationstats API output by Santhosh Thottingal

DiscussionTools

 * - Replace VisualEditor ParsoidHelper with ParsoidClient by Bartosz Dziewoński
 * - Add @covers CommentUtils to tests that use it by Ed Sanders
 * - Only filter code coverage at the class level by Ed Sanders
 * - Use margin to position comment marker to avoid Chrome bug by Ed Sanders

DonationInterface

 * - update smash-pig requirement to 0.8.2.12 by wfan
 * - Stop Adyen adapter from sending an additional pending message by jgleeson
 * - update smash-pig requirement to 0.8.2.11 by wfan

Echo

 * - styles: Remove IE 8-9 special way by Volker E

FlaggedRevs

 * - Use ::class for class name resolution by Umherirrender

Flow

 * - Replace deprecated User::mRights access by Fomafix

GrowthExperiments

 * - MentorTools: Make the link to QuitMentorship easier to find by Martin Urbanec
 * - ManageMentorsEditMentor: Allow admins to change mentor's status by Martin Urbanec
 * - LinkRecommendationTaskType: Raise score threshold to 0.6 by Kosta Harlan
 * - Add ManageMentorsEditMentor by Martin Urbanec
 * - [tests] Improve coverage for SpecialManageMentors by Martin Urbanec
 * - SpecialManageMentors: Improve form behavior for unprivileged users by Martin Urbanec
 * - SpecialManageMentors: Refactor form handling  by Martin Urbanec
 * - Consistent spelling for "copy editing" by Amir E. Aharoni
 * - Mentee overview(vue): fix wrong pagination when changing users to show by Sergio Gimeno
 * - Mentee overview(vue): vertically align pagination and users to show text by Sergio Gimeno
 * - StructuredMentorListValidator: Include mentor's name in too long message by Martin Urbanec
 * - selenium: Verify that close button exists on mobile  by Kosta Harlan
 * - selenium: Initial test for AddImage by Kosta Harlan

Kartographer

 * - Forward log events from mapdata lib by WMDE-Fisch
 * - Use mapdata v0.7.2 by WMDE-Fisch
 * - Log mapdata API requests with mismatching revision/group ids by Thiemo Kreuz
 * - Much simpler messages for most basic GeoJSON validation errors by Thiemo Kreuz
 * - Replace deprecated Language::factory by Fomafix
 * - Avoid expensive Message::parse in error reporting by Thiemo Kreuz
 * - Turn global state variable into a function argument by Thiemo Kreuz

Linter

 * - Convert to HookHandler by Reedy

MachineVision

 * - Stop using prophecy in tests by Lucas Werkmeister
 * - Fix onUnitTestsAfterDatabaseSetup hook for abstract schema by Lucas Werkmeister

MediaSearch

 * - Tabs content: Height flicker when switching tabs by Vadim Kovalenko

MobileFrontend

 * - Use ::class for class name resolution by Umherirrender
 * - Revert "Change configuration variable for mobile view in Special:Preferences" by Jsn.sherman
 * - Add link to Special:Preferences for mobile by essexigyan
 * - Change configuration variable for mobile view in Special:Preferences by suecarmol
 * - build: Upgrade jQuery test install to 3.6.1 to align with MediaWiki by James D. Forrester

NearbyPages

 * - build: Upgrade jQuery test install to 3.6.1 to align with MediaWiki by James D. Forrester

Newsletter

 * - Use namespaced class in NewsletterContentHandler::getDiffEngineClass by Umherirrender

ParserFunctions

 * - Avoid confusion about single quotes in README by Fomafix

PdfHandler

 * - PdfHandler: Set cache with clearer key group and finite expiry by Timo Tijhof

Phonos

 * - WikibaseEntityAndLexemeFetcher: remove empty usage by hmonroy
 * - LarynxEngine.php: Update Larynx SSML by TheresNoTime
 * - Allow Phonos to look for audio files in Wikibase by hmonroy
 * - deleteOldPhonosFiles: use STORAGE_PREFIX const and clean empty dirs by MusikAnimal
 * - Manually construct storage paths by MusikAnimal
 * - Phonos.php: Limit number of IPA characters for Phonos by TheresNoTime
 * - PhonosButton: show error with link to purge/reload when file is missing by MusikAnimal

Popups

 * - build: Upgrade jQuery test install to 3.6.1 to align with MediaWiki by James D. Forrester

ProofreadPage

 * - Source tab should be server side rendered by Jon Robson
 * - Fix .prp-edit-in-sequence-toolbar overlaps with Vector2022 elements by Sohom
 * - Add preview module for EditInSequence by Sohom

QuickSurveys

 * - Inline trivial default for "enabled" by Thiemo Kreuz
 * - Add basic PHPUnit tests to increase test coverage by Thiemo Kreuz
 * - Fix wrong @covers tag for SurveyAudienceTest by Thiemo Kreuz
 * - Remove three dot app tooltip by WMDE-Fisch
 * - build: Update grunt-banana-checker and stylelint-config-wikimedia by WMDE-Fisch
 * - Require ES6 for client code in this repo by Adam Wight

Thanks

 * - ApiCoreThank: support subtypes in AllowedLogTypes  by Taavi Väänänen

Translate

 * - TranslatorSandboxActionApi: Provide error about invalid password by Diesel kapasule
 * - ttmserver-export: Add option to empty the contents by Niklas Laxström
 * - Fix a few phan warnings by Niklas Laxström
 * - Remove TranslateSecondaryPermissionUrl by Niklas Laxström

VisualEditor

 * - Only die when error string is not empty by Alexander Vorwerk
 * - Remove redundant ParsoidHelper class from VE by daniel
 * - Extract RESTbase client code into VRSParsoidClient. by daniel

Wikibase

 * - REST: Combine e2e and schema tests for DELETE by sihe
 * - REST: Don't require 'type' field in Statement serialization by Ollie Shotton
 * - REST: Refactor entityHelper.js with helper methods by Ollie Shotton
 * - REST: Remove 'type' field from statement serialization by Jakob Warkotsch
 * - REST: Give e2e tests unique descriptions by Ollie Shotton
 * - REST: Generate auto summaries by Jakob Warkotsch
 * - REST: Combine edit summary conversion and formatting by Jakob Warkotsch
 * - REST: Fix FormatableSummaryConverterTest by Jakob Warkotsch
 * - REST: Add FormatableSummaryConverter by Jakob Warkotsch
 * - REST: Refactor `Serializer` dir to `Serialization` by Ollie Shotton
 * - REST: Add EditSummary to EditMetadata  by Ollie Shotton
 * - REST: Update descriptions in OpenAPI definition by Ollie Shotton
 * - REST: Create and implement EditSummary interface by Ollie Shotton
 * - Stop using prophecy in WikiPageEntityRevisionLookupTest by Lucas Werkmeister
 * - REST: Remove TODO comment by sihe
 * - REST: Add JSON patch ADR by Jakob Warkotsch
 * - REST: Add 415 error response to OpenAPI definition by Ollie Shotton
 * - REST: Validate PATCH routes against OpenAPI definition by Ollie Shotton
 * - REST: Add authorization check to PatchItemStatement by Jakob Warkotsch
 * - REST: Use OpenAPI "definition" over "specification" by Ollie Shotton

WikibaseLexeme

 * - Make language fallbacks work for example lexeme ID by Lucas Werkmeister

WikiEditor

 * - [Realtime Preview] Disable when screen is narrow on load by hmonroy

WikiLambda

 * - Follow-up 2eda9ee: Update calls in ZFunctionTesterReport to renamed getters by dmartin
 * - Add validator errors and actual-expected values to metadata map by dmartin
 * - show 'Untitled' when there is no ZObject Label by Julia Kieserman
 * - Remove double labels from composition function call viewer. by ddw
 * - Remove any pre-population of label values (title/inputs) if there is no by ddw
 * - ZResponseEnvelope.vue: Adapt to DialogContainer changes by dmartin
 * - Function Editor: Language Selector Changes by ddw
 * - Function editor: create new function and edit existing function view by ddw
 * - Change "impactful dialog" text by temitope adesoji
 * - tests: Run eslint against ES2017 for flexibility by James D. Forrester

WikimediaEvents

 * - BlockMetrics: Update to new event schema version by Kosta Harlan
 * - Remove ChangesListFilterGrouping EventLoggingSchemas entry by Sam Smith

WikimediaMaintenance

 * - createExtensionTables.php: Add growthexperiments_user_impact by Gergő Tisza
 * - dumpInterwiki.php: Remove obsolete Cdb-related code by Timo Tijhof

Wikistories

 * - Fix flow of select-text CTA by Stephane Bisson

MinervaNeue

 * - Mobile Preferences: Add styles for Special:Preferences mobile by suecarmol

Nostalgia

 * - Remove use of Skin::footerLink by Jon Robson

Vector

 * - Add Jest tests for TOC before/after edit by Nicholas Ray
 * - Fix border when title is hidden and when toolbar is empty by bwang
 * - Table of contents: Hide accessible label using color transparent by Jon Robson
 * - [RTL, TOC] The arrow before collapsible sections in sidebar is clipped by Moh'd Khier Abualruz
 * - Icons: Globally set icon colors to `@opacity-icon-base` by Jon Robson
 * - mediawiki.skin.variables: Add Opacities to skin.defaults variables by Volker E
 * - Follow-up: Clean up sticky header and collapsed TOC styles by bwang
 * - ToC: Handle anchors with % in plaintext by Func
 * - Follow-up: Apply min-width to collapsed TOC by bwang
 * - Revert "Set top value for ToC when sticky header is enabled." by Bernard Wang
 * - Update collapsed TOC menu width  by bwang
 * - Sidebar: Collapses at lower resolutions, expands when resized by Jon Robson
 * - Prevent language button in sticky header from word breaking by bwang
 * - Set top value for ToC when sticky header is enabled. by Jan Drewniak
 * - Limit upgrading of Echo icons to Visual enhancements feature flag by Jon Robson
 * - Storybook: Update Legacy/codex comparison table by Jon Robson
 * - Remove unreachable code in tableOfContents.js by Nicholas Ray
 * - Remove unneeded expansion styles from search box code by Anne Tomasevich

WikimediaApiPortal

 * - Remove the ResourceLoaderSkinModule legacy feature by Jon Robson

VisualEditor/VisualEditor

 * - build: Update language lists by Ed Sanders

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * Cite
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * Cognate
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * Listings
 * LoginNotify
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NewUserMessage
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageTriage
 * PageViewInfo
 * PagedTiffHandler
 * Poem
 * PoolCounter
 * PropertySuggester
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UniversalLanguageSelector
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMessages
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * mediawiki/vendor
 * timeline
 * wikihiero

Total changes
186 Changes in 43 repos by 67 authors