MediaWiki 1.40/wmf.1/Changelog

Core changes

 * - Branch commit for wmf/1.40.0-wmf.1 by trainbranchbot
 * - Move SkinTemplate::getFooterIcons to Skin class by Clare Ming
 * - Bump wikimedia/parsoid to 0.17.0 for MW 1.40 by C. Scott Ananian
 * - Add support of ParserOptions::setExternalLinkTarget in legacy parser tests by Isabelle Hurbain-Palatin
 * - BackLinkCache::queryLinks: Make janky filter more robust by Brian Wolff
 * - Restore compatibility with overrides for IndexPager::makeLink by Bartosz Dziewoński
 * - ResourceLoader: Remove $wgIncludeLegacyJavaScript and simplify code by Timo Tijhof
 * - VueComponentParser: Use Zest's getElementsByTagName rather than PHP's by Roan Kattouw
 * - ManualLogEntry: Don't pass null to trim as PHP 8.1 whines by James D. Forrester
 * - Use container divs instead of styling elements individually  by Matthias Mullie
 * - Deprecate PersonalUrls hook by Moh'd Khier Abualruz
 * - Use default ParserOutput::getText options for injectTOC by C. Scott Ananian
 * - OutputPage::addParserOutputText: use default ParserOutput options from skin by C. Scott Ananian
 * - OutputPage: Fix undefined `['host']` in ImagePreconnect code by Timo Tijhof
 * - Skins: Watchstar icon for expiring item is incorrect by Jon Robson
 * - rdbms: Remove unused channelsMatch from internal MySQLPrimaryPos by Timo Tijhof
 * - Fix selser on html endpoints by Arlo Breault
 * - docs: Fix broken references to docs/Configuration.md by Timo Tijhof
 * - FileCache: Allow ?uselang= to utilize cache if set to content language by Platonides
 * - mediawiki.page.ready: Add current hash fragment to sidebar permalink URL by Bartosz Dziewoński
 * - Outstanding improvements to the results layout on special:search page by Simone Cuomo
 * - objectcache: deprecate setNewPreparedValues by Aaron Schulz
 * - unittests: add MediaWikiIntegrationTestCase::getDb by Aaron Schulz
 * - Update the "results from other language wiki" section by Simone This Dot
 * - Add 1.39 snapshot to sqlite db tests by Zabe
 * - Remove references to revision_actor_temp, aliased as temp_rev_user by Umherirrender
 * - schema: Drop tl_title and tl_namespace fields from templatelinks by Amir Sarabadani
 * - objectcache: make makeKeyInternal a protected method of MediumSpecificBagOStuff by Aaron Schulz
 * - api: Force actor index on list=usercontribs by Umherirrender
 * - Rest: Rename ParsoidHTMLHelper -> HtmlOutputRendererHelper by Derick Alangi
 * - Restore negative response cache in getDbPageLanguageCode by Fomafix
 * - Prepare active branch following REL1_39 cut, labelling as 1.40-alpha by James D. Forrester
 * - rdbms: Remove `Serializable` implementation from DBPrimaryPos by Timo Tijhof
 * - ResourceLoader: Use more readable cache group for MessageBlobStore by Timo Tijhof
 * - IndexPager: Fix paging with setIncludeOffset and multiple index fields by Bartosz Dziewoński
 * - tests: Replace deprecated WikiPage::factory by Umherirrender
 * - rdbms: Log warning if ChronologyProtector finds data under presumed clientID by Timo Tijhof
 * - content: Fix comments in ContentModelChange by Umherirrender
 * - tests: Remove unused UserTest::makeEdit by Umherirrender
 * - Add cancreateaccount property to userinfo API by Gergő Tisza
 * - Fix block handling in CheckBlocksSecondaryAuthenticationProvider  by Gergő Tisza
 * - Use ParserOutputFlags::SHOW_TOC in OutputPage by C. Scott Ananian
 * - parser: Use a tag for the internal TOC_PLACEHOLDER   by C. Scott Ananian
 * - Add "1 year" to watchlist expiry by NovemLinguae
 * - Use ParserOutputFlags::SHOW_TOC in ApiParse  by C. Scott Ananian
 * - RestrictionStore: Do not return upload as a restriction for non-existent titles by Dylsss

