MediaWiki 1.40/wmf.3/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.3 by trainbranchbot
 * - BadTitleError: Enable 1 hour CDN cache for this error response by Alexander Vorwerk
 * - Drop 1.32 and 1.33 db updates by Amir Sarabadani
 * - Remove JobQueueGroup::singleton/destroySingletons by Umherirrender
 * - Drop 1.31 db updates by Amir Sarabadani
 * - Introduce HtmlInputTransformHelper by daniel
 * - Sync up with Parsoid parserTests.txt by Isabelle Hurbain-Palatin
 * - TransformHandler: add test for variant conversion by daniel
 * - Fix `parse` and `getParserOutput` interfaces by msantos
 * - Add PageBundleParserOutputConverter by Abijeet
 * - Add fallback languages for Southern Sámi by Jon Harald Søby
 * - SpecialChangeEmail: Minor cleanup by Reedy
 * - SpecialChangeEmail: Set default for returntoquery by Reedy
 * - mediawiki.util: Add documentation to addPortletLink method by Jon Robson
 * - tests: Use MediaWikiIntegrationTestCase::editPage for edits by Umherirrender
 * - Remove hard-deprecated wfReadOnly/wfReadOnlyReason by Umherirrender
 * - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender
 * - Create an HTMLForm field for selecting a timezone by Daimona Eaytoy
 * - BotPasswordSessionProviderTest: Do not set MW_API by Gergő Tisza
 * - Revert "composer.json: Pin phpunit to 8.5.28" by Lucas Werkmeister (WMDE)
 * - mediawiki.ui: Remove obsolete `border-width` and `…-styles` variables by Volker E
 * - rdbms: improve LoadBalancer connection pool reuse by Aaron Schulz
 * - In DatabasePostgres, handle null database as in MySQL by Tim Starling
 * - Linker::generateTOC: distinguish between $anchor and $linkAnchor by C. Scott Ananian
 * - mediawiki.page.ready/ready.js: Fix eslint issue with jsdoc block by C. Scott Ananian
 * - Skins: Remove button logic by Jon Robson
 * - HTMLTransform: do not presume wikitext by daniel
 * - Skins: Reverse deprecation of methods deprecated in 1.35 by Jon Robson
 * - mediawiki.ui: Update hover background color of quiet icon buttons by Volker E
 * - Update docs for HTMLFormField::validate to permit all data types by Sam Wilson
 * - Unify no-arg and 1-arg forms of and friends  by C. Scott Ananian
 * - CoreMagicVariables/CoreParserFunctions: unify revisiontimestamp & etc by C. Scott Ananian
 * - specials: Remove unused $wgLang from SpecialEditWatchlist by Umherirrender
 * - Remove unneeded initalize of local variables by Umherirrender
 * - Remove unused key variable from foreach loops by Umherirrender
 * - Change subpages element from to  by Jan Drewniak
 * - MediaWikiIntegrationTestCase: Add redirect table to list of tables to truncate by Kosta Harlan
 * - Make private deprecated public properties of Parser  by C. Scott Ananian
 * - Unify the "magic variable" and "parser function" form of several built-ins by C. Scott Ananian
 * - Update justinrainbow/json-schema to 5.2.12 by Alexander Vorwerk
 * - Remove unused local variables by Umherirrender
 * - Update symfony/yaml to 5.4.12 by Alexander Vorwerk
 * - objectcache: Demonstrate $cache param in makeMultiKeys examples by Timo Tijhof
 * - Remove meaningless "..." tooltip from jQuery spinner module by Thiemo Kreuz
 * - Simplify timezone-related code for user preferences by Daimona Eaytoy

