MediaWiki 1.38/wmf.8/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.8 by trainbranchbot
 * - collation: Improve IcuCollation for static code analyzer by Umherirrender
 * - Update margin rule for menu icons. by Clare Ming
 * - test: Always use strict equalities by Ed Sanders
 * - Move limit report rendering to ParserOutput by Petr Pchelko
 * - Set ParserOutput 'injectTOC' based on Skin options for page views by C. Scott Ananian
 * - Remove old HTTP request implementations by Petr Pchelko
 * - Change names of languages in Cyrillic to lowercase by Amir E. Aharoni
 * - Drop User methods which were deprecated since 1.37 by vladshapik
 * - Regression fix: do language conversion on ToC in ParserOutput::getText by C. Scott Ananian
 * - htmlform: Remove HTMLFormField restrictions on 'name' and 'id' by Bartosz Dziewoński
 * - Include name of page identity on failure within WikiPageFactory by Umherirrender
 * - Use WrappedString to build strings in MWDebug by Umherirrender
 * - Upgrade to Shellbox 3.0.0 by Petr Pchelko
 * - doc: Cleanup @param documentation by Umherirrender
 * - RELEASE-NOTES-1.37: Move comment from 20fd877 to 1.38, this missed the cut by James D. Forrester
 * - PageUpdater: apply tags even if RC suppressed. by Petr Pchelko
 * - Update OOUI to v0.42.1           by Volker E
 * - Update RELEASE-NOTES-1.37 by Reedy
 * - Add Vue composition API plugin by Roan Kattouw
 * - NoLocalSettings: Pass an EmptyBagOStuff to TemplateParser by Reedy
 * - Convert response to string & fix `assertEquals` to `assertSame` by Derick Alangi
 * - resourceloader: Change Context::getHash to always pass strings to implode by Umherirrender
 * - Remove duplicate settings from DefaultSettings by Umherirrender
 * - Title: use PageStore instead of LinkCache by daniel
 * - Fix oldimage deletion error message by Tim Starling
 * - REST: gracefully handle all exceptions. by daniel
 * - resourceloader: Fix nullable documentation for property and return types by Umherirrender
 * - Fix bool documentation for ExplodeIterator by Umherirrender
 * - LinkCache: Try invalidating cache before throwing by Martin Urbanec
 * - Add comment flag to LinkRenderer by Lucas Werkmeister
 * - Improve nullable documentation in Linker class about args by Umherirrender
 * - Replace `new stdClass` with more compact array syntax by Thiemo Kreuz
 * - Replace some more isset with shorter ?? syntax by Thiemo Kreuz
 * - Make use of OOUI methods .getItemCount and .isEmpty by Thiemo Kreuz
 * - Simpler RedisLockManager configuration by Tim Starling
 * - Add missing null to string casts when using rd_fragment and such by Thiemo Kreuz
 * - Remove on-demand update of img_sha1 by Tim Starling
 * - Add Vue.createMwApp, to help with Vue 2->3 migration by Roan Kattouw
 * - File: remove deprecated methods by Petr Pchelko
 * - Special:Contributions - verify early year and month are ints by Petr Pchelko
 * - Remove FileOp batch ID by Tim Starling
 * - Deprecate use of template directory relative to core by jdlrobson
 * - Use ParserOptions::newFromContext in MessageCache by Umherirrender
 * - EditPage: Only update title part of firstHeading on live preview by Fomafix
 * - Improve nullable documentation in special page class about args by Umherirrender
 * - language: Fix nullable documentation for property, args and return types by Umherirrender
 * - Allow populateContentTables to continue when there are bad blobs by Cindy Cicalese

Vendor

 * - Add opis/json-schema and symfony/yaml for Wikifunctions by James D. Forrester
 * - Update Shellbox to 3.0.0 by Petr Pchelko
 * - Update OOUI to v0.42.1 by Volker E

CategoryTree

 * - Get config values from Config instead of from global variables by Fomafix

CentralAuth

 * - Migrate to modern logging system (part 1)   by Matěj Suchánek
 * - Add full stop to various error messages by Bartosz Dziewoński

CirrusSearch

 * - Remove manual PARAM_HELP_MSG entries by Reedy
 * - Added i18n message for apihelp-cirrus-config-dump-param-prop by Joseph Emmanuel

Cite

 * - Clean up javascript code smells by Adam Wight

Citoid

 * - Move var declarations inline by Ed Sanders

cldr

 * - doc: Cleanup @param documentation by Umherirrender

Cognate

 * - Simplify test code by using shortcuts PHPUnit provides by Thiemo Kreuz

Collection

 * - Make use of PHPUnit shortcuts in tests by Thiemo Kreuz

ConfirmEdit

 * - Don't put HTML via RawMessage in the EditFilterMergedContent hook Status by Daimona Eaytoy
 * - SECURITY: Avoid double-escaping html tag contents by sbassett

