MediaWiki 1.41/wmf.16/Changelog

Core changes

 * - Branch commit for wmf/1.41.0-wmf.16 by trainbranchbot
 * - ResourceLoader: Make SpecialJavaScriptTest loading more robust by Marius Hoch
 * - Sync up core repo with Parsoid by Arlo Breault
 * - Revert "Throw an error from UserGroupManager::addUserToGroup if called on a temporary user" by Tchanders
 * - SpecialLog: Fix issues related to IP users  by Func
 * - doc: Update redirected link by Meno25
 * - DoubleRedirectJob: Inject appropriate service into job p.1 by Derick Alangi
 * - languages: Prettify ZhConversion.php by Daimona Eaytoy
 * - Resolve GlobalFunctions phpunit filename deprecation errors by Nikolas Nyby
 * - docs: Fix a few typos in MainConfigSchema by Nikolas Nyby
 * - HISTORY: Integrate RELEASE-NOTES-1.41 by Reedy
 * - HISTORY: Integrate 1.35.11/1.38.7/1.39.4 by Reedy
 * - createAndPromote: Fix logging of user right changes  by Martin Urbanec
 * - SECURITY: Move badFile lookup to Linker by Arlo Breault
 * - Improve mobile layout for temp-user-banner by Jan Drewniak
 * - DeleteAction: Call setAction for file revision delete by Func
 * - IndexPager: Also protect against $offset being 0 by Taavi Väänänen
 * - specialpage: Document nullable $subpage in several methods by Lucas Werkmeister
 * - live preview: improve variable and function names for API responses by Sam Wilson
 * - Create mediawiki.tempUserBanner module by Jan Drewniak
 * - Fix comment in ParserOptions::optionUsed to reflect current reality by Subramanya Sastry
 * - MessagesZh_hk: Add zh-hk localised date format by hamishz
 * - MessagesZh_hant: Explicitly specify date formats to prevent fallback by Winston Sung
 * - SpecialVersion: Add wikidiff2 version to SoftwareInformation by samtar
 * - API: Add metrics for query modules by daniel
 * - preview: Insert template list after it's all built, rather than before by Sam Wilson
 * - mw.util: Add .getArrayParam by Bartosz Dziewoński
 * - Don't attempt to update the watchlist if temp user creation is active by Tim Starling
 * - Work around argument corruption bug in XMLReader::open by Tim Starling
 * - Avoid some eslint warnings by Fomafix
 * - Throw an error from UserGroupManager::addUserToGroup if called on a temporary user by AnaïsGueyte
 * - Add temporary users to a 'temp' group, and stop adding them to 'user' by Thalia
 * - HtmlToContentTransformTest: Ensure individual defaults with options set by Derick Alangi
 * - HtmlToContentTransform: define default values for options by daniel
 * - Migrate assertSelect to SelectQueryBuilder by Tim Starling
 * - Hide temporary banner in print by Jon Robson
 * - Improve mobile layout for temporary account banner by Jan Drewniak
 * - Add parsoid skinning module to article page when useparsoid=1 by Arlo Breault
 * - Title: Fix exists assertion in toPageRecord by Bartosz Dziewoński
 * - Catch RevisionAccessException in ParsoidOutputAccess  by Arlo Breault
 * - api: Replace deprecated ApiPageSet::getRedirectTitles in action=parse by Umherirrender
 * - Mark mediawiki.user as a dependency to mediawiki.page.watch.ajax  by Jon Robson
 * - Don't report temporary users as belonging to autopromote groups by Thalia
 * - Fix spelling in UserGroupManagerTest by Thalia
 * - Add a test for DifferenceEngine::showDiffPage by Tim Starling
 * - Fix unused parameters in assertRecentChangeByCategorization by Tim Starling
 * - Add User::newQueryBuilder by Tim Starling
 * - Add SelectQueryBuilder::merge and ::clearFields by Tim Starling
 * - Add a test for SelectQueryBuilder::queryInfo which demonstrates array merging by Tim Starling
 * - maintenance: Allow running schema maintenance without local settings by Alexander Vorwerk
 * - Extend script to allow filtering by namespace by rrana-wmf
 * - Process the cache warming activity in batches of 100 pages by Derick Alangi
 * - mediawiki.action.edit.preview: Hide wikiDiff on error by Fomafix
 * - Cleanup ParserTestRunner - take 2 by Func
 * - HookContainer: don't report handlers twice by daniel
 * - Add extension subheadings to table of contents on Special:Version by Bartosz Dziewoński
 * - api: Change ApiBase::errorArrayToStatus to Authority by Umherirrender
 * - api: Replace deprecated ApiPageSet::getGoodTitles in prop=info by Umherirrender
 * - refreshLinks: set a causeAction for SecondaryDataUpdates by David Causse
 * - FakeQqxMessageLocalizer: Add @since by Reedy

