MediaWiki 1.38/wmf.23/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.23 by trainbranchbot
 * - Make Skin::preloadExistence private by Ammarpad
 * - Add `number-section-count` to data returned by SkinComponentTableOfContents by Nicholas Ray
 * - UserNameUtils: Always strip subject namespace in canonical username. by Ammarpad
 * - Update specialPageAliases for Arabic (ar) and Egyptian Arabic (arz) by Meno25
 * - mediawiki.action.styles: Move file out of mediawiki.action/ folder  by Timo Tijhof
 * - filerepo: make FileDeleteForm use cancelAtomic instead of rollbackPrimaryChanges by Aaron Schulz
 * - revisiondelete: make RevDelList use cancelAtomic instead of rollbackPrimaryChanges by Aaron Schulz
 * - ApiSandbox: Fix case and styling of param flags by Ed Sanders
 * - build: Update eslint-config-wikimedia to 0.22.1 by Ed Sanders
 * - build: Update stylelint-config-wikimedia to 0.12.0 by Ed Sanders
 * - rdbms: Migrate $this->trxFname to TransactionManager by Amir Sarabadani
 * - Improve CleanupPreferences::deleteByWhere by Umherirrender
 * - htmlform: Replace some uses of isHidden to isDisabled by Func
 * - cond-state: Find field in current form when mismatched first time by Func
 * - Sync up with Parsoid parserTests files by Arlo Breault
 * - Revert "Add "resource" attribute to img tags"  by Arlo Breault
 * - resourceloader: Rename 'codex' to '@wikimedia/codex' by Roan Kattouw
 * - api: Check possible null on TitleFactory::makeTitleSafe for incontinue= by Umherirrender
 * - Fallback to parser-extlink-target instead of setting link-target by Arlo Breault
 * - Check if link-title-query is set by Arlo Breault
 * - Use link-title for manualthumb by Arlo Breault
 * - block: Pass int to explode and cast range in BlockUtils::validateTarget by Umherirrender
 * - block: Use local variable for null checks by Umherirrender
 * - Change return value of ParserOutput::getPageProperty when property is missing by C. Scott Ananian
 * - RevisionStore: Inline one-use condition in ::getPage by Umherirrender
 * - Revert "Refactor menu navigation construction" by Jon Robson
 * - resetPageRandom.php: Avoid undefined variable warning by Ammarpad
 * - Message: Fix return type/property doc by Ammarpad
 * - phpcs: Disable `Generic.Files.LineLength` for test files by Timo Tijhof
 * - Fix documentation of wfMessageFallback/Message::newFallbackSequence by Ammarpad
 * - Add template data to support TOC collapsible section arrows in Vector by bwang
 * - mw.postEdit: Document deprecated event by Ed Sanders
 * - ApiParse: Note that setting useskin might affect text content by Ed Sanders
 * - Remove public access to internal EditPage variables by DannyS712
 * - mediawiki.action.styles: Make action-info selector more specific by Timo Tijhof
 * - CommentParser: Treat known titles as always known for linking by Ammarpad
 * - Introduce SkinComponentTableOfContents by Clare Ming
 * - objectcache: deprecate BagOStuff incr and decr methods by Aaron Schulz
 * - Fix doc for custom-target-link by Arlo Breault
 * - Update Codex to v0.1.0-alpha.3 by Roan Kattouw
 * - IDatabase: Fix typos in fieldExists documentation by Bartosz Dziewoński
 * - Use MediaWikiTestCaseTrait::hideDeprecated instead of \suppressWarnings by C. Scott Ananian
 * - RELEASE-NOTES: Put Codex back by Roan Kattouw
 * - Show message fallback keys when using &uselang=qqx by Bartosz Dziewoński
 * - GlobalFunctions: make the wfArrayDiff2 comparator a local closure by Daimona Eaytoy
 * - Provide method to merge a ParserOutput into a ContentMetadataCollector by C. Scott Ananian
 * - Update ParserCache serialization test cases to use valid category keys by C. Scott Ananian
 * - foreign-resources: Remove vue-composition-api by Roan Kattouw
 * - Simplify ApiUserrights now that CentralAuth no longer extends it by Daimona Eaytoy
 * - DatabaseUpdater::applyPatch: Remove space before ... by Reedy
 * - rdbms: Fix parameter order to replaceLostConnection by Tim Starling
 * - mw.postEdit: Use mw.notify to display message by Ed Sanders
 * - Add @deprecated to EditPage::getCopywarn by Alexander Vorwerk
 * - Use language name in variants link id by xiplus
 * - EditPage: Parse wikitext in the usual way in the copyright message by Bartosz Dziewoński
 * - Highlight targeted elements in the info action output by MZMcBride
 * - upload: Migrate uploadstatus entry to MainObjectStash instead of db by Amir Sarabadani
 * - api-testing: Disable failing contributions count tests by Kosta Harlan
 * - Simplify DnsSrvDiscoverer interface by Dan Duvall
 * - resourceloader: Replace QUnit.fixurl with mocked no-cache instruction by Timo Tijhof
 * - rebuildLocalisationCache.php: Reuse $sockets variable without $pids by Timo Tijhof
 * - ParserOutputAccess: Add process cache within the service class by Amir Sarabadani
 * - rdbms: Move more code from Database to TransactionManager by Amir Sarabadani
 * - [Tests] Make sure wgLogos is empty array for SkinMustache test to pass by Jon Robson
 * - rebuildLocalisationCache.php: Show operation summary when threads > 1 by Ahmon Dancy
 * - Workaround for misdetection of some WebM files as audio by Brion Vibber
 * - Follow-up d84a3ecbed: Also add Codex to mobile target by James D. Forrester
 * - DeferredUpdates: Introduce $wgForceDeferredUpdatesPreSend  by daniel
 * - Add Ӷ and Ԥ to Abkhaz collation by Amir E. Aharoni
 * - Rephrase the message uploadtext by Amir E. Aharoni
 * - Remove deprecated LoadBalancer::openConnection method by Aaron Schulz
 * - Move action=info styling into `mediawiki.action.styles` module by MZMcBride
 * - Add Codex v0.1.0-alpha.2 by Roan Kattouw
 * - Fix bullets in `README.md` by MZMcBride
 * - Treat interwiki titles in as broken by Gergő Tisza
 * - ReverseChronologicalPager pages have list headers grouping by date by jdlrobson
 * - Refactor menu navigation construction by Jon Robson
 * - Introduce "web2017-polyfills" module by Eric Gardner
 * - HTMLForm: Add test for CSRF token check by Gergő Tisza
 * - rebuildLocalisationCache.php: Add --no-progress option by Ahmon Dancy
 * - api-testing: Run all jobs after edit in Search.js by Kosta Harlan
 * - api-testing: Run all jobs after edit in Watchlist.js by Kosta Harlan
 * - installer: Various tweaks for taint-check by Daimona Eaytoy
 * - Make runJobs.php die peacefully if the DB server goes away by Tim Starling
 * - Make Database::ping work if the connection was already lost by Tim Starling
 * - Throw an exception if the connection goes away by Tim Starling
 * - Add dropdown menu to "Tag filter" fields by Bartosz Dziewoński
 * - resourceloader: Remove Xml::encodeJsCall from test case by Timo Tijhof
 * - Revert "api-testing: Skip flaky bot edit revert test" by Hashar