ContentTranslation

 * - SX getInitialLanguagePair: Add debug logs to investigate issue by NikG
 * - SX Publishing: Fix publishing to sandbox by NikG
 * - SX: Add navigation for publishing feedback errors and warnings by NikG
 * - MWMessage: Apply the appropriate color only to icon inside slot by NikG
 * - CX SiteMapper: Add isMobileDomain method and use it inside getPageUrl  by NikG
 * - SX Dashboard: Move translation start from URL to a composable by NikG
 * - SX: Move section translation start to a global composable by NikG
 * - SX: Link articles created by SX in wikidata by Santhosh Thottingal
 * - SX: Expose TranslateInTarget configuration param to javascript by NikG
 * - CX SpecialContentTranslation: Replace global variables by NikG
 * - SX: Add UI for entrypoint for reviewing recently translated pages by NikG
 * - CX stylelintrc: Add "sx" to valid class prefixes by NikG
 * - SX: Add entrypoint for reviewing recently translated pages by NikG
 * - Menu items should only be added once by jdlrobson
 * - SXTranslationConfirmer: Move translation start event logging here by NikG
 * - SXArticleSearch: Move start translation methods to a composable by NikG
 * - SX publish: Remove PublishResult model and use PublishFeedbackMessage by NikG
 * - Avoid JS error for anon users when there is no favorites by Santhosh Thottingal
 * - SX Dashboard: Move useDashboardInitialization composable by NikG
 * - SX Refactoring: Abstract initializeLanguages in separate composable by NikG
 * - SX: Eslint fixes by Santhosh Thottingal
 * - SX: Run linting test along with npm run lint by Santhosh Thottingal
 * - Restore icons to callout by jdlrobson

DiscussionTools

 * - Fix layout of [subscribe] links on desktop Minerva by Bartosz Dziewoński
 * - ReplyLinksController: Update teardown code by Bartosz Dziewoński
 * - Enable DiscussionTools mobile by default for ease of testing by Ed Sanders
 * - Fix default value of wgDTSchemaEditAttemptStepSamplingRate, tweak docs by Bartosz Dziewoński
 * - Add links to Special:TopicSubscriptions in preferences by Bartosz Dziewoński
 * - Support new topic tool on mobile by Ed Sanders
 * - Fix saving edit mode on mobile in reply tool by Bartosz Dziewoński
 * - Reload the page after posting a comment on mobile by Bartosz Dziewoński
 * - Use MinervaNeue hook to disable talk overlay if DT mobile enabled by David Lynch
 * - Handle JS exceptions in API error logging by Bartosz Dziewoński
 * - Support reply tool on mobile by Ed Sanders
 * - UsernameCompletion: Disable fragment auto-select by Ed Sanders

DonationInterface

 * - Adyen Checkout: message to try another card by Elliott Eggleston

Echo

 * - Add echo-cross-wiki-notifications to DefaultUserOptions by Umherirrender

EventBus

 * - Add MCR slot records information to revision-create events by David Causse

FileImporter

 * - Add return type hints to methods in SpecialPageHtmlFragment by Fomafix

Gadgets

 * - Add namespace localisations for Hindi (hi). by Siddharth VP

GlobalPreferences

 * - Make SQLite specific gp_user unsigned patch by Reedy
 * - Hooks: Remove trailing / from $sqlPath by Reedy

GrowthExperiments

 * - Add an image: edit summary instrumentation by MewOphaswongse
 * - Add Image: Collect more image metadata by Gergő Tisza
 * - Add Image: Instrumentation for quality gate dialogs by Kosta Harlan
 * - Structured Tasks: Expand/collapse functionality for StructuredTaskToolbarDialog by MewOphaswongse
 * - Add Image: Show alert dialog if user clicks on task on desktop by Kosta Harlan
 * - Quality gate: Daily limit for image recommendations by Kosta Harlan
 * - Add a link: rejection reasons as checkboxes by Sergio Gimeno
 * - Add ImageRecommendationSubmissionLog for querying tasks done per day by Kosta Harlan
 * - Add an image: allow suggestion reason to wrap by MewOphaswongse
 * - Add an image: stop passing username as message parameter to onboarding message keys by MewOphaswongse
 * - Add an image: centralize construction of suggestionLogMetadata & add instrumentation for caption by MewOphaswongse
 * - Add an image: instrumentation for dialogs invoked from the image inspector by MewOphaswongse
 * - Un-community-config $wgGEHelpPanelSuggestedEditsPreferredEditor by Gergő Tisza
 * - Structured tasks: Update JSDoc for ImageSuggestionInteractionLogger & LinkSuggestionInteractionLogger by MewOphaswongse
 * - Add an image: instrumentation for caption info dialog by MewOphaswongse
 * - TemplateCollectionFeature: Fix negated searches with no infoboxes by Gergő Tisza
 * - Add a link: Prevent de-selection of ceRecommendedLinkAnnotation on desktop by MewOphaswongse
 * - Add an image: Suggestion reason by MewOphaswongse
 * - phan: remove unused suppression by Kosta Harlan
 * - TemplateCollectionFeature: Fix empty set handling by Gergő Tisza
 * - Add an image: Instrumentation parity with Add Link  by MewOphaswongse
 * - MenteesHandler: Output date using correct numerals by Martin Urbanec