AbuseFilter

 * - Use the new Wikimedia\Diff namespace by Tim Starling
 * - Restrict view of "abusefilterblockeddomainhit" logs to "*" by Amir Sarabadani
 * - ConsequencesFactory: Avoid creating Session object during service wiring by Abijeet

AdvancedSearch

 * - selenium: run tests concurrently by WMDE-Fisch

CampaignEvents

 * - Fix helptext for private registration by Daimona Eaytoy
 * - Add participant questions support to API: get possible answers by Daimona Eaytoy
 * - Questions: add a property to distinguish between PII vs non-PII by Daimona Eaytoy
 * - Remove the cep_aggregation DB index by Daimona Eaytoy
 * - Add participant questions support to API: get event questions, get your answers by Daimona Eaytoy
 * - Add DB field to store when organizers agreed to the PII agreement by Daimona Eaytoy
 * - Delete participant answers when unregistering by Daimona Eaytoy
 * - SpecialRegisterForEvent: Make it possible to edit answers by Daimona Eaytoy
 * - Store participant answers when registering by Daimona Eaytoy
 * - Implement proper reads for participant answers by Daimona Eaytoy
 * - Create backend for storing participant answers  by Daimona Eaytoy
 * - SpecialRegisterForEvent: only show questions enabled for that event by Daimona Eaytoy
 * - Create a backend for adding questions to an event by Daimona Eaytoy
 * - Document and improve structure of the question registry by Daimona Eaytoy
 * - Add db-id and related utilities to participant questions by Daimona Eaytoy
 * - Add fields to the registration form for tracking tools by Daimona Eaytoy
 * - Add columns to ce_participants for participant questions by Daimona Eaytoy
 * - Use shorthand mw.user.isNamed in JS by Daimona Eaytoy
 * - Add the 'mw' prefix to data attributes by Daimona Eaytoy
 * - Update registration help text to mention tracking tools by Daimona Eaytoy
 * - Try to make the myEvents selenium spec more robust by Daimona Eaytoy

CentralNotice

 * - api: Remove old apihelp i18n description messages by Umherirrender
 * - build: Update SVGO to v3.0.2 by Volker E
 * - Create HookRunner class and the hook handler interface by Umherirrender
 * - Replace deprecated MWException by Daimona Eaytoy
 * - BannerRenderer: Make sure the language variant is valid by Func
 * - tests: Make PHPUnit data providers static by Umherirrender
 * - jquery.cookie is deprecated by Jon Robson

CheckUser

 * - Remove now unneeded Phan suppression for SpecialCheckUserLog by Dreamy Jazz
 * - Revert "selenium: run tests concurrently" by WMDE-Fisch
 * - selenium: run tests concurrently by WMDE-Fisch
 * - SECURITY: Hide hidden users in Special:CheckUserLog by Dreamy Jazz
 * - SECURITY: Hide hidden users in CheckUserLog API by Dreamy Jazz
 * - SECURITY: Close a DoS vector by an index hint by Martin Urbanec

