MediaWiki 1.38/wmf.13/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.13 by trainbranchbot
 * - Use native method to disable new users checkbox in Special:Preferences by Func
 * - RemoteIcuCollation by Tim Starling
 * - rdbms: add query timeout support to Database::select  by Aaron Schulz
 * - rdbms: Explicitly set Sqlite PDO ATTR_ERRMODE to ERRMODE_SILENT by Aaron Schulz
 * - UserSelectQueryBuilder: Make it possible to filter via user's hidden status by Martin Urbanec
 * - rdbms: Remove five deprecated methods from IDatabase by Amir Sarabadani
 * - tests: Make it easier to debug MediaWikiTitleCodecTest failures by Kunal Mehta
 * - Remove unreachable parts of getTitleInvalidRegex in PHP and JS by Kunal Mehta
 * - mediawiki.jqueryMsg: Handle SERVERNAME by Gergő Tisza
 * - Add support for conditional disable fields in HTMLForm by Func
 * - Add SpecialPage::newSearchPage to replace Skin::setSearchPageTitle by jdlrobson
 * - Sync up with Parsoid parserTests.txt by C. Scott Ananian
 * - Sync up with Parsoid mediaParserTests.txt by C. Scott Ananian
 * - Refactor SettingsBuilder to use BagOStuff. by Dan Duvall
 * - DeprecationHelper: avoid closures by daniel
 * - Fix bottom margin for thumbs by Arlo Breault
 * - Revert "Add new watchlist hook to better support syncing between multiple watchstars" by Esanders
 * - RevisionStore: Pass $flags in getRelativeRevision by Bartosz Dziewoński
 * - JsonCodec: Fix test by Gergő Tisza
 * - rdbms: remove pointless DatabasePostgres::tableName method by Aaron Schulz
 * - filerepo: Increase ttl for foreign metadata to 4h and make configurable by Brian Wolff
 * - Update WVUI to 0.3.4 by Roan Kattouw
 * - Fix indent in TemporaryPasswordPrimaryAuthenticationProvider by Umherirrender
 * - rdbms: Fix query prefix logging by Amir Sarabadani
 * - Settings: Add config merge strategies to apply on settings by Derick Alangi
 * - Settings: Introduce PhpSettingsSource for provisioning settings by Derick Alangi
 * - Remove some more comments that literally repeat the code by Thiemo Kreuz
 * - Add content-media print styles by Arlo Breault
 * - rdbms: Drop IDatabase::aggregateValue by Amir Sarabadani
 * - Additional tests for LinksUpdate and LinksDeletionUpdate by Tim Starling
 * - Use Html::… methods for all HTML in ImageHistoryList by Thiemo Kreuz
 * - rdbms: Remove IDatabase::getServerUptime by Amir Sarabadani
 * - WikiExporter: Avoid bitwise op with non-integer by Ammarpad
 * - Add entry point name to disabled Session exception if possible by Ammarpad
 * - mediawiki.base: Add missing toString param to Message#escaped by Timo Tijhof
 * - Add LinksUpdate::getPageId by Tim Starling
 * - Add IDatabase::factorConds by Tim Starling
 * - TestRunner: Set local interwiki URLs to match wgServer, like in production by Bartosz Dziewoński
 * - installer: Fix Postgres mistakes in using changeField method  by Amir Sarabadani
 * - Upgrade Vue to the migration build of Vue 3 by Roan Kattouw
 * - SettingsBuilder: load skins and extensions by daniel
 * - Remove unused User::newFromAnyId from LocalFileDeleteBatch by Umherirrender
 * - MediaWiki:Tog-fancysig: Change "automatic link" to "automatic link to your user page" by Tranve
 * - media: Invalidate all file-djvu WAN caches by Amir Sarabadani
 * - Allow editors to blank the heading, standardize heading class by jdlrobson
 * - Drop pr_user from page_restrictions by Amir Sarabadani
 * - Change style for class mw-history-suppressed from bold to grey (Base 10) by Umherirrender
 * - Allow DeleteLogFormatter to work with pre-T20361 (April 2009) log rows by Umherirrender
 * - Add project local interwiki to ParserTestRunner by Arlo Breault
 * - resourceloader: Remove support for $algo param in FileContentsHasher by Timo Tijhof
 * - Streamline some pieces of code in ImageHistoryList by Thiemo Kreuz
 * - maintenance: Add --parse-title option to edit.php to parse the title input by Ed Sanders
 * - rdbms: Remove IDatabase::pendingWriteRowsAffected by Amir Sarabadani
 * - Remove IDatabase::preCommitCallbacksPending by Amir Sarabadani
 * - tests: Add structure test for bundlesize.config.json by Kosta Harlan
 * - Maintenance.php: Code cleanup to console functions by Reedy
 * - en.json: Use capitalization according to BCP 47 for variantnames by Fomafix
 * - Deprecate $wgAjaxUploadDestCheck, act as always-true by Fomafix

