MediaWiki 1.41/wmf.9/Changelog

Core changes

 * - Branch commit for wmf/1.41.0-wmf.9 by trainbranchbot
 * - BundleSizeTest: use a provider by Tim Starling
 * - Watchstar: update text updating logic to use lastElementChild  by bwang
 * - rdbms: Roll up small once-called private/protected methods of Database by Amir Sarabadani
 * - Support multilingual SVGs in page language in galleries  by Arlo Breault
 * - Replace deprecated language codes in user options variant and variant-* by Fomafix
 * - Remove deprecated WatchlistNotificationManager class alias by Umherirrender
 * - Hard-deprecate UserGroupMembership::getGroupName/getGroupMemberName by Umherirrender
 * - VFormHTMLForm: Remove dead code by Jon Robson
 * - Remove mediawiki ui styles on OOUI forms by Jon Robson
 * - Drop mw-ui-radio markup by Jon Robson
 * - Clean up implementations of isQuotedIdentifier by Matěj Suchánek
 * - specials: Get config from ContextSource and not MainConfig service by Umherirrender
 * - language: Replace complex regex/loops with native functions by thiemowmde
 * - Add first test cases for grammar in 'kk', 'tyv' languages by Bartosz Dziewoński
 * - ApiHelp: add per-param IDs for linking by Lucas Werkmeister
 * - Add convenience method TempUserCreator::shouldAutoCreate by Tim Starling
 * - Reset the cached skin in RequestContext::setUser by Tim Starling
 * - ExtensionProcessor: Drop support for skin template directories relative to core by Jon Robson
 * - mw.widgets: Override onTagSelect method to avoid uncaught error by Func
 * - mw.widgets: Cleanup multiselect widgets by Func
 * - filebackend: Use SwiftFileBackend::$RES_ABSENT for self-documentation by Umherirrender
 * - Move some hooks to ResourceLoader\HookRunner by Umherirrender
 * - Sync up core repo with Parsoid by C. Scott Ananian
 * - ResourceLoader: Fix "out of sync" message to ignore $errors case by Timo Tijhof
 * - Update Codex from v0.9.1 to v0.10.0              by Anne Tomasevich
 * - preferences: Add back the lazy-infuse feature for the mobile layout by Func
 * - In User::clearInstanceCache mark the $reloadFrom parameter as loaded by Tim Starling
 * - Replace strcmp calls with equality check by Matěj Suchánek
 * - virtualrest: Deprecate SwiftVirtualRESTService by rrana-wmf
 * - Replace internal Hooks::runner by Umherirrender
 * - Nepali text characters in section headings (H2) partially cut by Bada Kaji
 * - rdbms: Drop Database::queryMulti by Amir Sarabadani
 * - ResourceLoader: Upgrade OOjs from 6.0.0 to 7.0.1 by Timo Tijhof
 * - MediaWikiIntegrationTestCase: Fail test when insert fails by Gergő Tisza
 * - schema: Add user_is_temp column to the user table by Thalia
 * - ResourceLoader: In extension schema, validate properties of file info objects by Tim Starling
 * - PageUpdater: Use ICP instead of LB/LBF by Amir Sarabadani
 * - Remove hindi fallback and add gom-latn fallback per request by Pppery
 * - ParserOutput: Ensure page title is updated after merging properties  by Subramanya Sastry
 * - mediawiki.skinning: Make toggle label use link color token by Volker E
 * - startup: Modernise test syntax by Timo Tijhof
 * - mediawiki.template.mustache: Modernise test syntax by Timo Tijhof
 * - rdbms: Throw when makeWhereFrom2d receives empty data by Timo Tijhof
 * - ResourceLoader: Support 'authors' in foreign-resources.yaml for SpecialVersion by James D. Forrester
 * - rdbms: clean up getLag/getSessionLag comments in IReadableDatabase by Aaron Schulz
 * - mediawiki.mixins: Remove deprecated Less mixins as of 1.37.0  by Volker E
 * - title: Remove protection related deprecated Title functions by Umherirrender
 * - Fix documentation on FallbackContent[Handler]. New in 1.36 not 1.34 by Brian Wolff
 * - preferences: Use the new DOM element after infusion by Func
 * - RELEASE-NOTES-1.41: remove trailing whitespace by DannyS712
 * - mediawiki.ui: Remove deprecated variables by Volker E
 * - preview: fix template list sorting by Sam Wilson
 * - ResourceLoader: Allow FileModule scripts to be generated with a callback by Tim Starling
 * - ResourceLoader: Update Mustache.js from 3.0.1 to 4.2.0 by Timo Tijhof
 * - Improve the documentation of wfExpandUrl by Gergő Tisza
 * - Add a link to doc page in messages about creation of temporary accounts by Bartosz Dziewoński
 * - Fix missing Entity Labels in list=recentchanges by Michael Große
 * - rdbms: remove unused ILoadBalancer::CONN_REFRESH_READ_ONLY constant by Aaron Schulz
 * - api: Use a temp placeholder for signature on preview/pst by Umherirrender
 * - Remove deprecated MWHttpRequest::factory by Umherirrender
 * - api: Explicit parse param help messages from validator by Umherirrender
 * - maintenance: Rename generateLocalAutoload to generateAutoload by daniel
 * - Pass `allowEditTags` config through to multiselect widgets by Thalia

