MediaWiki 1.40/wmf.13/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.13 by trainbranchbot
 * - Permit Parsoid minor version bumps by Arlo Breault
 * - postgres: Fix upgrade for templatelinks primary key by Umherirrender
 * - When content is marked bad, show an error, don't pretend it is empty by Tim Starling
 * - [Fix] ParsoidHandler: use HtmlOutputRendererHelper in wt2html by Daniel Kinzler
 * - [Re-apply] ParsoidHandler: use HtmlOutputRendererHelper in wt2html by Daniel Kinzler
 * - HistoryAction: Remove use of action=historysubmit hack    by Timo Tijhof
 * - edit: Fix casing of ParsoidRenderID in a doc comment by Kevin Israel
 * - Fix casing of class and function name usages by Reedy
 * - phan: Don't analyze .inc files, we don't use them now by Kevin Israel
 * - AutoLoader: Drop support for $wgAutoloadAttemptLowercase by Kevin Israel
 * - resourceloader: Raise severity of targets violation to WARNING by Krinkle
 * - phpcs: Remove comment regarding silence (at-sign) operator in tests by Kevin Israel
 * - Follow redirects for page/{title} formats source/bare by msantos
 * - Cleanup LocalisationCache by Func
 * - ParserCache: fix metrics keys by daniel
 * - Mark Linker::generateTOC internal by Subramanya Sastry
 * - Revert "ParsoidHandler: use HtmlOutputRendererHelper in wt2html" by Daniel Kinzler
 * - Message: Improve parameter type errors by Bartosz Dziewoński
 * - mobile preferences: trim insertToggles comments by jsn
 * - PostgresUpdater: Improve some indenting by Reedy
 * - PostgresUpdater: Remove trailing space from 'user_id ' column by Reedy
 * - ParsoidHandler: use HtmlOutputRendererHelper in wt2html by daniel
 * - Drop more unused hard deprecated hooks by Amir Sarabadani
 * - LCStoreStaticArray: atomically replace the cache file by Tim Starling
 * - WANObjectCache: Fix string interpolation by Umherirrender
 * - resourceloader: Modern ES6 code should be forced to target mobile by Jon Robson
 * - Hard deprecate Language::isWellFormedLanguageTag by Fomafix
 * - Present preferences in OOUI dialog by essexigyan
 * - Make use of the new PageUpdateStatus by daniel
 * - .gitattributes: Ship docker-compose.yml to the tarball by James D. Forrester
 * - Introduce PageUpdateStatus by daniel
 * - Remove b/c for media typeof  by Arlo Breault
 * - Fix LanguageVariantConverter test by daniel
 * - Add Khakas language (kjh) by Amir E. Aharoni
 * - Remove DatabasePostgres::remappedTableName by Matěj Suchánek
 * - Remove RevDelList::reloadFromMaster by Matěj Suchánek
 * - Revert "Selenium tests: Skip wikitext-specific tests if NS isn't wikitext" by Zfilipin
 * - Remove deprecated code from tidy drivers by Matěj Suchánek
 * - Remove unused parameter from PasswordResetTest by Thalia
 * - tests: Fix missing "wf" prefix for global functions by Kevin Israel
 * - Hook: Document WikiPage in OpportunisticLinksUpdateHook by Umherirrender
 * - mail: Increase readability of conditions by Umherirrender
 * - Use buildComparison instead of raw SQL in more maintenance scripts by Bartosz Dziewoński
 * - Replace some more mock builders with createMock shortcut by thiemowmde
 * - Prevent new accounts from using = in their usernames by Kunal Mehta
 * - Parser: Minor code style and comment improvements by Bartosz Dziewoński

Vendor

 * - Bump parsoid to 0.17.0-a8   by Arlo Breault
 * - Bump parsoid to 0.17.0-a7          by Arlo Breault

AdvancedSearch

 * - Use ExtensionRegistry to check if Translate is installed by thiemowmde

BetaFeatures

 * - i18n: Manually drop false en-gb message, not picked up from TWN by James D. Forrester

CategoryTree

 * - Optimize PHP code semantic by Fomafix

CentralAuth

 * - api: Enable expiry for action=globaluserrights by Umherirrender

CheckUser

 * - Fix the wording used by the checkuser-reset-action message by dreamyjazz

