MediaWiki 1.40/wmf.14/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.14 by trainbranchbot
 * - Don't enable logging linter data in the /lint/ endpoint by Arlo Breault
 * - Parsoid: Enable lint data and parser cache together by daniel
 * - Remove obsolete browser support checks for HTML5 History API by Bartosz Dziewoński
 * - Log linter data while parsing full pages by Arlo Breault
 * - Special:Contributions: Let the tag filter be inverted  by dvrandecic
 * - Revert "REST: collect metrics on endpoint access" by Daniel Kinzler
 * - ParsoidOutputAccess: generate dummy output for unsupported models. by daniel
 * - rdbms: improve Database::queryMulti error handling by Aaron Schulz
 * - OutputPage: Remove unused dynamic property ParserOptions->isBogus by Umherirrender
 * - mediawiki.feedback: Remove unused localisation messages by Bartosz Dziewoński
 * - mediawiki.feedback: Remove unused 'bugsListLink' config option by Bartosz Dziewoński
 * - gitignore: add /images/phonos-render for Extension:Phonos by MusikAnimal
 * - Optimize mobile prefs modals by jsn
 * - Title.js: Rename Title.getName[Text] by Gergő Tisza
 * - Rest: Migrate most of db queries to SelectQueryBuilder by Amir Sarabadani
 * - docs: Improve docs around SpecialPage_initListHook by Umherirrender
 * - Cleanup: Remove some tiny private methods in favor of inlining the code by DannyS712
 * - uuid\GlobalIdGenerator: Check if getmyuid exists by Umherirrender
 * - thumb.php: Replace deprecated MWHttpRequest::factory by Umherirrender
 * - Clean up redundant array manipulation by Matěj Suchánek
 * - LanguageVariantConverter: Add fallback to core LanguageConverter by Abijeet
 * - Replace comments about deprecated Linker::commentBlock/formatComment by Umherirrender
 * - Parser: Allow dynamic properties on PHP 8.2   by Reedy
 * - LanguageConverter.php: Add missing code tly (Talysh language) by Winston Sung
 * - pager: Fix navigations when date range is set by Func
 * - HistoryPager: Prettify URL params of form submissions without JS by Bartosz Dziewoński
 * - ParsoidHandler: test wt2html with old revision by daniel
 * - linker: Fix broken specialLink when combining subpage with querystring by Timo Tijhof
 * - selenium: Do not run some tests when targeting Beta by Željko Filipin
 * - selenium: Do not run some tests when targeting Beta by Željko Filipin
 * - Reorg: Move MagicWord related files to under parser/ by Amir Sarabadani
 * - Reorg: Move PageProps to page/ and namespace it to MediaWiki\Page\ by Amir Sarabadani
 * - Fix remaining link numeric ids in LinkHolderArrayTest by thiemowmde
 * - Fix bogus test setup in LinkHolderArrayTest by thiemowmde
 * - Fix bogus non-numeric namespaces in LinkHolderArrayTest by thiemowmde
 * - Fix bogus nextLinkID in LinkHolderArrayIntegrationTest by thiemowmde
 * - Followup to 5cb38845: Don't drop revid info by Subramanya Sastry
 * - Skin: Gadgets should have a reliable way to add content to the subtitle by Jon Robson
 * - ParsoidOutputAccess: only cache output for wikitext by daniel
 * - Login: Add silently removed modules in mobile by Jon Robson
 * - tests: Remove unnecessary override to use pig-latin by Abijeet
 * - Use SelectQueryBuilder in BacklinkCache by Lucas Werkmeister
 * - File pages: Add mobile targets to modules that are silently being removed by Jon Robson
 * - Reorg: Move DummyLinker and Linker to linker/ by Amir Sarabadani
 * - Prevent Category: entries from overflowing by punit
 * - Make parsoid accept all content models. by daniel
 * - Throw a 400 when asking parsoid to render an unknown content model. by daniel
 * - Linker: Add ability for Special page links to parse subpage and params by James D. Forrester
 * - Allow uses of HTMLForm to specify a minlength for text based inputs by Dreamy Jazz
 * - resourceloader: assume Console API is always available by DannyS712
 * - selenium: Skip flaky test by Željko Filipin
 * - Fix typo (hmtl) to html where necessary by Derick Alangi
 * - Update OOUI to v0.46.0        by James D. Forrester
 * - Fix iw-widget/footer overlap by Matthias Mullie
 * - Allow jquery.tipsy on mobile by Jon Robson
 * - DatabaseBlock: don't save parent block id as 0 by DannyS712
 * - SiteConfig: Remove commented out dead code by Subramanya Sastry
 * - HtmlOutputRendererHelper: fix semantics of getRevisionId by daniel
 * - Bump api-testing to 1.5.1 by daniel
 * - Linker: Add direct tests for makeSpecial ahead of changes by James D. Forrester
 * - RELEASE-NOTES-1.39: Fold into HISTORY, 1.39.0 is released by James D. Forrester
 * - Use services in WikitextContentHandler by daniel
 * - foreign-resources.yaml: Add codex-design-tokens to foreign resources by Eric Gardner
 * - Update Codex from v0.3.0 to v0.4.0             by Eric Gardner
 * - Revert "resourceloader: Raise severity of targets violation to WARNING" by Jdlrobson
 * - jquery.tablesorter: Add test case for dates with the ordinal indicator º by Sakretsu
 * - PageContentHelper: `checkAccess` should use `isAccessible` by daniel
 * - HtmlOutputRendererHelper: fix etag tests by daniel
 * - REST: collect metrics on endpoint access by daniel
 * - PageUpdater: fix render reason by daniel
 * - Revert change from I7939e85aca5edf9b8c391b9e3167ac9634708fbf by Vadim Kovalenko
 * - Revert "resourceloader: Modern ES6 code should be forced to target mobile" by Kosta Harlan
 * - LogEventsList: Move the 'pattern' field before the 'extra' field by Func
 * - HtmlOutputRendererHelper: track render reason by daniel
 * - Remove DeletePage::deletionWasScheduled by Matěj Suchánek
 * - Remove ExternalStoreDB::getMaster by Matěj Suchánek
 * - Suppress RecentChange::doMarkPatrolled when autopatrol is requested by Matěj Suchánek
 * - Protect HistoryBlob storage against malicious class injection by Tim Starling
 * - Always go to the source editor when editing. by dwalden
 * - selenium: Run most tests targeting the beta cluster by Željko Filipin
 * - Add migrateExternallinks maintenance script by Amir Sarabadani
 * - selenium: Delete automationProtocol setting by Željko Filipin
 * - Add e2e test for fetching a message via the page endpoint by daniel
 * - Handle bad redirect target for personally identifiable special pages by Umherirrender
 * - ResourceLoader: Add 1min grace via stale-while-revalidate Cache-Control by Timo Tijhof

