MediaWiki 1.41/wmf.25/Changelog

Core changes

 * - Branch commit for wmf/1.41.0-wmf.25 by trainbranchbot
 * - Make more methods static in MediaWikiIntegrationTestCase by Daimona Eaytoy
 * - Do not override run in MediaWikiIntegrationTestCase by Daimona Eaytoy
 * - parser: Use ServiceOptions already injected in Parser::__construct by Derick Alangi
 * - parser: Remove references to `preprocessorFuzzTest.php` script by Derick Alangi
 * - ExtensionProcessor: Minor doc cleanup by Reedy
 * - UserGroupManager: Fixup getUserPrivilegedGroups docs by Reedy
 * - Stats: make component optional by Cole White
 * - ResourceLoader: Reduce MAXAGE_RECOVER log severity by Timo Tijhof
 * - HistoryPager: Remove bogus code comment by Matěj Suchánek
 * - Widen `@covers` annotations in RollbackActionTest by Derick Alangi
 * - Widen `@covers` annotations in tests ApiQueryInfoTest by Derick Alangi
 * - Make MockTitleTrait @stable to use. by Petr Pchelko
 * - mediawiki.page.ready: Minor improvement to teleportTarget docs by Timo Tijhof
 * - Add UserGroupManager::getUserPrivilegedGroups by Gergő Tisza
 * - PageArchive: Hard-deprecate most methods deprecated in 1.38 by Bartosz Dziewoński
 * - ParsoidHandler: Look up page title from oldid, if available by Subramanya Sastry
 * - DiffToggleSwitch: use PHP ToggleSwitchWidget by hmonroy
 * - Replace uses of deprecated PageArchive::listRevisions in tests by Bartosz Dziewoński
 * - Merge CommentStoreBase into CommentStore by Alexander Vorwerk
 * - rollback: Fire postEdit JavaScript hook on success by Kosta Harlan
 * - Use PageRestHelperFactory to getHtmlOutputRendererHelper by Arlo Breault
 * - auth: Fix doc on AuthManagerLoginAuthenticateAuditHook by Umherirrender
 * - EditPage: Allow previewing even when the form is in invalid state by Bartosz Dziewoński
 * - WatchlistManager: Do not require watchlist rights for clearing talk page notification by Martin Urbanec
 * - searchwidgets: Remove SimpleSearchResult(Set)Widget.php by Derick Alangi
 * - rdbms: Drop LBF::setRequestInfo by Amir Sarabadani
 * - ResourceLoader: Bring mw.loader state machine docs closer together by Timo Tijhof
 * - user: Hard-deprecate user group related User functions by Umherirrender
 * - Update OOUI to v0.48.0   by Roan Kattouw
 * - objectcache: Make SqlBagOStuff aware of wgDebugDumpSql setting by Derick Alangi
 * - rdbms: Rename CP::yieldSessionPrimaryPos to ::getSessionPrimaryPos by Amir Sarabadani
 * - rdbms: Remove LBF::appendShutdownCPIndexAsQuery by Amir Sarabadani
 * - Centralize logic behind building ChronologyProtector object by Amir Sarabadani
 * - Api*Search: Remove some redundant caching by Bartosz Dziewoński
 * - GroupPermissionsLookup.php: Fix docstring comment by Martin Urbanec
 * - InfoAction: Brace against change on the namespace subpage config by Func
 * - Allow force regenerating the page info cache via action=purge by Func
 * - CalendarWidget: Make clippable, scrollable by Chlod Alejandro
 * - Update Codex from v0.17.0 to v0.18.0           by Roan Kattouw
 * - page: Run PageUndeleteComplete hook only on undeletion of text by Umherirrender
 * - Html: Reject nested arrays from web request in FormOptions by Umherirrender
 * - user: Hard-deprecate UserRightsProxy by Umherirrender
 * - ResourceLoader: Update jQuery from v3.6.1 to v3.7.1 by Timo Tijhof
 * - api: Use ParserFactory on module creation by Umherirrender
 * - Special:Preferences fix broken navigation hints by jsn
 * - Update wikimedia/utfnormal to latest 4.0.0 by Derick Alangi
 * - Update wikimedia/remex-html to latest 4.0.1 by Derick Alangi
 * - rdbms: Decouple ChronologyProtector from LBF by Amir Sarabadani
 * - Remove migration code from CommentStoreBase by Lucas Werkmeister
 * - SpecialContributions: Allow checking edits by imported actors by Func
 * - Cleanup SpecialContributions and ContribsPager by Func
 * - phpunit: Do not setup the test DB for tests that don't need it by Daimona Eaytoy
 * - session: Do not save user token in non-database tests by Daimona Eaytoy
 * - ContentHandler: Hard-deprecate getSlotDiffRendererInternal by James D. Forrester
 * - rdbms: Add support for upsert to InsertQueryBuilder by Amir Sarabadani
 * - deferred: Make DeferredUpdates docs more accessible by Timo Tijhof
 * - rdbms: Drop old class aliases by James D. Forrester
 * - maintenance: Use `$this->getServiceContainer` since we have it by Derick Alangi
 * - maintenance: Cleanup Maintenance class for unused/dead code by Derick Alangi
 * - jquery.textSelection: Avoid insertText for >100 lines in Chrome/Safari by Ed Sanders
 * - Refactor Special:Contributions by Novem Linguae
 * - Improve documentation for ipblocks_restrictions.ir_value to include actions by Thalia
 * - Edit recovery: Use #put for upsert instead of get+delete+add by Ed Sanders
 * - AllMessagesTablePager: Fix search links to translatewiki by Func

