MediaWiki 1.39/wmf.5/Changelog

Core changes

 * - Branch commit for wmf/1.39.0-wmf.5 by trainbranchbot
 * - maintenance: Check return of preg_match_all in generateJsonI18n.php by Umherirrender
 * - rdbms: recognize more mysql error codes in isConnectionError by Aaron Schulz
 * - Allow LocalSettings.php to be loaded in function scope. by daniel
 * - rdbms: rename wasQueryTimeoutError to isQueryTimeoutError by Aaron Schulz
 * - Expand BlockActionInfo test coverage by DannyS712
 * - wrapOldPasswords: add \n to two output calls by Alexander Vorwerk
 * - Installer: Check correct PCRE_CONFIG_NEWLINE by Martin VL
 * - mediawiki.Title: Treat U+FFFD (replacement character) as invalid by Bartosz Dziewoński
 * - Remove wfGetCache and wfGetMainCache, deprecated since 1.32 by Alexander Vorwerk
 * - Replace (error|warning)box with id attribute in core by stang
 * - Remove DBMasterPos as an alias for DBPrimaryPos by Alexander Vorwerk
 * - Drop two unused Enhanced RC i18n messages by Amir Sarabadani
 * - Drop djvu_no_xml i18n message by Amir Sarabadani
 * - MovePage: Re-use more of MovePage logic in ApiMove by Daimona Eaytoy
 * - SpecialPage: Use strtolower for message names consistently by Func
 * - specials: Use setTitle on GET forms to strip subpage by Func
 * - HTMLForm: Add title field if the action is overridden to script path by Func
 * - installer: Remove unused DatabaseUpdater::addIndexIfNoneExist by Umherirrender
 * - Fix core post-edit notif to use the correct "published"/"saved" message by Bartosz Dziewoński
 * - ResourceLoaderSkinModuleTest: Simplify logo tests input by Func
 * - Add SpecialPageFatalTest to @group Database by Taavi Väänänen
 * - Replace Title::mDefaultNamespace with a constant by Daimona Eaytoy
 * - EditPage: deprecate public and protected properties unused externally by Daimona Eaytoy
 * - EditPage: make most methods private by Daimona Eaytoy
 * - Limit targetlang in imageinfo requests to when we're scaling by Arlo Breault
 * - Don't allow passing a db to BlockRestrictionStore::loadByBlockId by Alexander Vorwerk
 * - SkinTemplate: remove unused $navigation key in foreach loop by jmnote
 * - Title: Remove deprecated Title::getDefaultNamespace by Timo Tijhof
 * - Simplify DeletedContribsPager::formatRow revision check by Umherirrender
 * - ParamValidator: Disallow array values in integer param by Ammarpad
 * - mediawiki.util: Handle non-string input in sanitizeIP by Thalia
 * - profiler: Actually escape debug text in ProfilerOutputText by Timo Tijhof
 * - context: Add a cached RequestContext::getActionName method by Timo Tijhof
 * - Remove unused variable in EntryPoint by Jakob Warkotsch
 * - Emit timing stats about loading default config. by daniel
 * - maintenance: Add migrateLinksTable.php by Amir Sarabadani
 * - user: Remove support for UserIdentity audience from UserNamePrefixSearch by DannyS712
 * - docs: Document how SqlBagOStuff::createTables works by Timo Tijhof
 * - Remove deprecated EventRelayerKafka and KafkaHandler by Timo Tijhof
 * - resourceloader: Add Module::getSkins to skip irrelevant modules from startup  by Siddharth VP
 * - Update API credits by Tim Starling
 * - Use UserRigorOptions directly by Tim Starling
 * - Deprecate EventRelayerKafka and KafkaHandler by Timo Tijhof
 * - Revert "phpunit: Set $wgSQLMode from DevelopmentSettings instead of MediaWikiIntegrationTestCase" by Alexander Vorwerk
 * - selenium: Use @wdio/spec-reporter by Željko Filipin
 * - http,objectcache: Use local-unaware floats in sprintf calls by Aaron Schulz
 * - phpunit: Revert "testConfigGeneration" structure test to simpler version by daniel
 * - objectcache: Warn when WANObjectCache callback returns incomplete result by Kosta Harlan
 * - web2017-polyfills: Update URL polyfill to latest version with our fixes  by Timo Tijhof
 * - phpunit: Set $wgSQLMode from DevelopmentSettings instead of MediaWikiIntegrationTestCase by Aaron Schulz
 * - Broken media in galleries might not have the file namespace by Arlo Breault
 * - Move mw-index-pager-list-header rule to changeslist by Jon Robson
 * - SettingsBuilder: add comments about batched caching. by daniel
 * - SpecialExpandTemplates: Set target language to content language if no title is given by Func
 * - Remove the ResourceLoaderSkinModule legacy feature stylesheet by Jon Robson
 * - AbandonEditDialog: Document that users should check `useeditwarning` by Ed Sanders
 * - Allow managing upload-by-url allowlist as a system message by Taavi Väänänen
 * - SpecialExpandTemplates: Make use of feature of HTMLForm fully by Func
 * - Support MW_USE_CONFIG_SCHEMA constant. by daniel
 * - Improve error messages in EditFilterMergedContentHookConstraint  by Daimona Eaytoy
 * - Allow variant query param for redirect special page by Umherirrender
 * - core: Improve UI text for Special:Import by EpicPupper
 * - title: Cleanup use of DepreationHelper::deprecatePublicPropertyFallback by Umherirrender