cldr

 * - Add Arakanese (rki), not part of CLDR  by Raymond
 * - Add languages with missing English name added for Wikidata by Raymond

ContentTranslation

 * - SX: Fix block template edit to use translated content if exists by NikG
 * - Direct Parsoid Client integration, tests by Santhosh Thottingal
 * - SX: Remove duplicate "title" URL param after translation start by NikG

Disambiguator

 * - Add mobile target to ext.disambiguator by Jon Robson

DiscussionTools

 * - Optimize some jQuery selectors by Francois Pignon
 * - Track parsoid render reason. by daniel
 * - Reverse default sorting on Special:TopicSubscriptions by Bartosz Dziewoński
 * - CommentController: Fix 'discussiontoolscompare' polling not stopping by Bartosz Dziewoński
 * - Clear `pageDataCache` whenever re-initializing by Bartosz Dziewoński
 * - Avoid error building threaditemshtml if there's an empty final section by David Lynch
 * - Don't collapse the lede section when it has comments by Bartosz Dziewoński
 * - Remove support for data-mw-comment by Ed Sanders
 * - Follow-up be012ced: tests: Provide some basic direct tests for CommentUtils::getTitleFromUrl by James D. Forrester
 * - Remove some redundant PHPDoc comments by Bartosz Dziewoński
 * - Consider MediaWiki:Talkpageheader message when adding "Learn more" button by Bartosz Dziewoński
 * - Only match article path until first '?' when parsing links by Bartosz Dziewoński
 * - Ignore negative page scroll values on iOS by Ed Sanders
 * - Hide buttons for print media by Bartosz Dziewoński
 * - Remove `dd` overflow hack by Bartosz Dziewoński
 * - Track events for the new comment notice by David Lynch

DonationInterface

 * - Add utm_key by cstone
 * - Put country list comment back at the top. by jgleeson
 * - Better check for error.error property by Elliott Eggleston
 * - Check property exists before slicing by Elliott Eggleston

EventStreamConfig

 * - API: Only serialize streams as objects by Sam Smith

FileExporter

 * - Remove Wikimedia-specific default config from extension.json by thiemowmde
 * - Remove obsolete dev/test wiki special case by thiemowmde

FileImporter

 * - Prepare mock for signature change of Wikipage::doUserEditContent. by daniel
 * - Ignore only the first prefix from e.g. "Categorie:File:…" by Thiemo Kreuz

Flow

 * - build: Remove unneeded stylelint suppression by Umherirrender
 * - Fix incomplete JSDoc type hints by thiemowmde

GlobalBlocking

 * - Fix PHP notice by Daimona Eaytoy
 * - Remove GlobalBlockingHooks::onGetUserPermissionsErrorsExpensive by Thalia

GlobalPreferences

 * - Convert to HookHandlers by Sam Wilson

GrowthExperiments

 * - User impact: Show discovery notice to mobile users by Kosta Harlan
 * - User impact: Show discovery tour to desktop users who had old module by Kosta Harlan
 * - Fix ExpensiveUserImpact input validation by Gergő Tisza
 * - ReassignMentees: Implement locks by Martin Urbanec
 * - Revert "MentorFiltersHooks: Make it possible to disable unstarred filters" by Martin Urbanec
 * - Remove GEMentorshipUseIsActiveFlag by Martin Urbanec
 * - Ignore duplicates in mentorship related jobs  by Martin Urbanec
 * - NewImpact: remove trailing whitespace in copy text by Sergio Gimeno
 * - [i18n] Remove growthexperiments-mentorship-enrollasmentor-form-reason by Martin Urbanec
 * - ApiSetMentor: Respect blocks by Martin Urbanec
 * - DatabaseUserImpactStore: Fix parameter style for upsert keys by Kosta Harlan
 * - User impact: Fix per-page pageview numbers by Gergő Tisza
 * - WikiPageConfigWriter: Fix phan by Gergő Tisza
 * - Use the right load balancer for UserImpactStore by Gergő Tisza
 * - NewImpact: wrap thanks count in a link to Thanks Log by Sergio Gimeno
 * - MenteeOverview: remove undefined event handler by Sergio Gimeno
 * - MenteeOverview: use CPopover instead of CInfoBox by Sergio Gimeno
 * - NewImpact: show popover instead of tooltip in the clock icon by Sergio Gimeno
 * - UserImpact: Set a specific end date for pageviews application URL  by Kosta Harlan
 * - Mentorship: dont flip mentor icon on Yiddish by Sergio Gimeno
 * - User impact: Make the URL opt-in override the config flag by Gergő Tisza
 * - Add userimpact API flag to force regeneration by Gergő Tisza
 * - WelcomeSurveyLogger: Don't pass logger to EventLogging::submit by Kosta Harlan
 * - NewImpact: Prepare experiment by Kosta Harlan
 * - refreshUserImpactData.php: Add minimum edit filter by Gergő Tisza
 * - refreshUserImpactData.php: Add force and dry-run flags  by Gergő Tisza
 * - Clarify what are the two lists of mentors at Special:ManageMentors by Martin Urbanec