Vendor

 * - Update OOUI to v0.48.0 by Roan Kattouw
 * - Update wikimedia/utfnormal to latest 4.0.0 by Derick Alangi
 * - Update wikimedia/remex-html to latest 4.0.1 release by Derick Alangi
 * - Upgrading wikimedia/equivset (1.4.3 => 1.5.1) by Reedy
 * - Update wikimedia/css-sanitizer from 4.0.1 -> 5.0.0 by Derick Alangi

AbuseFilter

 * - build: Update to the latest wikimedia/equivset package by Derick Alangi

AdvancedSearch

 * - build: Update MediaWiki requirement to 1.41 by James D. Forrester

AntiSpoof

 * - build: Update wikimedia/equivset to 1.5 by Derick Alangi

CampaignEvents

 * - Change section layout of enable/edit registration form by Daimona Eaytoy
 * - Send registration notifications in a deferred update by Daimona Eaytoy
 * - Use UserArray in ListParticipantsHandler for performance by Daimona Eaytoy
 * - Add username caching to CampaignsCentralUserLookup by Daimona Eaytoy
 * - Add stats tab with empty states to EventDetails by Daimona Eaytoy
 * - Prevent participants from answering after aggregation (backend) by Daimona Eaytoy
 * - Prevent participants from answering after aggregation (event page) by Daimona Eaytoy
 * - Prevent participants from answering after aggregation (special page) by Daimona Eaytoy
 * - Fix flaky selenium spec eventPage.js by Daimona Eaytoy
 * - Preload user page link data in ListParticipantsHandler by Daimona Eaytoy
 * - Make ListParticipantsHandler lookup all usernames together by Daimona Eaytoy
 * - Fix the order of the affiliate question options by Claudio Melo
 * - UserLinker: avoid expensive existsLocally lookup by Daimona Eaytoy
 * - Add remaining time to data retention message on event page by Daimona Eaytoy
 * - Add remaining time to data retention message in Special:RegisterForEvent by Daimona Eaytoy
 * - Add aggregation timestamp to the Participant class by Daimona Eaytoy
 * - Add initial data retention policy for participant answers by Daimona Eaytoy

CentralAuth

 * - Add `@group Database` to tests that need it by Daimona Eaytoy
 * - Add missing IDatabase imports by Lucas Werkmeister
 * - Try central autologin via redirects on login page by Gergő Tisza

CheckUser

 * - extension.json: Alphasort Hooks for readability by Reedy
 * - Hooks: Minor cleanup by Reedy
 * - clienthints: Remove mention of Wikimedia in API explaination by Dreamy Jazz
 * - clienthints: Remove Accept-CH header on action and load module on POST  by Kosta Harlan
 * - Use real type hints in CheckUser where possible by Dreamy Jazz
 * - Fix type of $username in AuthManagerLoginAuthenticateAuditHook by Tim Starling
 * - clienthints: Use IGNORE when inserting mapping rows by Dreamy Jazz
 * - clienthints: Create maintenance script to collate client hints data by Dreamy Jazz
 * - selenium: run tests concurrently  by Dreamy Jazz
 * - Use cu_log_event table to look up temporary account IPs for logs by Thalia

CirrusSearch

 * - Make QueryBuildDocumentTest more robust by Daimona Eaytoy
 * - Avoid DB access in non-database tests by Daimona Eaytoy

Cite

 * - Remove unused ext.cite.style module by Subramanya Sastry

CodeMirror

 * - build: Update MediaWiki requirement to 1.41 by James D. Forrester