Vendor

 * - Bump Parsoid to 0.15.0-a13 by sbailey
 * - Bump wikimedia/parsoid to 0.15.0-a12  by Subramanya Sastry

3D

 * - Remove use of $wgUseAjax by Taavi Väänänen

AbuseFilter

 * - Hyphenating "case-insensitive" by Amir E. Aharoni

Babel

 * - Update, merge zh-tw translations back to zh-hant and recover zh-cn, zh-sg translations in mediawiki/extensions/Babel  by Winston Sung

CentralAuth

 * - GlobalRename: Inject GlobalRenameUserValidator by Taavi Väänänen
 * - Drop support for global user merges by Taavi Väänänen
 * - Simplify GlobalUserMergeLogFormatter by Taavi Väänänen
 * - LocalRenameJob: Drop back compat by Taavi Väänänen
 * - Move ::centralLBHasRecentPrimaryChanges to CentralAuthDatabaseManager by Alexander Vorwerk
 * - Add missing line breaks to migratePass0 by Taavi Väänänen

CirrusSearch

 * - phan: rm redundant enable_class_alias_support by Antoine Musso

Cite

 * - ve.ui.MWReferencesListDialog: Fix exception caused by a copy-paste mistake by Bartosz Dziewoński
 * - ve-cite: Export citationTools as native object instead of JSON string message by Timo Tijhof
 * - ve-cite: Remove redundant check for visualeditor-cite-tool-definition.json by Timo Tijhof

cldr

 * - Add Nanai (gld) and Nawdm (nmz)  by Raymond

CodeMirror

 * - Set the line-break attr to initial by Func
 * - Don't mess up the page when running tests via Special:JavaScriptTest by Bartosz Dziewoński
 * - Fix invalid reference to core resources/ directory by Timo Tijhof

Collection

 * - Fixes in API messages by Amir E. Aharoni

ConfirmEdit

 * - Adjust the mime type of reCaptcha by Func

ContentTranslation

 * - CX3 Build 0.1.0+20211210   by NikG
 * - Reference support: Customize Cite ContextItem classes for references by Santhosh Thottingal
 * - Make RL-loaded Vue code compatible with Vue 3 migration build by Roan Kattouw

DiscussionTools

 * - Update abtest bucketing for newtopictool usage by David Lynch
 * - Fix PageRecord lookup by Bartosz Dziewoński
 * - Add 'legacyPrimary' links to API data for users without DT-enhanced HTML by Ed Sanders
 * - Cache page properties in memory to avoid extra queries by Ed Sanders
 * - Revert "Split DiscussionToolsEnableMobile=true into 'behind-overlay' and 'remove-overlay'" by Esanders

DonationInterface

 * - Remove PHP entry point by Umherirrender
 * - Adyen Checkout: Add method to pick out best apple pay contact name by jgleeson
 * - Fix monthly convert button height by Andrew Green

Echo

 * - Avoid using User::getOption method by vladshapik
 * - Use the LinksUpdateComplete hook by Tim Starling
 * - Avoid LinksUpdate public properties by Tim Starling

EventBus

 * - Use the new LinksUpdate::getPageId by Tim Starling

FlaggedRevs

 * - API: Remove deprecated watchlist support by Amir Sarabadani
 * - Fix the name of the new contributions index by Tim Starling
 * - Fix the mistake in passing parameter by Amir Sarabadani
 * - Change logic of pruneChange to allow deleting rows more flexibly by Amir Sarabadani
 * - Do not inject rev id of template when it's empty by Amir Sarabadani

Flow

 * - Remove unused zh-hant mis-translation special page names/alias in StructuredDiscussions (Flow)  by Winston Sung