Vendor

 * - Bump parsoid to 0.17.0-a1 for MW 1.40  by C. Scott Ananian

AbuseFilter

 * - Use MediaWikiIntegrationTestCase::getDb instead of the "db" member by Aaron Schulz

BetaFeatures

 * - Deprecate PersonalUrls hook by Moh'd Khier Abualruz

CampaignEvents

 * - Tweak font-weight of footer notice on Special:EnableEventRegistration by Daimona Eaytoy
 * - Fix and simplify validation of dates by Daimona Eaytoy
 * - Introduce distinction between local and UTC time by Daimona Eaytoy
 * - Create new columns to store local times and timezone by Daimona Eaytoy
 * - Add notice at the bottom of the form for editing/enabling a registration by Daimona Eaytoy
 * - Harmonize format of start and end timestamp  by Daimona Eaytoy
 * - Update schema for tracking tools by Daimona Eaytoy
 * - Make Usernames link to User Page in ParticipantsModule by MHorsey

CentralAuth

 * - Hooks: Consolidate CentralAuth credits entries for subextensions by Alexander Vorwerk

CheckUser

 * - tests: Use fake timer for CompareServiceTest by Umherirrender
 * - Migrate usage of Database::select to SelectQueryBuilder in CheckUser's TimelineRowFormatter by tsepothoabala
 * - Migrate usage of Database::select to SelectQueryBuilder in CheckUser's PreliminaryCheckService by tsepothoabala
 * - Use $dbr variable for database objects doing read queries by csimiyu
 * - Use SelectQueryBuilder in CompareService by Thalia

CirrusSearch

 * - Set track_total_hits to true by David Causse
 * - Improve UpdateSuggesterIndex.php output by Erik Bernhardson
 * - Re-enable track_total_hits for elastic7 by Erik Bernhardson
 * - Add error classification group for memory errors by Erik Bernhardson
 * - Enabled Global Filters for Narrow No-Break Space by tjones
 * - Ensure namespace filters is passed as a list by Erik Bernhardson
 * - Create new heuristic for config related issues by joseph emmanuel kayode (iemarjay)
 * - Throw exceptions when multisearch fails due to connection by joseph emmanuel kayode (iemarjay)

ContentTranslation

 * - SX: Strip HTML comments from source name of block templates by wangombe

DiscussionTools

 * - Reduce size of topic headings to 18px on mobile by Ed Sanders
 * - Suppress top border of first section on mobile by Ed Sanders
 * - CommentFormatter: Fix TOC info being repeated for subsections by Bartosz Dziewoński
 * - Refactor thread summary getters by Ed Sanders
 * - Hooks: Inject VisualEditorParsoidClientFactory to ParsoidHelper by Derick Alangi
 * - Content*Item: Use more specific Content*Item classes within functions by Ed Sanders
 * - Hooks: Remove injecting MainConfig to ParsoidHelper by Derick Alangi
 * - Update mw:tocplace CSS hack by Ed Sanders

DonationInterface

 * - Add DonationApiBase::getLogger by Andrew Green
 * - Update SmashPig requirement and own version number by Elliott Eggleston
 * - Update own version number by Elliott Eggleston
 * - update smash-pig requirement to 0.8.2.9 by Elliott Eggleston

EventStreamConfig

 * - Tidy up README by Sam Smith
 * - api: Support passing deep constraints by Sam Smith
 * - Support matching nested constraints by Sam Smith

