MediaWiki 1.39/wmf.26/Changelog

Core changes

 * - Branch commit for wmf/1.39.0-wmf.26 by trainbranchbot
 * - objectcache: optimizations to makeValueOrSegmentList by Aaron Schulz
 * - Remove margins only in direct children of message boxes by Francois Pignon
 * - Sync up with Parsoid parserTests.txt by Arlo Breault
 * - Allow returning StatusValue from HTMLForm submit callbacks by Gergő Tisza
 * - rdbms: Update outdated docs around ILoadBalancer::getConn methods by Timo Tijhof
 * - rdbms: Switch to getConnectionInternal in getPrimaryPos by Amir Sarabadani
 * - composer.json: Pin phpunit to 8.5.28 by Kosta Harlan
 * - api: Remove redundant 'api' group from DB_PRIMARY connection by Timo Tijhof
 * - SiteStats: Make sure initSiteStats.php re-distribute values by Amir Sarabadani
 * - Follow-up Ifec82b5f: Always try/catch when accessing native storage object  by Ed Sanders
 * - Set initial-zoom via JavaScript to avoid font-scaling issue in iPad (take 2) by Jdlrobson
 * - mediawiki.storage: Remove unused `isRawKey` arg by Timo Tijhof
 * - Added Parsoid support for nowiki stripping in args of   by Subramanya Sastry
 * - parser: Use SelectQueryBuilder instead of IDatabase::select by Derick Alangi
 * - Set skipMode to something other than legacy by Arlo Breault
 * - OutputPage: replace legacy link type "shortcut icon" with standard by R4356th
 * - Make RefreshLinksJobs actually clear replica snapshots by Aaron Schulz
 * - filerepo: Allow shared caching of ForeignAPIRepo responses across wikis by Máté Szabó
 * - Resources.php: Add .icons-interactions dependency by samtar
 * - Revert "Set initial-zoom via JavaScript to avoid font-scaling issue in iPad" by Legoktm
 * - SqlBagOStuff: Fix modtoken comparison by Tim Starling
 * - SqlBagOStuff: Migrate from IDatabase::select to SelectQueryBuilder by Derick Alangi
 * - tests: Migrate MediaWiki settings to `overrideConfig...` by Derick Alangi
 * - Allow parsoid-compatible parser tests to select a subset of parsoid modes by C. Scott Ananian
 * - Deprecate the use of magic variables whose names contain a colon by C. Scott Ananian
 * - SpecialPages: "related" references updated to "associated" by Moh'd Khier Abualruz
 * - DeleteBatch: Clarify sleep is in seconds by Reedy
 * - Setup: Remove internal short-cut config $wgUseEnotif by Umherirrender
 * - Use ::class to refer to class names by Umherirrender
 * - unit tests: Use MainConfigNames constant to refer configs by Umherirrender
 * - SpecialPages: Can formally register navigation links by Moh'd Khier Abualruz
 * - Update OOUI to v0.44.3   by James D. Forrester
 * - Use MainConfigNames constant to refer configs by Umherirrender
 * - SpecialRecentChangesLinked: Use array_uniqe on fields and tables by Amir Sarabadani
 * - Fix the autonym of the Iñupiaq language by Amir E. Aharoni
 * - tests: Change multiple calls from overrideConfigValue to overrideConfigValues by Umherirrender
 * - Set initial-zoom via JavaScript to avoid font-scaling issue in iPad by Jon Robson
 * - SqlBagOStuff: use cancelAtomic by Tim Starling
 * - objectcache: Add trace to SqlBagOStuff DBError logging by Timo Tijhof
 * - Add markup to page titles to distinguish the namespace and the main text by Bartosz Dziewoński
 * - ForeignResourceManager: Property and function docblocks by Reedy
 * - ForeignResourceManager: Replace custom yaml parser with Symfony Yaml parser by Reedy
 * - SessionManager: write default edit token during session creation by Tim Starling
 * - ParserGetVariableValueSwitchHook: Don't use the cache parameter by C. Scott Ananian
 * - tests/parser/TestMode: move parser test helper class to parsoid library by C. Scott Ananian
 * - Update Codex from v0.1.0-alpha.9 to v0.1.0-alpha.10                  by Anne Tomasevich
 * - ManageForeignResources: Better wrap description text by Reedy
 * - Remove references to removed 'watchlist' query group by Bartosz Dziewoński
 * - Use native array_column in tests instead of loops by Thiemo Kreuz
 * - SessionManager: don't check whether newly generated session IDs already exist by Tim Starling
 * - Exif: Minor cleanup by Reedy
 * - SkinMustache: Add `data-nosnippet` to `printfooter` by samtar
 * - SpecialRecentChangesLinked: Use rdbms code for building the main query by Amir Sarabadani
 * - Language: More specific PHPDocs in Language class and related by Thiemo Kreuz
 * - Rephrase tooltip-t-permalink by Amir E. Aharoni
 * - tests: Migrate away from `setMwGlobals` to `overrideConfigValue(s)` by Derick Alangi
 * - Fix comma splice in the message mergehistory-fail by Amir E. Aharoni
 * - Update kk-related language fallback chain by Winston Sung
 * - Update ku-related language fallback chain by Winston Sung
 * - Remove ParserGetVariableVarCacheHook, deprecated in 1.35 by C. Scott Ananian
 * - Revert "ParserTestRuner: Init 'selser' to prevent 'Undefined index' warnings" by C. Scott Ananian
 * - tests/api: Add TestUser::getAuthority and use it by Umherirrender
 * - tests/api: Use MediaWikiIntegrationTestCase::editPage for edits by Umherirrender
 * - Ensure that `flags=` output in ParserTestRunner is more complete by C. Scott Ananian

