Jump to content

MediaWiki 1.47/wmf.8

From mediawiki.org
MediaWiki 1.47.0-wmf.7 Deployment of MediaWiki 1.47.0-wmf.8 to Wikimedia sites MediaWiki 1.47.0-wmf.9

The latest version (labeled "1.47.0-wmf.8") of MediaWiki, the software that powers Wikipedia and its sister sites, is being deployed to all Wikimedia sites in stages, starting on Tuesday, 23 June 2026 (see the roadmap).

Core changes

[edit]
  • git #96671f06 - Branch commit for wmf/1.47.0-wmf.8 (T423917) by trainbranchbot
  • git #1fa9a456 - ContentHolder: add ::getAsRawHtmlString() for migration to body-only (T393925) by C. Scott Ananian
  • git #47ceae08 - [REST] Ensure consistent HTML document shape in Parsoid APIs (T428485) (T428489) by C. Scott Ananian
  • git #c26dce30 - PageBundleParserOutputConverter: add `bodyOnly` option (T393925) by C. Scott Ananian
  • git #f233b1d5 - [parser] Add configuration to return experimental PFragment types by Arlo Breault
  • git #9835c022 - Check the target url for redirects are allowed (T423617) by Cormac Parle
  • git #a29f6e9b - skin: Rewrite complicated SkinFactory implementation by thiemowmde
  • git #31016d27 - REST: support external modules (T428375) by bpirkle
  • git #4c0c7896 - Bump wikimedia/parsoid to 0.24.0-a11 (T429822) by Subramanya Sastry
  • git #64b64341 - [parser] Rename mStripExtTags to useParsoidFragments by Arlo Breault
  • git #13465c3f - Updated guzzlehttp/guzzle from 7.10.0 to 7.12.1 (T429826) by Sam Reed
  • git #b4e17c8e - RenderDebugInfo/AddRedirectHeader stages: work on DOM as well as Text content (T394005) (T405937) (T405927) by C. Scott Ananian
  • git #ceb40046 - [tests] OutputTransform TestUtils: ensure HTML can be round-tripped by C. Scott Ananian
  • git #e158f9d8 - ContentHolder: special case adding an HTML fragment to a DOM ContentHolder by C. Scott Ananian
  • git #abb82309 - Remove alias for Special:PageInfo that conflicts with PageData alias by MusikAnimal
  • git #6c3aa5e0 - [skinning] Fix interpolation in accessibility.less (T424596) by Arlo Breault
  • git #d7b139a9 - api-docs: Update core (/v1/) endpoint summaries to follow OAD style guide (T428150) by triciaburmeister
  • git #09f75917 - postEdit: display post edit confirmation only once (T424205) by Sergio Gimeno
  • git #886f0fd8 - Match where Parsoid adds the mw-file-upright class on media (T429551) by Arlo Breault
  • git #b9692a38 - poolcounter: remove redundant consistentHashSort() call from PoolCounterRedis by Aaron Schulz
  • git #64425d96 - mediawiki.page.ready: Tests for wprovStrip and fix minor regression (T428527) by Timo Tijhof
  • git #49cf5544 - Add namespace translations and linkTrail for Oostfräisk (frs) (T423174) by Suraj
  • git #0877c657 - tests: Add some more general coverage for SpecialSpecialPages, not just the UBN by James D. Forrester
  • git #df37a11a - REST: enable and publish modules by default, remove experiments (T422770) (T423058) (T422771) by bpirkle
  • git #1e6a7516 - ChangeTools: Add new class names (T329580) by SomeRandomDeveloper
  • git #51d27035 - SpecialSpecialPages: Guard against special pages with no content-language alias (T429584) by James D. Forrester
  • git #69e8948c - rdbms: Phase out `lag` and `since` used by WANObjectCache (T424357) by Piotr Miazga
  • git #471fd580 - LogEventsList: Pass context to showLogExtract() callers (T427009) by Piotr Miazga
  • git #dd1c7af9 - purgeUserOptions: Switch from deprecated waitForReplication by Martin Urbanec
  • git #e785b132 - HandleParsoidSectionLinks: look for data-mw-wikitext marker attribute (T100856) by C. Scott Ananian
  • git #d8352301 - LocalFileMoveBatch: Also update fr_archive_name when moving file (T428406) by Alexander Vorwerk
  • git #64b719e4 - Fix height media option not suppressing mw-default-size (T429537) by Arlo Breault
  • git #1048de46 - Drop various deprecated RequestContext fallbacks (T422379) (T423415) by MGChecker
  • git #1c482647 - PageEdit: Split hasConflict() out of doEdit() and add tests for it (T426012) by SomeRandomDeveloper
  • git #672dcdff - Introduce ChangeTools and ChangeToolsFactory (T326186) (T329580) by SomeRandomDeveloper
  • git #eb05eab3 - Remove deprecated HtmlCacheUpdater service alias (T419427) by SomeRandomDeveloper
  • git #ca005d0f - PageEdit: Remove summary from result (T157658) by SomeRandomDeveloper
  • git #d9c4c177 - API: Add thumburls property to imageinfo API (T426246) by Simon Legner
  • git #02bd0275 - ApiUpload: Specify iiprop for nested ApiQueryImageInfo call (T426246) by Timo Tijhof
  • git #ff7d3c4d - Document Parsoid-only message usage (T348236) by Otto Sleger
  • git #fa030d0e - Add 'Prefs' to special page aliases for 'Preferences' (T426721) by Evan Dempsey
  • git #fa640f18 - mediawiki.page.ready: Hide wprov query param (T428527) by Daniel Erenrich
  • git #d1417dde - api: Expose $wgCrossSiteAJAXdomains via siteinfo API (T401037) by Reeti Singh
  • git #42a04f08 - tests: Limit ResourcesTest::testRespond to general-purpose skins (T424462) by Bartosz Dziewoński
  • git #d08dd18e - api: Add ?action=parse&prop=parseroutput (T428786) by C. Scott Ananian
  • git #b43bf24e - api: Add PARAM_INTERNAL_VALUES for marking enum values internal (T428786) by C. Scott Ananian
  • git #dca45d4e - Revert^2 "Raise minimum supported version of MariaDB 10.11 (2022), up from 10.3 (2017)" (T366644) by Jforrester
  • git #2c1291ef - tests: Only run relevant job in tests by Umherirrender
  • git #f41cb48c - tests: Move assertion message to key of data provider by Umherirrender
  • git #89e1e500 - jquery.tablesorter: Fix data-sort-order tooltip cycle (T429294) by Neriah
  • git #c6918ca4 - TextboxBuilder: Remove deprecated constructor parameter fallbacks by SomeRandomDeveloper
  • git #89c7a3e9 - Add an 'wikifamily' extension type by Neriah
  • git #a6018629 - Guard round function with a supports query (T424596) by Jon Robson
  • git #b464e970 - Bump wikimedia/parsoid to 0.24.0-a10 (T429187) by Yiannis Giannelos
  • git #17fb8f75 - Add MessagesFrs.php and set language fallbacks for Oostfräisk (T423174) by Suraj
  • git #d70d5396 - filerepo: improve LocalFile lock logging and hard-deprecate old locking methods (T132921) by Aaron Schulz