Vendor

 * - Bump wikimedia/parsoid to 0.17.0-a9  by Subramanya Sastry
 * - Update OOUI to v0.46.0 by James D. Forrester

AbuseFilter

 * - pager: Avoid unneeded database connection by Umherirrender
 * - Replace deprecated Linker::commentBlock by Umherirrender

ArticlePlaceholder

 * - Replace deprecated MWHttpRequest::factory by Umherirrender

CampaignEvents

 * - selenium: Remove unnecessary await by Vaughn Walters
 * - selenium: Renaming a function by Vaughn Walters

CentralAuth

 * - Replace deprecated Linker::formatLinksInComment by Umherirrender

CheckUser

 * - Replace deprecated Linker::commentBlock by Umherirrender

CirrusSearch

 * - Correct classification of circuit_breaking_exception by Erik Bernhardson

Cite

 * - Parsoid CSS: Add (script-generated) language-specific counters by Subramanya Sastry
 * - Parsoid CSS: Don't make enwiki's default the default for all languages by Subramanya Sastry

Citoid

 * - Switch to reuse panel on low numeric inputs by David Lynch

ContentTranslation

 * - CX3 Build 0.2.0+20221212     by Santhosh Thottingal
 * - Remove translation entry point from sticky header temporarily by Santhosh Thottingal
 * - Avoid adding desktop modules on mobile by Jon Robson
 * - Load ext.cx.eventlogging.campaigns on mobile. by Jon Robson
 * - SX: Fix loading indicator for block templates by NikG
 * - CX View page link: Escape hash for section title in target URL by NikG
 * - SX: Supported language codes for language selector by wangombe
 * - Add event logging: editor_segment_add by wangombe

