MediaWiki 1.38/wmf.12/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.12 by trainbranchbot
 * - DeletePageJob: add fallback for page role by Daimona Eaytoy
 * - Improve the functionality and stability of multiselect by Funcer8
 * - ArticleViewTest: Set wgTitle for test by Kosta Harlan
 * - phpunit: Set config for SkinMustacheTest by Kosta Harlan
 * - Use hasVariant in loop to determine parent language in LanguageFactory by Func
 * - phpunit: Mock session object for user in DefaultPreferencesFactoryTest by Kosta Harlan
 * - Add Nanai (gld) and Nawdm (nmz) to Names.php  by Amir E. Aharoni
 * - phpunit: Use submap assertion for LanguageIntegrationTest by Kosta Harlan
 * - Use LanguageNameUtils constants instead of strings by Alexander Vorwerk
 * - Replace deprecated Language::fetchLanguageNames by Umherirrender
 * - Remove the MediaWikiTestCase class alias by Alexander Vorwerk
 * - registration: Allow ObjectFactory spec in extension.json schema by Ostrzyciel
 * - RollbackAction: fix missing pagetitle by Derk-Jan Hartman
 * - Support having groups inherit permissions from another group by Kunal Mehta
 * - Very long words in editcomments should wrap by Derk-Jan Hartman
 * - Drop obsolete comment by Matěj Suchánek
 * - Link to working Special:UserRights for users with '@' in their name by Kunal Mehta
 * - Add new watchlist hook to better support syncing between multiple watchstars by bwang
 * - Revert "tests: Special page constructor are not allow to call getContext" by Lucas Werkmeister (WMDE)
 * - specials: Replace call to deprecated function IDatabase::dataSeek by Amir Sarabadani
 * - Use PHP's [ $this, 'fn' ] callback syntax where possible by Thiemo Kreuz
 * - Table of contents should not show in previews for skins that have requested not to show it by jdlrobson
 * - resources: Drop jquery.jStorage, deprecated since MW 1.28 and now unused by James D. Forrester
 * - Refactor cache TTL for SettingsBuilder sources by Dan Duvall
 * - Tests: Update syntax referencing classes and internal functions by Thiemo Kreuz
 * - Fix type hints in SpecialWatchlistTest by Thiemo Kreuz
 * - Update some PHPDoc comments in SiteConfiguration class by Thiemo Kreuz
 * - Settings: Prevent applying more settings after invoking `->finalize` by Derick Alangi
 * - Skin: Disable the new main page messages by default by jdlrobson
 * - Remove ActionAjax by Amir Sarabadani
 * - schema: Fix typo about site.site_id in comment by Umherirrender
 * - Introduce `Redirect(Lookup&Store)` services to handle redirects by Derick Alangi
 * - Allow editors to customize the main page h1 heading text  by jdlrobson
 * - Fix local rendering of link in diff view with action=render by Amir Sarabadani
 * - Use inject Config in api modules and special pages by Alexander Vorwerk
 * - edit: Make PreparedEdit->timestamp lazy to avoid eager parse by Aaron Schulz
 * - Streamline and inline small code pieces in ImageHistoryList by Thiemo Kreuz
 * - IcuCollation cleanup by Tim Starling
 * - objectcache: improve error status codes in MemcachedPeclBagOStuff by Aaron Schulz
 * - Rename content.thumbnails.less with -screen by Arlo Breault
 * - GlobalConfigSink: don't double-prefix in setDefault by Petr Pchelko
 * - Add Ga (gaa) language to Names.php by Amir E. Aharoni
 * - SettingsBuilder: add ability to validate config against schema by Petr Pchelko
 * - Change return format of DeletePage again by Daimona Eaytoy
 * - SpecialContributions: Let tagfilter support multiple tags by Martin Urbanec
 * - Re-add PHPUnit start/end log messages by Tim Starling
 * - RELEASE-NOTES: Add a note for autoloading change. by Petr Pchelko
 * - Pull out commonality between thumbnails and print styles by Arlo Breault
 * - tests: Special page constructor are not allow to call getContext by Umherirrender
 * - specials: Fix init value for reason on Special:Userrights by Umherirrender