FlaggedRevs

 * - Drop MW_HTML_FOR_DUMP checks by Amir Sarabadani
 * - Introduce getMaxLevel method by Thiemo Kreuz
 * - Use default ParserOutput::getText options for injectTOC by C. Scott Ananian
 * - Respect skin's TOC option by Amir Sarabadani
 * - Replace generic `new Exception` with more specific exceptions by Thiemo Kreuz
 * - Remove generic `@throws Exception` that don't explain anything by Thiemo Kreuz
 * - Remove unused defaults from FlaggedRevision::newFromRow params by Thiemo Kreuz
 * - Remove unused arguments from FlaggedRevision constructor by Thiemo Kreuz
 * - Add some basic tests for FlaggedRevision class by Thiemo Kreuz
 * - Make FlaggedRevision::newFromRow private by Thiemo Kreuz
 * - Split large if-else in FlaggedRevision constructor into two by Thiemo Kreuz
 * - Merge 3 properties into a single 3-state property by Thiemo Kreuz
 * - Introduce constants for form action names by Thiemo Kreuz
 * - Clean up unused quality tier thresholds by Adam Wight

Flow

 * - Replace use of deprecated $.throttle with mw.util.throttle by James D. Forrester
 * - Remove ElasticSearch integration by Kosta Harlan

GrowthExperiments

 * - Delay showing the welcome survey if the user was editing by Gergő Tisza
 * - Make Special:ManageMentors includable by Martin Urbanec
 * - User impact: Add DatabaseUserImpactStore by Gergő Tisza
 * - Split UserImpactLookup methods by Gergő Tisza
 * - WikiPageConfigLoader: Stop using local cluster cache by Martin Urbanec
 * - Mentee overview: avoid requiring the non-vue mentee overview script by Sergio Gimeno
 * - GrowthTasksApi: avoid using continue and increase look ahead by Sergio Gimeno
 * - MenteeOverviewAPI: export a single instance of the API by Sergio Gimeno
 * - Deprecate PersonalUrls hook by Moh'd Khier Abualruz
 * - Add WelcomeSurveyReminder homepage module by Gergő Tisza
 * - Newcomer tasks: dont emit update event until count is set by Sergio Gimeno

GuidedTour

 * - Remove instrumentation by Sam Smith

ImageSuggestions

 * - Use Maintenance::waitForReplication by Matthias Mullie

IPInfo

 * - Resize infobox if no revisions exist by Thalia

Kartographer

 * - Drop foreign nearby layers earlier by Thiemo Kreuz
 * - Drop an unused message by Adam Wight
 * - Include messages used in Maki icon documentation by Adam Wight
 * - Inline trivial "loadSchema" method by Thiemo Kreuz
 * - Impove test coverage for SimpleStyleParser by Thiemo Kreuz
 * - Use same formatting for "Parameters:" in qqq.json by Thiemo Kreuz
 * - Remove not needed XML header from new nearby SVG icons by Thiemo Kreuz
 * - Drop nearby data that's too far away from the current zoom level by Thiemo Kreuz
 * - Fix misplaced fullscreen button in MonoBook skin by Thiemo Kreuz
 * - Enhance TagHandlerTest by msantos

Linter

 * - Minor cleanup by Reedy

LiquidThreads

 * - Deprecate PersonalUrls hook by Moh'd Khier Abualruz

MachineVision

 * - Optimise getUnreviewedImageCountForUser by Joseph Seddon

MassMessage

 * - Remove jquery.throttle-debounce from dependencies by dreamyjazz
 * - Convert Special:MassMessage to use OOUI  by dreamyjazz

Math

 * - Add \neg to "Logic" section by Ed Sanders
 * - Add final nodes by Stegmujo

MediaSearch

 * - Fix title alignment by Matthias Mullie

MobileFrontend

 * - AMC: Add test suite for AMC\UserMode by Derick Alangi
 * - Replace getElementsByTagName with DOMCompat::querySelectorAll for performance by Bartosz Dziewoński
 * - tests: Add tests suite for ResourceLoaderFileModuleWithMFConfig by Derick Alangi
 * - Report MobileFormatter timings in a HTML comment by Bartosz Dziewoński

PageImages

 * - Inject services into hook handler by Umherirrender
 * - Inline ParserFileProcessingHookHandlers::processFile by Umherirrender

Phonos

 * - Change references to caching to what it actually is: persistent storage by MusikAnimal
 * - PhonosButton: Wrap output in data-nosnippet by TheresNoTime
 * - Use tag instead of a parser function by MusikAnimal
 * - Move button error state from client to server by Sam Wilson

RevisionSlider

 * - Fix broken initial state when old/new revision id are swapped by Thiemo Kreuz

