MediaWiki 1.41/wmf.4/Changelog

Core changes

 * - Branch commit for wmf/1.41.0-wmf.4 by trainbranchbot
 * - EditPage: Remove doesMessageContainDiv method by Jon Robson
 * - ResourceLoader: Remove 1/2 inDebugMode calls in SpecialJavaScriptTest  by Timo Tijhof
 * - OutputPage: Use public method rather than modify protected variable by Jon Robson
 * - editwatchlist.js: Update state of check-all checkboxes by Thalia
 * - mime: Test case for `MimeAnalyzer::getMediaTypes` by rrana-wmf
 * - Hard deprecate global function wfGetLangObj by Fomafix
 * - Fix casing of HTMLForm class name by Umherirrender
 * - Limit InsertToggles to Special:Preferences by jsn
 * - Special:EditWatchlist: Hide check-all in no JS mode by Neil Shah-Quinn
 * - RELEASE-NOTES-1.40: Update and clean-up ahead of rc.0 branch by James D. Forrester
 * - Add a check-all checkbox per namespace in Special:EditWatchlist by Julia Kieserman
 * - mediawiki.page.preview: mw.Api already joins the titles by '|' by Fomafix
 * - rdbms: remove unused DatabaseMysqlBase::isView method by Aaron Schulz
 * - Load mediawiki.page.gallery on mobile by Jon Robson
 * - objectcache: Use DB lock in SQLBagOStuff purge to avoid deadlock by Timo Tijhof
 * - rdbms: make unlock no-op for locks that are not held by Aaron Schulz
 * - rdbms: improve reconnection handling after Database::getScopedLockAndFlush by Aaron Schulz
 * - Create separate ResourceLoader modules for Codex styles by Anne Tomasevich
 * - Status::getPsr3MessageAndContext: Special-case rawmessage by Gergő Tisza
 * - preferences search: Reduce nesting of addToIndex function by Func
 * - ParserTestRunner: Dedupe preprocessor checks by Subramanya Sastry
 * - Add namespaced classes to 1.40 release notes   by Amir Sarabadani
 * - rdbms: Make IConnectionProvider stable by Amir Sarabadani
 * - ResourceLoader: Update wikimedia/minify to 2.4.0 by Timo Tijhof
 * - ResourceLoader: Update wikimedia/less.php from 3.2.1 to 4.0.0 by Timo Tijhof
 * - mime: improve code coverage with added annotation by rrana-wmf
 * - Settings: `JsonFormat::decode` expects string not StreamInterface by Derick Alangi
 * - ParserTestRunner: Fix function formatting by Subramanya Sastry
 * - mime: Make test cases use data provider by rrana-wmf
 * - Set Standard Arabic as fallback for Iraqi Arabic by Amir E. Aharoni
 * - EnhancedChangesList: Make format of categorization entries consistent by Matěj Suchánek
 * - rdbms: make Database::assessConnectionLoss warnings a bit clearer by Aaron Schulz
 * - HISTORY: Add 1.35.10/1.38.6/1.39.3 by Reedy
 * - Revert "mergeMessageFileList.php: move code out of file scope." by Ladsgroup
 * - composer.json: Explicitly pin psr/http-message to 1.0.1 by Reedy
 * - rdbms: fix loadbalancer.lag metrics to consistently use gauge by Aaron Schulz
 * - search: add a simple test for SearchHighlighter by David Causse
 * - mediawiki.less: Provide comments on mediawiki.ui gray color replacements by Volker E
 * - mediawiki.less: Deprecate Codex design tokens replaced variables by Volker E
 * - mediawiki.skinning: Use Codex DS tokens for `color`s & `border-color`s by Volker E
 * - Mobile: interlanguage search results additional specs by Simone Cuomo
 * - Ensure gets purged for non miser-mode wikis  by Brian Wolff
 * - API: revids=… does not necessarily return the queried revisions by Thiemo Kreuz
 * - page.preview: batch requests for template list with max 50 titles by Sam Wilson
 * - parser: Make all LinkHolderArray properties private by thiemowmde
 * - REST: Do not use OutputPage for error rendering by Gergő Tisza

Vendor

 * - composer.json: Remove pear/mail test exclusion by Reedy
 * - Update wikimedia/minify to 2.4.0 by Timo Tijhof
 * - Upgrading wikimedia/less.php (v3.2.0 => v4.0.0) by Timo Tijhof