Vendor

 * - Update OOUI to v0.44.3 by James D. Forrester

ArticlePlaceholder

 * - Fix tests to avoid deprecated functionality by Ollie Shotton

CheckUser

 * - Batch process and format revision comments using preprocessResults by dreamyjazz
 * - Make getTargetSearchConds return null unless conditions are generated by dreamyjazz
 * - Move isValidRange to the abstract pager as it's only used there by dreamyjazz
 * - .phpcs.xml: Narrow LowerCamelFunctionsName.FunctionName by Reedy
 * - importCheckUserLogs.php: Fix AssignmentInControlStructures by Reedy
 * - Hooks: Merge RecentChange_save handlers by Reedy

Cite

 * - Allow multivalued rel attributes by Isabelle Hurbain-Palatin

ContentTranslation

 * - CX3 Build 0.2.0+20220822 by Santhosh Thottingal
 * - SX: Persist selection of MT provider across sessions by NikG

DiscussionTools

 * - Make visualenhancements_pageframe features respect visualenhancements preference by Bartosz Dziewoński
 * - Don't pass an empty string to getElementById to avoid Firefox warning by Ed Sanders
 * - Update permalinks when refreshing the page by Ed Sanders
 * - Always use English for internal exceptions by Bartosz Dziewoński
 * - Fix headings changing height when JS loads on mobile (FOUC) by Ed Sanders
 * - Logging: platform as phone/desktop depending on whether MF is active by David Lynch
 * - Add space after namespace on talk pages by Ed Sanders
 * - Add Hebrew special pages aliases by Amir E. Aharoni
 * - Add try…catch in failing deferred update by Bartosz Dziewoński
 * - Prevent using the reply tool together with Convenient Discussions gadget by Bartosz Dziewoński
 * - Replace deprecated database stuff by Bartosz Dziewoński
 * - Add config option to enable/disable permalinks backend by Bartosz Dziewoński
 * - Add Czech special page aliases by Martin Urbanec
 * - Add space if possible after bullet indentation by Bartosz Dziewoński
 * - Show created/notified dates on Special:TopicSubscriptions by Ed Sanders

DonationInterface

 * - GatewayChooser: fix submethod support check by Elliott Eggleston

Echo

 * - Simplify linking to fragments of Special:Preferences by Umherirrender

Elastica

 * - Revert "Switch to Elastica 7.1.5" by Ebernhardson
 * - Switch to Elastica 7.1.5 by David Causse

FlaggedRevs

 * - Do not attempt to create a FlaggableWikiPage when the title can't exist by Amir Sarabadani
 * - updateAutoPromote: Fix rev_comment by Umherirrender
 * - Remove indexExists check for page_name_title index by Umherirrender
 * - Apply some diff styles to Minerva by Gergő Tisza

Flow

 * - Allows for multiple values in the "rel" attribute by Isabelle Hurbain-Palatin
 * - mw.flow.ui.NavigationWidget: apply class mw-sticky-header-element only by Sergio Gimeno
 * - Remove instrumentation by Sam Smith
 * - Remove FlowReplies EventLoggingSchemas entry by Sam Smith

GlobalBlocking

 * - Log block ID by Gergő Tisza
 * - Use Status instead of error array in GlobalBlocking methods by Gergő Tisza
 * - Fix RemoveGlobalBlock reference by Gergő Tisza

GrowthExperiments

 * - [i18n] Change User:$1 to $1 by Martin Urbanec
 * - Grant "enrollasmentor" to users meeting community's criteria by Martin Urbanec
 * - Add a reminder about fixing the 'resetTaskCache' debug flag by Gergő Tisza
 * - Fix structured task restriction check by Gergő Tisza