SandboxLink

 * - Deprecate PersonalUrls hook by Moh'd Khier Abualruz

Score

 * - Revert "Track score as expensive parser tag hook" by Lucas Werkmeister (WMDE)
 * - ve-score: Switch from Xml::encodeJsCall to RL\Content::encodeJson by Timo Tijhof
 * - Track score as expensive parser tag hook by Umherirrender

Scribunto

 * - Add Parsoid-specific support for handling preprocessed nowikis by Subramanya Sastry

StopForumSpam

 * - Hooks: Refactor conditional logic and logging by Reedy

SyntaxHighlight_GeSHi

 * - Track syntaxhighlighting as expensive parser tag hook by Umherirrender

TemplateData

 * - Add space between icon and text in formatting message by Ed Sanders
 * - Fix font size of "Manage TemplateData" button in vector legacy + 2017WTE by Ed Sanders

Translate

 * - MessageBundle: Mark new keys as fuzzy by Abijeet
 * - Remove non-existing directories from phan config by Niklas Laxström
 * - Special:AggregateGroups: Ensure first group is visible immediately by aswathiprem24
 * - MessageBundle: Replace space with underscore when building definition by Abijeet
 * - MessageUpdateJob: Move declaration closer to where they are used by Abijeet
 * - Edit summaries: Reduce number of edit summaries to 3 by Abijeet
 * - TranslationHelper: Update edit summary time periodically by Wangombe
 * - Edit summaries: Fix alignment of title and link by Abijeet
 * - ExportTranslationsSpecialPage: Add dependency injection by Abijeet
 * - Do not use Apertium for certain target languages by Niklas Laxström
 * - Edit summaries: Re-arrange CSS styles as per document flow by Abijeet
 * - Wrap summary text on previous edit summaries by Wangombe
 * - Add anchor for source version of heading on translation pages by Abijeet

UniversalLanguageSelector

 * - Add Western Punjabi to Nastaleeq font by Kartik Mistry
 * - Update jquery.ime and jquery.uls from upstream by Amir E. Aharoni

UploadsLink

 * - Deprecate PersonalUrls hook by Moh'd Khier Abualruz

VisualEditor

 * - Remove redundant/unused CSS for template parameter page by Thiemo Kreuz
 * - Update VE core submodule to master (f3cbff8b1) by Bartosz Dziewoński
 * - ParsoidHelper: Make VisualEditorParsoidClientFactory required by Derick Alangi
 * - ParsoidHelper: Remove unnecessary `$config` by Derick Alangi
 * - Introduce VisualEditorParsoidClientFactory by Derick Alangi
 * - DesktopArticleTarget.init: Get $targetContainer after jQuery ready by Jon Robson
 * - Improve some API param docs and validation by Bartosz Dziewoński
 * - Remove redundant "choose" event handler by Thiemo Kreuz
 * - Fix parameter labels not being clickable by Thiemo Kreuz
 * - Make "(undocumented parameter)" part of the parameter label by Thiemo Kreuz
 * - Enable template editor toolbar deeper in the stack by Thiemo Kreuz
 * - Start with last item when shift+tabbing into parameter list by Thiemo Kreuz

Wikibase

 * - REST: Fix patch operation "value" type by Jakob Warkotsch
 * - REST: Handle errors thrown by StatementPatcher by Jakob Warkotsch
 * - REST: Handle patched Property/Statement ID change errors by Jakob Warkotsch
 * - Stop using prophecy in ItemPropertyIdHtmlLinkFormatterTest by Lucas Werkmeister
 * - REST: Throw Exception on invalid patch result by sihe
 * - REST: Disable eslint mocha/no-setup-in-describe by Jakob Warkotsch
 * - Add strict_types to ChangeOpSiteLink and test by Michael Große
 * - Use dedicated method to change existing sitelink by Michael Große
 * - Extract ChangeOpRemoveSiteLink from ChangeOpSiteLink by Michael Große
 * - REST: Remove useless string interpolation by Jakob Warkotsch
 * - schema: Convert Unique Index to Primary Key on wb_id_counters by Umherirrender
 * - Add api-test for disallowing removal of sitelink to redirect by Michael Große
 * - ResubmitChanges: Fix description by Marius Hoch
 * - api-testing: Remove ignoreconflicts parameter by Lucas Werkmeister
 * - Use SelectQueryBuilder in SqlEntityIdPager by Lucas Werkmeister
 * - Fully remove LanguageFallbackLabelDescriptionLookupFactory by Lucas Werkmeister
 * - Add empty 1.40 RELEASE-NOTES file by Lucas Werkmeister
 * - REST: Update OpenAPI related npm packages by Ollie Shotton
 * - REST: Improve PatchItemStatementTest by Jakob Warkotsch
 * - REST: Handle patch statement not found and redirect by Jakob Warkotsch
 * - Use floating objects for wikibase-entitytermsview-heading-aliases by Fomafix