AbuseFilter

 * - Temporarily re-disable flaky selenium test by Daimona Eaytoy
 * - tests: Improve selenium tests by Daimona Eaytoy

CampaignEvents

 * - Manually validate organizer usernames in SetOrganizersHandler by Daimona Eaytoy

CategoryTree

 * - CategoryTree: Special page aliases should store in zh-hant instead of zh-tw by Winston Sung

CentralAuth

 * - Remove unused `centralauth-editset-subtitle` by MarcoAurelio

CheckUser

 * - Enable IP multireveal for all users by STran
 * - SECURITY: Escape user-agent in SpecialCheckUser get edits mode by Dreamy Jazz
 * - SECURITY: Make the target safe before running a by Manfredi Martorana
 * - SECURITY: Escape HTML in the user text for the checkbox in get users by Dreamy Jazz
 * - Pass CheckUserUnionSelectQueryBuilderFactory to the CheckUser pagers by Dreamy Jazz
 * - Add CheckUserUnionSelectQueryBuilder and associated factory by Dreamy Jazz

cldr

 * - Add monolingual code 'aec', 'fud', 'xsu' by Raymond

CodeMirror

 * - extension.json: remove unnecessary target definitions by s-mukuti

ContactPage

 * - selenium: Update @wdio/* npm packages by Peter Wangai

ContentTranslation

 * - CX3 Build 0.2.0+20230410   by Santhosh Thottingal
 * - SX: Reset translation before going back to dashboard by NikG
 * - SXTranslationConfirmer: Fix props coming from vue-router by NikG
 * - SX: Add confirmation dialog on back button click by NikG
 * - SX: Add "reset" methods to page section, subsection and sentence models by NikG
 * - SX: Add cancel to debounce method by NikG
 * - SX: Remove "autoSaveInProgressCounter" variable from application state by NikG
 * - SX: Add impact panel to dashboard by NikG
 * - CX3 Build 0.2.0+20230403 by Santhosh Thottingal

DiscussionTools

 * - Support topic subscriptions when JavaScript is disabled by Bartosz Dziewoński
 * - SpecialDiscussionToolsDebug: Fix duplicated subthreads by Bartosz Dziewoński
 * - Remove integration with removed MobileFrontend talk page tools by Bartosz Dziewoński
 * - Translate magic words into Polish by Msz2001
 * - styles: Replace 'mediawiki.ui/variables' call with skin variables by Volker E
 * - Add optional tracking category for comments in the lede section (before first heading) by Bartosz Dziewoński

DonationInterface

 * - Enable monthly convert from DI for dlocal by wfan
 * - ZA needs document ID add it to config for dlocal by wfan
 * - Update SmashPig dependency by Elliott Eggleston
 * - Filter form submethod list by recurring support by Elliott Eggleston
 * - Remove upi_id from messageFields to avoid send it to civi by wfan
 * - Add IN-specific error page text with appropriate payment methods by Damilare Adedoyin
 * - Add a missing comma in a message by Amir E. Aharoni
 * - Add optional phone to dlocal UPI non-recurring by Elliott Eggleston
 * - Dlocal js: decompose non-card setup function by Elliott Eggleston
 * - Dlocal js: decompose card setup function by Elliott Eggleston
 * - Dlocal: do form manipulation onPageReady by Elliott Eggleston
 * - Add handling for phone number to generic form by Elliott Eggleston
 * - Remove upi_id from di log by wfan
 * - Oops, needs href not src by Elliott Eggleston

Echo

 * - Use foreach ( $array as $key => $value ) by Fomafix
 * - Avoid tabs in comment blocks by Fomafix
 * - build: Update 'browserslist-db' to latest by Volker E
 * - build: Add quibble.yaml and enable early warning bot feedback by Kosta Harlan

EntitySchema

 * - Remove husky, document alternative  by Marius Hoch
 * - Update lint-staged by Marius Hoch
 * - Migrate test that used two windows to Cypress by Michael Große

EventLogging

 * - lib: Update lib/metrics-platform to 3d79569a35 by Sam Smith
 * - MetricsPlatform: wikidata_id -> wikidata_qid by Sam Smith

Gadgets

 * - Gadgets: Special page aliases should not store in zh by Winston Sung

GlobalPreferences

 * - Fix typo in comment by Thalia

GlobalWatchlist

 * - Add ability to mark a page as read by STran

Graph

 * - Drop redundant targets by Jon Robson
 * - Enable GraphSandbox on mobile by Jon Robson

GrowthExperiments

 * - Personalized praise: Add server-side instrumentation by Martin Urbanec
 * - Personalized praise: Frontend improvements  by Martin Urbanec
 * - Leveling up: dont show post-edit dialog after edit click by Sergio Gimeno
 * - Leveling up: simplify logic to close the post edit drawer by Sergio Gimeno
 * - build: Updating npm dependencies by Umherirrender
 * - Personalized praise: Remove hardcoded strings in settings by Martin Urbanec

intersection

 * - Update the url on extension.json by lens0021
 * - Fix gallery tests by Gergő Tisza

Kartographer

 * - externalLinks: Refresh URLs for some WMCS hosted tools by Taavi Väänänen
 * - Fix path of ajax-loader.gif by Fomafix
 * - Remove duplicate code from LegacyMapFrame by thiemowmde
 * - Introduce small getContainerClasses helper method by thiemowmde
 * - Mark code storing flipped arrays in parser cache with FIXMEs by thiemowmde
 * - Add Parsoid-specific aliases to Phan configuration by Isabelle Hurbain-Palatin
 * - Move $wgKartographerLiveData blob to the bottom of the HTML by thiemowmde

LdapAuthentication

 * - Replace usages of Hooks::register by Reedy

MachineVision

 * - build: Updating npm dependencies by Umherirrender

MassMessage

 * - MassMessage: Special page aliases should not store in zh by Winston Sung

Math

 * - Fix for attributes in named Operator by Stegmujo
 * - Fix for carriage return by Stegmujo
 * - Fix style tag imbalance by Stegmujo
 * - Fix preceding subscript by Stegmujo

MediaSearch

 * - build: Updating npm dependencies by Umherirrender
 * - fixes Bug: In results last image of the row jump to next row. by Stephane Rebai

MobileFrontend

 * - Don't suppress WikiEditor in some edge cases by David Lynch
 * - Remove default editor A/B test cleanup code by Bartosz Dziewoński
 * - Simplify mobile VE modules by Bartosz Dziewoński
 * - Don't show a flicker of WikiEditor before displaying the MF editor by David Lynch
 * - build: Updating npm dependencies by Umherirrender
 * - Editors use preload and preloadparams if present by David Lynch

MultimediaViewer

 * - Refresh Geohack URL by Taavi Väänänen
 * - stylelint: Enable selector-pseudo-element-colon-notation by Umherirrender

PageTriage

 * - Don't add to talk page when tagging   by Novem Linguae

Popups

 * - build: Updating npm dependencies by Umherirrender

QuickSurveys

 * - build: Updating npm dependencies by Umherirrender

ReadingLists

 * - Improve share workflow by Jon Robson

RealMe

 * - Add validation for preference contents by Taavi Väänänen
 * - tests: Add ExtensionJsonTest by Taavi Väänänen

RelatedArticles

 * - build: Updating npm dependencies by Umherirrender

SearchVue

 * - Search preview - Open images in commons widget in Multimedia Viewer by Simone Cuomo
 * - build: Updating npm dependencies by Umherirrender

SecureLinkFixer

 * - Updating domains.php from Mozilla by SecureLinkFixer updater bot

StopForumSpam

 * - Remove parentheses from a message by Amir E. Aharoni
 * - Update stopforumspam-is-blocked message with privacy language by sbassett

SyntaxHighlight_GeSHi

 * - Minor update for README by Meno25

TitleBlacklist

 * - Fix right-titleblacklistlog by MarcoAurelio

Translate

 * - Add code translations tw=>ak, nb=>no for Google Translate by Amir E. Aharoni
 * - ext.translate.editor: Simplify logic to scroll to next message by Abijeet
 * - Remove outdated sniff exception by tacsipacsi
 * - Re-enable missing method documentation sniffs by tacsipacsi
 * - Add backlink subtitles in the move translatable pages form by MarcoAurelio
 * - Translate: Special page aliases should not store in zh by Winston Sung

UniversalLanguageSelector

 * - Remove ULSMobileWebfontsEnabled by Niklas Laxström
 * - Update jquery.ime and jquery.uls from upstream by Amir E. Aharoni

VueTest

 * - Use new codex-styles module for CSS-only components demo by Anne Tomasevich
 * - Add demo page for CSS-only components by Anne Tomasevich

VisualEditor

 * - Don't hook CustomEditor for MobileFrontend requests by David Lynch

Wikibase

 * - Fix typo in phpdoc by Michael Große
 * - Add monolingual language codes `fud`, `xsu`, `aec`   by Oleksandr Tsyba (WMDE)
 * - REST: Update formatStatementEditSummary.js helper by Ollie Shotton
 * - REST: Add Labels to Item Read Model by Ollie Shotton
 * - REST: Ignore built-in classes in ArchitectureTest by Jakob Warkotsch
 * - REST: Run phpcs separately from the rest of WB by Jakob Warkotsch
 * - REST: Clean up code after read model migration by Jakob Warkotsch
 * - REST: Remove hack for missing page path config by Jakob Warkotsch
 * - REST: Test all data in `GET item` e2e test by Jakob Warkotsch
 * - REST: Fix more namespace declarations by Ollie Shotton
 * - bridge: fix removed vue-cli-service test:unit script by Michael Große

WikidataPageBanner

 * - styles: Replace 'mediawiki.ui/variables' call with skin variables by Volker E

WikiEditor

 * - Skip server-side event logging unless WikimediaEvents is installed by Bartosz Dziewoński

WikiLambda

 * - ZObjectUtils::getZObjectReferenceFromKey: Don't error on non-match by James D. Forrester
 * - Fix function call arguments initialization when value is null by gengh
 * - Add selected and bound options to ZObectType selector for simplifying type change by gengh
 * - API: Check if the user is authorised to execute functions before running by James D. Forrester
 * - tests: Write unit tests for TextInput component by Allan Jeremy
 * - ZMonolingualString: Adjust language code styles for more than 3 letters by Allan Jeremy
 * - Do not assign the user language by default to a Monolingual string/set by gengh
 * - Fix type binding in typed lists by gengh
 * - tests: Add assertions in selenium/function.js by nik-55

WikimediaEvents

 * - Adds condition for new data attribute by ksarabia
 * - Add usability improvements user preference to the PrefUpdate allowlist by MeganNeisler

WikimediaMessages

 * - Add {protect,restriction}-level-edit-legal messages by MarcoAurelio

Wikistories

 * - Revert "Add PLURAL to rcshowhidewikistories" by Amire80
 * - build: Updating npm dependencies by Umherirrender

MinervaNeue

 * - build: Updating npm dependencies by Umherirrender
 * - Mobile: Sister projects do not align with search results on the left margin. by Simone Cuomo

Vector

 * - Bundlesize: Document JS bundles by Jon Robson
 * - Special Search: Improve the search layout and search preview widths on tablets by Simone Cuomo
 * - Follow-up to 6e8a98ca removing checkbox.js by Jan Drewniak
 * - Clean up cached grid CSS from moving the Header by bwang
 * - Follow-up: add border to zebra header by bwang
 * - Remove vector-feature-page-tools-enabled class by Jon Robson
 * - Remove Vector2022PreviewPages configuration by ksarabia
 * - Remove Storybook and jsdoc and its dependencies by bwang
 * - Implement new zebra design for the header under the flag by bwang
 * - Remove custom checkbox-hack implementations by Jan Drewniak
 * - Adjust table of collapsing auto-collapse algorithm for articles with few top level sections by Moh'd Khier Abualruz
 * - build: Updating npm dependencies by Umherirrender

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CirrusSearch
 * Cite
 * CiteThisPage
 * Citoid
 * CodeEditor
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * EventBus
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FlaggedRevs
 * Flow
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalUsage
 * GlobalUserPage
 * GoogleNewsSitemap
 * GuidedTour
 * IPInfo
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * Linter
 * LiquidThreads
 * Listings
 * LoginNotify
 * MapSources
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Phonos
 * Poem
 * ProofreadPage
 * PropertySuggester
 * Quiz
 * RSS
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * SubPageList3
 * SubpageSortkey
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * VisualEditor/VisualEditor
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexeme
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * timeline
 * wikihiero

Total changes
206 Changes in 54 repos by 76 authors