Vendor

[edit]

Extensions

[edit]

AbuseFilter

[edit]

ApiFeatureUsage

[edit]
  • git #cb546687 - Add Russian and Polish translation for ApiFeatureUsage extension special page (T429435) by VadymTS1
  • git #aec0dd0b - Add Japanese translation for ApiFeatureUsage extension special page (T429255) by VadymTS1

ArticleGuidance

[edit]

AutoModerator

[edit]
  • git #45b74078 - Use UserIdentity in AutoModeratorFetchRevScoreJob by Umherirrender

Babel

[edit]
  • git #d1c648b3 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

BetaFeatures

[edit]
  • git #5c03a2af - Add Russian translation for BetaFeatures extension special page (T429639) by VadymTS1

CampaignEvents

[edit]

CentralAuth

[edit]
  • git #48318e69 - Preserve redoLocalAuthentication flag when returning from auth domain (T429495) by Gergő Tisza
  • git #e62e047f - ApiQueryGlobalAllUsersTest: Minor test cleanup by Bartosz Dziewoński
  • git #a8723c2a - ApiQueryGlobalAllUsersTest: Fix date math when generating expired timestamp (T428650) by Bartosz Dziewoński
  • git #261aef0d - Fix CentralAuthPostLoginRedirect type parameter on token loss (T429495) by Gergő Tisza
  • git #54e47f8c - CentralAuth: set a 'wikifamily' extension type by Neriah

CheckUser