AbuseFilter

 * - build: Upgrade mediawiki-phan-config to 0.11.1 by Alexander Vorwerk
 * - Avoid SpecialPage::getContext in SpecialAbuseLog::__construct by Umherirrender
 * - Update docs after PP limit report core change by Daimona Eaytoy

ArticleCreationWorkflow

 * - MediaWikiTestCase -> MediaWikiIntegrationTestCase by Alexander Vorwerk

BetaFeatures

 * - Avoid using User::getOption method by vladshapik

CentralAuth

 * - Add PLURAL support to logentry-gblrights-newset by Matěj Suchánek
 * - Streamline some small pieces of code in CentralAuthUser by Thiemo Kreuz
 * - Make use of PHP's ?: operators to avoid some duplication by Thiemo Kreuz
 * - Inline some very short pieces of code by Thiemo Kreuz
 * - Fix LogHookHandler skipping the user named "0" by Thiemo Kreuz
 * - Make use of ->selectFieldValues shortcut where possible by Thiemo Kreuz
 * - Normalize gu_hidden by Taavi Väänänen
 * - Make generic array types in PHPDocs more specific by Thiemo Kreuz
 * - Remove PHP entry point by Umherirrender
 * - Drop support for CentralAuthLockedCanEdit by Taavi Väänänen
 * - Add PLURAL support to logentry-gblrights-setchange by Matěj Suchánek
 * - Replace usages of deprecated wfWikiID by Alexander Vorwerk
 * - Migrate to modern logging system (part 3)   by Matěj Suchánek
 * - Migrate to modern logging system (part 2)   by Matěj Suchánek
 * - Namespace RCFeed by Taavi Väänänen
 * - Inject MainConfig into Hooks by Alexander Vorwerk
 * - specials: Move addHelpLink to execution function by Umherirrender
 * - Set wiki parameter for cross-wiki suppressions by Alexander Vorwerk

CirrusSearch

 * - Hooks: Introduce dependency injection by Kosta Harlan
 * - Hooks: Set default value for completion profile by Kosta Harlan

Cite

 * - ve-cite: Use proper method for comparing linear data (attempt 2) by Ed Sanders
 * - ve-cite: Update CSS classes in tests by Ed Sanders
 * - ve-cite: Add test for simple case of re-used reference by Ed Sanders

CiteThisPage

 * - docs: Fix typo in 'wgCiteThisPageAdditionalNamespaces' reference by Timo Tijhof
 * - Hooks: Handle null case for title/config by Kosta Harlan

CodeMirror

 * - Add q to list of allowed html elements to syntax highlighting by Derk-Jan Hartman
 * - Avoid using User::getOption method by vladshapik

CodeReview

 * - Avoid using User::getOption method by vladshapik

Collection

 * - Kill wgAjaxExportList & AJAX interface from Collection by Derick Alangi
 * - Remove MWServeStatus from client code & replace other ajax consumers by Derick Alangi

ConfirmEdit

 * - MediaWikiTestCase -> MediaWikiIntegrationTestCase by Alexander Vorwerk

ContentTranslation

 * - SX: Fix title route param for navigation to SX Editor by NikG
 * - Avoid inheriting margins for mw-ui-icon from mw core by Santhosh Thottingal
 * - SX: Fix suggestion loading after canceling preselected translation by NikG
 * - SX: Remove line breaks from "fetchSegmentTranslation" method response by NikG
 * - SX ProposedTranslationActionButtons: Fix padding for action buttons by NikG

DiscussionTools

 * - Set $wgUsePigLatinVariant = false while running tests by Bartosz Dziewoński
 * - Add missing typehints by Ed Sanders

DonationInterface

 * - Support lots of country tlds for yahoo & microsoft mail by Elliott Eggleston

Echo

 * - Pass entire response object to response attribute by Cole White