GWToolset

 * - Avoid using User::isBlocked by vladshapik
 * - Remove unused code by Thiemo Kreuz
 * - Strict type hints for Job subclasses by Thiemo Kreuz
 * - Remove unneeded check from explode by Umherirrender

InputBox

 * - Remove unneeded return from hook handlers by Umherirrender
 * - build: Remove unneeded phan suppression by Umherirrender

IPInfo

 * - Insert info box after partial block notice by tsepothoabala

JsonConfig

 * - doc: Cleanup @param documentation by Umherirrender

Kartographer

 * - Don't generate img urls with dynamic groups for previews by Derk-Jan Hartman
 * - Replace unexpected counters object with array by Thiemo Kreuz
 * - Simplify/cleanup ApiQueryMapDataTest implementation by Thiemo Kreuz
 * - Add mapdata tests for multiple titles and revisions by WMDE-Fisch
 * - Add first tests for mapdata API by WMDE-Fisch
 * - Allow unicode characters in Kartographer group names by Derk-Jan Hartman
 * - Avoid duplicate mapframe being stored multiple times in State by Derk-Jan Hartman
 * - Prefer "group identifier" instead of "group name" by Thiemo Kreuz
 * - Add basic regression tests for projection utility classes by Thiemo Kreuz
 * - Replace protected property with actual constant by Thiemo Kreuz
 * - Minor updates and fixes to stdClass related documentation by Thiemo Kreuz

Math

 * - doc: Cleanup @param documentation by Umherirrender

MediaSearch

 * - undefined is not an object (evaluating 'this.tabs[tabName].disabled') by Simone This Dot
 * - Search term is shown twice and breaks the UI by seddon
 * - Cannot read properties of undefined (reading 'then') by Simone This Dot

NewUserMessage

 * - Avoid using User::isBlocked by vladshapik

Nuke

 * - Don't use GROUP BY in getNewPages by Matěj Suchánek

OAuth

 * - doc: Cleanup @param documentation by Umherirrender

PageImages

 * - doc: Cleanup @param documentation by Umherirrender

PageTriage

 * - doc: Cleanup @param documentation by Umherirrender

ProofreadPage

 * - OSD: Various tidy-ups by Inductiveload
 * - Use Openseadragon library for PRP image zoom by yash9265

PropertySuggester

 * - doc: Cleanup @param documentation by Umherirrender

QuickSurveys

 * - Fix spacing in all surveys per design specs by joakin
 * - Add close button to the surveys by joakin

ReadingLists

 * - Simplify test code by using PHPUnit shortcuts and such by Thiemo Kreuz

RelatedArticles

 * - Fix loading of related articles via IntersectionObserver by jdlrobson

SecurePoll

 * - Pass ->restrict( Shell::RESTRICT_NONE ) to GPG Shell Command by Reedy

TimedMediaHandler

 * - Fix phpunit testcases when you have instant commons enabled by Derk-Jan Hartman

TitleBlacklist

 * - Rename black and white to allowed and disallowed by Amir E. Aharoni

Translate

 * - TranslateSandbox: Suppress phan error for User::resetIdByNameCache by Abijeet
 * - doc: Cleanup @param documentation by Umherirrender
 * - Support both namespaced and unnamespaced StringMatcher by Niklas Laxström
 * - StringMatcher: Use namespace when loading schema for config validation by Abijeet
 * - TranslateReplaceTitle: Add strict types by Abijeet
 * - ArrayFlattener: Move to namespace by Abijeet
 * - ArrayFlattener: Add strict types by Abijeet
 * - Move StringMangler & StringMatcher to namespace by Abijeet
 * - StringMangler & StringMatcher: Add strict types by Abijeet

TranslationNotifications

 * - Fix log processing in DigestEmailer by Niklas Laxström

TwoColConflict

 * - Fix mismatching variable names in test data providers by Thiemo Kreuz

UniversalLanguageSelector

 * - Use HookHandlers and inject services by Fomafix

UploadWizard

 * - Change "blacklist" to "disallowed list" by Amir E. Aharoni
 * - doc: Cleanup @param documentation by Umherirrender