[edit]
  • git #53077b7f - SI: Add "editing the same pages" statistic to cases (T429632) by Marcin Szwarc
  • git #3d27855c - Add unit tests for CheckUserUtilityService by RAJVEER42
  • git #7d3a649b - SI: Add explicit link to details of a case and move signals column (T429155) by Marcin Szwarc
  • git #1175bd59 - RangeCalculator: Load contribslink for CIDR tool links by Neriah
  • git #f9871cdf - Remove obsolete timeline-tab filters TODO (T429464) by RAJVEER42
  • git #12389b16 - InvestigateBlock: Add newline when prepending or appending to talk (T427153) by Dreamy Jazz
  • git #8f17b598 - SpecialInvestigateBlockTest: Fix bug with permission tests by Dreamy Jazz
  • git #cc835525 - Specials: Mark merely declarative methods as code coverage ignored by Dreamy Jazz
  • git #2ca79aa8 - Inject UserLinkRenderer into SpecialContributionsHandler by RAJVEER42
  • git #ed7c24ca - SI: Check for existence of previous cases in a critical section (T427746) by Marcin Szwarc

CirrusSearch

[edit]
  • git #3d250440 - ForceSearchIndex: build redirect documents during reindex (T204089) by Erik Bernhardson
  • git #c61c5c57 - Wire redirect documents into the update process (T204089) by Erik Bernhardson
  • git #1a64d6a7 - saneitizer: Remove fast redirect check by Erik Bernhardson

Cite

[edit]

CodeMirror

[edit]
  • git #1cedf370 - Hooks: use skin's relevant Title; load on Special:Undelete for revs (T418811) by MusikAnimal
  • git #e0eec620 - Expose RealtimePreview in WikiEditor for applicable content models (T425608) by MusikAnimal
  • git #9d639e47 - CodeMirrorPreferences: make use-codemirror user options auto-globals (T428887) by MusikAnimal
  • git #c018671f - CodeMirrorKeyMap: clear help dialog when preferences change (T424173) by MusikAnimal
  • git #f09e5962 - CodeMirrorWikiEditor: use the upstream icon in the toolbar button (T174145) by MusikAnimal
  • git #7df7263d - HooksTest: remove refs to CM6; allow tests to pass with Ext:Translate by MusikAnimal
  • git #f01cb538 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

ConfirmEdit

[edit]
  • git #6fbf0294 - hCaptcha: Add an opt-in loading indicator while the challenge loads (T429293) by Maxim Postoronca
  • git #32810b4d - hCaptcha: Use "complete" over "solve" in UI messages (T395599) by Dreamy Jazz
  • git #f50e863f - hCaptcha: Move and restyle account creation disclaimer (T428135) by Martin Urbanec
  • git #17403a00 - hCaptcha: Support pt-br, zh-hans, and zh-hant for hl (T399491) by Dreamy Jazz
  • git #fb85f2cb - RiskScoreCollector: Make error_context a string map (T429594) by Dreamy Jazz
  • git #f46094d3 - hCaptcha: Focus visual challenge iframe when it is opened (T409720) by Dreamy Jazz
  • git #0467956e - CaptchaPreAuthenticationProvider: Clear solved state on failure (T429705) by Dreamy Jazz
  • git #d198c1ca - Update HCaptchaRiskScoreRetrievedForBlocks hook to not use IDs (T428659) by Dreamy Jazz
  • git #8a33118b - Only ever load hCaptcha after user has seen the privacy policy (T429782) by STran
  • git #551dc8ba - hCaptcha: Don't re-enable the submit button after a successful test (T429611) by Kosta Harlan
  • git #337921b8 - hCaptcha: Skip blocked-IP risk-score collection for crawlers (T429755) by Kosta Harlan
  • git #469986dd - hCaptcha: Support dark mode on the secure-enclave path (T394872) (T408795) by Maxim Postoronca
  • git #9da8dcad - Make account creation hCaptcha errors more user friendly (T395617) by Dreamy Jazz
  • git #bedd2e4b - hCaptcha: Recompute blocked-edit risk score block IDs server-side (T428394) by Maxim Postoronca
  • git #c6aa82bc - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender
  • git #ff71a1f3 - hCaptcha: Reuse a pre-solved token instead of firing a second challenge (T416453) by Maxim Postoronca

ContentTranslation