WikibaseLexeme

 * - Bump SNL to make use of search profiles by Michael Große
 * - Make search profiles available to app by Michael Große
 * - Rename file to better reflect what it does by Michael Große
 * - Rely less on ids and allow for future noscript tags by Michael Große
 * - Lexidata: add separate module for feature detection by Noa wmde
 * - build: Upgrade jQuery test install to 3.6.1 to align with MediaWiki by James D. Forrester

WikiLambda

 * - build: Upgrade our Codex version for testing to 0.1.1 by James D. Forrester
 * - Ensure duplicate languages can't be selected through typing the ZID by ddw
 * - Vuex: Fix 'zLanganguage' typo to 'zLanguage' by ddw
 * - Replace literal Z6 with Constant.Z_STRING by gengh
 * - Work Summary Title not changing based on selected language by temitope adesoji
 * - Stop implementation from being sent to the backend when the field "function" is not set by temitope adesoji
 * - Fix input type title to fill space by temitope adesoji
 * - prevent function about page from scrolling sideways by temitope adesoji
 * - Refactor fetching of testers and implementations. by EWright
 * - Fix ZMultiLingualStringTest expected translated message by gengh
 * - Deduplicate code between ZObjectContentHandler and ZObjectEditAction by Florent

WikimediaEvents

 * - Add user groups attribute to mobileWebUI log event by essexigyan

WikimediaMessages

 * - Add messages for Tagalog Wikiquote (tlwikiquote) by gerritbot

Wikistories

 * - Allow titles to adjust their width according to text content by Eduardo

CologneBlue

 * - Deprecate PersonalUrls hook by Moh'd Khier Abualruz

Vector

 * - Followup: Removed code for cached HTML from T313060 by bwang
 * - Minimize search icon by Thiemo Kreuz
 * - icons: Fix arrow stem to be perfectly 45 degrees by Volker E
 * - Don't print table of contents on page with no table of contents by Jon Robson
 * - Revert "Sidebar: Collapses at lower resolutions" by Jdlrobson
 * - Follow-up: Align sticky header with header and update collapsed TOC in page title padding by bwang
 * - Change article toolbar bottom border color by bwang
 * - Add vector-toc-not-collapsed class serverside by bwang
 * - Icons: Watchstar and wikilove are upgraded   by Jon Robson
 * - Correct ContentHeader source order to match design by bwang
 * - Sidebar: Collapses at lower resolutions by Jon Robson
 * - Deprecate PersonalUrls hook by Moh'd Khier Abualruz
 * - Align language button by bwang
 * - Remove dependency on `.cdx-typeahead-search--active` class by Anne Tomasevich
 * - Followup: clean up cached HTML code from T315595 by bwang
 * - Align header icon buttons and main content by bwang

VisualEditor/VisualEditor

 * - Remove unused message "visualeditor-commentinspector-edit" by Bartosz Dziewoński

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * Cite
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Echo
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * ImageMap
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Listings
 * LoginNotify
 * MapSources
 * MediaModeration
 * MinervaNeue
 * MobileApp
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageNotice
 * PageTriage
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * ProofreadPage
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * SpamBlacklist
 * SubPageList3
 * SubpageSortkey
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiEditor
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
242 Changes in 48 repos by 80 authors