FlaggedRevs

 * - Drop ft_title and ft_namespace from flaggedtemplates table by Amir Sarabadani

Flow

 * - Fixing mediawiki's য় problem by Aftab
 * - Avoid using User::getOption by vladshapik
 * - Adding zh, zh-hans, zh-hant namespace names, aliases and special page names, aliases in StructuredDiscussions (Flow)  by Winston Sung
 * - RevisionLookup::getRevisionById can return null in OptInController by Umherirrender
 * - build: Remove unneeded phan suppression by Umherirrender

GeoData

 * - Add coordinates only from local files, which are not redirects by Umherirrender

GlobalBlocking

 * - Update GlobalBlocking to use the new HookContainer/HookRunner system by Taavi Väänänen
 * - [refactor] Rename GlobalBlocking::getWhitelistInfo to getLocalWhitelistInfo by Martin Urbanec
 * - Parse global block reasons on another wiki by Taavi Väänänen
 * - API: set 'expiry' PARAM_TYPE to 'expiry' instead of 'string' by Tks4Fish
 * - Modifying extension to use BlockUserFactory by Tks4Fish

GlobalPreferences

 * - Avoid using User::getOption by Roman Stolar

GrowthExperiments

 * - Remove deprecated service from ServiceWiring.php and tests by Kosta Harlan
 * - Donor signup: rename client module files to follow MediaWiki conventions by Sergio Gimeno
 * - Add an image: allow only valid image media types by Sergio Gimeno
 * - Add an image: Prevent empty caption from being saved by MewOphaswongse
 * - Post-edit dialog: Show success MessageWidget whenever an edit is made by MewOphaswongse
 * - Suggested edits: increase vertical spacing for error message label by Sergio Gimeno
 * - Confirm email: rename client module name to follow MediaWiki conventions by Sergio Gimeno
 * - Welcome survey: rename client module name to follow MediaWiki conventions by Sergio Gimeno
 * - Add an image: Add test version of GEInfoboxTemplates by Gergő Tisza
 * - Suggested edits: Show task count in pager by MewOphaswongse
 * - Standardize parameter defaults for structured task types by Gergő Tisza
 * - NewcomerTasks: Change some properties to constants by Gergő Tisza
 * - NewcomerTasks: Make value objects JSON-serializable by Gergő Tisza
 * - Add a link: allow the link inspector to be collapsed on desktop by MewOphaswongse
 * - Add an image: Add RTL asset for placeholder-with-question-mark by MewOphaswongse
 * - Use shorter PHP callback syntax where possible by Thiemo Kreuz
 * - Mentee overview: Add link to Special:Contributions from questions by Martin Urbanec

GuidedTour

 * - MediaWikiTestCase -> MediaWikiIntegrationTestCase by Alexander Vorwerk

Insider

 * - Remove PHP entry point by Umherirrender

IPInfo

 * - Remove source info/disclaimer from the popup by Thalia
 * - Use separate widgets for the popup and info box by Thalia
 * - widget: Handle case where country is not returned by the API by Thalia
 * - Add DebouncingLogger by Sam Smith

Josa

 * - Remove PHP entry point by Umherirrender

Kartographer

 * - mapdata API support for versioned maps by Adam Wight
 * - Make some ESLint exceptions more specific by Thiemo Kreuz
 * - Fix script permissions by Adam Wight
 * - ApiQueryMapData: Inject service WikiPageFactory by Fomafix
 * - ApiSanitizeMapData: Inject service Parser by Fomafix

MapSources

 * - Remove PHP entry point by Umherirrender

MediaSearch

 * - Update code to unbreak use with Vue 3 migration build by Anne Tomasevich
 * - Update Vue init code to use Vue.createMwApp by Anne Tomasevich
 * - Cannot read properties of undefined (reading 'then') by Simone This Dot