[edit]
  • git #6a74b388 - Remove @inheritDoc from fully typed private function by Umherirrender

DiscussionTools

[edit]
  • git #67539453 - CommentFormatter: Allow data-parsoid to be an object as well as an array (T429582) by C. Scott Ananian
  • git #8dd04162 - Replace @inheritDoc with real documentation by Umherirrender
  • git #5ea52c00 - Check that data-parsoid is an array before accessing it as such (T429582) by Isabelle Hurbain-Palatin
  • git #44c01927 - Performance optimization for overflowMenu: defer infusion until interact (T416247) by David Lynch
  • git #6d8d929c - Performance optimization for ReplyLinksController: defer initial infuse (T416247) by David Lynch
  • git #2ed162ab - Performance optimization for ThreadItem: preload all markers (T416247) by David Lynch
  • git #19daeeec - ApiDiscussionToolsEdit: Remove autosubscribe API param by Ed Sanders
  • git #c1a2ea54 - Remove DiscussionToolsAutoTopicSubEditor config option by Ed Sanders
  • git #b5bef354 - Update definition of html heading to match Parsoid/core (T417530) (T417531) (T428677) by Arlo Breault

DonationInterface

[edit]
  • git #b4e94c73 - Update SmashPig by Elliott Eggleston
  • git #51867d65 - Always log browser_info for payment attempts by Elliott Eggleston
  • git #090d0788 - Fix tax deduction text (T429342) by Elliott Eggleston
  • git #a611216f - T429614: Fix Spanish redirect explanation message by Pushpak Tiwari
  • git #3350fdb7 - Log more data to payment attempts log (T417217) by Elliott Eggleston
  • git #25a4d8ee - Ensure the session country is saved to the billing_address_country field to be used in subsequent recurring payments. (T428465) by Damilare Adedoyin

Echo

[edit]

EventBus

[edit]
  • git #c006038c - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

FlaggedRevs

[edit]
  • git #c31dce59 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

Flow

[edit]
  • git #7304ce07 - Pass required context source to ChangeList::flag by Umherirrender

GlobalBlocking

[edit]
  • git #1dd7cbb5 - Expand test coverage to 100% in all includes PHP files (T429160) by Dreamy Jazz
  • git #4ba055a5 - Maintenance: Expand coverage to fully cover maintenance scripts (T429160) by Dreamy Jazz
  • git #89c86b9a - GlobalBlocking: set a 'wikifamily' extension type by Neriah

GlobalCssJs

[edit]
  • git #90fc57fe - GlobalCssJs: set a 'wikifamily' extension type by Neriah

GlobalPreferences

[edit]
  • git #492b34c5 - add special page aliases for azerbaijani, russian, and turkish by əkrəm.
  • git #3bdd3f5a - GlobalPreferences: set a 'wikifamily' extension type by Neriah

GlobalUserPage

[edit]
  • git #ed0d89f6 - GlobalUserPage: set a 'wikifamily' extension type by Neriah

GlobalWatchlist

[edit]
  • git #9a99c4ea - Use PHP8 constructor property promotion and readonly properties by Fomafix
  • git #67f0fa2a - GlobalWatchlist: set a 'wikifamily' extension type by Neriah

GrowthExperiments

[edit]
  • git #de9c94a1 - StartEmail: use Codex mixin to display the email icon by Sergio Gimeno
  • git #171331c5 - fix: add mime/media-type to 0-height page-image logs (T429314) by Michael Große
  • git #8b2c21f1 - migrateMentorStatusAway: Return SIMULATED for all dry-run executions (T409170) by Martin Urbanec
  • git #41d92c2f - PraiseworthyConditionsLookup: ignore request IP blocks for praiseworthiness (T426465) by Martin Urbanec
  • git #0353f60a - MentorManager: ignore request IP blocks when checking eligibility (T426465) by Martin Urbanec
  • git #e9235904 - test: skip FeatureManagerTest when Minerva is not loaded (T415278) by Antoine Musso

Kartographer

[edit]
  • git #6cabe63b - Expand strip markers when they are present in attribute values (T383004) by C. Scott Ananian
  • git #907c7825 - tests: Use PageReferenceValue instead of Title::newFromText by Umherirrender

Linter

[edit]

MassMessage

[edit]
  • git #a834f3ec - Remove title argument from MassMessageSubmitJob by Umherirrender
  • git #280ce461 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

Math