GlobalPreferences

 * - Use native method to disable checkboxes conditionally by Func
 * - Add a server-side filter on local exceptions, and remove the initial disabled state of fields by Func
 * - Infuse the field layout instead of widgets, to set the state of labels properly by Func
 * - Add missing UsersMultiselectWidget dependency by Thiemo Kreuz

GrowthExperiments

 * - SpecialEditGrowthConfig: Do not override difficulty by Gergő Tisza
 * - Reorganize mentorship-related hooks by Martin Urbanec
 * - MentorManager: Support weights for mentors by Martin Urbanec
 * - CacheDecorator: Use JSON serialization  by Gergő Tisza
 * - Split out CacheDecorator tests + increase coverage by Gergő Tisza
 * - CacheDecorator: Bump cache version by Gergő Tisza
 * - Mentor dashboard: Fix resource panel link by Gergő Tisza
 * - Add an image: remove pointer-events: none on the image container in ceRecommendedImageNode by MewOphaswongse
 * - Quick fix for task type handling in change tagging by Gergő Tisza
 * - Add Image: Use tasktype, not quality gate, to pass caption limit by Gergő Tisza
 * - Add an image: Only validate caption if the recommendation is accepted by MewOphaswongse
 * - Add an image: return a delay from the dialog's setup process by MewOphaswongse
 * - Add an image: Prevent interaction with tools in disabled toolgroup by MewOphaswongse
 * - SearchTaskSuggester: Don't throw error on invalid tasktype by Kosta Harlan
 * - Community configuration: Handle disabled task types by Gergő Tisza

GWToolset

 * - Remove PHP entry point by Umherirrender

InputBox

 * - Make InputBoxHooks::render non-static by C. Scott Ananian
 * - Introducing a namespace for InputBox by Isabelle Hurbain-Palatin

Interwiki

 * - Get config with SpecialInterwiki::getConfig by Umherirrender
 * - Replace $wgLegalTitleChars with Title::legalChars by Umherirrender

IPInfo

 * - Add connection type and user type to infobox by STran
 * - Display Block and Contrib info in popup by wikitrent
 * - Use flexbox for infobox display by STran
 * - Add error messages for infobox by STran
 * - Move a CSS rule to the ext.ipInfo module by Thalia
 * - Clarify the purpose of init.less, loaded in a styles-only module by Thalia

Kartographer

 * - Support versioned live maps by Adam Wight
 * - Support versioned static mapframes by Adam Wight

Linter

 * - Fix plural in redirect by Arlo Breault
 * - s/mw:Help:Extension:Linter/mw:Help:Lint errors/ by Arlo Breault

MediaSearch

 * - Don't call $refs methods inline in template by Eric Gardner
 * - store: Move $log calls out of store, into App component by Roan Kattouw
 * - Vue: Unbreak after Vue 3 migration by Roan Kattouw
 * - Implement unit test for all files within the "resources/mixins" folder by adesoji
 * - Disable event logging for Quickview interactions by seddon
 * - Unit test app.vue file by Simone This Dot
 * - Search_result_page_id should be integer by seddon
 * - unit test the store/actions.js file by Simone This Dot
 * - unit test resources/store/getters by Simone This Dot
 * - Unit test Resources/Store/State.js by Simone This Dot
 * - Unit test all files within the resources/components/base folder by Simone This Dot
 * - When closing the Quick View, the results view scrolls back to the top. by Simone This Dot

MobileFrontend

 * - Prevent (un)watch text from showing in search watchstars by bwang
 * - Change anchor in last modified message to strong and span by Gagah Pangeran Rosfatiputra
 * - Set higher specificity by Derk-Jan Hartman

MultimediaViewer

 * - Avoid ableist language in comments and test names by James D. Forrester

NewUserMessage

 * - Remove PHP entry point by Umherirrender

Poem

 * - Sync up with Parsoid poemParserTests.txt by C. Scott Ananian

QuickSurveys

 * - Checks name of enabled Quick Survey for duplicate, logs if issue by EllenR
 * - Don't reshuffle when clicking a button by jsn

Quiz

 * - Remove PHP entry point by Umherirrender

SecurePoll

 * - Fully add new securepoll-view-voter-pii right by Alexander Vorwerk
 * - SECURITY: Require securepoll-view-voter-pii right to view voter's PII by Sam Smith