Collection

 * - Remove references to VisualEditorRestbaseURL in Collection by Bartosz Dziewoński

ConfirmEdit

 * - Do not use UTSysop directly in CaptchaPreAuthenticationProviderTest by Daimona Eaytoy

ContentTranslation

 * - CX3 Build 0.2.0+20230904        by NikG
 * - build: Update MediaWiki requirement to 1.41 by James D. Forrester
 * - SX: Add confirmation dialog for continuing drafts started on desktop by NikG
 * - SX: Also check status when checking if translation already exists by NikG
 * - SX: Move resolution of content references from vuex action to composable by NikG
 * - CX: Add new revision tag: too-much-unmodified-mt-text by wangombe

DiscussionTools

 * - DiscussionToolsDebug: check whether the given page exists by Rajashree Talukdar
 * - Fix showing temp user popup after page reload by Bartosz Dziewoński
 * - Acquire a temporary user username before previewing by Bartosz Dziewoński

DonationInterface

 * - Update required version of SmashPig by wfan

Echo

 * - Decommission Echo* instruments by Sam Smith
 * - tests: Small changes to DiscussionParserTest by Umherirrender
 * - Make DB tests more robust by Daimona Eaytoy
 * - EchoEventPresentationModel: Use userTemporary for temp accounts by Martin Urbanec

EntitySchema

 * - Replace EntitySchemaTerm with TermFallback from Wikibase  by Lucas Werkmeister
 * - Use LanguageFallbackIndicator in EntitySchemaFormatter by Lucas Werkmeister
 * - Improve HTML formatting in HtmlPageLinkRendererEndHookHandler by Lucas Werkmeister
 * - Use language fallback in LabelLookup  by Lucas Werkmeister
 * - One last file name change by noa
 * - Rename js files and classes by noa

EventBus

 * - Do not assume that revisions exist in EventFactoryTest by Daimona Eaytoy

EventLogging

 * - JsonSchemaContent: Remove $revisionLookup and $linkRenderer props by Sam Smith

FileImporter

 * - Add strict types to all production code by thiemowmde
 * - build: Update MediaWiki requirement to 1.41 by James D. Forrester

FlaggedRevs

 * - Add FlaggedRevsLibraryTest to Database group by Lucas Werkmeister
 * - Omit 'target' in the body of review REST API requests by Bartosz Dziewoński
 * - Add missing import for namespaced IDatabase  by Michael Große
 * - build: Update MediaWiki requirement to 1.41 by James D. Forrester
 * - Unify edit notice generation by Bartosz Dziewoński
 * - Move toggleable diff generation to JS (mostly) by Bartosz Dziewoński
 * - RevisionReviewForm: store single tag by tacsipacsi

Flow

 * - mw.flow.ui.EditorWidget.prototype.hasBeenChanged returns false if the editor hasn't been loaded by Dringsim
 * - ConfirmEditTest: Avoid database access by Bartosz Dziewoński

GlobalBlocking

 * - Ensure that soft global blocks block temporary users by Thalia

GrowthExperiments

 * - Avoid DB access in non-Database tests by Daimona Eaytoy
 * - Acquire DB connections outside of ServiceWiring, part 2 by Daimona Eaytoy
 * - tests: Raise jQuery requirement from v3.6.1 to v3.7.1 by James D. Forrester
 * - Do not acquire DB connections until needed by Daimona Eaytoy
 * - Welcome survey: Add generic user-research question  by Martin Urbanec
 * - WelcomeSurvey: Update privacy links by Martin Urbanec
 * - Remove support for wgWelcomeSurveyEnableWithHomepage by Martin Urbanec

JsonConfig

 * - Add JCLuaLibraryTest to Database group by Lucas Werkmeister

Kartographer

 * - Process Kartographer content in attribute-embedded HTML by Isabelle Hurbain-Palatin
 * - Extract processKartographerNode method by Isabelle Hurbain-Palatin
 * - Add extension data, categories and attribute processing to Parsoid output by Isabelle Hurbain-Palatin

Linter

 * - tests: Simplify creation of fixtures by Daimona Eaytoy
 * - SpecialLintErrorsTest: Add @group Database by Bartosz Dziewoński

LiquidThreads

 * - Replace calls to TablePager::getBody with ::getFullOutput by James D. Forrester

LoginNotify

 * - ServiceWiring, dependency injection by Tim Starling
 * - Doc review and general cleanup by Tim Starling
 * - Hooks: Do not attempt user creation when there's no username by Ammarpad