CirrusSearch

 * - Disable aggressive_splitting, add split_camelCase by tjones

Cite

 * - Remove use of autoMsg in favour of using mw.message directly by Jon Harald Søby
 * - Revert "Add extends warning to reference dialog"  by Awight
 * - Move Cite-specific settings from WikiEditor by Jon Harald Søby

Citoid

 * - Drop redundant targets by Jon Robson

CodeMirror

 * - selenium: run tests concurrently by WMDE-Fisch
 * - Add tool to VE toolbar automatically using 'utility' group by Ed Sanders

Collection

 * - Session: Fix some array access issues by Reedy

ContentTranslation

 * - SX eventlogging: Move logEvent method to separate file by NikG
 * - CX: Create SectionTitleFetcher service and use it by NikG
 * - SX: Show translation in-progress progress bar by wangombe
 * - SX: Remove "console.log" from dateHelper/timeago method by NikG
 * - Don't show invite to translate for new article when previewing contents by NikG
 * - Use the new Wikimedia\Diff namespace by Tim Starling
 * - Remove VRS related code from CX by Derick Alangi
 * - SX: Fix currentTranslation is null on navigate to dashboard by wangombe
 * - SX: Restore translation started on desktop (CX) by NikG
 * - Call VariableGenerator::addGenericVars explicitly by Matěj Suchánek

DiscussionTools

 * - Unregister existing topic subscription handlers on init by David Lynch

DoubleWiki

 * - Use HtmlHelper::modifyElements instead of regexps to modify links by Bartosz Dziewoński
 * - Modernize HTML output by Bartosz Dziewoński
 * - Remove vulnerable column alignment feature by Bartosz Dziewoński

Echo

 * - selenium: run tests concurrently by WMDE-Fisch
 * - Use the new Wikimedia\Diff namespace by Tim Starling

EntitySchema

 * - Require strict types in Domain by Lucas Werkmeister
 * - Require strict types in MediaWiki by Lucas Werkmeister
 * - Require strict types in MediaWiki/Actions by Lucas Werkmeister
 * - Require strict types in MediaWiki/Specials by Lucas Werkmeister
 * - Require strict types in MediaWiki/Content by Lucas Werkmeister

EventBus

 * - Use JobFactory instead of deprecated Job::factory by Derick Alangi
 * - Resolve redirect target before delete, so it can be serialized in the event fired after. by Peter Fischer

FlaggedRevs

 * - Throw a more verbose error when data is corrupted by Adam Wight
 * - Parse pending edit notice with correct context source by Umherirrender
 * - Stop using globals in maintenance scripts by thiemowmde
 * - Inline unnecessary indirections in ReviewHandlerTest by thiemowmde
 * - Inject services into FlaggedRevsSetup by thiemowmde
 * - Use an early return in FRInclusionCache by thiemowmde
 * - Use native Less/GreaterThan assertions by thiemowmde
 * - Fix null being passed to setComment expecting a string by thiemowmde
 * - Remove bold in Revreview-update message by Saint Johann

Flow

 * - Use the new Wikimedia\Diff namespace by Tim Starling

Gadgets

 * - Use strict equality by Ed Sanders
 * - build: Update linters by Ed Sanders
 * - Gadget maintains its own version of targets system by Jon Robson

GrowthExperiments

 * - Fix PHP Deprecation in SpecialClaimMentee by Martin Urbanec
 * - Revert "Revert "Structured tasks: Fix toolbar rewriting"" by Bartosz Dziewoński
 * - Update license to CC BY-SA 4.0 and clarify GFDL 1.3 license by EpicPupper
 * - NewImpact: migrate to Vue 3 by Sergio Gimeno
 * - ext.growthExperiments.Account: Remove deprecated mw.mobileFrontend.require by Kosta Harlan

ImageSuggestions

 * - Unit test for sending only 1 notif per section by Cormac Parle
 * - Only send 1 suggestion per section by Matthias Mullie