Vendor

 * - Update justinrainbow/json-schema to 5.2.12 by Alexander Vorwerk
 * - Update guzzlehttp/* by Alexander Vorwerk
 * - Update symfony/yaml to 5.4.12 by Alexander Vorwerk

ApiFeatureUsage

 * - Stop using Elastica::Type and set the target indices by David Causse

CampaignEvents

 * - Update schema for private registration by Daimona Eaytoy
 * - Make ListOrganizersHandler return data for user page links by Daimona Eaytoy
 * - Implement basic pagination for organizer lists by Daimona Eaytoy
 * - Change storage of organizer roles  by Daimona Eaytoy
 * - Add an abstraction for the ce_address table by Daimona Eaytoy

CentralNotice

 * - Remove unused variables by Adam Wight
 * - Detect empty list of countries or regions by Adam Wight
 * - HTMLCentralNoticeBannerMessage: Do not use mParams in constructor by Umherirrender
 * - Replace getNativeData to getText for CentralNotice by russ-rogovetz
 * - Replace deprecated loadData method of HTMLForm by Func
 * - ChoiceDataProvider: Remove compat code for 1.27 by Umherirrender
 * - Replace use of deprecated $.debounce with mw.util.debounce by James D. Forrester
 * - build: Disable phan option scalar_implicit_cast and make pass by Umherirrender
 * - Remove usage of Translate RevTag class by Abijeet
 * - Convert to abstract schema by Umherirrender
 * - schema: Move inital inserts from sql file to extension update by Umherirrender
 * - Standardise type for timestamp columns by Umherirrender
 * - schema: Move all sql files to own folder by Umherirrender
 * - Bump minimum required version for upgrade to 1.31 by Umherirrender
 * - Simplify CentralNotice::sanitizeSearchTerms implementation by Thiemo Kreuz

CheckUser

 * - Wrap CheckUserLog styles in .mw-special-CheckUserLog by dreamyjazz
 * - Ensure the limit check is run properly on Special:CheckUser by dreamyjazz

CirrusSearch

 * - Remove comma splice from a message by Amir E. Aharoni
 * - deepcat: Improve error message on timeout by Erik Bernhardson

cldr

 * - Code hardening: add additional validation for language codes by sbassett

ContentTranslation

 * - TmxDumpFormatter: Check if value is array before trying to access by Reedy

DiscussionTools

 * - Add Korean special page aliases by na1307
 * - ThreadItemSet.newFromAnnotatedNodes needs to wait to compute names by David Lynch
 * - Tweak topic container margins on desktop by Ed Sanders
 * - PreferenceHooks: Avoid referring to the field of disabled feature by Func

DonationInterface

 * - Move Employer Field below credit card by wfan
 * - Don't tokenize cards when donation is under Monthly Convert minimum by Damilare Adedoyin

Echo

 * - Drop badge styles for Vector by Jon Robson
 * - Add icon definitions to Echo badges by Jon Robson
 * - Echo should fire onInitialize event after rendering of badge by Jon Robson

EventBus

 * - Add EventFactory::createMediaWikiCommonAttrs by Gergő Tisza

FileImporter

 * - Stop using deprecated Language::factory by Thiemo Kreuz

Flow

 * - Add missing return to overridden TopicMenuSelectWidget methods by Lucas Werkmeister

GrowthExperiments

 * - Mentee overview: convert numbers in table to user language by Sergio Gimeno
 * - i18n: Update copy for growthexperiments-quit-mentorship-has-mentees-pretext by Martin Urbanec
 * - SpecialEditGrowthConfig: Update help link by Martin Urbanec
 * - growthexperiments_mentor_mentee: Add gemm_mentee_is_active by Martin Urbanec
 * - Add 'composer phpcbf' command by Gergő Tisza
 * - Make use of native array_column convenience function by Thiemo Kreuz
 * - Check for null title in SkinMinervaOptionsInit hook handler by Thiemo Kreuz
 * - QuitMentorship: Make it more obvious that it's irreversible by Kosta Harlan
 * - Add ComputedUserImpactLookup by Gergő Tisza
 * - Update HomepageModule schema version by Gergő Tisza

IPInfo

 * - Migrate usage of Database::select to SelectQueryBuilder in IPInfo by tsepothoabala
 * - Remove 'ipinfo-enable' preference while IPInfo is a BetaFeature by tsepothoabala

Kartographer

 * - Add unit test for ExternalLinksProvider by Thiemo Kreuz
 * - Show JSON Schema validation log not as part of red error list by Thiemo Kreuz
 * - Turn all nearby code into an actual class by Thiemo Kreuz

LabeledSectionTransclusion

 * - Rewrite problematic regex pattern to be 1/3 of the length by Thiemo Kreuz

LoginNotify

 * - phan: Fix use of IMaintainableDatabase::tableExists by Umherirrender

NearbyPages

 * - API: Expand description coverage by Jon Robson

OATHAuth

 * - phan: Fix type for IMaintainableDatabase::fieldExists on updater by Umherirrender

OAuth

 * - Avoid passing null to PHP 8.1 functions that don't support it by Sam Wilson

ORES

 * - phpunit: Use assertEqualsWithDelta by Kosta Harlan

PageTriage

 * - Change unreview message default recipient to blank by Novem Linguae
 * - PageCurationToolbar: Added a 'view logs' link in the info flyout by MPGuy2824
 * - PageCuration: Orphan tag code should ignore non-mainspace backlinks by MPGuy2824
 * - WikiLove: Don't allow sending to no one by DannyS712
 * - Ensure wikilove edits made via pagetriage are also tagged as `pagetriage` by DannyS712
 * - NewPagesFeed Article snippet now passes WCAG AA by MPGuy2824
 * - PageCurationToolbar: Fix code for warning messages for very new articles by MPGuy2824
 * - NewPagesFeed: Showing stats for only non-redirect pages, in the footer by MPGuy2824
 * - Maintenance tagging should not mark article as reviewed by default  by Novem Linguae

Phonos

 * - WikibaseEntityAndLexemeFetcher: use $wgPhonosProxy for external requests by MusikAnimal

ProofreadPage

 * - Add preload for IndexContentHandler and PageContentHandler by Sam Wilson
 * - Drops JS-side creation of "Source" link by Tpt
 * - Fixes phan checks by Tpt

QuickSurveys

 * - Fix all PHPCS warnings by Thiemo Kreuz

Scribunto

 * - Simplify creating JSON pages in the Module namespace by Kunal Mehta

SecureLinkFixer

 * - Update domains.php from Mozilla by Alexander Vorwerk

StopForumSpam

 * - Update StopForumSpam AbuseFilter hooks to use their own hook handler by sbassett

TemplateData

 * - Add missing dependency on mediawiki.user by thiemowmde

TorBlock

 * - Consistency tweaks by Raymond
 * - Benchmark: Require correct extension... by Reedy
 * - Add API to check if an IP is blocked by xiplus

Translate

 * - Block translations from user blocked from editing translatable bundle by Abijeet
 * - Use ::class to resolve class names in includes files by Fomafix
 * - Avoid adding heading anchor if translation and definition are same by Abijeet

UniversalLanguageSelector

 * - Update font repo for Hussaini Nastaleeq font for pnb by Kartik Mistry

VisualEditor

 * - ParsoidClient: rename language parameter by daniel
 * - Follow-up Ieba322fd: Don't generate postedit notification now we set config var by Ed Sanders
 * - ParsoidClient: error should be array or null by daniel

Wikibase

 * - Use inverted values for the unexpectedUnconnectedPage page prop by Marius Hoch
 * - REST: Add number of edited statements to summary by Jakob Warkotsch
 * - Overhaul magic summaries documentation by Lucas Werkmeister
 * - REST: Remove `createSingleItem` helper by Jakob Warkotsch
 * - REST: Include sitelinks in GET item spec test by Jakob Warkotsch
 * - Stop using prophecy in SidebarLinkBadgeDisplayTest by Lucas Werkmeister
 * - Stop using prophecy in WikibaseValueFormatterBuildersTest by Lucas Werkmeister
 * - Stop using prophecy in EntityIdLocalPartPageTableEntityQueryDbTest by Lucas Werkmeister
 * - Stop using prophecy in EntityIdLocalPartPageTableEntityQueryUnitTest by Lucas Werkmeister
 * - Stop using prophecy in TypeDispatchingWikiPageEntityMetaDataAccessorTest by Lucas Werkmeister
 * - Stop using prophecy in WikiPageEntityStoreTest by Lucas Werkmeister
 * - Remove instances of prophecy library in Wikibase by gtzatchkova
 * - Unescape double and single qoutes while formatting auto-comments.  by Hasan Akgün
 * - REST: Combine e2e and schema tests for PUT by sihe
 * - REST: Make test file names consistent by Jakob Warkotsch
 * - REST: Combine GET statement e2e and schema tests by Jakob Warkotsch
 * - REST: Add RequestBuilder.getRouteDescription by Jakob Warkotsch
 * - Defer create of WikiPage object to RequestContext by Umherirrender

WikibaseCirrusSearch

 * - Update EntitySearchElasticFulltextTest fixture handling by Erik Bernhardson

WikibaseLexeme

 * - Stop using prophecy in tests by Lucas Werkmeister

WikiLambda

 * - Add an undefined check, as null was not catching. by ddw
 * - ZTypedMap::setValueForKey: Add type checking for inputs by James D. Forrester
 * - i18n: Remove "tester" in favor of "test" by Julia Kieserman
 * - Ensure proper deletion of aliases. by EWright
 * - Use self::class instead of __CLASS__ to resolve self class name by Fomafix
 * - Style, work summary language selector out of container by temitope adesoji
 * - Update integration tests with fully-resolved built-in functions. by apine
 * - portray.js: Add missing calls to keyAndArbitraryValue by dmartin
 * - Only allow function editing when logged in by Julia Kieserman
 * - Add handling for orchestrator & evaluator hostname metadata by dmartin
 * - i18n: Simplify wikilambda-special-edit-function-definition-description by James D. Forrester
 * - Follow-up 21c3ef2: Fix rebase error by EWright
 * - Update function-schemata sub-module to HEAD (6cf755c)   by James D. Forrester
 * - FunctionDefinitionAliases: Do not allow users to enter duplicate aliases by Julia Kieserman
 * - Function editor: argument labels are cleared from the zObject when the by ddw
 * - Make function view page implementation and test tables mobile friendly by temitope adesoji
 * - Aliases field fix by temitope adesoji
 * - Correct element key names in ZTypedPair by dmartin
 * - fix initilization of new language aliases by Julia Kieserman
 * - Function editor: Clear an unselected Input/Output type Lookup component by ddw
 * - Function Editor: language selection changes by ddw
 * - Remove domUtils and use jQuery directly by Florent

WikimediaEvents

 * - BlockMetricsHooksTest: Don't assert is_api by Marius Hoch
 * - Block metrics: Add 'database' and 'performer' fields by Gergő Tisza
 * - Block metrics: Bump schema to un-require some fields by Gergő Tisza
 * - SearchSatisfaction: Remove extraArgs logging for WVUI  by Volker E
 * - clientError: Log active gadgets by Gergő Tisza
 * - Tag errors when a banner is displayed by Gergő Tisza
 * - clientError: Log everything sent from mw.errorLogger.logError by Gergő Tisza
 * - clientError: Add more information to log events by Gergő Tisza

WikimediaIncubator

 * - Remove custom logo function by Jon Harald Søby
 * - Set default sortkey for prefixed pages by Jon Harald Søby

WikimediaMessages

 * - Stop checking for ipinfo-enable preference from hook handler by Thalia
 * - Add legal notice for the CampaignEvents extension by Daimona Eaytoy

Wikistories

 * - Add missing error messages for validator and nojs form by Stephane Bisson
 * - Invalidate cache on story deletion by Stephane Bisson

MinervaNeue

 * - adjusted button css layou by ELLENR
 * - Enable associated pages tabs on Minerva by Jon Robson
 * - Fix media alignment since disabling wgParserEnableLegacyMediaDOM by Arlo Breault
 * - Restrict figure to the size of the media  by Arlo Breault
 * - mediawiki.skin.variables: Add Opacities to skin variables by Volker E

Timeless

 * - Timeless using methods indirectly by Jon Robson

Vector

 * - Default alert to on by Jon Robson
 * - Modify Vector 2022 skip-links by Jan Drewniak
 * - Remove VectorLanguage A/B test code (WgVectorLanguageInHeaderTreatmentABTest) by Jon Robson
 * - Echo: Move skinStyles from Echo extension to Vector by Jon Robson
 * - mediawiki.skin.variables: Add `border-style` and `border-width` vars by Volker E
 * - Follow-up: remove redundant code in TableOfContents.js by bwang
 * - Style active top level section differently than ordinary active TOC sections by bwang
 * - Modify the sticky header offset styles by Jan Drewniak

VisualEditor/VisualEditor

 * - Fixup Chromium's native Enter behaviour on Android Gboard by Máté Szabó
 * - build: Update language lists to add 'mrh' by David Chan

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralAuth
 * CharInsert
 * ChessBrowser
 * Cite
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FlaggedRevs
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * MachineVision
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * MediaSearch
 * MobileApp
 * MobileFrontend
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OAuthRateLimiter
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * PropertySuggester
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * SearchExtraNS
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * TitleBlacklist
 * TocTree
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * intersection
 * timeline
 * wikihiero

Total changes
208 Changes in 48 repos by 71 authors