DiscussionTools

 * - Deemphasize "Learn more about this page" link by Bartosz Dziewoński
 * - Add 'collapsible-headings-collapsed' body class  by Ed Sanders

DonationInterface

 * - Add Skeleton for Dlocal by wfan
 * - Update SmashPig to v0.8.3.12 and own version number by cstone
 * - Update Monthly Convert amounts for FY2223 en6C by Andrew Green
 * - Add a few more missing PayPal countries by Elliott Eggleston

Elastica

 * - Don't fail connection after CURLE_PARTIAL_FILE response by Erik Bernhardson

FileImporter

 * - Replace comment about deprecated Linker::formatLinksInComment by Umherirrender

GrowthExperiments

 * - NewImpact: Fix event.mode in HomepageModule schema by Gergő Tisza
 * - Fix titles with dots in article list by Gergő Tisza
 * - UserImpact: Lower staleness check to 1 day by Kosta Harlan
 * - Fix UserDatabaseHelper::hasMainspaceEdits by Gergő Tisza
 * - NewImpact: Adjust hasMainspaceEditsCache check by Kosta Harlan
 * - User impact: fix small font in desktop by Sergio Gimeno
 * - Instrumentation: Monitor navigation duration, transferSize, first paint by Kosta Harlan
 * - NewImpact: Show "999+" when we could not count edits/thanks by Gergő Tisza
 * - User impact: Do not show impact module if user has no mainspace edits by Sergio Gimeno
 * - UserImpactFormatter: Redefine recent edits without pageviews by Gergő Tisza
 * - Special impact: Export user impact data from server-side by Sergio Gimeno
 * - GrowthExperiments.LocalSettings: Only override impact services in CI by Kosta Harlan

IPInfo

 * - Minor code cleanup by Reedy

Kartographer

 * - Sent full server URL in the `domain` parameter by Adam Wight
 * - Make ExternalDataLoaderTest a MediaWiki unit test by thiemowmde
 * - Make TagHandlerTest a MediaWikiUnitTestCase by thiemowmde
 * - Simplify "options callback" code in KartographerTest by thiemowmde
 * - Introduce tiny ParserFunctionTracker service by thiemowmde

Linter

 * - maintenance script to run linter extension namespace migration by sbailey

Math

 * - Replace comment about deprecated Http::post by Umherirrender
 * - Update positive regression tests by Moritz Schubotz (physikerwelt)
 * - Enable popups for annotated math formulae by AndreG-P

MobileFrontend

 * - Always collapse sections when 'collapsible-headings-collapsed' body class present  by Ed Sanders
 * - Reinitialize edit links after page content is reloaded by Bartosz Dziewoński
 * - Remove code relating to lazy reference section handling by Ed Sanders

NavigationTiming

 * - Add Largest Contentful Paint (LCP) by Peter Hedenskog

OAuth

 * - Consumer: Fix PHP 8.1 warning by Lucas Werkmeister
 * - ConsumerAcceptance: Fix name of $oauth_version property by Reedy

PagedTiffHandler

 * - build: Remove unneeded phan suppression by Umherirrender