MachineVision

 * - tests: Raise jQuery requirement from v3.6.1 to v3.7.1 by James D. Forrester

MediaSearch

 * - tests: Raise jQuery requirement from v3.6.0 to v3.7.1 by James D. Forrester

MobileFrontend

 * - tests: Raise jQuery requirement from v3.6.1 to v3.7.1 by James D. Forrester
 * - Fix showing temp user popup after page reload by Bartosz Dziewoński

ORES

 * - read thresholds numeric values by Ilias Sarantopoulos

PageTriage

 * - Fix js-required and please-wait messages by suecarmol

Phonos

 * - List tracking categories in extension.json by tacsipacsi

ProofreadPage

 * - Add ProofreadPageLibraryTest to Database group by Lucas Werkmeister

RevisionSlider

 * - Remove grab cursor workarounds for older browsers by WMDE-Fisch
 * - Make use of Codex LESS tokens where possible by thiemowmde
 * - Don't trigger hover or tooltips from a tooltip by WMDE-Fisch
 * - Close tooltip when the focus moves away by WMDE-Fisch
 * - Remove obsolete per-skin CSS by thiemowmde
 * - Restore highlightable-row CSS we accidentally removed by thiemowmde
 * - Remove more duplicate code in SliderView class by thiemowmde
 * - Close popup when clicking enter by Svantje Lilienthal
 * - build: Update MediaWiki requirement to 1.41 by James D. Forrester

Scribunto

 * - Avoid DB access in databaseless tests by Daimona Eaytoy
 * - Add UriLibraryTest to Database group and add advice for others by Lucas Werkmeister

SearchVue

 * - tests: Raise jQuery requirement from v3.6.1 to v3.7.1 by James D. Forrester

SecureLinkFixer

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

SecurePoll

 * - Clear UserGetRights hook handlers in SpecialSecurePollLogTest by Daimona Eaytoy

TemplateData

 * - Replace calls to deprecated ApiPageSet methods by thiemowmde
 * - Add lang="…" and dir="auto" to inputs that support languages by thiemowmde
 * - Fix "Add new map" button overflowing in other languages by thiemowmde
 * - Show much more actionable context when paramOrder is incomplete by thiemowmde
 * - Load GUI on action=edit if page has templatedata even outside NS_TEMPLATE  by Timo Tijhof

TemplateStyles

 * - build: Update css-sanitizer requirement from 4.0.0 to 5.0.0 by James D. Forrester

TorBlock

 * - TorExitNodes: Add some error handling for HTTP GET requests returning null by Reedy

Translate

 * - Fix broken instructions in findUnsynchronizedDefinitions.php by Wangombe
 * - Return assoc array from RevTagStore::getTranslatableBundleIds by Umherirrender
 * - GroupSelector: Use jquery.ui.position to remove jquery.ui dependency by Abijeet

TwoColConflict

 * - Disable TwoColConflict on code pages, except wikitext/text by thiemowmde
 * - Minimize/simplify settings code a little bit by thiemowmde
 * - build: Update MediaWiki requirement to 1.41 by James D. Forrester

UniversalLanguageSelector

 * - Update jquery.uls from upstream by Jon Harald Søby

VueTest

 * - Update Codex to pre-v0.18.0 by Roan Kattouw

VisualEditor

 * - Add eslintrc to packageFiles folder by Ed Sanders
 * - Rename config.references to config.addReference by Ed Sanders
 * - Edit check configuration system by David Lynch
 * - Use metrics from SiteConfig to restore the Parsoid prefix by Arlo Breault
 * - Remove deprecated RESTBase-related VE config settings by Bartosz Dziewoński
 * - Stop injecting ServiceOptions in VisualEditorParsoidClientFactory by Arlo Breault
 * - Remove unused VisualEditorParsoidClientFactory options by Arlo Breault
 * - Fix showing temp user popup after page reload by Bartosz Dziewoński
 * - ApiVisualEditor: Check permissions of the temp user if we will create one by Bartosz Dziewoński
 * - Acquire a temporary user username before previewing by Bartosz Dziewoński
 * - Add `editcheck-references-activated` when UI is shown by Ed Sanders
 * - Update messages when becoming logged-in/logged-out for IP masking by Bartosz Dziewoński