Vendor

 * - Bump parsoid to 0.18.0-a10   by C. Scott Ananian
 * - Bump parsoid to 0.18.0-a9 by C. Scott Ananian

AbuseFilter

 * - Fix MigrateActorsAF by Matěj Suchánek

AdvancedSearch

 * - Remove obsolete MonoBook-only CSS properties by thiemowmde

ArticleCreationWorkflow

 * - Transclude the landing page instead of redirecting by Bartosz Dziewoński
 * - Remove outdated documentation file by Bartosz Dziewoński

BounceHandler

 * - Call SpecialPage::getTitleFor with the internal special page name by Umherirrender

CampaignEvents

 * - Decompose JOINs on address tables in EventStore by Daimona Eaytoy
 * - Improve error handling when editing or deleting events by Daimona Eaytoy
 * - Add sync status and last synchronization time for tracking tools by Daimona Eaytoy
 * - Add TrackingToolAssociation to represent associations of tools and events by Daimona Eaytoy
 * - Represent tracking tools with arrays in EventRegistration by Daimona Eaytoy

CategoryTree

 * - Update moved class Category by gerritbot

CheckUser

 * - Add more Special:CheckUser and Special:CheckUserLog selenium tests by Dreamy Jazz
 * - Fix reveal button on Minerva to avoid overlaps on RecentChanges and Watchlist by Thalia
 * - Fix styling for IP reveal button in subtitle by Thalia

CirrusSearch

 * - Replace $wgOut with RequestContext::getMain by Umherirrender

Cite

 * - Disabled tests to break circular dependency by Arlo Breault
 * - Fix empty previews in reference reuse dialog by thiemowmde
 * - Migrate CiteVisualEditorModule to a virtual file callback by Tim Starling

Citoid

 * - Removed reference to ISBN from buttons by Marielle Volz

cldr

 * - Add monolingual code and language name for 'bzs' and 'txg'  by Noa wmde

CodeMirror

 * - Migrate ResourceLoaderCodeMirrorModule to a virtual file callback by Tim Starling

ConfirmEdit

 * - Update moved class EditPage by gerritbot

ContentTranslation

 * - CX3 Build 0.2.0+20230515      by Santhosh Thottingal
 * - SX: Fix section title translation for both lead and non-lead sections by NikG
 * - SX: Fix handling of "sxsave" response in debounced save translation by NikG
 * - SX: Show progress bar for in-progress translations by NikG
 * - SX: Fix errors when going back to dashboard from draft translation by NikG
 * - SX: Use the target section title for non-lead restored sections by NikG
 * - SX: Move draft restoration functionality to service by NikG
 * - SX: Update the translation progress on "sxsave" requests by NikG
 * - SX: Fix section translation id retrieval on successful "sxsave" request by NikG
 * - SX progress: Store progress to database during autosave by NikG
 * - styles: Remove deprecated `.background-image` mixin call by Volker E
 * - SX: Set translation status to "published" on "sxpublish" by NikG
 * - SX: Store translation status on sxsave request by NikG
 * - SX: Fix deletion to update the status instead of deleting the row by NikG
 * - SX: Fetch newly added translation status along with other SX data by NikG

DiscussionTools

 * - Fix Vector 2022 TOC metadata styles by Bartosz Dziewoński
 * - Improve punctuation in 'discussiontools-emptystate-desc-self' message by Bartosz Dziewoński