PageTriage

 * - Convert LoadExtensionSchemaUpdates to HookHandler by Kosta Harlan
 * - Convert ListDefinedTags, ChangeTagsListActive, ChangeTagsAllowedAdd to Hook Handler by Kosta Harlan
 * - Add eslintrc rule to block .done/.fail usages by Kosta Harlan
 * - eslint: Fail on warnings by Kosta Harlan
 * - Fix double punctuation bug by Novem Linguae
 * - Remove duplicate tags from ::doOnSchemaUpdatesPopulatePageTriageTags by Umherirrender
 * - monitoring: Track timing for compileMetadata method by Kosta Harlan
 * - monitoring: Track timings for ArticleCompileProcess classes by Kosta Harlan
 * - cleanup: Remove unused registerArticle method by Kosta Harlan
 * - cleanup: Fix ES6 warnings/errors  by Kosta Harlan
 * - cleanup: Move jquery.tipoff to external directory  by Kosta Harlan
 * - Removing a phpcs rule exclusion by MPGuy2824
 * - [hygiene] Clean up checkReferenceTag method by Kosta Harlan
 * - Move unused cron job to maintenance folder by Novem Linguae
 * - Enable JavaScript ES6 by NovemLinguae
 * - Stop deletion tagging if certain templates are found on page by MPGuy2824
 * - cleanup: Move tools maintenance scripts into maintenance directory by Kosta Harlan
 * - articleInfo.js: general cleanup and simplifications by DannyS712
 * - PageTriageUtil: Use StatusValue for return type by Kosta Harlan

Phonos

 * - statsd: normalise metric names by TheresNoTime
 * - GoogleEngine: don't remove parentheses from IPA input by MusikAnimal
 * - i18n: simplify message about empty files  by MusikAnimal
 * - Phonos: require 'ipa', 'file' or 'wikibase' params by MusikAnimal

Popups

 * - Child elements also trigger previews by Jon Robson
 * - Avoid syntax error on hover in grade C browsers by Jon Robson

ProofreadPage

 * - Normalize URLs before exposing them via the Openseadragon API by Sohom
 * - Allow multiple toolbar in EditInSequence by Sohom

ReadingLists

 * - build: Run eslint and stylelint for vue files by Umherirrender

SearchVue

 * - Temporary hide tutorial popup for mobile wiki by Vadim Kovalenko
 * - Opening and scrolling quick view in a fixed window. by Simone Cuomo
 * - Create Rest API for SearchVue Commons media data by Simone Cuomo
 * - Loading content in Search Previews by Simone Cuomo
 * - Update the position and copy in the desktop tutorial for search previews by Vadim Kovalenko
 * - Create Rest API for SearchVue article data by Simone Cuomo
 * - Search Preview: Commons images show on incorrect article on slow connection by Vadim Kovalenko

SecurePoll

 * - Make Voter::newFromID and Context::getVoter expose DB index by Reedy
 * - ListPager: Only call Voter::newFromId if return value is needed by Reedy
 * - STVTallierTest: Skip testFinishTally on PHP >= 8.0 by Reedy
 * - schema: Convert Unique Index to Primary Key on securepoll_msgs by Umherirrender

StopForumSpam

 * - Hooks: Collapse nested ifs by Reedy

Thanks

 * - Bump required MediaWiki version to 1.40.0 by Thalia

TitleBlacklist

 * - Various code style cleanups by Thiemo Kreuz

Translate

 * - Load VisualEditor module unconditionally by Bartosz Dziewoński
 * - Replace comment about deprecated Http::get by Umherirrender
 * - MessageGroupConfigurationParser: Fix path of the base schema file by Abijeet
 * - Use Zest's getElementsByTagName by wangombe

UniversalLanguageSelector

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

VisualEditor

 * - Remove obsolete browser support checks for HTML5 History API by Bartosz Dziewoński
 * - ve.ui.MWPopupTool: Update usage of 'mediawiki.feedback' by Bartosz Dziewoński
 * - Try/catch around mw.Uri when decoding parsoid resources by David Lynch
 * - selenium: Decrease logLevel from info to error by Željko Filipin
 * - Update VE core submodule to master (1b0ea4928) by Bartosz Dziewoński
 * - Revert "selenium: Do not retry tests" by Kosta Harlan
 * - selenium: Toolbar should open insert menu by Esther Akinloose
 * - Don't index VE edit pages by Bartosz Dziewoński
 * - Always sanitize href attribute in UI by Ed Sanders
 * - Always sanitize href attribute in CE nodes by Ed Sanders