TemplateWizard

 * - selenium: Cleanup of @wdio packages   by Željko Filipin
 * - selenium: Fix failing test by Agha Saad Fraz

TimedMediaHandler

 * - transcodeReport: Avoid ableist language in private variable name by James D. Forrester

Translate

 * - AggregateGroupsSpecialPage: Replace sub group with group for toggles by Abijeet
 * - AggregateGroupsSpecialPage: Make toggle links keyboard accessible by Abijeet
 * - Make language selector keyboard accessible on translation views by Niklas Laxström
 * - Make target language selector more prominent by Abijeet
 * - Don't use $wgLegalTitleChars directly by Kunal Mehta
 * - Special:Translate: Add language name in editor placeholder by Abijeet
 * - Remove isEditPage condition for the display of help and loading of VE by Isabelle Hurbain-Palatin
 * - Remove isPlaceholderSupported check by Abijeet

TranslationNotifications

 * - Remove PHP entry point by Umherirrender

VipsScaler

 * - SpecialVipsTest: Avoid ableist language in comment by James D. Forrester

VisualEditor

 * - Check VisualEditorDisableForAnons in getEditPageEditor by Bartosz Dziewoński
 * - Don't scroll to template parameters while the dialog loads by Thiemo Kreuz
 * - Revert "Hide more button on parameter descriptions for screen readers" by Andrew Kostka
 * - Use new select[First|Last]SelectableContentOffset methods by Ed Sanders
 * - Update VE core submodule to master (21da0b01c) by Bartosz Dziewoński
 * - Add link to undocumented parameter help by WMDE-Fisch
 * - Remove unused CSS from template dialog by Thiemo Kreuz
 * - Raise PHP coding standards in this codebase a bit by Thiemo Kreuz
 * - Add safe-guard for early template dialog resize events by Thiemo Kreuz

WebAuthn

 * - WebAuthnCredentialRepository: Avoid ableist language in comments by James D. Forrester

Wikibase

 * - bridge: Avoid npm package resolution conflicts by Michael Große
 * - bridge: Make storybook work again and upgrade it to its latest version by Michael Große
 * - bridge: bump nvm node version to 12.22.7 by Michael Große
 * - Use the new LinksUpdate::getPageId by Tim Starling
 * - Update Termbox (fix for Vue 3 migration) by Lucas Werkmeister
 * - Temporarily disable test:mwlibs by Lucas Werkmeister
 * - bridge: Use short slot syntax by Michael Große
 * - bridge: Update @typescript-eslint packages to 5.5.0 by Michael Große
 * - bridge: Upgrade eslint to 7.32.0 by Michael Große
 * - bridge: Run npm dedupe by Michael Große
 * - Update Termbox (next stage of Vue 3 migration) by Roan Kattouw
 * - Introduce WikiPageItemOrderProvider by Noa wmde

WikibaseLexeme

 * - Replace with in Lua docs by Lucas Werkmeister
 * - Add form:hasGrammaticalFeature method by Lucas Werkmeister
 * - Add lexeme:getLemma, sense:getGloss, form:getRepresentation by Lucas Werkmeister
 * - Remove most of mw.wikibase.lexeme Lua module by Lucas Werkmeister
 * - Fix LexemeHeader and GlossWidget mounting by Lucas Werkmeister
 * - Temporarily disable test:mwlibs by Lucas Werkmeister
 * - Simplify LexemeLanguageCodePropertyIdConfig by Lucas Werkmeister
 * - Remove small pieces of unused code and PHPDoc comments by Thiemo Kreuz
 * - Use more strict PHPUnit assertions in tests, if possible by Thiemo Kreuz

WikibaseLexemeCirrusSearch

 * - Do not log a warning on search error by David Causse

WikibaseMediaInfo

 * - 'custommatch' feature by Cormac Parle
 * - WikibaseMediaInfoHooks: Avoid ableist language in comment by James D. Forrester
 * - Add url param to allow enabling references for testing by Matthias Mullie
 * - Refactor node matching by Matthias Mullie
 * - Discard empty references by Matthias Mullie
 * - Disable FT score normalization by Matthias Mullie

WikibaseQualityConstraints

 * - ViolationMessageSerializerTest: Avoid ableist language in test name by James D. Forrester