VisualEditor

 * - Remove local aria-multiselectable by WMDE-Fisch
 * - Update VE core submodule to master (86aa5f8f8) by Bartosz Dziewoński
 * - log restbase response body as attribute of response object by Cole White
 * - ArticleTargetSaver: ve.init may be undefined by Bartosz Dziewoński
 * - Update the shortcut for adding a template in the template dialog by Andrew Kostka
 * - Avoid using User::isBlockedFrom by vladshapik
 * - Move id creation into AriaDescribe mixin by Thiemo Kreuz

Wikibase

 * - doc: Cleanup @param documentation by Umherirrender
 * - Move namespace registration out of example settings (mostly) by Lucas Werkmeister
 * - Remove shared cache key config from repo example config by Lucas Werkmeister
 * - Remove extremely outdated comment from repo example config by Lucas Werkmeister
 * - Only add labels to entity links in comments and special pages by Lucas Werkmeister

WikibaseLexeme

 * - Selenium: extract waiting for replication and add waits by Michael Große
 * - Selenium: make lougout work with CentralAuth by Michael Große
 * - Selenium: ensure we have video recording during login by Michael Große
 * - Selenium: add performance logging by Michael Große
 * - Selenium: speed up test by not creating new category and language by Michael Große
 * - Bump jsdom from 18.0.0 to 18.0.1 by Addbot

WikibaseQualityConstraints

 * - Bump sinon from 11.1.2 to 12.0.1 by Addbot
 * - Add #region comments to make big test file easier to navigate by Michael Große

WikidataPageBanner

 * - WikidataPageBanner should disable table of contents using public functions by jdlrobson

WikiEditor

 * - Use Html::hidden instead of Xml::element by Fomafix
 * - Avoid User::getEditCount and ::getOption by Sam Wilson
 * - Don't add logging-related form inputs if not required by Sam Wilson
 * - Fix excluded phpcs rules by Sam Wilson

WikiLambda

 * - Add ZObjectPage to wrap WikiPage and ZErrors on ZObject creation by gengh
 * - Update function-schemata sub-module to HEAD (1e03e46)   by James D. Forrester
 * - Bring in all PHP code from function-schemata as we're the only user by James D. Forrester
 * - ZTesterResults: Display the error message when a Tester fails by adesoji
 * - Implement Generic Types within the UI by Simone This Dot
 * - Migrate fillParserOutput from Content to ContentHandler by James D. Forrester

WikimediaEvents

 * - Add scroll event logging by Clare Ming

WikimediaIncubator

 * - Remove unneeded check from explode by Umherirrender
 * - build: Remove unneeded phan suppression by Umherirrender

WikimediaMessages

 * - Move licensing logic from MobileFrontend to WikimediaMessages by jdlrobson

MinervaNeue

 * - Instrument mobile talk page clicks by jdlrobson
 * - Add move, delete, and protect options on mobile AMC user page by Gagah Pangeran Rosfatiputra
 * - Refactor Minerva header and overlay headers to use flexbox by bwang
 * - Change disclaimer link container to flex box by Gagah Pangeran Rosfatiputra
 * - Minerva uses desktop footer for license by jdlrobson
 * - Removed calls to MinervaPreRender hook. by Sai Suman Cherukuwada

Vector

 * - Initialize the skins.vector.es6 module before the skins.vector.js module by Nicholas Ray
 * - Add comment to dropdownMenus.js regarding the CHECKBOX_HACK_BUTTON_SELECTOR by Nicholas Ray

VisualEditor/VisualEditor

 * - ElementLinearData: Fix instance of data being modified in place by Ed Sanders
 * - assert.ok -> assert.true by Ed Sanders
 * - Add simple equality check shortcut to compareElementsUnannotated by Ed Sanders
 * - Update OOUI to v0.42.1 by Volker E
 * - Use null for deliberately empty values instead of undefined by Ed Sanders
 * - eslint: Fix errors from upcoming eslint-config-wikimedia by Ed Sanders

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CentralNotice
 * CharInsert
 * CheckUser
 * ChessBrowser
 * CiteThisPage
 * CodeEditor
 * CodeMirror
 * CodeReview
 * CologneBlue
 * CommonsMetadata
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * DynamicSidebar
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FlaggedRevs
 * Flow
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GeoCrumbs
 * GeoData
 * GlobalBlocking
 * GlobalCssJs
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * MediaModeration
 * MobileApp
 * MobileFrontend
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * Newsletter
 * Nostalgia
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * Quiz
 * RSS
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * Timeless
 * TocTree
 * TorBlock
 * TrustedXFF
 * UploadsLink
 * UrlShortener
 * UserMerge
 * VipsScaler
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * WikibaseMediaInfo
 * Wikidata.org
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * intersection
 * timeline
 * wikihiero

Total changes
228 Changes in 58 repos by 58 authors