MediaWiki 1.41/wmf.17/Changelog

Core changes

 * - Branch commit for wmf/1.41.0-wmf.17 by trainbranchbot
 * - Html: Fixes Error: [] operator not supported for strings by Jon Robson
 * - HISTORY: Add DiscussionTools bundling to 1.40 release notes by James D. Forrester
 * - ExternalLinks: Make oneWildcard avoid adding wildcard to domain by Amir Sarabadani
 * - Update OOUI to v0.47.4 by Anne Tomasevich
 * - DefaultPreferencesFactory: Fetch array-type preferences in a general way by Func
 * - Drop unused MysqlUpdater::checkBin by Alexander Vorwerk
 * - SpecialLog: Handle invalid title better by Lucas Werkmeister
 * - postEdit: Fix typo in docs by Bartosz Dziewoński
 * - Doc: link mw:Manual:Modeling_pages by daniel
 * - ParsoidCachePrewarmJob: Pass in a PageRecord to ::newSpec by Derick Alangi
 * - rdbms: Clean up minor code duplications in LoadBalancer by thiemowmde
 * - postEdit: Add note about setting wgCurRevisionId and wgRevisionId by Kosta Harlan
 * - Replace array_keys in foreach to use $_ as value instead by Umherirrender
 * - WikiImporter: Improve error message output by Reedy
 * - tests: Use correct expect message function in DatabaseTest by Umherirrender
 * - Fix param doc of wfGetAllCallers by Umherirrender
 * - htmlform: Allow validation-callback to return Status instances by mainframe98
 * - phpunit: Update MediaWikiTest to use FauxRequest by Timo Tijhof
 * - tests: Move loop-unrelated code in MediaWikiIntegrationTestCase by Umherirrender
 * - Move array destructuring into foreach by Umherirrender
 * - Remove deprecated Title::newFromTitleValue by Fomafix
 * - jobqueue: Deprecate ::toSerializableArray and remove unused by Derick Alangi
 * - update linksearch-text by JJMC89
 * - editpage: Improve preloading from messages on editpage by Umherirrender
 * - Fix requireOnceInGlobalScope for PHP < 8.1 by Daimona Eaytoy
 * - Fix documentation for ::execute in delete and update QueryBuilders by Dreamy Jazz
 * - Fix TestLocalisationCache being way to small by thiemowmde
 * - docker: update to latest published images by Brennen Bearnes
 * - storage tests: Call editPage with WikiPage when used for same page by Umherirrender
 * - editpage: Fix use of includeonly for preload of page in mw namespace by Umherirrender
 * - Use explicit title in RevertedTagUpdateIntegrationTest by Lucas Werkmeister
 * - htmlform: Use more compact PHP features in places by thiemowmde
 * - Don't use TestUserRegistry directly in RevisionStoreDbTest by thiemowmde
 * - Remove non-existing password parameter in TestUserRegistry by thiemowmde
 * - Login page: Use Codex CSS components by Jon Robson
 * - site: Use DeleteQueryBuilder in DBSiteStore by Umherirrender
 * - Prefs search: Replace CSS hacks with StackLayout#setContinuous by Ed Sanders
 * - EditPage: Improve handling for revision deleted while editing is ongoing by Ammarpad
 * - Update OOUI to v0.47.3         by Roan Kattouw
 * - Add some tests for MediaWiki::parseTitle by Bartosz Dziewoński
 * - Use DeleteQueryBuilder in one more place by Lucas Werkmeister
 * - Fix Chinese diff segmentation by Tim Starling
 * - Use special pages instead of actions for revision delete and edit tags  by Func
 * - Inject page language into TextSlotDiffRenderer by Tim Starling
 * - Update Codex from v0.13.0 to v0.14.0        by Roan Kattouw
 * - rdbms: Add support for ALL_ROWS in two query builders by Amir Sarabadani
 * - Migrate several wfGetDB to use ICP by Amir Sarabadani
 * - ExternalLinks: Make order by and continue only rely on el_id in READ NEW  by Amir Sarabadani
 * - Don't parse HTML as wikitext on grants/rights special pages by thiemowmde
 * - Add DifferenceEngine::getDefaultLanguage by Tim Starling
 * - build: Fix file name for stylelintrc.json in grunt-watch by Umherirrender
 * - LivePreview: Show summary preview in live diff by Nardog
 * - DeleteAction: Avoid displaying the form unconditionally by Func
 * - rdbms: Add support for limit, offset and order by in UnionQueryBuilder by Amir Sarabadani
 * - skins: Fix Skin::buildSidebar to not share cache between skins by Timo Tijhof
 * - Remove duplicate array_keys from GenderCache::doLinkBatch by thiemowmde
 * - Avoid minor code duplication in mediawiki.page.watch.ajax by thiemowmde
 * - Use native assertGreater/LessThan in HandlerTestTrait by thiemowmde
 * - More specific array type hints in ParserOutput/OutputPage by thiemowmde
 * - Improve performance of HTMLFormField::shouldInfuseOOUI by thiemowmde
 * - Do not parse trivial HTML as wikitext on Special:Version by thiemowmde
 * - Optimise DifferenceEngine::addLocalisedTitleTooltips by Tim Starling
 * - Remove hard-deprecated public properties of DifferenceEngine by Tim Starling
 * - Fix indentation of some array properties in MainConfigSchema.php by Daimona Eaytoy
 * - Cleanup LogEventsList by Func
 * - LogEventsList: Remove support of deprecated usage of hooks by Func
 * - Add a test for SelectQueryBuilder::merge caller merging by Tim Starling
 * - Disable autopromote-once for temporary users by Thalia
 * - search: disallow negative offsets by David Causse
 * - api: Make linksearch APIs also default to http and https in READ_NEW by Amir Sarabadani
 * - Resources: Deprecate the @vue/composition-api module by Roan Kattouw
 * - SpecialEmailUser: Fix prefilling for subpage syntax by Func
 * - PermissionManager: small code tweaks/improvements by Daimona Eaytoy
 * - Language: Prefer mb_str_split and strtr function by Func