DonationInterface

 * - Add cc as payment_method default for most gateway by wfan
 * - Update SmashPig by Elliott Eggleston
 * - Dlocal cc enable recurring by wfan
 * - Fix fiscal_number ValidationError message by Elliott Eggleston
 * - Add test for dlocal ValidationError by Elliott Eggleston
 * - Reformat dlocal test file by Elliott Eggleston
 * - Just log 'Redirect for transaction' once by Elliott Eggleston
 * - Update SmashPig by Elliott Eggleston
 * - Delete GlobalCollect by Elliott Eggleston
 * - Move test code to test class by Elliott Eggleston

EntitySchema

 * - Update cypress and lint-staged by Noa wmde
 * - Remove documentation for Selenium from README.md by Michael Große

Flow

 * - Rename local variable to use name of service WatchlistManager by Umherirrender

GlobalBlocking

 * - php: Fix passing null to parameter of type string by Func

Graph

 * - Deep copy Vega spec before migrating by Gergő Tisza
 * - Fixes Graph transform pie not yet supported. by Jon Robson

GrowthExperiments

 * - Allow some interactions with disabled task types  by Gergő Tisza
 * - Section images: Log unexpected 'kind' values from API by Gergő Tisza
 * - Section images: Add image recommendation task type base class by Gergő Tisza
 * - Section images: update growthinvalidateimagerecommendation by Gergő Tisza
 * - Add ActionApiImageRecommendationApiHandler  by Gergő Tisza
 * - Section image: Add section metadata handling to backend classes by Gergő Tisza
 * - Frontend documentation: add RTL support to transitions in OnboardingDialog by vyanez
 * - WelcomeSurvey: Avoid early creation of skin on SpecialPageBeforeExecute by Umherirrender
 * - SpecialMentorDashboard: Generate pageview tokens by Martin Urbanec
 * - HelpPanelSuggestedEditsPreferredEditor: Add entry for section-image-recommendation by Kosta Harlan
 * - styles: Replace old variables calls with skin variables    by Volker E
 * - Personalized praise: Minor improvements by Martin Urbanec
 * - Personalized praise: Do not suggest users with Homepage disabled by Martin Urbanec
 * - PersonalizedPraiseLogger: Update schema version by Martin Urbanec
 * - Frontend documentation: setup Pinia state manager by Sergio Gimeno
 * - Section images: Update API handler by Gergő Tisza

Kartographer

 * - Reset offset when map dialog is closed by WMDE-Fisch
 * - Move classes to more fitting Modules/ and Special/ directories by thiemowmde
 * - Make use of .less nesting for fullscreen sidebar CSS code by thiemowmde

LabeledSectionTransclusion

 * - Allow space in LST section tag by Pppery
 * - Trim output of lsth parser call by Pppery

Math

 * - Revert "Add getMultiHttpClient function to make HTTP requests to Mathoid." by Daniel Kinzler
 * - Add getMultiHttpClient function to make HTTP requests to Mathoid. by rrana-wmf
 * - Add test case for MathRestbaseInterface::batchEvaluate by daniel

MobileFrontend

 * - Change "Save" to "Publish" in messages by Amir E. Aharoni
 * - Update bundle size for source map links by Tim Starling
 * - Mark some PHP files as not needing test coverage by Jon Robson
 * - MobileFrontend: Watchlist better mobile experience by Moh'd Khier Abualruz
 * - MobileFrontend: Missing message string in watchlist by Moh'd Khier Abualruz
 * - Migrate ResourceLoaderFileModuleWithMFConfig to a virtual file callback by Tim Starling
 * - editor: Use core post-edit notifications by Bartosz Dziewoński

MultimediaViewer

 * - Update moved class Category by gerritbot
 * - styles: Remove obsolete mixin by Volker E
 * - styles: Remove deprecated `.background-image` mixin call by Volker E

NavigationTiming

 * - Fix oversample naming to match schema. by Peter Hedenskog
 * - Remove the Performance perception survey. by Peter Hedenskog

Newsletter

 * - Clarify message by Jon Harald Søby

OAuth

 * - Allow http://localhost callback URL by Lucas Werkmeister

PageTriage

 * - Mock test calls to ORES by jsn
 * - Use packageFiles in ext.pageTriage.toolbarStartup by Jon Robson
 * - Remove unnecessary jQuery closure by Jon Robson
 * - Add .util as dependency of .toolbarStartup by Chlod Alejandro

