MediaWiki 1.40/wmf.8/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.8 by trainbranchbot
 * - user: Migrate selects in UserGroupManager to SelectQueryBuilder by Amir Sarabadani
 * - WikiExporter: Migrate to SelectQueryBuilder by Amir Sarabadani
 * - Restore messagebox styles for mediawiki.skinning.interface by mainframe98
 * - Remove deprecated EditPage::getCopywarn by Bartosz Dziewoński
 * - Reorg: Move some of request related classes to MediaWiki/Request by Amir Sarabadani
 * - DatabaseSQLTest: remove unused variable by Tim Starling
 * - ResourceLoader: Mark ForeignResourceStructureTest as @group Standalone by James D. Forrester
 * - page: Remove unneeded MAX when selecting from primary key by Umherirrender
 * - SpecialAllPages: Remove object check after Title::newFromRow by Fomafix
 * - Revert "Reorg: Move some of request related classes to MediaWiki/Request" by Zabe
 * - In Language::ucfirst, use title case instead of upper case by Tim Starling
 * - specials: RangeChronologicalPager has to use first index column by Umherirrender
 * - Use SVG instead of GIF for help-questionmark by Fomafix
 * - Reorg: Move some of request related classes to MediaWiki/Request by Amir Sarabadani
 * - ResourceLoader: Add structure test for foreign-resources.yaml by Timo Tijhof
 * - SpecialPage: Remove unneeded '@throws MWException' by Bartosz Dziewoński
 * - objectcache: allow use of the "default" apcu.serializer by Aaron Schulz
 * - Update Codex from v0.2.1 to v0.2.2                               by Volker E
 * - objectcache: Remove WANObjectCacheReaper feature by Timo Tijhof
 * - Followup to 02d13afa: Respect parsoid-compatible options in CLI runs by Subramanya Sastry
 * - ParserTests: Add --dir option as a complement to the --file option by Subramanya Sastry
 * - Externallinks: Add ability to write to the new fields by Amir Sarabadani
 * - Reorg: Move StubObject classes in includes to its own directory by Amir Sarabadani
 * - rdbms: remove DB domain from more LoadBalancer methods by Aaron Schulz
 * - rdbms: make LoadBalancer::getServerConnection avoid domain change for DOMAIN_ANY by Aaron Schulz
 * - pager: Fix null used for foreach in Pager::getNavigationBar by Umherirrender
 * - Make the doc building for search aware of the revision by David Causse
 * - Article: link to mw:Help:Diff when viewing diffs by MusikAnimal
 * - Revert "selenium: Default to larger window size"  by Zfilipin
 * - Don't calculate size of thumb until requested by Matthias Mullie
 * - Use MediaWikiIntegrationTestCase::getDb instead of the "db" member in RevisionStoreDbTest by Aaron Schulz
 * - Remove deprecated Linker::normaliseSpecialPage by Umherirrender
 * - Remove deprecated PageProps::getInstance by Umherirrender
 * - maintenance: Use $this->waitForReplication by Amir Sarabadani
 * - Switch search results padding-bottom to margin-bottom by Matthias Mullie
 * - tests: Don't check if session_reset exists in PHPSessionHandlerTest by Kevin Israel
 * - tests: Use @requires annotation in APCUBagOStuffTest by Kevin Israel
 * - tests: Replace checkPHPExtension with @requires annotations by Kevin Israel
 * - tests: Replace deprecated WikiPage::factory in WikiCategoryPageTest by Umherirrender
 * - Use buildComparison instead of raw SQL in API list=random by Bartosz Dziewoński
 * - Use buildComparison instead of raw SQL in API list=exturlusage, prop=extlinks by Bartosz Dziewoński
 * - Account for null values in Exif data by Sam Wilson
 * - Remove PHPCS exclude-pattern for */languages/* by Fomafix
 * - Change of Listgrants special page Bengali translation by MdsShakil
 * - Sort logging table by timestamp and log id by Umherirrender
 * - Add namespace ID to pageinfo by Simon Legner

Vendor

 * - Bump parsoid to 0.17.0-a5  by Arlo Breault
 * - Update data-values/* by Lucas Werkmeister

ArticlePlaceholder

 * - Revert "Update moved class WebRequest" by Zabe
 * - Update moved class WebRequest by gerritbot

CampaignEvents

 * - Fix kebab menu options on firefox by Daimona Eaytoy
 * - Add support for private registrations by MHorsey
 * - Fix empty state of Special:EventDetails when removing all participants by Daimona Eaytoy
 * - Fix JS error on Special:EventDetails by Daimona Eaytoy
 * - Pass 'timezone' to the "edit event registration" endpoint on MyEvents by Daimona Eaytoy
 * - selenium: Fix video recording by Željko Filipin
 * - Improve time zone validation and conversion by Daimona Eaytoy

CentralAuth

 * - Revert "Update moved class WebRequest" by Zabe
 * - Update moved class WebRequest by gerritbot
 * - maintenance: drop importMissingLocalNames by Taavi Väänänen

CirrusSearch

 * - Add page_id a doc_values only field by David Causse
 * - SearchAfter: Add backoff for retries by Erik Bernhardson
 * - Customize Arabic Analysis for Egyptian & Moroccan by tjones
 * - Remove UseInstantCommons from the default CI configuration by Erik Bernhardson
 * - integration: s/wmflabs/wmcloud/ by Erik Bernhardson
 * - Make the doc building process revision based by David Causse
 * - Only load result file information if requested by Erik Bernhardson
 * - Add DocumentSizeLimiter a component to limit cirrus doc sizes by David Causse

ContentTranslation

 * - CXSuggestionList: Add event logging when suggestions are refreshed by wangombe
 * - CX3 Build 0.2.0+20221031     by Santhosh Thottingal
 * - SX event logging: Add source and target languages to the events by NikG
 * - SX: Fix publishTranslation api method returned object on api error by NikG
 * - SX UI lib: Add MWCircleProgressBar by NikG
 * - SX: Fix redirection after successful publishing for non-ASCII titles by NikG
 * - Fix SiteMapper::getCXServerURL to also handle protocol relative paths by NikG
 * - Fix the display of entrypoints in Special:Contributions by Santhosh Thottingal
 * - SX new article invitation: Display article icon when no thumbnail by NikG
 * - Update vue-banana-i18n to latest version by Santhosh Thottingal

DiscussionTools

 * - Don't apply topic containers to table-of-contents heading by Bartosz Dziewoński
 * - Remove support for in headings by Bartosz Dziewoński
 * - Add accesskey "s" to the "Reply" / "Add topic" button by Bartosz Dziewoński
 * - Add 'specialCharacter' tool to toolbar by Ed Sanders
 * - Fix new topic tool appearing from autosave in edit mode by Bartosz Dziewoński
 * - Fix new topic tool appearing from autosave in its own preview by Bartosz Dziewoński
 * - Don't insert comment markers inside by Bartosz Dziewoński

DonationInterface

 * - Update SmashPig and own version number by Elliott Eggleston
 * - Update smash-pig and yaml libraries by Elliott Eggleston
 * - Frontend email validation should block ones starting with dash by Damilare Adedoyin

Echo

 * - Fall back to local notification count when no global user is found by Umherirrender
 * - Use PHPUnit's shortcuts where it makes sense by Thiemo Kreuz

EventBus

 * - Add PageChangeHooks to emit mediawiki/page/change events by Ottomata
 * - Move destination_event_service setting into producer specific config settings by Ottomata
 * - Add ability to disable a stream in EventStreamConfig by Ottomata

FileImporter

 * - Avoid passing non-strings to ctype_digit by thiemowmde

FlaggedRevs

 * - Update moved class FeedItem by gerritbot

Flow

 * - [general] PHP 8.1 compatibility, part 3 by Kosta Harlan
 * - [general] PHP 8.1 compatibility, part 2 by Kosta Harlan
 * - [general] PHP 8.1 compatibility by Kosta Harlan

Gadgets

 * - Add PreferencesGetIconHook by suecarmol

GeoData

 * - Use SearchDataForIndex2 hook by David Causse

GlobalBlocking

 * - Add basic test for GlobalBlockingHooks class by Thalia
 * - Add namespace for GlobalBlocking tests by Thalia

GlobalCssJs

 * - Remove removeOldManualUserPages.php by Kunal Mehta

GoogleNewsSitemap

 * - Update moved class FeedItem by gerritbot

GrowthExperiments

 * - Use SearchDataForIndex2 hook by David Causse
 * - Update mediawiki/mediawiki-phan-config to 0.12.0 by David Causse
 * - build: Upgrade Codex from 0.1.0-alpha.7 to 0.2.1 by James D. Forrester
 * - User impact: create articles edited trend chart by Sergio Gimeno
 * - New impact: delete wrong info icon label by Sergio Gimeno
 * - UserImpact: Use array_sum for getting total edits count by Kosta Harlan
 * - Suggested edits: update task level indicator color contrast by Sergio Gimeno
 * - User impact: add infoboxes to thanks and streak scorecards by Sergio Gimeno
 * - ApiManageMentorList: Make it possible to edit mentor status by Martin Urbanec
 * - [general] PHP 8.1 compatibility by Kosta Harlan
 * - Revert "api-testing: Skip the QUIBBLE_APACHE environment check" by Kosta Harlan
 * - SpecialManageMentors: Include mentors' status/weight by Martin Urbanec
 * - UserImpact: Compute total edits count on server side by Kosta Harlan
 * - NewImpact: Use getStreakNumberOfDays for serialization by Kosta Harlan
 * - MenteeOverview: Add a link to recent changes by mentees by Martin Urbanec
 * - SpecialManageMentors: Reflect user time preference by Martin Urbanec
 * - ManageMentorsEditMentor: Work well with blocked mentors by Martin Urbanec
 * - MentorStatusManager: Mark blocked mentors as away by Martin Urbanec
 * - NewImpact: Use server-side-calculated longest edit streak by Kosta Harlan
 * - ComputedUserImpactLookup: Generate longest streak data by Kosta Harlan

Kartographer

 * - Minor CSS adjustments to maps dialog options panel  by thiemowmde
 * - Adding help text about frame to display section by Svantje Lilienthal
 * - Add ability to hide frame around maps in VisualEditor by Svantje Lilienthal
 * - Replace hard-coded brackets with dash in language drop down by thiemowmde
 * - Make frameless maps editable in VisualEditor by thiemowmde
 * - Add ability to add caption to maps in VE by Svantje Lilienthal
 * - Add `local` option for the VE language selection by WMDE-Fisch
 * - Fix uncatched exception when handling non-numeric user input by thiemowmde
 * - Allow the large language help popup to utilize the entire dialog by thiemowmde
 * - Make getScaleLatLng calculation more robust by thiemowmde
 * - Remove stable cache miss logging by WMDE-Fisch
 * - Add help texts for align/language settings in VE maps dialog by Svantje Lilienthal
 * - Make tests more reliable when running locally by setting $wgScriptPath by Brian Wolff
 * - Add a11y label to close sidebar button by Derk-Jan Hartman
 * - Properly hide the map dialog sidebar for a11y by Derk-Jan Hartman
 * - Rename known points to title by WMDE-Fisch
 * - Improve language input for maps in VE by Svantje Lilienthal

LiquidThreads

 * - Update moved class FeedItem by gerritbot
 * - Add PreferencesGetIconHook by suecarmol

MassMessage

 * - Replace all remaining @see with @inheritDoc by thiemowmde
 * - PHPCS: Fix MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic rule by Zoran Dori

Math

 * - Fix Perfomance Issues of TexUtil by Stegmujo
 * - Activate chem and inline-tex type input in LocalChecker by Stegmujo
 * - Add Tests and Downloader for Chem Input Types by Stegmujo
 * - Add All Wikipedia Tests and Fixes by Stegmujo
 * - Fixing Parser for All Wiki and Chem Tests by Stegmujo

MobileFrontend

 * - Toggler.js: Move var declarations inline by Ed Sanders

MultimediaViewer

 * - Use Parsoid's regularity to find caption by Arlo Breault

OpenStackManager

 * - Add PreferencesGetIconHook by suecarmol

PageTriage

 * - Make PageTriage wiki-agnostic by NovemLinguae

Phonos

 * - Remove action API endpoint from Phonos by Dayllan Maza

ProofreadPage

 * - Clarify messages about the Page namespace by Amir E. Aharoni
 * - Convert ParserFirstCallInit hook to HookHandler system by Kolawole
 * - Provide a API to pre-render and fetch image URLs for a Page: page by Sohom

ReadingLists

 * - Handle URLs correctly when not in developer mode by Jon Robson
 * - better protocol resolution by Jon Robson
 * - build: Run stylelint for less file by Umherirrender
 * - Add viewing of reading lists to web experience  by Jon Robson
 * - Show messages to non-Android/iOS users and places where misconfigured by Jon Robson

Renameuser

 * - User constant for maintenance script username by Gergő Tisza

SearchVue

 * - Also trigger unit tests with 'npm test' by Matthias Mullie
 * - Loading content in Search Previews by Simone Cuomo
 * - Show arrows next to search results for quick view discoverability. by Simone Cuomo
 * - Quick View: Enable users to open and close quick views on special:search page by Simone Cuomo
 * - Add temporary toggle for disabling on mobile by Matthias Mullie
 * - Add cursor: pointer; when hovering target to enable quickview by Matthias Mullie
 * - Don't occupy 100px unless needed by Matthias Mullie

SiteMatrix

 * - Check the return value from SiteConfiguration::siteFromDB by Tim Starling

SyntaxHighlight_GeSHi

 * - Avoid dirty diffs when editing code blocks with line numbers by thiemowmde

Translate

 * - Translation permission: Return message key and params  by Abijeet
 * - PageTranslationHooks: Add logging to see if checkTranslatablePageSlow is necessary by Niklas Laxström
 * - Add "column" CSS class to div displaying group warnings by Abijeet
 * - TranslationUnit: Support anchors starting with hash # character by Pols12

UniversalLanguageSelector

 * - build: Remove customSyntax option from stylelint in Gruntfile.js by Umherirrender

UploadWizard

 * - Add PreferencesGetIconHook by suecarmol

VisualEditor

 * - wgAction is not a number by Jon Robson
 * - Allow more 'rel' values on external links in Parsoid output by Bartosz Dziewoński
 * - Update VE core submodule to master (d1bc0e528) by Bartosz Dziewoński
 * - ve.dm.MWMagicLinkNode: Fix matching RFC magic links by Bartosz Dziewoński

Wikibase

 * - REST: Improve JsonPatchValidator errors by Ollie Shotton
 * - Add return types to LineReader Iterator methods by Lucas Werkmeister
 * - Avoid $wgHooks global by daniel
 * - FederatedPropertyId: Add __serialize/__unserialize by Lucas Werkmeister
 * - Add severel requested monolingual language codes          by Jon Harald Søby
 * - REST: Improve error reports of patch path issues by Jakob Warkotsch
 * - REST: Don't use JSON_FORCE_OBJECT in error message by Jakob Warkotsch
 * - Temporarily skip flapping test case by Adam Wight
 * - Add a way to extract content scoped search index data by David Causse
 * - Use SearchDataForIndex2 and properperly pass the revision... by David Causse
 * - Ensure mocked WikiPage and RevisionRecord share the same page_id... by David Causse
 * - REST: Add context to PatchItemStatement error by sihe
 * - Update data-values versions in composer.json by Lucas Werkmeister (WMDE)
 * - DM: Avoid passing null to explode, use "" by Marius Hoch

WikibaseLexeme

 * - Avoid passing null to explode by Lucas Werkmeister
 * - Make Special:NewLexemeAlpha replace Special:NewLexeme by Lucas Werkmeister

WikibaseMediaInfo

 * - Avoid passing null to explode by Lucas Werkmeister
 * - Use use EntityHandler::getContentDataForSearchIndex by David Causse

WikibaseQualityConstraints

 * - Bump jasmine from 4.4.0 to 4.5.0 by Addbot
 * - Declare compatibility with data-values/number ^0.12.3 by Lucas Werkmeister

Wikidata.org

 * - Validate "value" before trying to calculate lag by Marius Hoch

WikiLambda

 * - Add example using a re-entrant function call. by apine
 * - Re-enable test now that request size limit has been increased. by apine
 * - FE error management updates: part 2 by Julia Kieserman
 * - tests: Update expected expansions of Z831s by James D. Forrester
 * - Remove redundant tabs from FunctionEditor view. by EWright
 * - Handle page layout correctly based on ZObject type and url param by temitope adesoji
 * - Ensure Z8K4 is typed list when calling function on implementation page. by EWright
 * - FE error management updates: part 1 by Julia Kieserman
 * - Fix editing a ZType: not possible to change the value type of an by ddw
 * - Add integration tests for Attaching and Detaching function testers. by ddw

WikimediaMessages

 * - Update verbiage for reading list import message. by Dmitry Brant
 * - ReadingLists: App specific messaging by Jon Robson
 * - Add Oxford comma to CampaignEvents message by Daimona Eaytoy

Wikisource

 * - Make export/download links depend on $wgProofreadPageBookNamespaces by Sohom

MinervaNeue

 * - Add styling for Special:Preferences icons by suecarmol
 * - Break up words to prevent thumbnails from being squished by Matthias Mullie
 * - Disable "page issues" feature when DiscussionTools is handling talk page by Ed Sanders
 * - Override padding-left for Special:Search results by Matthias Mullie
 * - SkinMinerva.php: Improving naming and documentation of talk page overlay checks by Ed Sanders

Vector

 * - [Technical] Separate shouldHideLanguages from isLegacy logic by Jon Robson
 * - search: Don't show results for stale search queries by Roan Kattouw
 * - Codex search should respect autocapitalize value from $wgCapitalLinks by Jon Robson
 * - search: Fix loader alignment with search input  by Roan Kattouw
 * - [Technical] Unset toc inside SkinVectorLegacy by Jon Robson
 * - [Technical] Move isSidebarVisible and template boolean to SkinVector22 by Jon Robson
 * - Remove duplicate styles by Jon Robson
 * - Use standard utility classes for flushing icons left and right  by Jon Robson
 * - build: Upgrade Codex from 0.1.0-alpha.10 to 0.2.2 by James D. Forrester
 * - Rename Article Tools feature flag to Page Tools by bwang
 * - Remove login link quick fix styles by Nicholas Ray
 * - Replace incorrectly mw- prefixed classes  by bwang
 * - search: Make wprov value match non-Vue behavior by Lucas Werkmeister
 * - Limit user dropdown link to 48px by Jon Robson

VisualEditor/VisualEditor

 * - ve.init.Target: Make sure surface exists before setting padding by David Lynch

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * CheckUser
 * 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
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * GeoCrumbs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * MediaModeration
 * MediaSearch
 * MobileApp
 * Modern
 * MonoBook
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * RelatedArticles
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikistories
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
239 Changes in 50 repos by 81 authors