Vendor

 * - Bump parsoid to 0.18.0-a16     by Yiannis Giannelos
 * - Update OOUI to v0.47.4 by Anne Tomasevich
 * - Update OOUI to v0.47.3 by Roan Kattouw

AbuseFilter

 * - [i18n] Translate BlockedExternalDomains to Czech by Martin Urbanec

AdvancedSearch

 * - Remove duplicate code adding the same CSS class by thiemowmde
 * - Fix minor typo by Adam Wight
 * - Remove non-standard border from top of the namespace dropdown  by thiemowmde
 * - Convert to packageFiles by Adam Wight

Babel

 * - Drop support for MW 1.38 by Abijeet

CampaignEvents

 * - Implement email sending interface  by MHorsey
 * - Use userRights icon in Special:EventDetails by Daimona Eaytoy
 * - Introduce EventPageDecoratorFactory by Daimona Eaytoy
 * - Rewrite "more details" dialog section with header elements by Daimona Eaytoy
 * - More layout improvements for the "more details" dialog by Daimona Eaytoy
 * - Improve layout of event page dialog a bit by Daimona Eaytoy
 * - Avoid repeated method calls in EventPageDecorator by Daimona Eaytoy
 * - Update notification when updating registration on the event page by Daimona Eaytoy
 * - Update format of participant answers returned by the API by Daimona Eaytoy
 * - Add stricter validation for participant answers via HTMLForm by Daimona Eaytoy
 * - Fix hiding of top section in Special:RegisterForEvent by Daimona Eaytoy
 * - Fix overflow and spacing issue in Special:EventDetails  by Daimona Eaytoy
 * - Add participant question to the registration dialog by Claudio Melo
 * - Catch the correct exception for getUserName in SpecialEventDetails by Daimona Eaytoy
 * - SpecialRegisterForEvent: fix issues spotted in QA by Daimona Eaytoy
 * - Add header to visibility fieldset in event pages by Daimona Eaytoy
 * - Fix participants pagination when searching and scrolling by Daimona Eaytoy

CentralAuth

 * - Remove migrateStewards.php by Taavi Väänänen
 * - Remove $wgCentralAuthCheckSULMigration / Special:SulRenameWarning by Taavi Väänänen
 * - Translate special page names to Polish by Msz2001

CheckUser

 * - clienthints: Log REST errors in English by Kosta Harlan

CirrusSearch

 * - Fix error reason extraction by David Causse
 * - Cache only the content related to the ParserOuput by David Causse
 * - Use edit-page causeAction to detect page changes by David Causse
 * - QueryBuildDocument: use SearchConfig to get the index name by David Causse

Cite

 * - Fix ContextItem documentation by Ed Sanders
 * - Fix message parsing by Jon Harald Søby

CodeEditor

 * - Remove use of autoMsg in favour of using mw.message directly by Jon Harald Søby

CodeMirror

 * - ve.ui: Set the CM wrapper to the appropriate language by Func