Popups

 * - Use native JavaScript for creating the footer link by Jon Robson
 * - Fix test case with type with space in it by Jon Robson
 * - Fixes: Uncaught TypeError: n.closest is not a function by Jon Robson
 * - Switch to native Promises and fetch by Jon Robson
 * - Restrict page previews to browsers that support multiple not selectors by Jon Robson
 * - Load Modules support initialization by Jon Robson
 * - Fixes flakey test: it should resolve after waiting by Jon Robson

QuickSurveys

 * - Remove test that's not a unit test by Jon Robson

RealMe

 * - Update setting help texts by Taavi Väänänen

Score

 * - Migrate ScoreVeResourceLoaderModule to a virtual file callback by Tim Starling

Scribunto

 * - Update moved class Category by gerritbot

SearchVue

 * - Vue warnings on Special:Search when search preview is clicked by Simone Cuomo
 * - Mobile quick view - Show the expanded search result snippet by Simone Cuomo
 * - Search preview - Open images in commons widget in Multimedia Viewer by Simone Cuomo

SyntaxHighlight_GeSHi

 * - Migrate ResourceLoaderSyntaxHighlightVisualEditorModule to a virtual file callback by Tim Starling

TorBlock

 * - Fix TorBlock API messages by MarcoAurelio

Translate

 * - HooksTest: use clearHooks insetad og $wgHooks = []. by daniel
 * - styles: Remove deprecated `.background-image` mixin call by Volker E

UniversalLanguageSelector

 * - Update jquery.uls from upstream by Amir E. Aharoni
 * - Let Vector 2022 manage its own styles by Jon Robson

UploadWizard

 * - Update moved class Category by gerritbot

UrlShortener

 * - phpcs: Fix remaining rule exclusions by Sam Wilson
 * - Remove global config variables by Sam Wilson

VueTest

 * - Update Codex to v0.10.0 by Anne Tomasevich

VisualEditor

 * - Update VE core submodule to master (1a98e553b) by Bartosz Dziewoński
 * - Preserve classes on all file elements, not just broken images  by Arlo Breault
 * - Don't show the diff-mode selector if not viewing a diff by Sam Wilson
 * - Prevent desktop init from running on mobile by Ed Sanders
 * - MobileArticleTarget: Removed unused class by Ed Sanders
 * - Add VisualEditor's libraries to Special:Version by James D. Forrester
 * - Fix one more place where we tried to set preferences for temp users  by Bartosz Dziewoński
 * - Update VE core submodule to master (faecd7c37) by Bartosz Dziewoński
 * - MWWikitextSurface: Deactivate surface on mobile before showing paste context by Ed Sanders

Wikibase

 * - Don't allow usage of client services in repo and vice versa by Michael Große
 * - REST: Validate patched labels language codes by Jakob Warkotsch
 * - REST: Handle empty patched label by Jakob Warkotsch
 * - REST: Validate label text after patching by Jakob Warkotsch
 * - REST: Use new http status assertion method by Jakob Warkotsch
 * - Add strict types to StringNormalizer and tests by Lucas Werkmeister
 * - Skip entity search module only on Minerva (and Vector-2022) by Michael Große
 * - REST: Extract label text validation by Jakob Warkotsch
 * - ActionTestCase: Don't call User::setId by Tim Starling
 * - REST: Add redirected-item example to OAS by Ollie Shotton
 * - REST: Add patched-item-label-description-same-value to OAS by Ollie Shotton
 * - REST: Sort language codes alphabetically by Muhammad Jaziraly
 * - Show range start and end on SpecialWikibaseQueryPage by Umherirrender
 * - Drop RL targets identical to defaults on module classes by Michael Große
 * - Drop RL targets from Wikidata-Bridge modules by Michael Große
 * - Drop RL target from wikibase.tainted-ref module by Michael Große
 * - Drop RL target from 'wikibase.ui.entityViewInit' by Michael Große
 * - Drop RL targets from repo expert modules by Michael Große
 * - Drop RL targets from repo (except experts) by Michael Große
 * - REST: Handle errors while patching labels by Ollie Shotton
 * - REST: Generating edit summary in PatchItemLabels by Muhammad Jaziraly
 * - REST: Use arrow functions where possible by Jakob Warkotsch
 * - REST: Handle item not-found/redirect in PatchItemLabels by Muhammad Jaziraly
 * - REST: Add middlewares to PatchItemLabelsRouteHandler by Jakob Warkotsch
 * - REST: Add auth check to PatchItemLabels by Jakob Warkotsch
 * - Drop RL targets in repo that are identical to the defaults by Michael Große
 * - Drop RL targets from client (except bridge) by Michael Große
 * - REST: Handle edit metadata in PatchItemLabels by Muhammad Jaziraly
 * - REST: Enable PUT label/description endpoints by Ollie Shotton
 * - REST: Add patched-item-label-description-duplicate to OAS by Ollie Shotton
 * - Add MobileSite service by Jon Robson
 * - Remove assignNamespace function by Ed Sanders
 * - Update moved class EditPage by gerritbot
 * - Update moved class FormOptions by gerritbot
 * - Add local version of jquery.tipsy by Jon Robson