ImageSuggestions

 * - build: Add mediawiki/mediawiki-phan-config by Umherirrender

Interwiki

 * - Save empty string to non-null field by Adam Wight

Kartographer

 * - Fixing property handling and tests by Svantje Lilienthal
 * - Remove obsolete/misplaced check for ParserFunctions extension by thiemowmde
 * - Prepare for testing by Svantje Lilienthal
 * - Move geoshape expansion to Kartographer parse-time by Adam Wight
 * - Remove no-op cache control by Adam Wight

Linter

 * - Phase 3 migrate code for namespace column add to Linter table by sbailey

Math

 * - Fix broken/incomplete regex patterns in TexNode::texContainsFunc by thiemowmde
 * - Add many more testcases for TexNode::texContainsFunc by thiemowmde
 * - Rewrite TexNodeTest to use @dataProviders by thiemowmde
 * - Minor preformance improvement in TexNode::texContainsFunc by thiemowmde
 * - Fix assert functions in En-MediaWiki-Testcase by Stegmujo
 * - Fix and add test for "0" special case in TexNode by thiemowmde
 * - Skip tests that are known to fail by Moritz Schubotz (physikerwelt)
 * - Various code cleanups, more compact syntax and such by Thiemo Kreuz

MediaSearch

 * - Upgrade Composer dev dependency versions to match core by Eric Gardner

MobileFrontend

 * - Resize thumbnails in mobile page by Amir Sarabadani
 * - Use 'BeforePageDisplay' instead of 'OutputPageBeforeHTML' for once-per-page things by Bartosz Dziewoński

PageAssessments

 * - Use buildComparison instead of raw SQL by Bartosz Dziewoński

PageImages

 * - Adopt getWithSet idiom for getPageImage in-process cache by Timo Tijhof

PageTriage

 * - Fixing some JSDoc warnings by MPGuy2824
 * - models/ext.pageTriage.article.js: general cleanup and simplifications by DannyS712
 * - NewPagesFeed_Templates: Move to resources directory by Kosta Harlan
 * - cleanup: Remove unused jsduck config by Kosta Harlan
 * - cleanup: Remove unused rubocop config by Kosta Harlan
 * - extension.json: Bump compatibility to 1.39 by Kosta Harlan
 * - extension.json: Remove version specifier by Kosta Harlan
 * - NewPagesFeed: UI Layout improvements  by MPGuy2824
 * - CurationToolbar: Adding  tags for redirects  by MPGuy2824
 * - Merge defaultTagsOptions and defaultDeletionTagsOptions RL modules by DannyS712
 * - Use buildComparison instead of raw SQL by Bartosz Dziewoński
 * - ApiPageTriageAction: Add support for tags on log entries by DannyS712

PageViewInfo

 * - Fix WikimediaPageViewService date logic by Gergő Tisza

Phonos

 * - PhonosButton.less: Change path to wikimedia-ui-base by TheresNoTime
 * - PhonosButton.js: Add aria-label by TheresNoTime
 * - Fix undefined type in JS docblock by Sam Wilson
 * - Add a minimum file size and show an error if a file less than it by MusikAnimal
 * - Phonos: fully parse label content and strip out tag by MusikAnimal
 * - Fix background-color of error popup anchor (2nd attempt) by Sam Wilson

Popups

 * - Extensible previews by Jon Robson