JsonConfig

 * - Override SlotDiffRenderer instead of DifferenceEngine by Tim Starling

Kartographer

 * - Use narrow ContentMetadataCollector interface where possible by thiemowmde

MediaSearch

 * - Fix all eslint warnings by Roan Kattouw
 * - Port MediaSearch to Codex  by Eric Gardner

MobileFrontend

 * - MobileUI: Remove unused code by Jon Robson
 * - diff: Add inline styles for changes within moved paragraphs by Sam Wilson
 * - Replace the last use of mediawiki.Uri by Bartosz Dziewoński

MultimediaViewer

 * - Handle translated special page names by Matthias Mullie
 * - eslint: Enforce max-statements-per-line by Ed Sanders
 * - Update linters and fix issues by Ed Sanders

Newsletter

 * - NewsletterTablePager: Use buildComparison by Taavi Väänänen
 * - Quick fix of PHPCS related exclusions by Zoran Dori
 * - Override SlotDiffRenderer instead of DifferenceEngine by Tim Starling
 * - Remove dead code and improve documentation by Pppery

ORES

 * - fix: corrent config variable access by Ilias Sarantopoulos

PageTriage

 * - Remove getLBFactory from maintenance scripts by suecarmol
 * - Change self::assert* and static::assert* to $this->assert* by suecarmol
 * - Add npm coverage script for SonarQube by jsn
 * - Avoid using EchoGetDefaultNotifiedUsers hook by Siddharth VP

Popups

 * - Fix storybook stories by Jon Robson
 * - selenium: run tests concurrently by WMDE-Fisch
 * - Import theme-wikimedia-ui.less for storybook build by WMDE-Fisch

ProofreadPage

 * - Remove reliance on WikiEditor's autoMsg function by Jon Harald Søby
 * - SECURITY: Prevent hidden users from being exposed via public interfaces by Sohom

ReadingLists

 * - Prepare for Vue 3 migration by Roan Kattouw

SearchVue

 * - Search Preview: Fix mmv on desktop by Simone Cuomo
 * - Turn off expanding snippets in search preview on mobile by Simone Cuomo
 * - Quick View - all searchvue-dialog-title tool tips show "Search Preview" by Simone Cuomo
 * - Avoid LEGO message by Jon Harald Søby

SecurePoll

 * - Improve performance of STVTallierTest by thiemowmde

TemplateData

 * - Stop using private properties in unit tests by thiemowmde
 * - Add missing strict types to all test code by thiemowmde

TimedMediaHandler

 * - Fix bug in opening dialog by Derk-Jan Hartman

Translate

 * - Revert "Check for blocks when displaying the translate tabs" by Abijeet Patro
 * - Check for blocks when displaying the translate tabs by Abijeet
 * - Rename some instances of FFS to file format by Abijeet
 * - Link old title in logged move reason for translation pages and units by Pols12
 * - PremadeIntuitionTextdomains: Move to namespace by Abijeet
 * - PremadeMediawikiExtensionGroups: Move to namespace by Abijeet
 * - MessageBundle: Add missing error message for description metadata by Abijeet
 * - EventMessageMembershipChangeHook: Create hook handler interface by Umherirrender
 * - Add support for MinT translation service via Cxserver by Abijeet

TwoColConflict

 * - Simpler loader.using calls with async/await by WMDE-Fisch
 * - Update namespaces of Wikimedia\Diff classes by thiemowmde

UniversalLanguageSelector

 * - Display the language button on pages without languages by Jon Robson