IPInfo

 * - Remove unused CSS rules by csimiyu
 * - Translate "User type" data returned from MaxMind by tsepothoabala
 * - i18n: Support GENDER within the substituted messages by Matěj Suchánek

JsonConfig

 * - Add Geo Data license Germany by Raymond

Kartographer

 * - Merge all incoming nearby data by Thiemo Kreuz
 * - Add pin icon to "show nearby articles" button by Thiemo Kreuz
 * - Dont add close button to nearby popups by WMDE-Fisch
 * - Fix incomplete `return this` in sidebar code by Thiemo Kreuz
 * - Use native undefined instead of typeof checks by Thiemo Kreuz
 * - Unhoist a bunch of variables in various JavaScript files by Thiemo Kreuz
 * - Add missing JSDoc blocks to functions all over the codebase by Thiemo Kreuz
 * - Fix coordinate precision for zoom level 19 by Thiemo Kreuz
 * - Code style cleanup: no newlines at start/end of functions by Thiemo Kreuz
 * - Simple auto-refresh for nearby pages feature by Thiemo Kreuz
 * - Remove duplicate title attributes by Thiemo Kreuz

Linter

 * - Second phase of T175177: Adds template and tag to RecordLintJob by sbailey

MassMessage

 * - Add MessageSender class to handle actual message delivery by Abijeet

MobileFrontend

 * - Fix login CTA on edit link on wikis where only registered users can edit by Bartosz Dziewoński
 * - Do not change mw.config.get('wgRestrictionEdit') by Gergő Tisza
 * - importable.test: Remove upstreamed mw-node-qunit mock by Ed Sanders

PageImages

 * - Add a parameter to deactivate OpenGraph meta tags by Sébastien Beyou

Phonos

 * - Treat phonos parser function as expensive by MusikAnimal
 * - Update styling for error state of button and popup by Sam Wilson

ProofreadPage

 * - Various PHP syntax and documentation clean ups by Thiemo Kreuz

Scribunto

 * - Enable testing with Parsoid + add failing test for T272507 by Subramanya Sastry
 * - Fix incorrect param type, causing phan error by Tim Starling
 * - Bump scribunto-stats cache version by Alexander Vorwerk

SimilarEditors

 * - Make Special:SimilarEditors use a POST request by diesel kapasule

StopForumSpam

 * - Namespace tests by Reedy
 * - Fix DenyListManager singleton   by addshore
 * - UpdateDenyList: Ignore for code coverage by Reedy
 * - Benchmark using getIpDenyListSet by addshore
 * - DenyListManager: Info log number of skipped rows by Reedy
 * - Benchmark the set always by addshore
 * - Swap AbuseFilter hooks to HookHandler by Reedy
 * - Swap MW Core hooks to HookHandler by Reedy
 * - Minor cleanup by Reedy
 * - Benchmark: Expand benchmarks by Reedy
 * - Add very simple Benchmark for loading SFS by Reedy
 * - Namespace update script and rename class by Reedy

SyntaxHighlight_GeSHi

 * - Fix the case of empty tags by Sébastien Beyou

TorBlock

 * - Add very basic initial tests by Reedy
 * - Add really basic benchmark by Reedy
 * - LoadExitNodes: Add @codeCoverageIgnore by Reedy
 * - Namespace LoadExitNodes maintenance script by Reedy
 * - Hooks.php: Fix targeted typo by Reedy

Translate

 * - Add declarations for TranslatablePage in extension.json by Abijeet
 * - TranslateSandbox: Fix API class name when checking for edit permission by Abijeet
 * - TranslatableBundleLogFormatter: Cast reason to string before passing it  by Martin Urbanec
 * - RenderTranslationPageJob: Restore no username validation by Umherirrender
 * - GoogleTranslateWebService: Fix intval and coalesce operator ?? by Umherirrender
 * - TranslateRcFilter: Avoid duplicate columns being queried by Amir Sarabadani
 * - Vector 2022: Fix selector for mw-content-container by Abijeet

VisualEditor

 * - Error logging: Provide additional debugging context by Jon Robson
 * - Update VE core submodule to master (8ff9a5b44) by Bartosz Dziewoński
 * - Dynamically calculate height of toolbar sticky headers by Thiemo Kreuz
 * - Update VE core submodule to master (439831778) by Svantje Lilienthal
 * - ApiVisualEditorEdit: Switch to non-global FlaggablePageView::newFromTitle by Timo Tijhof
 * - DesktopArticleTarget: Move updateTabs to .init so it can be called sooner by Ed Sanders
 * - ve.ui.MWTargetWidget: Remove top margin in Vector 2022 by Ed Sanders
 * - Limit toolbar top border fix to vector-legacy by Ed Sanders
 * - ArticleTarget: Move updateTabs implementation to DesktopArticleTarget by Ed Sanders