Wikidata.org

 * - Remove PHP entry point by Umherirrender

WikidataPageBanner

 * - Make sure 'enable-toc' key is set by Alexander Vorwerk

WikiEditor

 * - Fix link-inserter event value when dialog opens by Sam Wilson
 * - Tag WikiEditor edits with a hidden tag by Ed Sanders
 * - Move insert-link mode constants to a better location by Sam Wilson
 * - Prevent external links from showing as invalid by Sam Wilson
 * - build: Load ConfirmEdit as phan dependency by Umherirrender

WikiLambda

 * - create new tab component for function editor by jkieserman
 * - Migrate the WikiLambda extension's Vue code to initiate using `createMwApp` by Simone This Dot
 * - Revert "Use new 'deepEqual' and 'deepCopy' utilities from function-schemata" by Jforrester
 * - Update function-schemata sub-module to HEAD (f50c0da) by James D. Forrester
 * - ZLangRegistry::getLanguageZidFromCode: Add fallback flag and use when we take user input by James D. Forrester
 * - Follow-up f0fe1de98: Fix typo by James D. Forrester
 * - Hooks::onHtmlPageLinkRendererEnd: ZID isn't a language code, oops by James D. Forrester
 * - Use new 'deepEqual' and 'deepCopy' utilities from function-schemata by jkieserman
 * - Vue: Provide a new FunctionDefinition component for those kinds of page by Simone This Dot
 * - Update function-schemata sub-module to HEAD (e130e59)        by James D. Forrester
 * - remove getZObjectAsJsonByZID by Simone This Dot
 * - SpecialListZObjectsByType: Use query continuation to give the DBs time to breathe by James D. Forrester
 * - SpecialListZObjectsByType: Pass variables into i18n string by James D. Forrester
 * - SpecialListZObjectsByType: Don't error if the user gives us nonsense by James D. Forrester

WikiLove

 * - Hooks::getUserTalkPage: Avoid ableist language in comment by James D. Forrester

WikimediaEvents

 * - AuthManagerStatsdHandler: Avoid ableist language in comment by James D. Forrester
 * - Delay `init` event to when document is ready by jdlrobson

WikimediaIncubator

 * - Avoid using User::getOption method by vladshapik

WikimediaMaintenance

 * - Use namespaced LocalRenameUserJob by Alexander Vorwerk

WikimediaMessages

 * - Remove `` from test survey question by jsn
 * - Update messages for the GDI safety internal survey by jsn

MinervaNeue

 * - Move bundlesize test to MediaWikiIntegration test by Kosta Harlan

Vector

 * - Prevent A/B test enrollment hook from firing for unsampled by Clare Ming
 * - Don't add language button to sticky header on pages without languages in content by jdlrobson
 * - Fix format of VectorWebABTestEnrollment by Clare Ming
 * - Remove need for html-class template property by jdlrobson
 * - Move bundlesize test to MediaWikiIntegration test by Kosta Harlan
 * - Add language switching alert in sidebar for language in header by Clare Ming
 * - Define sticky header ULS behaviour by jdlrobson
 * - Update A/B test enrollment name by Clare Ming
 * - Make ULS in header quiet progressive button by bwang
 * - Feature flag language button in main page header by Nicholas Ray
 * - Add data-event-name attribute to sticky search icon. by Clare Ming
 * - Use sans-serif for figures by Arlo Breault
 * - Align `mw.notify` alerts to avoid overlapping sticky header by Jan Drewniak
 * - [Documentation] Document decision in T293441 in code by jdlrobson

VisualEditor/VisualEditor

 * - Add some test cases for linear delete in lists by Ed Sanders

No changes

 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * CheckUser
 * ChessBrowser
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeReview
 * Cognate
 * CologneBlue
 * CommonsMetadata
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * DynamicSidebar
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * Insider
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * NavigationTiming
 * NearbyPages
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageTriage
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * PoolCounter
 * Popups
 * ProofreadPage
 * PropertySuggester
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TrustedXFF
 * TwoColConflict
 * UniversalLanguageSelector
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * UserMerge
 * WikibaseCirrusSearch
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * Wikisource
 * XAnalytics
 * intersection
 * timeline
 * wikihiero

Total changes
254 Changes in 59 repos by 76 authors