[edit]
  • git #868a904d - Improve error message in MathMathMLCli by Umherirrender
  • git #33a1c674 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

MediaSearch

[edit]

MobileFrontend

[edit]

MultimediaViewer

[edit]

MultiTitle

[edit]
  • git #b669ecf2 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

Newsletter

[edit]
  • git #fc3abdf0 - Use more narrow ConnectionProvider instead of LoadBalancer by thiemowmde
  • git #a71c007e - Inject services in Hooks and special pages by Fomafix
  • git #81cf46d3 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

OAuth

[edit]

PageAssessments

[edit]
  • git #7847bbf7 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender
  • git #6ebacd22 - Add $wgWikiProjects JS config var to page output (T374761) by MusikAnimal
  • git #2c3c824e - PageAssessmentsStore: only iterate over projects names of type string (T428962) by MusikAnimal

PageImages

[edit]
  • git #89b02cca - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

PageTriage

[edit]
  • git #9757f8d1 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

PageViewInfo

[edit]
  • git #f3956664 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

PersonalDashboard

[edit]

Popups

[edit]
  • git #a6a39d9f - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

QuickSurveys

[edit]
  • git #4fe95637 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender
  • git #cd32b5f4 - Allow project-level customization of surveys (T393436) by Jon Robson

ReaderExperiments

[edit]
[edit]

Scribunto

[edit]
  • git #98590caf - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

SecurePoll

[edit]
  • git #44740e78 - TranslatePage: Cast to string before using htmlspecialchars (T429459) by Dreamy Jazz

SpamBlacklist

[edit]
  • git #ebd04259 - Use UserIdentity/PageReference in SpamBlacklist::logFilterHit by Umherirrender

SyntaxHighlight_GeSHi

[edit]
  • git #9044bd37 - links: add links in lua modules even if there are spaces in parens (T428952) by Siddharth VP

TemplateData

[edit]
  • git #88735de7 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

TemplateStyles

[edit]
  • git #f43f5180 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

TestKitchen

[edit]

TimedMediaHandler

[edit]

TorBlock

[edit]
  • git #0d5c1023 - tests: Add unit coverage for TorExitNodes::fetchExitNodesFromOnionooServer by RAJVEER42

Translate

[edit]

TranslationNotifications

[edit]
  • git #d7befb85 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender

UniversalLanguageSelector

[edit]
  • git #e7ff18fe - ULS rewrite: Reposition IME selector icon when popup moves (T429300) by Abijeet
  • git #d2910aeb - Make the language settings dialog a single shared instance (T429746) by Abijeet
  • git #781ed14d - ULS rewrite: Align missing languages banner with design spec (T429728) by NikG
  • git #f06df4d7 - ULS rewrite: Extract buildAnnotations helper by NikG
  • git #2d6ae49e - ULS rewrite: Merge search-results and sections render paths by NikG
  • git #564a0886 - ULS rewrite: Deduplicate panel header in template by NikG
  • git #49d2dec3 - ULS rewrite: Sync the fullscreen mobile selector with a URL route (T428778) by Abijeet
  • git #7577e8a8 - ULS rewrite: Lock scroll too, not just by Abijeet
  • git #c1e3453f - ULS rewrite: Show variants even when no languages are available (T426532) by Abijeet
  • git #ef468d5c - ULS rewrite: Capture trigger element before async module load (T429145) by NikG
  • git #79932186 - ULS rewrite: Fix settings dialog width and field sizing (T416512) by Abijeet
  • git #e3197659 - ULS rewrite: Lock body scroll when open on mobile by Abijeet

UploadWizard

[edit]
  • git #f72361c8 - Details: Opt in to the hCaptcha loading indicator on publish (T429293) by Maxim Postoronca
  • git #649ed12d - Add retry buttons to each individual failed upload (T410980) by Jamie Kuppens
  • git #b0302462 - tests: Use Title::makeTitle instead of Title::newFromText by Umherirrender
  • git #d1158c7d - Move cancellation higher in the call stack (T429287) by Sohom
  • git #a45c1da4 - PublishCaptchaHandler: Only require CAPTCHA for UploadWizard (T429322) by Maxim Postoronca

VisualEditor

[edit]

Wikibase

[edit]
  • git #45ab47f4 - A try for some root cause possibilities (null/undefined) (T418778) by Mahmoud
  • git #dd20671a - Serve component styles from .vue