Wikibase

 * - EntityLinkFormatterFactoryTest: Use mock for language by Kosta Harlan
 * - DM: Improve StatementTest and StatementListTest by Ollie Shotton
 * - REST: Improve e2e test robustness by Ollie Shotton

WikibaseLexeme

 * - Lexidata: change IE11 nojs support to es5 by Noa wmde
 * - Lexidata: adjust styling by Noa wmde
 * - Lexidata: detect if es6 exists or not and load content accordingly by Noa wmde
 * - Fix tests to avoid deprecated functionality by Ollie Shotton

WikibaseMediaInfo

 * - Fix tests to avoid deprecated functionality by Ollie Shotton

WikibaseQualityConstraints

 * - Fix tests to avoid deprecated functionality by Ollie Shotton

WikiEditor

 * - RealtimePreview.js: Respect prefers-reduced-motion by samtar

WikiLambda

 * - Unify format of internal keys when they are integers  by gengh
 * - Function-editor: "Work Summary" updates with input label change as soon by ddw
 * - Ensure the language selector will show language options even if it is by ddw
 * - Function editor: Do not allow already selected languages to show in the by ddw
 * - Function editor: labels behave correctly when deleted. by ddw
 * - ZFunctionCallRunner: Remove duplicate zArgument labels by Julia Kieserman
 * - Function editor: Correctly update the zObject when deleting an alias label. by ddw
 * - Argument list items can be deleted. by ddw
 * - Update deprecated custom directive hook names bind & unbind by dmartin
 * - use correct keys for tester validation by Julia Kieserman
 * - add pagination component for table by Julia Kieserman

WikimediaEvents

 * - phpEngine: Actually include the phpEngine.js file by Timo Tijhof
 * - phpEngine: Add sticky option by Timo Tijhof

WikimediaIncubator

 * - Refactor and consolidate config      by Jon Harald Søby

WikimediaMaintenance

 * - Add DiscussionTools permalinks to createExtensionTables by Bartosz Dziewoński
 * - phan: Fix use of IMaintainableDatabase::tableExists by Umherirrender

Wikisource

 * - OCR: Use textSelection API to change page contents by Sam Wilson

Wikistories

 * - User preference to show/hide discovery section by Stephane Bisson
 * - Handle stories containing deleted files by Eduardo
 * - Introduce config to control how the discovery feature is enabled by Stephane Bisson
 * - extension.json: Add license-name by Reedy
 * - Attributes doesn't load on the frame when replacing it by Huei Tan

MinervaNeue

 * - mediawiki.skin.variables: Define own copy of Style Guide derived colors by Volker E

Vector

 * - Remove FIXME, add variables by Jon Robson
 * - Layout: Restore disabling of max width on certain pages by Jon Robson
 * - [RTL, TOC] The arrow before collapsible sections in sidebar is clipped by Moh'd Khier Abualruz
 * - Add back fixed width to main content by bwang
 * - Fix CSS selector for 'mw:tocplace' element by Bartosz Dziewoński
 * - Remove gradient from modern Vector, align SidebarAction with portlet styles and classes by bwang
 * - Follow-up: Clean up left over vector legacy classes by bwang
 * - Clean up main menu selectors by bwang
 * - Prevent dropdown arrow from flipping in modern Vector by bwang
 * - Append icon to links created via mw.util.addPortletLink by Jan Drewniak
 * - styles: Update Vector 2022 link colors to conform to WCAG requirements  by Volker E
 * - TOC: Prepare for upstream change to mw:tocplace element by Jon Robson

VisualEditor/VisualEditor

 * - ve.ui.LanguageInputWidget: Fix dialog becoming inert by Thiemo Kreuz
 * - Update OOUI to v0.44.3 by James D. Forrester
 * - Add missing ARIA labels to fields in VE maps dialog by Svantje Lilienthal

No changes

 * 3D
 * AbuseFilter
 * ActiveAbstract
 * AdvancedSearch
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * CampaignEvents
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralAuth
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CirrusSearch
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GWToolset
 * Gadgets
 * GeoCrumbs
 * GeoData
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * LiquidThreads
 * Listings
 * LoginNotify
 * MachineVision
 * MapSources
 * Math
 * MediaModeration
 * MediaSearch
 * 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
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * SearchExtraNS
 * SecureLinkFixer
 * SecurePoll
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * SubPageList3
 * SubpageSortkey
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * Timeless
 * TitleBlacklist
 * TocTree
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UniversalLanguageSelector
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * VipsScaler
 * WebAuthn
 * WikiLove
 * WikibaseCirrusSearch
 * WikibaseLexemeCirrusSearch
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaMessages
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
220 Changes in 44 repos by 66 authors