ContentTranslation

 * - CX: Prevent Wikidata links to articles from user namespace by wangombe
 * - SX: Set start and last_updated timestamps on insert/update by NikG
 * - SX: Skip quick tutorial when user already has section translations by NikG
 * - SX: Prevent Wikidata links on articles from user namespace by wangombe
 * - SXArticleSearch: Remove unused mocks from test by NikG
 * - SX: remove unused getters by NikG
 * - CX ULS languages entrypoint: Hide for unsupported languages by NikG

DiscussionTools

 * - ThreadItemStoreTest: Update workaround for T256006 by Bartosz Dziewoński
 * - Update reference to tests/phpunit/phpunit.php by Daimona Eaytoy
 * - Replace the last use of mediawiki.Uri by Bartosz Dziewoński

DonationInterface

 * - Fix paypal refund response message by wfan
 * - A bit more debug logging by Elliott Eggleston

Echo

 * - Add special page name translations in Norwegian Bokmål and Nynorsk by Jon Harald Søby

EntitySchema

 * - Use UpdateQueryBuilder in SqlIdGenerator by Lucas Werkmeister
 * - Add ADR to summarize team decision regarding language fallback implementation by Itamar Givon

FileImporter

 * - Create HookRunner class by Umherirrender
 * - Reinstate temporarily disabled test after OOUI update by Roan Kattouw
 * - Inline/compact overly complex pieces of code by thiemowmde
 * - Temporarily disable icon-check assertion to allow OOUI release by Roan Kattouw

FlaggedRevs

 * - Improve PHPDocs for multi-dimensional arrays by thiemowmde
 * - Add flaggedrevs table to $tablesUsed in ReviewHandlerTest  by thiemowmde
 * - Small fixes to the review form migration to Codex by Amir Sarabadani
 * - FlaggableWikiPage: Use latest rev instead of page ID in cache key by tacsipacsi
 * - Fix ReviewHandlerTest reusing existing test page name by thiemowmde
 * - Fix typo and normalize whitespaces by Fomafix

Gadgets

 * - Fix field name in schema.json by Siddharth VP

GeoData

 * - Use more narrow interfaces where possible by thiemowmde

GrowthExperiments

 * - Mentor dashboard: add Vue compiler options by Sergio Gimeno
 * - set alias of special page name for Urdu Language by محمد شعیب
 * - [i18n] Add missing documentation for action=growthmanagementorlist API  by Martin Urbanec
 * - Use custom select query for logs instead of LogPager by Func
 * - New impact: Fix ComputedUserImpactLookup::getPageViewData* return types by Gergő Tisza
 * - Improve sorting experience on Special:ManageMentors by Matěj Suchánek
 * - User impact: increase request rate limits for impact data by Sergio Gimeno
 * - [tests] Add basic test coverage for PersonalizedPraise by Martin Urbanec
 * - User impact: set module unactive until user edits in mainspace by Sergio Gimeno
 * - Vue components: avoid viewport overflow by Sergio Gimeno

Kartographer

 * - Fix ContextItem documentation by Ed Sanders

MachineVision

 * - Handle temporary accounts for IP Masking by Cormac Parle

MassMessage

 * - MassMessage.special.js: Guard against script errors for unprivileged view by Ammarpad
 * - Override SlotDiffRenderer instead of DifferenceEngine by Tim Starling

Math

 * - Fix ContextItem documentation by Ed Sanders
 * - Update reference to tests/phpunit/phpunit.php by Daimona Eaytoy

MediaSearch

 * - Remove use of deprecated @vue/composition-api module by Roan Kattouw
 * - IP masking - do not show preferences notice to temp users by Cormac Parle

MobileFrontend

 * - When on a hijacked action=edit page, reload page when leaving the editor by David Lynch
 * - Update reference to tests/phpunit/phpunit.php by Daimona Eaytoy
 * - MobileContext: Remove LOGGER_CHANNEL constant (unused) by Derick Alangi

MultimediaViewer

 * - IP masking update by Cormac Parle

NearbyPages

 * - Fix display language of nearby pages by Func

OAuth

 * - Fail when OAuth is used with a non-API entry point by Gergő Tisza

PageTriage

 * - Add some jest coverage for recent regressions by Jon Robson
 * - Refactor ILBFactory to IConnectionProvider by suecarmol
 * - curation toolbar: fix contentLanguageMessage is not a function error by jsn

Phonos

 * - Phonos: don't allow the redundant label= attribute by MusikAnimal
 * - build: Update linters and fix config by Ed Sanders

Popups

 * - Update popups to use codex buttons over mediawiki.ui.buttons by bwang
 * - TypeError: n.closest is not a function by Moh'd Khier Abualruz
 * - When extract is a string treat it as HTML by Jon Robson