Vendor

 * - Bump wikimedia/parsoid to 0.16.0-a3 by C. Scott Ananian
 * - Removing nmred/kafka-php (v0.1.5) by Reedy
 * - Update web-auth/* by Reedy
 * - Upgrading geoip2/geoip2 (v2.11.0 => v2.12.2) by Reedy
 * - Update symfony/* by Reedy

3D

 * - Replace use of deprecated jQuery.debounce  by dylsss

AbuseFilter

 * - Use setTitle instead of setAction where posible by Func
 * - Remove SpecialAbuseLog::isHidden by Daimona Eaytoy
 * - Clean up test files by Daimona Eaytoy
 * - Refactor ConsequencesExecutor to process consequences in more steps by Daimona Eaytoy

AdvancedSearch

 * - Remove phan config leftover from BetaFeature mode by WMDE-Fisch

CategoryTree

 * - Follow-up e20262bc: Strip subpage name in action by Func
 * - CategoryTreePage: Avoid setting internal fields of HTMLForm by Func

CentralAuth

 * - Cast wiki set id to string before constructing XmlSelect by Alexander Vorwerk
 * - GlobalUsersPager: add gu_id to GROUP BY by Taavi Väänänen
 * - Migrate remaining CentralAuth hooks to the new hook system by Taavi Väänänen

CheckUser

 * - Remove unused function from Special:CheckUser by Alexander Vorwerk
 * - Fix use of errorbox in CheckUser by stang

CirrusSearch

 * - Force vector-2022 skin for browser tests by David Causse

CiteThisPage

 * - CiteThisPage should use Html:errorBox by Jon Robson

CodeMirror

 * - Support WikiEditor's realtime-preview feature  by Sam Wilson

ConfirmEdit

 * - Use Html::warningBox instead of hardcoded class by Jon Robson

ContentTranslation

 * - CX3 Build 0.2.0+20220328  by Santhosh Thottingal
 * - SX VE: Clear the toolbar content when surface is destroyed by Santhosh Thottingal
 * - SX: MT fix - translateTranslationUnitById should be awaited by Santhosh Thottingal
 * - Auto focus the language selector search box by Santhosh Thottingal
 * - Post Vue3 migration clean up and 0.2.0+20220324 build by Santhosh Thottingal
 * - Migrate Section Translation to Vue 3 by Santhosh Thottingal
 * - SX: Disable ContentTranslationEnableSectionTranslation parameter by NikG
 * - SX: Adjust error message for the publish step by Santhosh Thottingal

DiscussionTools

 * - Refactor topic subscription logic by Ed Sanders
 * - Add item name to the JSON output of HeadingItem by David Lynch
 * - Implement getTimestampString on CommentItem by Ed Sanders
 * - Use Sanitizer::stripAllTags when generating notification snippets by Bartosz Dziewoński

DonationInterface

 * - AmountInCents should round after multiplying by Elliott Eggleston

Echo

 * - Tweak primary button action styles in emails by Ed Sanders
 * - Split email CSS over multiple lines by Ed Sanders
 * - Set all icons used in EchoNotificationIcons to 30x30 by Ed Sanders

ExtensionDistributor

 * - Namespace extension by Reedy

ExternalGuidance

 * - Remove the ExternalGuidance instrument by Sam Smith

FlaggedRevs

 * - Fix docs to match extension.json by Adam Wight
 * - Use canonical class name by Adam Wight
 * - GROUP BY all non-aggregated fields in UnreviewedPagesPager by tacsipacsi
 * - Add Phan stub for GoogleNewsSitemap extension by Thiemo Kreuz

Flow

 * - Remove namespace prefixes from getUpdateKey by Reedy
 * - FlowUpdateWorkflowPageId: Fixup output by Reedy
 * - Normalise maintenance requires take 2 by Reedy
 * - Namespace maintenance scripts and use AutoloadNamespaces by Reedy

FundraiserLandingPage

 * - Namespace extension by Reedy

Gadgets

 * - Use RequestContext::getActionName instead of the uncached ActionFactory::getActionName by Siddharth VP
 * - Add getSkins in GadgetResourceLoaderModule by Siddharth VP
 * - Replace span.errorbox with div.mw-message-box-error by tacsipacsi

GlobalPreferences

 * - Remove deleted HTMLLegacySkinVersionField class by Func

Graph

 * - Fix a typo in Vega2 that can conflict with global variables by Bartek Łukawski

GrowthExperiments

 * - Newcomer tasks: wrap description text in a new line by Sergio Gimeno
 * - Update homepagevisit schema to v1.4.0 by mewoph
 * - VisualEditorHooks: Ignore anonymous users by Kosta Harlan
 * - VisualEditorHooks: Get task type ID from plugin data by Kosta Harlan
 * - QuitMentorship: Do not abort when new mentor is not found by Martin Urbanec
 * - eslint: Disable max-len rule by Ed Sanders
 * - eslint: Lint root files with server rules by Ed Sanders
 * - build: Update linters and fix some warnings by Ed Sanders
 * - GLAM events: add topic match mode widget selector by Sergio Gimeno
 * - Pilot: Maintenance script for exporting emails that opt-in to mailing list by Kosta Harlan
 * - Use MW_QUIBBLE_CI constant by daniel
 * - Mentor tools: Set maximum number of days a mentor can be away for to 365 by Martin Urbanec
 * - Don't use global keyword to access $wgWikimediaJenkinsCI flag. by daniel
 * - selenium: Wait until save button is clickable by Kosta Harlan
 * - phpunit: Add test for WikiConfigException by Kosta Harlan
 * - TemplateCollectionFeature: Do not default to NS_TEMPLATE by Martin Urbanec

IPInfo

 * - Check class of collapsible panel in infobox init script by Thalia
 * - Log when user clicks on popup by STran
 * - Improve Logger::debouncedLog by STran
 * - Explicitly disable IPInfo for mobile targets by STran
 * - Use prettified IPs in popup when comparing API response to UI by Thalia
 * - Improve documentation for RevisionHandler::run and LogHandler::run by Thalia

Linter

 * - Add title interactive lookup to category based linter error search by sbailey

MachineVision

 * - warningbox class is deprecated, use Html class by Jon Robson

MassMessage

 * - Replace usage of warningbox by Abijeet

MobileFrontend

 * - Fix title wrapping ok Special:History when showing namespace by Ed Sanders
 * - Follow-up Ifd2a13ee: Hide TOC using API param instead of CSS by Ed Sanders
 * - Tweak PHP array code style to be consistent with coding conventions by Jack Phoenix

OATHAuth

 * - OATHUserRepository: Stop handling legacy single-key by Reedy
 * - OATHUserRepository: Remove some legacy handling by Reedy

PageAssessments

 * - SpecialPage: Replace strlen > 0 with explicit empty string check by Umherirrender

PageTriage

 * - delete.js: Add nomination tag always by Ammarpad

QuickSurveys

 * - Log bucketised edit count for eligible/impression events by Sam Smith

Quiz

 * - Fix display of correct answers using Unicode by tacsipacsi

RevisionSlider

 * - Replace html paragraph tags in i18n by Mortal303

Score

 * - Fix use of errorbox by tacsipacsi
 * - Move var declarations inline by Ed Sanders
 * - Show more code in context item, and use monospace by Ed Sanders

SpamBlacklist

 * - Fix use of errorbox by Samwalton9

StopForumSpam

 * - Refactor StopForumSpam logging logic by sbassett
 * - DenyListManager: Minor cleanup by Reedy

SyntaxHighlight_GeSHi

 * - Namespace rest of the extension by Reedy

TemplateSandbox

 * - Fix uses of (error|warning)box in TemplateSandbox by stang

TimedMediaHandler

 * - Show duration for audio placeholders by Brion Vibber
 * - Defer pause of autoplay busting by Derk-Jan Hartman
 * - Only use "action=edit" for link to CC page if page does not exist by stang

TitleBlacklist

 * - Fix use of errorbox by Samwalton9

Translate

 * - Feedback when saving a translation in proofreading by Gee
 * - Fix uses of (error|success|warning)box in Translate by stang
 * - Translation Memory: Sort suggestions with same percentage by usage by Gee

TrustedXFF

 * - Fix some PHPCS exclusions by Reedy
 * - .phpcs.xml: Remove exclusion for trusted-hosts.php by Reedy

UploadsLink

 * - Namespace extension by Reedy

UploadWizard

 * - UploadWizard.config.php: Minor cleanup by Reedy
 * - Fix uses of (error|success|warning|message)box in UploadWizard by Simone This Dot
 * - Make use of more modern PHP syntax to simplify config code by Thiemo Kreuz
 * - Check Collator construction return value by Ammarpad

VisualEditor

 * - Update VE core submodule to master (dbcb897f2) by Bartosz Dziewoński
 * - Respect useeditwarning user option when tearing down target by Ed Sanders
 * - Remove delete button from template context by Ed Sanders

WebAuthn

 * - composer.json: Relax and bump web-auth/webauthn-lib requirement by Reedy

Wikibase

 * - REST: Validate _fields parameter by sihe
 * - REST: Rename use case result to response by Jakob Warkotsch
 * - HtmlPageLinkRendererEndHookHandlerTest: Don't use wikidata as interwiki by Marius Hoch
 * - REST: Move JS linting to separate packages.json by Ollie Shotton
 * - REST: Remove GetItemValidationResult::setError by Jakob Warkotsch
 * - REST: Remove unused ValidationError::getMessage by Jakob Warkotsch
 * - REST: Handle unexpected errors in RouteHandler by Jakob Warkotsch
 * - REST: Filter item response via _fields query param by Ollie Shotton
 * - REST: Added a colon in the item-not-found error message by Leszek Manicki
 * - REST: Implement 400 response for invalid item IDs by sihe
 * - REST: Implement 500 response for unexpected error by Ollie Shotton
 * - REST: Improve 404 item not found integration test by Ollie Shotton
 * - update.php: Add the "unexpectedUnconnectedPage" page prop by Marius Hoch
 * - REST: Use assertJsonStringEqualsJsonString by Jakob Warkotsch
 * - REST: Extract error code constant by Jakob Warkotsch
 * - Use new display part of wbsearchentity response in entity selector by Lucas Werkmeister
 * - REST: Added specs for _fields param of GET /entities/items/{item_id} by Leszek Manicki
 * - Use Html::errorBox in FederatedPropertiesError by Lucas Werkmeister

WikibaseLexeme

 * - Make list of language codes available in JS by gtzatchkova
 * - Add bsnl:dev command for Special:NewLexemeAlpha development by Lucas Werkmeister
 * - Sort en.json and qqq.json and add linting by Michael Große
 * - Include new Lookups in Special:NewLexemeAlpha    by Michael Große

WikiEditor

 * - Log realtime preview errors to console by Sam Wilson
 * - Add nicer realtime preview error messages by Sam Wilson
 * - RealtimePreview: add config setting for debounce time by MusikAnimal
 * - Partially revert mistake in JavaScript code optimization by Thiemo Kreuz

WikiLambda

 * - Modify code to only have one object selector vue component by jkieserman
 * - improve legibility and fix input box loading for new zFunctions by jkieserman
 * - switch from SDMessage component to CDX Message component by jkieserman
 * - ZString: Expand test coverage a little by James D. Forrester
 * - ZErrorFactoryTest::provideNormalTestObjects: Remove errant ->failure that meant no tests were run by James D. Forrester
 * - Display errors to the user when the try to publish an edit to a function by adesoji
 * - Write unit tests for "typeUtils" by This Dot
 * - Fix overlap between type mismatch error types by gengh
 * - eslint: Enforce jsdoc/require-returns rule and fix the one failure by James D. Forrester

WikimediaEvents

 * - Add "viewportSize" metric to desktopWebUIActions tracking by Jan Drewniak
 * - Set special=unknown on X-Analytics by Dan Andreescu
 * - mobileWebUIActions: Fix action logging event twice by bwang
 * - Ensure events are correctly logged for text wrapped in spans by bwang

WikimediaIncubator

 * - Take global pages into account in Special:IncubatorFirstSteps by Jon Harald Søby

WikimediaMaintenance

 * - addWiki: Create GrowthExperiment's tables for all new Wikipedia by Martin Urbanec

MinervaNeue

 * - Show the mw-index-pager-list-header by Jon Robson
 * - Remove message in en-gb.json by Ed Sanders

Timeless

 * - Use svg for the logo if applicable by Func
 * - Improve the appearance on the history page by Func

Vector

 * - Update @wikimedia/types-wikimedia to latest version by Clare Ming
 * - Table of contents links to beginning of article by Jon Robson
 * - Improve UserLinks test to mocks registered user by bwang
 * - Pass script path to URL generator by Jon Robson
 * - End migration mode   by Jon Robson
 * - Add data-event-name attributes to legacy and sidebar TOC by bwang

VisualEditor/VisualEditor

 * - Revert "Refactor renderContents" by Bartosz Dziewoński
 * - Revert "Add backtick sequence for formatting" by Bartosz Dziewoński
 * - ve.dm.ModelRegistry: Disallow unknown types on tag and tag+func matches by Bartosz Dziewoński

No changes

 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * Cite
 * Citoid
 * CodeEditor
 * CodeReview
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * EventStreamConfig
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraisingTranslateWorkflow
 * GWToolset
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * GuidedTour
 * ImageMap
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * Kartographer
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MapSources
 * Math
 * MediaModeration
 * MediaSearch
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * ProofreadPage
 * PropertySuggester
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * SandboxLink
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SiteMatrix
 * SubPageList3
 * SubpageSortkey
 * TemplateData
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TwoColConflict
 * UniversalLanguageSelector
 * UrlShortener
 * VipsScaler
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaMessages
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
233 Changes in 60 repos by 73 authors