ProofreadPage

 * - Do not show index link if $indexTitle does not exist by Sohom
 * - Remove (and "prev") to avoid unwanted prefetching by Bartosz Dziewoński
 * - Cleanup EditInSequence UI element by Sohom

QuickSurveys

 * - Rename slightly misleading `randomizedSurveys` variable by Adam Wight

ReadingLists

 * - Use the same message for anon/non-anon disclaimer. by Dmitry Brant

SandboxLink

 * - Require MediaWiki 1.35 in extension.json for use of HookHandlers by Umherirrender

Scribunto

 * - Add namespaces aliases for Moroccan Arabic (ary) by Amir E. Aharoni

SearchVue

 * - Search Preview: Search Preview doesn't work for articles with special characters in the title by Vadim Kovalenko
 * - build: Add mediawiki/mediawiki-phan-config by Umherirrender
 * - Mobile: Show wiki data description of the article in quick view by Simone Cuomo
 * - Mobile: Tutorial/message to introduce quick view. by Vadim Kovalenko
 * - Mobile: Show article lead image in the quick view. by Vadim Kovalenko
 * - Mobile: Show Commons widget in the quick view panel by Simone Cuomo
 * - Mobile: Show table of contents in the quick view panel by Simone Cuomo
 * - Improvement on Search Preview mobile transition by Simone Cuomo

SpamBlacklist

 * - Drop 'BaseBlacklist' class alias by Reedy

Translate

 * - Fix issues reported by phan related to redundant checks by Abijeet
 * - PageTranslationSpecialPage: Fix error on removing all priority languages by Abijeet
 * - Template transclusion: Log cases where fetching RevisionRecord fails by Abijeet

UniversalLanguageSelector

 * - Update jquery.uls from upstream by wangombe

VisualEditor

 * - Optimize some jQuery selectors by Francois Pignon
 * - Adjust to changes to redlink behavior from parsoid by David Lynch
 * - Update VE core submodule to master (56859eb96) by Bartosz Dziewoński
 * - Handle errors when rendering visual diffs by Bartosz Dziewoński
 * - selenium: Toolbar should open special characters menu by Esther Akinloose
 * - selenium: Toolbar should open notices popup as soon as it loads by Esther Akinloose
 * - selenium: Toolbar should open help popup by Esther Akinloose
 * - Only hide #siteNotice on skins where it's shown in the editable area by Bartosz Dziewoński
 * - ve.init.mw.DesktopArticleTarget.init: Remove redundant selector by Bartosz Dziewoński
 * - selenium: Toolbar should open page options by Esther Akinloose

Wikibase

 * - Add Hindi translations for namespaces and special page aliases by saurm
 * - Change sitelink conflict message if redirects supported by Lucas Werkmeister
 * - REST: Pass ValueTypeLookup into deserializer by Ollie Shotton
 * - REST: Refactor StatementValidator location by Ollie Shotton
 * - Fix broken search with vector-2022 on www.wikidata.org by Michael Große
 * - tests: Avoid self:: keyword as string in callables by Umherirrender
 * - Remove unnecessary uses of by Bartosz Dziewoński
 * - Make es6 modules available on all targets by Jon Robson
 * - REST: Remove outdated comments by Jakob Warkotsch
 * - REST: Simplify sitelinks structure in item data by sihe
 * - REST: Add phpcs rule to prefer single quotes by Jakob Warkotsch
 * - Delay work in EntityConstraintProvider by Lucas Werkmeister
 * - REST: Simplify the value format in serializers by sihe

WikibaseLexeme

 * - Check array type some more in list change op deserializers by Lucas Werkmeister
 * - build: Exclude resources special folder from stylelint by Umherirrender
 * - Remove unnecessary uses of by Bartosz Dziewoński

WikibaseMediaInfo

 * - tests: Set serialize_precision=-1 in MediaSearchQueryBuilderTest by Kevin Israel

WikibaseQualityConstraints

 * - Bump grunt-eslint from 24.0.0 to 24.0.1 by Addbot
 * - Bump sinon from 14.0.2 to 15.0.0 by Addbot

WikidataPageBanner

 * - Remove mention of unused OutputPageBeforeHTML hook by Bartosz Dziewoński

WikiEditor

 * - ext.wikiEditor: Also log EditAttemptStep events via Metrics Platform  by Sam Smith