Wikibase

 * - Removed RepositoryNameAssert by Leszek Manicki
 * - REST: Mark PATCH property statement as production ready by Jakob Warkotsch
 * - REST: Improve spec test descriptions by Silvan
 * - REST: Add PATCH property statement spec tests by Silvan
 * - Dropped "repository name" and "local part" from EntityId by Leszek Manicki
 * - Stopped using EntityId::getLocalPart in DescriptionLookupTest by Leszek Manicki
 * - Removed SerializableEntityId::splitSerialization by Leszek Manicki
 * - Removed SerializableEntityId::joinSerialization by Leszek Manicki
 * - DM: Removed the use of split/join Serialization from Item/Property ID by Leszek Manicki
 * - Make SpecialItemDisambiguation limit a constant by Lucas Werkmeister
 * - Remove $displayLanguageCode from ItemDisambiguation by Lucas Werkmeister
 * - Bump wikimedia/timestamp to 4.1.0 by Martin Urbanec
 * - Add Scribunto library tests to Database group by Lucas Werkmeister
 * - REST: Add patch property statement long route by Jakob Warkotsch
 * - REST: Add missing unit tests  by Silvan
 * - REST: Add PatchPropertyStatement use case by Jakob Warkotsch
 * - REST: Make PatchStatement subject agnostic by Muhammad Jaziraly
 * - REST: Separate bot edit tests from other auth tests by Jakob Warkotsch
 * - REST: Simplify use of `useRequestInputs` in e2e tests by Jakob Warkotsch
 * - REST: Remove unused `EntityIdValidator` interface by Ollie Shotton
 * - Implement QueryPage::getQueryInfo using SelectQueryBuilder by Lucas Werkmeister
 * - Formally disallowed using colons/prefixes in the Item/Property ID by Leszek Manicki

WikibaseLexeme

 * - Assert that foreign entity IDs are no longer supported by Lucas Werkmeister
 * - Removed reference to repositoryName and localPart in ID classes by Leszek Manicki
 * - Stop setting repositoryName and localPart by Leszek Manicki
 * - Stop calling getRepositoryName and getLocalPart in tests by Leszek Manicki
 * - Removed the use of EntityId::localPart from ID classes by Leszek Manicki
 * - Add LexemeHandlerTest to Database group by Lucas Werkmeister
 * - Removed the use of split/join Serialization in LexemeId and FormId by Leszek Manicki
 * - Confirm it is impossible to have colons in Lexeme IDs by Leszek Manicki
 * - Temporarily disabled tests involving prefixed Lexeme IDs by Leszek Manicki
 * - Don’t use LanguageNameLookup service in formatter callbacks by Lucas Werkmeister

WikibaseLexemeCirrusSearch

 * - Add LexemeFulltextResultTest to Database group by Lucas Werkmeister

WikibaseMediaInfo

 * - Assert that foreign entity IDs are no longer supportes by Lucas Werkmeister
 * - Removed repositoryName and localPart from MediaInfoId by Leszek Manicki
 * - Stop setting repositoryName and localPart by Leszek Manicki
 * - tests: Raise jQuery requirement from v3.6.1 to v3.7.1 by James D. Forrester

WikibaseQualityConstraints

 * - Add ImportConstraintEntitiesTest to Database group by Lucas Werkmeister

WikiLambda

 * - tests: Annotate a number of tests as @group Database now MW enforces for DB-touching tests by James D. Forrester
 * - Edit copy on implementation page by aminalhazwani
 * - e2e: Update the selector for dialog box by nik-55
 * - Replace deprecated User::addGroup by Umherirrender
 * - build: Upgrade Codex test version to 0.17.0 by James D. Forrester
 * - build: Upgrade stylelint-config-wikimedia from 0.15.0 to 0.16.1 and make pass by James D. Forrester

WikimediaMessages

 * - Add messages for Talysh Wikipedia (tlywiki) by gerritbot

Wikisource

 * - Add more models to Transkribus by Parthiv
 * - Modify eswikisource in extension.json by Parthiv

Wikistories

 * - Delete story checkbox follow up by Huei Tan
 * - ul style for the text size confirm dialog by Huei Tan

MinervaNeue

 * - Update addPortletLink for Codex by bwang

MonoBook

 * - build: Update linters by Ed Sanders

Vector

 * - Only show notification after CentralAuth autologin on Vector 2022 by Bartosz Dziewoński

No changes

 * 3D
 * ActiveAbstract
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * Citoid
 * CodeEditor
 * Cognate
 * CologneBlue
 * CommonsMetadata
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Listings
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MobileApp
 * Modern
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * Popups
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RealMe
 * RelatedArticles
 * ReportIncident
 * SandboxLink
 * Score
 * SearchExtraNS
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TranslationNotifications
 * TrustedXFF
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * VisualEditor/VisualEditor
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
261 Changes in 62 repos by 62 authors