WikibaseQualityConstraints

 * - Bump grunt-eslint from 24.0.1 to 24.1.0 by Addbot

WikidataPageBanner

 * - Fix Safari bug with responsive image sizing by Derk-Jan Hartman
 * - Fix indent overrides made on #contentSub by Derk-Jan Hartman

WikiLambda

 * - Refine logging message by adding functionZid by dmartin
 * - Refactor ZObjectSelector to fix reactivity and styling issues by gengh
 * - Update function-schemata sub-module to HEAD (7ad8a56) by James D. Forrester
 * - Increase readability of log messages by adding functionZid by dmartin
 * - LocalizedLable: Restore language chip styles by gengh

WikimediaEvents

 * - Update schema fields and corresponding js by ksarabia
 * - Replace $wgOut with RequestContext::getMain by Umherirrender
 * - Update webuiscroll.js by ksarabia
 * - clientError: Modernize test syntax by Timo Tijhof

Wikistories

 * - Wikistories Checkbox styling by Huei Tan
 * - NS_STORY_TALK is a talk namespace, not a content namespace by Stephane Bisson

MonoBook

 * - skin variables: Add MonoBook specific text colors by Volker E
 * - styles: Remove outdated browser hack by Volker E
 * - styles: Remove deprecated `.list-style-image` mixin call by Volker E

Timeless

 * - Minimize jQuery/JavaScript code in main.js a little by thiemowmde

Vector

 * - Update bundle size to make room for source map links by Tim Starling
 * - [Visual change] Limit link spacing in user links by bwang
 * - Revert "Remove extra spacing from username/create account link" by Jdlrobson
 * - Remove extra spacing from username/create account link by sushrith
 * - Run A/B test enrollment code for any A/B test by Jon Robson
 * - Vector 2022 should manage styles for ext.uls.pt by Jon Robson
 * - Add padding to limited-width toggle to account for close icon by Jan Drewniak
 * - [Zebra] Remove horizontal scrolling from ToC by Jan Drewniak

VisualEditor/VisualEditor

 * - Pass selection to scrollSelectionIntoView, use in FindAndReplaceDialog by Ed Sanders
 * {{g/nowiki> ({{phabricator|T47514}}) by Tim S/nowiki> by Arlo Breault
 * {{git|889c2ea0}} - tarling

TorBlock
nowiki>Update SmashPig
 * - it|35eb0ee4}} - Always give ToolbarDialog's a background by Ed Sanders
 * - Update jquery.uls data from upstream by James D. Forrester
 * - Replace toolbar dialog shield with pointer-events: none by Ed Sanders
 * - ve.ce.BranchNode: Limit Firefox image hack to versions <69 by Ed Sanders
 * - ve.ce.BranchNode: Only add browser support CSS when needed by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * Calendar
 * Campaigns
 * Capiunto
 * CentralAuth
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * CodeEditor
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Echo
 * Elastica
 * ElectronPdfService
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FlaggedRevs
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * GuidedTour
 * IPInfo
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * MediaModeration
 * MediaSearch
 * MinervaNeue
 * MobileApp
 * Modern
 * NearbyPages
 * NewUserMessage
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Phonos
 * Poem
 * ProofreadPage
 * PropertySuggester
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * RevisionSlider
 * SandboxLink
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * TitleBlacklist
 * TocTree
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadsLink
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexeme
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMaintenance
 * WikimediaMessages
 * Wikisource
 * XAnalytics
 * intersection
 * timeline
 * wikihiero

Total changes
263 Changes in 56 repos by 68 authors