WikiLambda

 * - Update the order of ListZObjectByType page. by ddw
 * - On Function Viewer: by ddw
 * - Fix injection of expected and actual values into perform_test result. by EWright
 * - Add some more cases to ApiPerformTestTest.php. by EWright
 * - Add a TODO note about caching function calls by James D. Forrester
 * - Use Vue Testing Library in all FE integration tests. by EWright
 * - prevent chips container from emitting empty value by temitope adesoji
 * - Move generateDependenciesFile to function-schemata by James D. Forrester
 * - Update function-schemata sub-module to HEAD (15bb18f) by James D. Forrester
 * - set selector status to error when there are errors by Julia Kieserman
 * - ZObjectEditAction: Don't explode on deleted pages by James D. Forrester
 * - Add the success snackbar message on the function viewer and zobject by ddw

WikimediaApiPortalOAuth

 * - readme: Add link to extension page by Poslovitch

WikimediaMessages

 * - Final design tweak to reading list import verbiage. by Dmitry Brant
 * - grouppage messages: Add Special:MyLanguage prefix for global groups by Martin Urbanec

Wikisource

 * - [Wikimedia OCR] Use OSD instead of Page image by Sohom
 * - Revert "Don't hide the OCR config popup when out of view" by Bartosz Dziewoński
 * - Add stylelint to existing grunt 'fix' task by Sam Wilson

Wikistories

 * - Quick fix for Builder height by Stephane Bisson
 * - extension.json: Add url to extension page by Umherirrender
 * - selenium: Run tests only targeting the beta cluster by Željko Filipin
 * - Update Design on Nov 30 by Huei Tan

CologneBlue

 * - build: Remove unneeded stylelint suppression by Umherirrender
 * - Remove references to 'mw-headline-anchor' by Bartosz Dziewoński

MinervaNeue

 * - Remove b/c for media typeof  by Arlo Breault

Modern

 * - build: Remove unneeded stylelint suppression by Umherirrender

Nostalgia

 * - build: Remove unneeded stylelint suppression by Umherirrender

Timeless

 * - build: Remove unneeded stylelint suppression by Umherirrender
 * - Remove b/c for media typeof  by Arlo Breault

Vector

 * - Use JS to move the ToC into page title to fix a11y issues and simplify styles by bwang
 * - Remove PinnableHeader class by Jon Robson
 * - Prepare data for Page Tools menu by Moh'd Khier Abualruz
 * - VISUAL CHANGE: Fix extra padding around icon buttons < tablet viewports by bwang
 * - Fix casing of class and function name usages by Reedy
 * - Convert LimitedWidthRequirement to UserPreferenceRequirement by Nicholas Ray
 * - [Refactor] Rename Portal component to MainMenuGroup by Jon Robson
 * - Legacy: Group template/styles together to avoid confusion by Jon Robson
 * - Page tools: Hide dropdown when not pinned by Jon Robson
 * - Page tools: Move styles from PinnableElement to PageTools by Jon Robson
 * - Restore z-index of mw-notification-area  by Ed Sanders
 * - Bug: Fix when Vector 2022 sidebar collapses  by Jon Robson
 * - Generalize Pinnable functionality to not be limited to dropdowns, make Pinnable templates composable by bwang
 * - Undo PageTools template confusion by Jon Robson
 * - [Refactor] Rethink Dropdown component by Jon Robson
 * - Use PinnableHeader in the TOC all the time by bwang
 * - VectorComponentMainMenuAction: Have class to distinguish between different actions by Jon Robson
 * - Instrument toggle button by Jon Robson

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BounceHandler
 * Calendar
 * CampaignEvents
 * Campaigns
 * Capiunto
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CirrusSearch
 * Cite
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * DismissableSiteNotice
 * DoubleWiki
 * Echo
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FlaggedRevs
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalCssJs
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * InputBox
 * Insider
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * MediaModeration
 * MobileApp
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageNotice
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * PropertySuggester
 * Quiz
 * RSS
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * Score
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * VisualEditor/VisualEditor
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * Wikidata.org
 * WikimediaApiPortal
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * XAnalytics
 * intersection
 * timeline
 * wikihiero

Total changes
256 Changes in 59 repos by 79 authors