Vendor

 * - Bump wikimedia/parsoid to 0.15.0-a21    by Subramanya Sastry
 * - Explicitly pin react/promise by Reedy

AbuseFilter

 * - Introduce ActionSpecifier by Daimona Eaytoy

AdvancedSearch

 * - [selenium] Streamline setup for namespace options by WMDE-Fisch

Babel

 * - Code cleanup by Reedy
 * - Namespace 3 more classes by Reedy

CirrusSearch

 * - Disable wgVectorSkinMigrationMode during browser tests by David Causse
 * - Only send archive deletes to private clusters by Erik Bernhardson
 * - Re-add option to run ElasticaWrite in-process by Erik Bernhardson

Cite

 * - Remove hack that hides ref errors unnecessarily  by Bartosz Dziewoński

ContentTranslation

 * - Render the templates in a restored translation by Santhosh Thottingal
 * - Fix: Template edits are not restored when translation resumed by Santhosh Thottingal
 * - CX: Rename Database class to LoadBalancer and register it as service by NikG
 * - styles: Use class 'cx-(selected|bounce)' not 'selected' or 'bounce' by James D. Forrester
 * - styles: Use class 'cx-suggestion-*' not 'suggestion-*' by James D. Forrester
 * - Add dir attribute to suggested article titles by Santhosh Thottingal