VisualEditor

 * - Add tag when reference added to the page by Ed Sanders
 * - Add tag when content added, according to EditCheck heuristic by Ed Sanders
 * - EditCheck: Exclude nodes that aren't at the document root (i.e. image captions, table cells) by Ed Sanders
 * - Update VE core submodule to master (ba83e8451) by Bartosz Dziewoński
 * - Revert "Revert "Targets: Use align:'after' instead of actionGroups"" by Bartosz Dziewoński
 * - Make better use of toolbar groups by Ed Sanders
 * - Update VE core submodule to master (67a675fec) by Bartosz Dziewoński
 * - selenium: run tests concurrently by WMDE-Fisch
 * - Fix trying to get a PageRecord for a non-existent page by Bartosz Dziewoński
 * - Replace ve-ce-surface-enabled with ve-ce-surface by Ed Sanders
 * - Replace the last use of mediawiki.Uri by Bartosz Dziewoński
 * - Unwrap headings in lists (and ) when pasting external HTML by Ed Sanders

Wikibase

 * - OutputPageBeforeHTMLHookHandler: Log when loading full entities by Marius Hoch
 * - Create a local copy of jQuery.tipsy for wbtooltip by Marius Hoch
 * - Use the new namespace for WordLevelDiff by Tim Starling
 * - REST: Implement PropertyStatementsRetriever by Muhammad Jaziraly
 * - Termbox: Mark mul descriptions as not applicable by Marius Hoch
 * - REST: Create PropertyStatementsRetriever by Muhammad Jaziraly
 * - Drop support for repo names in entity IDs  by Lucas Werkmeister
 * - SECURITY: Run edit filters on submit (undo/restore) by Lucas Werkmeister
 * - SECURITY: Escape quotes in js templates by Michael Große
 * - SECURITY: Escape badge title by Lucas Werkmeister
 * - Add MUL as last language in Termbox if any MUL term exists by Marius Hoch
 * - Add MUL as last language in Termbox if any MUL term exists by Marius Hoch
 * - Mark `mul` descriptions as N/A in legacy Termbox via js by Michael Große

WikibaseQualityConstraints

 * - phpunit: Migrate configuration by Lucas Werkmeister
 * - Update references to tests/phpunit/phpunit.php by Daimona Eaytoy

WikiEditor

 * - Move reference-specific settings to the Cite extension by Jon Harald Søby

WikiLambda

 * - DefaultView: Fix integration tests to use DefaultView instead of ZObjectEditor/Viewer The following tests used the old views and are currently being skipped: by Allan Jeremy
 * - Fix typed list regressions (part II) by gengh
 * - Add metrics instrument for loading function-editing page  by dmartin
 * - Fix typed list regressions by gengh
 * - Add instrument to produce zobject publish event by dmartin
 * - Provide LoadPreDefinedZObject script by James D. Forrester
 * - ReloadBuiltinData: Add a updating-specific message by James D. Forrester
 * - AUTHORS: Update for June 2023 by James D. Forrester
 * - Change existing event names to verb-object convention by dmartin

WikimediaEvents

 * - Create HookRunner class and the hook handler interface by Umherirrender

Wikisource

 * - Load OCR code on editor page on mobile as well as desktop by Jon Robson

Wikistories

 * - Edit summary field on publish story form by Huei Tan
 * - StoryBuilder: show warning for outdated story text by Stephane Bisson

MinervaNeue

 * - MinervaUI: Remove unused code by thiemowmde
 * - Remove "interface-temp-user-banner" option by Jan Drewniak

Vector

 * - Remove "interface-temp-user-banner" option by Jan Drewniak
 * - Separate vector-menu classes from Dropdowns by bwang

VisualEditor/VisualEditor

 * - Make better use of toolbar groups by Ed Sanders
 * - Rename generated distribution file to desktop-dist-wikimediaui.html by David Chan
 * - Remove deprecated ve-ce-surface-enabled class by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralAuth
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * CodeEditor
 * Cognate
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DonationInterface
 * Elastica
 * ElectronPdfService
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Phonos
 * Poem
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * RealMe
 * RelatedArticles
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * VueTest
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexeme
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMaintenance
 * WikimediaMessages
 * XAnalytics
 * cldr
 * intersection
 * mediawiki/vendor
 * timeline
 * wikihiero

Total changes
242 Changes in 51 repos by 75 authors