ProofreadPage

 * - Don't directly call the TextSlotDiffRenderer constructor by Tim Starling
 * - Fix mw.message call in WikiEditor addon by Jon Harald Søby

RelatedArticles

 * - Add bundlesize tests by Jon Robson

RevisionSlider

 * - Remove aria-hidden on RevisionSlider by WMDE-Fisch

SearchVue

 * - IP masking update by Cormac Parle
 * - Remove use of deprecated @vue/composition-api module by Roan Kattouw

SecureLinkFixer

 * - Updating domains.php from Mozilla by SecureLinkFixer updater bot

SecurePoll

 * - Fix VoteSummaryTest by Martin Urbanec

SpamBlacklist

 * - Disable remote loading during PHPUnit tests by Tim Starling

TemplateWizard

 * - Remove reliance on WikiEditor's autoMsg function by Jon Harald Søby

TitleBlacklist

 * - Remove redundant documentation from test by Daimona Eaytoy
 * - api: Parse error message with the title to check by Umherirrender

Translate

 * - QueryMessageGroupsActionApi: small optimizations by Niklas Laxström
 * - Update version for MLEB 2023.07 release by Abijeet
 * - Drop support for MW 1.38 by Abijeet
 * - Use translated language name in tux placeholder by Jon Harald Søby
 * - PrepareTranslatablePage: Use template parser for HTML content by Abijeet
 * - Add hooks documentation link to hooks.txt by Abijeet
 * - Clean up hook related documentation by Umherirrender

UniversalLanguageSelector

 * - Update jquery.ime and jquery.uls from master by Amir E. Aharoni
 * - Update language name search database by Abijeet
 * - Update version for MLEB 2023.07 release by Abijeet
 * - Drop support for MW 1.38 by Abijeet

UrlShortener

 * - Replace input box with OOUI widget in toolbox, remove targets  by Dringsim

VisualEditor

 * - Drop visualeditor-beta-warning from help menu by Ed Sanders
 * - Revert "Revert "Add tag when reference added to the page"" by Esanders
 * - Revert "Add tag when reference added to the page" by Bartosz Dziewoński
 * - screenshots: Fix some bounding box reference elements by Ed Sanders
 * - screenshots: Fix environment setup by Ed Sanders
 * - Convert MWPopupTool into MWHelpListToolGroup by Ed Sanders
 * - MobileArticleTarget teardown behavior is upstreamed to MobileFrontend by David Lynch
 * - Only trigger editcheck on pure insertion (remove.length === 0) by David Chan

Wikibase

 * - REST: Fix `GetStatement` edge cases by Ollie Shotton
 * - Eslint: Drop needlessly disabled rules by Michael Große
 * - Change eslint config files from json to js by Michael Große
 * - REST: Rename SubjectPropertyId to PropertyId by Muhammad Jaziraly
 * - REST: Add GetPropertyStatementsValidator by Muhammad Jaziraly
 * - REST: Add revision metadata and check existence by Norman Schwirz
 * - Always show `mul` in the desktop Termbox, depending on the feature flag by Michael Große
 * - Remove broken eslint rule disable and do it inline by Michael Große
 * - Update eslint-config-wikimedia to 0.25.1 by Michael Große
 * - Change browserslist from IE11 to Safari 11.1 by Michael Große
 * - REST: Make `GetStatement` subject agnostic by Norman Schwirz
 * - eslint: drop outdated override by Michael Große
 * - ESLint: Allow Array.prototype.includes by Michael Große
 * - Fix styles for js-generated mul description placeholder by Michael Große
 * - Remove dependency on mDiffLang by Tim Starling
 * - Remove redundant banana-checker options by Lucas Werkmeister
 * - Add strict_types to new classes by Lucas Werkmeister
 * - Decouple Template from Message by Lucas Werkmeister
 * - REST: Refactor GetItemStatements by Muhammad Jaziraly
 * - REST: Implement the happy path for GetPropertyStatements by Muhammad Jaziraly
 * - Set allowDataAccessInUserLanguage in UsageTrackingIntegrationTest by Lucas Werkmeister
 * - Add feature flag to always show MUL in Termbox (PHP) by Michael Große
 * - Fix PHP 8.1 failure of ToolbarEditSectionGeneratorTest by Tim Starling
 * - Fix leak of error_reporting state between tests by Tim Starling
 * - REST: Add GET property statements route to OAS doc by sihe
 * - Add explicit `global` in WikibaseClient.ci.php by Daimona Eaytoy
 * - Removed EntityId "local part" from RdfVocabulary  by Leszek Manicki
 * - Removed references to getLocalPart in TermsRdfBuilderTest  by Leszek Manicki
 * - Add SlotDiffRenderer subclass by Tim Starling
 * - Removed EntityId "local part" from ...PageTableEntityQuery by Leszek Manicki
 * - Bump eslint-config-wikimedia from 0.24.0 to 0.25.0 by Lucas Werkmeister