DiscussionTools

 * - CommentParser: Inject a forgotten service by Bartosz Dziewoński
 * - CommentParser: Fix a small use of global state by Bartosz Dziewoński
 * - Split off ThreadItemSet from CommentParser by Bartosz Dziewoński
 * - CommentParser: Remove unused method getThreadItemsByName by Bartosz Dziewoński
 * - Change CommentParser into a service by Bartosz Dziewoński
 * - Split Data class into ResourceLoaderData and LanguageData by Bartosz Dziewoński
 * - Various code quality tweaks by Bartosz Dziewoński
 * - ApiDiscussionToolsEdit: Pass useskin & mobileformat to ApiVisualEditorEdit by Ed Sanders
 * - Don't autosubscribe flagged bots by David Lynch

DonationInterface

 * - Email Preference Email Edit by wfan
 * - Remove text-transform: capitalize from header by pcoombe
 * - Fix &debugMonthlyConvert flag by Elliott Eggleston

FileImporter

 * - Implement check for browser's unicode support by WMDE-Fisch

Flow

 * - build: Update eslint-config-wikimedia to 0.22.1 by Ed Sanders

GeoCrumbs

 * - ParserOutput::getPageProperty now returns null when key is missing. by C. Scott Ananian
 * - Update uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian

GlobalBlocking

 * - Use primary key and limit for purge of expired blocks by Umherirrender

GrowthExperiments

 * - Mentee overview: Only show users with less than 500 edits by default by Martin Urbanec
 * - Mentee overview: Persist user's last filter choice by Martin Urbanec
 * - Mentor: Rename getMentorUser to getUserIdentity by Martin Urbanec
 * - Newcomer tasks: revert to showing a single action to open the Suggested edits by Sergio Gimeno
 * - Drop usage of MobileFrontend MobileMenu hook in favor of core hooks by Jon Robson
 * - Add custom ORES topic clone for Argentina campaign by Gergő Tisza
 * - Use 'new static' for unserializing abstract types by Gergő Tisza
 * - Remove unneeded SearchStrategy dependency by Gergő Tisza
 * - Ask Help: Parse wikimedia-copyrightwarning on the server side by MewOphaswongse
 * - Homepage: move impact module to main group when suggested edits is disabled by MewOphaswongse
 * - Structured tasks: Show confirmation dialog when leaving suggestions mode regardless of whether the user has made any edits by MewOphaswongse
 * - Create AskHelpPanel class by MewOphaswongse
 * - Add copyright warning to Ask Help panel by MewOphaswongse

ImageMap

 * - Re-enable tests that were disabled to break circular dep by Arlo Breault
 * - Revert "Add "resource" attribute to img tags" by Arlo Breault

IPInfo

 * - Display access log lines on Special:Log by Thalia
 * - Log the access level used when a user viewed IP information by Thalia
 * - Make LoggerFactory::getLogger public by Thalia
 * - Add RevisionHandler access logging by STran
 * - Remove an unnecessary space from a message by Amir E. Aharoni
 * - Check actor ID in Logger::debouncedLog by Thalia
 * - Introduce LoggerFactory service for access logging by Thalia

JsonConfig

 * - ParserOutput::getPageProperty now returns null when key is missing. by C. Scott Ananian
 * - Update uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian

Linter

 * - SpecialLintErrors: Make code more resilient to bad input by Ammarpad

MediaSearch

 * - Use web2017-polyfills module by Eric Gardner

MobileFrontend

 * - Follow-up I6bcb23210: Remove unused 'mainpage' param by Ed Sanders
 * - [doc only] Make capitalization of `findTagline` consistent by C. Scott Ananian
 * - ParserOutput::getPageProperty now returns null when key is missing. by C. Scott Ananian
 * - Update uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian
 * - build: Update 'svgo' to latest v2.8.0 by Volker E