Wikibase

 * - REST: Use requested fields in ItemData by sihe
 * - REST: Fix tests referring to non-existent class by Jakob Warkotsch
 * - Support loading more results in Vector search client by Michael Große
 * - REST: Move JsonPatchValidator to validation namespace by Jakob Warkotsch
 * - REST: Refactor return in switch statement by Jakob Warkotsch
 * - Add targets to wikibase.vector.searchClient module by Lucas Werkmeister
 * - Make wikibase.client.init module target mobile by Jon Robson
 * - REST: Fix onion layer violation in deserializer by Ollie Shotton

WikibaseLexeme

 * - Unskip Form browser tests that used to be flaky and fix flakyness by Michael Große

WikibaseQualityConstraints

 * - Format language constraint parameters in user language by Lucas Werkmeister
 * - Use ViolationMessageRendererFactory in SpecialConstraintReport by Lucas Werkmeister
 * - Move ViolationMessageRendererFactory to service container by Lucas Werkmeister
 * - Move MessageLocalizer in ViolationMessageRendererFactory by Lucas Werkmeister
 * - Add strict types to ViolationMessageRenderer by Lucas Werkmeister
 * - Inject LanguageNameUtils into ViolationMessageRenderer(Factory)  by Lucas Werkmeister
 * - Simplify MultilingualTextViolationMessageRenderer by Lucas Werkmeister

WikiLambda

 * - Fix routing and align vue route with wikimedia routing by temitope adesoji
 * - build: Upgrade Codex from 0.3.0 to 0.4.0 by Julia Kieserman
 * - Update doc to reflect error type now being returned. by EWright
 * - tests: ApiPerformTest's error-causing test now throws a Z518 by James D. Forrester
 * - Update function-schemata sub-module to HEAD (a363827)    by James D. Forrester
 * - ZObjectFactory: Allow inline ZTypes in Benjamin arrays by James D. Forrester
 * - Hide the "add input" button on the Function Editor if the user does not by ddw
 * - In ZString use the onInput event rather than the onChange event - this by ddw
 * - Do not update zObject with an event object by Julia Kieserman
 * - Break out edge cases from the main EditFunction and CreateNewFunction by ddw
 * - Fix z-object selector to allow initialselectionlabel change by adesoji
 * - added resolver types and disallowed root types to EXCLUDED_Z_TYPES by adesoji

WikimediaMaintenance

 * - createExtensionTables: Add extension GeoData by Stang

MinervaNeue

 * - Display correct numbers on the combined notification badge  by Bartosz Dziewoński
 * - selenium: Skip flaky test by Željko Filipin
 * - selenium: Delete failing test by Željko Filipin

Vector

 * - Templates: Reorganize pinned containers by Jon Robson
 * - Remove TOC AB test code by bwang
 * - Clean up code handling cached HTML for 3 patches by bwang
 * - Follow-up to c1ebfd58, retrieve first value of array_splice by Jan Drewniak
 * - Simplify grid styles now that grid is no longer needed to position ToC by bwang
 * - Remove feature name comment in pinnableElement.js by Nicholas Ray
 * - Set default pinnable state for page tools by Nicholas Ray
 * - MainMenu: Print menu now displays in main menu by Jon Robson
 * - Move limitedWidthToggle.js and features.js to skins.vector.es6 module by Nicholas Ray
 * - Page tools: Main menu is a dropdown by Jon Robson
 * - Introduce UserLinks and LanguageButton components by Jon Robson
 * - Setup placeholder components to guide future development by Jon Robson
 * - search: Remove unused generateUrl function by Lucas Werkmeister
 * - search: Optionally support load-more events by Michael Große
 * - search: Adapt to Wikibase instead of hard-coding wikidatawiki by Lucas Werkmeister

VisualEditor/VisualEditor

 * - Update OOUI to v0.46.0 by James D. Forrester

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Echo
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FlaggedRevs
 * Flow
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * MediaModeration
 * MediaSearch
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMessages
 * Wikisource
 * Wikistories
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
249 Changes in 45 repos by 76 authors