MobileFrontend

 * - Fix diff viewport overflow caused by table layout by Derk-Jan Hartman
 * - Remove comment on unsupported Internet Explorer by Volker E
 * - Use browserslist-config-wikimedia/basic without modification by jdlrobson
 * - build: Update eslint-config-wikimedia to 0.21.0 by Ed Sanders

MultimediaViewer

 * - Remove PHP entry point by Umherirrender
 * - Avoid using User::getOption by vladshapik

NearbyPages

 * - Make Nearby use createMwApp by jdlrobson

Newsletter

 * - Remove PHP entry point by Umherirrender
 * - tests: Inherit from MediaWikiIntegrationTestCase not MediaWikiTestCase by James D. Forrester

OpenStackManager

 * - Remove PHP entry point by Umherirrender

ProofreadPage

 * - Use ReadOnlyMode::isReadOnly instead wfReadOnly by Jayprakash12345

QuickSurveys

 * - Revert "Change thank you message" by Scardenasmolinar
 * - Change thank you message by suecarmol

SearchExtraNS

 * - Remove PHP entry point by Umherirrender

SecureLinkFixer

 * - MediaWikiTestCase -> MediaWikiIntegrationTestCase by Alexander Vorwerk

SecurePoll

 * - i18n: Changing 'Dup' to 'Duplicate' and 'Duplicate' to 'Dup cookies' to clarify by Tks4Fish
 * - i18n: Changing 'CSRF' to 'Failed' to clarify why it's marked by Tks4Fish

SubPageList3

 * - Remove PHP entry point by Umherirrender

SubpageSortkey

 * - Remove PHP entry point by Umherirrender

TheWikipediaLibrary

 * - Do not log warnings for missing dependencies by jsn
 * - Minor code cleaup by Reedy
 * - Secondary link goes directly to the library by jsn

TocTree

 * - Remove PHP entry point by Umherirrender
 * - Use HookHandlers and implement hook interfaces by Fomafix
 * - Use namespace MediaWiki\Extension\TocTree in PHP by Fomafix

Translate

 * - Replace caller of WikiPage::insertNullProtectionRevision in test by TChin
 * - SpecialPage_initList: Return if MovePage is not set by Abijeet
 * - First steps for MessageBundle integration by Niklas Laxström
 * - MessageHandle: Fix broken optimization in getInternalKey by Niklas Laxström
 * - Avoid using User::getOption by Roman Stolar

TranslationNotifications

 * - Avoid using User::getOption by Roman Stolar

TrustedXFF

 * - MediaWikiTestCase -> MediaWikiIntegrationTestCase by Alexander Vorwerk

UniversalLanguageSelector

 * - Upstream WMF config to disable ULS in Ace editor widgets by Ed Sanders
 * - Disable language button background color on modern Vector by jdlrobson

VisualEditor

 * - Prepend multipart message in onReplacePart to prevent it from moving around by Svantje Lilienthal
 * - Remove suggested values message for custom inputs by Svantje Lilienthal
 * - Parse new link in multipart message by WMDE-Fisch
 * - Remove temporary hacks that got fixed upstream by WMDE-Fisch
 * - Fix action icons breaking into multiple lines on narrow screens by Thiemo Kreuz
 * - Add links to documentation in help messages by WMDE-Fisch
 * - Cleanups by Adam Wight
 * - Performance: Don't add empty parameter descriptions to dialog by Thiemo Kreuz
 * - Performance: Don't add empty action s to template dialog by Thiemo Kreuz

Wikibase

 * - Improve JS Hook documentation by Lectrician1
 * - Update Termbox (partial Vue 3 migration) by Lucas Werkmeister
 * - Fixing mediawiki's য় problem by Aftab
 * - Avoid using User::getOption by Roman Stolar
 * - Escape description before outputting it in action=info by Martin Urbanec
 * - Rename test method to avoid core conflict by Daimona Eaytoy

WikibaseCirrusSearch

 * - MediaWikiTestCase -> MediaWikiIntegrationTestCase by Alexander Vorwerk

WikibaseLexemeCirrusSearch

 * - MediaWikiTestCase -> MediaWikiIntegrationTestCase by Alexander Vorwerk