OATHAuth

 * - Convert OATHAuth to abstract schema by Reedy
 * - Add module types to log entries by Reedy
 * - Add some greppable usage of messages by Reedy
 * - DisablePresentationModel: Remove duplicate getExtraParam call by Reedy
 * - Send a notification when 2FA is disabled  by Kunal Mehta
 * - Pass context into HTMLForm by Lucas Werkmeister
 * - Require OATHAuth for membership in specified user groups by Kunal Mehta

PageImages

 * - ParserOutput::getPageProperty now returns null when key is missing. by C. Scott Ananian
 * - Update uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian

PageTriage

 * - ParserOutput::getPageProperty now returns null when key is missing. by C. Scott Ananian
 * - Update uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian
 * - Replace deprecated User::newFromIdentity with UserFactory by Umherirrender

ProofreadPage

 * - Fix pagination by transcription status on Special:IndexPages by Candalua
 * - Allow to align page number in pagelist at right by Sébastien Santoro
 * - Fix page number alignement for TopPanel by DorianWinty

Score

 * - ParserOutput::getPageProperty now returns null when key is missing. by C. Scott Ananian
 * - Update uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian

SecurePoll

 * - Change the default sort of election pagers to descending in time by Huji
 * - Clean up tests by Tim Starling
 * - Allowed to specify time on Special:SecurePoll/create & edit by Base

TemplateData

 * - ParserOutput::getPageProperty now returns null when key is missing. by C. Scott Ananian
 * - Update uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian

TimedMediaHandler

 * - Sync up with Parsoid timedMediaHandlerParserTests.txt by Arlo Breault
 * - Manualthumb now sets link-title instead of link-url by Arlo Breault
 * - Add a 'create captions' option to the subtitle menu by Derk-Jan Hartman

Translate

 * - MessageGroupStats: Add placeholder text for the entity selector by Abijeet
 * - 'translate-manage-import-ignore' message for Special:ImportTranslations by Gee
 * - build: Update eslint-config-wikimedia to 0.22.1 by Ed Sanders
 * - SearchTranslationsSpecialPage: Add strict types and other improvements by Abijeet
 * - Rename SpecialSearchTranslations to SearchTranslationsSpecialPage by Abijeet

UniversalLanguageSelector

 * - Update jquery.ime from upstream by Amir E. Aharoni

VisualEditor

 * - Log whenever browser plugin spam is detected by Ed Sanders
 * - Add and fix default values in parameter documentation by Thiemo Kreuz
 * - Use .bind syntax where it makes code more readable by Thiemo Kreuz
 * - Remove not needed `self = this` indirections by Thiemo Kreuz
 * - build: Update stylelint-config-wikimedia to 0.12.1 by Ed Sanders
 * - MWEditSummaryWidget: Handle multi-line comments by Lucas Werkmeister
 * - Don't suppress teardown prompt when pressing escape by Ed Sanders
 * - Move methods from DesktopArticleTraget to ArticleTarget by Ed Sanders
 * - ApiVisualEditorEdit: Pass useskin & mobileformat to ApiParse by Ed Sanders
 * - DesktopArticleTarget.init: Make getInitialEditMode re-usable by Ed Sanders
 * - DesktopArticleTarget.init: Handle popState target reactivation properly by Ed Sanders
 * - Always scroll to top when loading VE source mode by Ed Sanders
 * - DesktopArticleTarget.init: Only bind event listener once by Ed Sanders
 * - selenium: Wait for VisualEditor to load by Željko Filipin
 * - tests: Mock wgVisualEditor instead of relying on SpecialPage value by Timo Tijhof
 * - Improve smooth scroll to section behaviour by Ed Sanders
 * - Remove 'Hook' from new hook's method name by Ed Sanders

WebAuthn

 * - Remove no longer necessary phan suppressions by Alexander Vorwerk
 * - Pass context into OATHAuthOOUIHTMLForm by Lucas Werkmeister