WikibaseMediaInfo

 * - Mark the active tab on the file page by Bartosz Dziewoński
 * - Update reference to tests/phpunit/phpunit.php by Daimona Eaytoy

WikiEditor

 * - Stop using autoMsg and use mw.messages directly instead  by Jon Harald Søby

WikiLambda

 * - Add content type when tracking publication of an implementation by dmartin
 * - Add get_dependencies flag to wikilambdaload_zobject API by gengh
 * - Implement new Function Evaluator widget design by gengh
 * - Rights: Allow regular users to edit unattached functions by James D. Forrester
 * - tests: Add some testing of 'wikilambda-edit-user-function' etc. rights by James D. Forrester
 * - Add instrument to track when default view is loaded  by dmartin
 * - e2e: Add command to run specs file multiple times by nik-55
 * - Update reference to tests/phpunit/phpunit.php by Daimona Eaytoy
 * - e2e: Test user other than admin for "connect" by nik-55

WikiLove

 * - Switch from mw-ui-button to Codex buttons by Jon Robson

WikimediaMessages

 * - Add 'Wikifunctions staff' group messages by James D. Forrester

Wikistories

 * - Purge Story Page when no image found on Story Viewer by Huei Tan
 * - StoryRenderer: Simplify code when determining if text is outdated by Abijeet

MinervaNeue

 * - Do not hide placeholders in UserLogin form in Minerva skin  by Saint Johann
 * - DefaultOverflowBuilder: allow CSS class names to be applied to entries by MusikAnimal
 * - extension.json: add qrCode icon to overflow.icons  by MusikAnimal

Timeless

 * - skin.json: Follow up module change in CodeMirror by Func
 * - Fix mobile thumbnail styling by Arlo Breault

Vector

 * - Add option for html label in Menu template by bwang
 * - Fix echo icon sizing after ULS enhances them by bwang
 * - Performance: Language dropdown menu should be hidden when ULS is enabled by Jon Robson
 * - Remove unecessary whitespace and new lines from HTML by bwang
 * - Avoid setting large z-index on headers by bwang
 * - Vector 22 has some missing whitespace internal to HTML elements by Moh'd Khier Abualruz
 * - .nvmrc: Update to v16.19.1 by James D. Forrester

VisualEditor/VisualEditor

 * - Update OOUI to v0.47.4 by Bartosz Dziewoński
 * - Add an allowed error offset when merging rectangles by Ed Sanders
 * - Slightly increase DimensionsWidget input fields width by thiemowmde

No changes

 * 3D
 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * ArticlePlaceholder
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CentralNotice
 * CharInsert
 * ChessBrowser
 * CiteThisPage
 * Citoid
 * Cognate
 * Collection
 * CologneBlue
 * CommonsMetadata
 * ConfirmEdit
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DoubleWiki
 * Elastica
 * ElectronPdfService
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * Flow
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * GeoCrumbs
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalUsage
 * GlobalUserPage
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * ImageSuggestions
 * InputBox
 * Insider
 * Interwiki
 * InterwikiSorting
 * Josa
 * JsonConfig
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LoginNotify
 * MapSources
 * MediaModeration
 * MobileApp
 * Modern
 * MonoBook
 * NavigationTiming
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OATHAuth
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageAssessments
 * PageImages
 * PageNotice
 * PageViewInfo
 * PagedTiffHandler
 * ParserFunctions
 * PdfHandler
 * Poem
 * PropertySuggester
 * QuickSurveys
 * Quiz
 * RSS
 * ReadingLists
 * RealMe
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * ShortUrl
 * SimilarEditors
 * SiteMatrix
 * StopForumSpam
 * SubPageList3
 * SubpageSortkey
 * SyntaxHighlight_GeSHi
 * TemplateData
 * TemplateSandbox
 * TemplateStyles
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * TimedMediaHandler
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * VipsScaler
 * VueTest
 * WebAuthn
 * WikibaseCirrusSearch
 * WikibaseLexeme
 * WikibaseLexemeCirrusSearch
 * WikibaseQualityConstraints
 * Wikidata.org
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaBadges
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaIncubator
 * WikimediaMaintenance
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * timeline
 * wikihiero

Total changes
266 Changes in 58 repos by 75 authors