WikibaseMediaInfo

 * - Renderer fix: only match nodes between DOM versions by Matthias Mullie
 * - Add support for references by Matthias Mullie
 * - Fix rendering by Matthias Mullie

WikibaseQualityConstraints

 * - Remove SpecialConstraintReport::formatDataValues by Lucas Werkmeister

WikidataPageBanner

 * - Disable main article table of contents in a less hacky way by jdlrobson

WikiEditor

 * - Add new 'secondary' toolbar section by Sam Wilson

WikiLambda

 * - ZList: Fix getSerialized to return canonical or normal form by gengh
 * - ZList: Remove head and tail from constructor by gengh
 * - docs: Re-enable all PHPCS documentation rules and make pass by James D. Forrester
 * - Add comments to all vuex store by Simone This Dot
 * - ZObjects: Clean-up code and document classes better by gengh
 * - Remove ZObjectFactory creation calls from ZObject constructors by gengh
 * - Hooks::onHtmlPageLinkRendererEnd: Use the labels table ahead of reading from the DB by James D. Forrester
 * - ZObjectStore: Rename fetchZObjectLabels to searchZObjectLabels by James D. Forrester
 * - Update function-schemata sub-module to HEAD (b129836)  by James D. Forrester
 * - Fix isValid method for all ZObject classes by gengh
 * - store.programmingLanguages: Use real ZIDs, and add the TODO for T296815 by James D. Forrester
 * - Remove unused vuex getter by Simone This Dot
 * - Modify the title in real time while user change name of existing function by adesoji
 * - update constants in vue and js files by jkieserman
 * - Remove already resolved FIXME tags by gengh
 * - Format "composer update" as an individual step in the readme for readability by gabrielchl
 * - Update function-schemata sub-module to HEAD (2e912e6)    by James D. Forrester

WikimediaBadges

 * - MediaWikiTestCase -> MediaWikiIntegrationTestCase by Alexander Vorwerk

WikimediaMessages

 * - Fix Wikinews license link in mobile editor  by Bartosz Dziewoński
 * - Remove unused license name abbreviations by Bartosz Dziewoński
 * - Remove dead code by Bartosz Dziewoński

MinervaNeue

 * - Fix viewport overflow in RC/Watchlist editsummaries by Derk-Jan Hartman
 * - ServiceWiring: Add fallback for when title is null by Kosta Harlan
 * - drawers: Remove outdated supported browser property by Volker E
 * - Avoid using User::getOption by vladshapik

Vector

 * - Mount search to parent node of search form by jdlrobson
 * - [Sticky header refactor] Separate responsibilities by jdlrobson
 * - Update scroll observer to allow event logging by Clare Ming
 * - Update search box margin in sticky header. by Clare Ming
 * - Restores language button icon font size by jdlrobson

VisualEditor/VisualEditor

 * - Move logic for select first/last offset to view and flag autoFocus nodes by Ed Sanders
 * - ce.Surface: Improve getViewportRange by Ed Sanders

No changes

 * 3D
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticlePlaceholder
 * Babel
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * CheckUser
 * ChessBrowser
 * Citoid
 * CodeEditor
 * Cognate
 * CologneBlue
 * CommonsMetadata
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * DynamicSidebar
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GlobalCssJs
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * ImageMap
 * InputBox
 * Interwiki
 * InterwikiSorting
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MachineVision
 * MassMessage
 * Math
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * NavigationTiming
 * NewUserMessage
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuth
 * OAuthRateLimiter
 * ORES
 * PageAssessments
 * PageImages
 * PageNotice
 * PageTriage
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PoolCounter
 * Popups
 * PropertySuggester
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TorBlock
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * UserMerge
 * VipsScaler
 * WebAuthn
 * WikiLove
 * WikibaseLexeme
 * Wikidata.org
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * mediawiki/vendor
 * timeline
 * wikihiero

Total changes
231 Changes in 61 repos by 67 authors