Wikibase

 * - ParserOutput::getPageProperty now returns null when key is missing. by C. Scott Ananian
 * - Update new uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian
 * - Client: Add "unexpectedUnconnectedPage" page prop by Marius Hoch
 * - Update uses of ParserOutput::getPageProperty to handle new return value by C. Scott Ananian
 * - SpecialUnconnectedPages: Remove cruft, add basic integration test by Marius Hoch
 * - Don't re-use parser state in Kartographer integration by Marius Hoch
 * - Update Termbox (fix for non-view actions) by Lucas Werkmeister

WikibaseLexeme

 * - Update misleading comment about data validation by Lucas Werkmeister
 * - Add npm command to bump resources/special/new-lexeme by Lucas Werkmeister
 * - Add new-lexeme-special-page to Special:NewLexemeAlpha by Lucas Werkmeister

WikiLambda

 * - Replace string-based ZID object property access with the constants by James D. Forrester
 * - Depend on codex (without any usage yet) by James D. Forrester
 * - Fix canonicalization and normalization methods by gengh
 * - tests: Check that each language code known to MW has a ZNaturalLanguage by James D. Forrester
 * - Update function-schemata sub-module to HEAD (9930c82)   by James D. Forrester
 * - Update function-schemata sub-module to HEAD (bd3c52f) by James D. Forrester
 * - Provide fallback for function editor  by Simone This Dot
 * - Fix Special:CreateZObject type broken by Simone This Dot
 * - Chip component - Scrollbars not visible on Windows by dmartin
 * - Replace default use of ZList with ZGenericList by gengh
 * - ZLangRegistryTest: Cover the one last edge cases to get to 100% coverage by James D. Forrester
 * - Add a feature flag for the parser function by James D. Forrester
 * - Example function call: user-defined function which returns a type. by apine
 * - add hover to tooltip component  by jkieserman
 * - ZObjectUtils::canonicalizeZRecord: Don't use z1k1 as a variable name by James D. Forrester
 * - Switch string uses of Z507 to ZErrorTypeRegistry constant by James D. Forrester
 * - Switch string uses of Z22, Z22K1, and Z22K2 to new constants by James D. Forrester
 * - Switch most string uses of ZIDs and keys to constants by James D. Forrester

WikimediaEvents

 * - Add 'error.visualeditor' topic by Ed Sanders

WikimediaIncubator

 * - Rephrase some wizard messages by Amir E. Aharoni

WikimediaMaintenance

 * - Update OATHAuth schema path by Reedy
 * - Stop excluding the 'wikipedia' interwiki prefix by Alexander Vorwerk

MinervaNeue

 * - Allow msg key to be overridable by Jon Robson
 * - Remove SkinMinervaNeue alias by Reedy
 * - selenium: Delete tests disabled for more than 1 year by Željko Filipin

Timeless

 * - Consistent spelling of "User page" by Amir E. Aharoni

Vector

 * - Move table of contents code to SkinVector22 by Jon Robson
 * - Dynamically expand/collapse sub-sections in ToC based on # of headings by Nicholas Ray
 * - Fix long titles with wbr tags in sticky header by Clare Ming
 * - Sticky header dropdown should not contain gadgets in personal menu by Jon Robson
 * - Offset the TableOfContents `top` property only when the sticky header is shown by Nicholas Ray
 * - Toggle ToC sections when clicking toggle button by bwang
 * - Add fetch tests from WVUI by bwang
 * - Revert "Add fetch tests from WVUI" by Bernard Wang
 * - Collapse ToC by default & expand sections when clicking section headings by Jan Drewniak

VisualEditor/VisualEditor

 * - Always use clipboard paste data if "important elements" have been dropped by Ed Sanders
 * - afterPaste: Add 'figure' to importantElement list by Ed Sanders
 * - ve.ce.Surface test: Add test for special image paste handling codepath by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralAuth
 * CentralNotice
 * CharInsert
 * CheckUser
 * ChessBrowser
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * CodeReview
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * DynamicSidebar
 * Echo
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FlaggedRevs
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoData
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * Kartographer
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaMessages
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
252 Changes in 43 repos by 71 authors