Repository navigation
chore(deps): update dependency react-dom to v19 - #1348
renovate-sh-app[bot] wants to merge 1 commit into
Conversation
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 87ad63b. Configure here.
| "jsdom": "^30.0.0", | ||
| "react": "18.3.1", | ||
| "react-dom": "18.3.1", | ||
| "react-dom": "19.3.1", |
There was a problem hiding this comment.
Mismatched React and react-dom versions
High Severity
react-dom and @types/react-dom were bumped to v19 while react and @types/react stay on v18. These packages must share a major version; this pairing breaks createRoot at runtime in the bundled MCP apps, and npm ci will fail because package-lock.json still pins the v18 releases.
Reviewed by Cursor Bugbot for commit 87ad63b. Configure here.


This PR contains the following updates:
18.3.1→19.3.118.3.7→19.3.0Release Notes
react/react (react-dom)
v19.3.1: 19.3.1 (October 14th, 2026)Compare Source
React Server Components
v19.3.0Compare Source
New React Features
<ViewTransition />: Adds<ViewTransition />andaddTransitionTypeAPIs to power View Transition animations in React (@sebmarkbage, @jackpope, @gaearon: #31975, #31987, #31996, #31999, #32001, #32002, #32028, #32029, #32031, #32034, #32038, #32041, #32050, #32090, #32105, #32254, #32379, #32422, #32462, #32540, #32545, #32585, #32599, #32611, #32612, #32617, #32651, #32653, #32656, #32664, #32699, #32723, #32734, #32751, #32752, #32760, #32761, #32764, #32772, #32790, #32819, #32820, #32822, #32833, #32849, #33094, #33191, #33200, #33206, #33293, #33330, #33331, #33332, #33357, #33362, #33433, #33576, #34374, #34450, #34481, #34500, #34502, #34510, #34511, #34539, #35567, #35564, #35485, #35380, #35063, #35060, #34676, #36917, #35337, #35520)<Fragment />to support composable platform behavior (@jackpope, @sebmarkbage, @eps1lon, @Dhakshin2007, @chirokas, @teamleaderleo, @fallintoplace: #32465, #32613, #32619, #32654, #32660, #32682, #32722, #32813, #32814, #33056, #33058, #33093, #34069, #34103, #34544, #34545, #37062, #37061, #37060, #36047, #36010, #35642, #35641, #35637, #35630, #34935, #37457, #37408, #37326, #37251, #37171, #37169, #37168, #37167, #37166, #37165, #37164, #37163, #37162, #37161, #37160, #37125, #37063)New React DOM Features
browser(): a newreact-domAPI that returns a usable which errors during server rendering and resolves in the browser.use(browser())inside a<Suspense>boundary marks a subtree as browser-only without reporting a recoverable error (@gnoff: #37143, #37241)onBrowserBailoutoption to thereact-dom/serverAPIs to observe when a subtree defers to the browser (@gnoff #37193)Notable changes
use()conditionally (@hoxyq, @eps1lon: #37104, #37203, #37491)All Changes
React
lazy()(@sophiebits #36965)memo()comparison function take effect (@sophiebits #36964)$$typeofin Performance Tracks (@eps1lon #35679)-) instead of en dash for removed props in Performance Tracks (@eps1lon #35649)useSyncExternalStoremissing store mutations that happened while an Activity tree was hidden (@sophiebits #36947)<Activity>trees (@ronnakamoto #34983)<Offscreen>component in error messages (@rickhanlonii #35763)use()(@hoxyq, @eps1lon: #37104, #37203, #37491)useDeferredValuegetting stuck (@gaearon #36134)useActionStateerror message to say "action state" instead of "form state" (@rickhanlonii #35790)getNearestMountedFiber(@sebmarkbage #35578).defaultexport of aReact.lazyas the canonical value (@sebmarkbage #34906)useEffectEventreads latest values inforwardRefandmemo()components (@eps1lon #34831)React DOM
sourceonto the synthetictoggleevent (@lazerg #37389)<select>parser (@josepharhar #34804)defaultValuefortype="number"inputs to match other input types (@sophiebits #36980)innerHTMLwhen it hasn't changed (@sophiebits #36949)nonceoption inReactDOM.preloadModule()(@UditDewan #36851)fetchPriorityfor module resources (@TheAlexLichter #36835)credentiallessiframe attribute (@vmx906 #36322)credentiallessas a recognized boolean attribute for iframes (@vmx906 #36148)finishedTaskfrom callingcompleteAllmultiple times (@gnoff #36287)maskTypeSVG prop (@sleitor #35921)onFullscreenChangeandonFullscreenErrorevents (@chirokas #34621)submitterinsubmitevents (@eps1lon #35590)onResetwhen automatically resetting forms (@eps1lon #35176)FormDatasubmitterparameter (@jenseng #29028)resizeevents until the next frame (@eps1lon #35117)React Server
nonceto rendered import maps (@mattcosta7 #37339)onBrowserBailoutoption to observe subtrees that defer to the browser (@gnoff #37193)react-dom/serverhanging on Deno (@fraidev #35235)nonceattributes (@MaxwellCohen #37030)onAllReadyafter the shell errored (@eps1lon #36903)modulepreloadtracking (@fallintoplace #36564)nextSegmentIdafter the prelude flush (@gaojude #36779)referrerPolicyin image preload headers (@ulises-jeremias #36803)use()of a rejected Flight chunk (@lubieowoce #36544)use()to the owner stack and debug task (@eps1lon #35226)useIdtracking on replay (@gnoff #35518)createSuspenseBoundarypath (@sebmarkbage #35087)react-dom/server(@RiskyMH #34193)React Server Components
RangeErrorfrom exponential debug info growth (@unstubbable #37481)pending_weakto the Flight thenable protocol (@acdlite #37154).thenwithObject.defineProperty(@eps1lon #37109)Promisestatics in debug info (@gaearon #36969)toJSON(NodeBuffer) (@unstubbable #36873)JSON.stringifyfor faster serialization (@mhart #36795)FormDataentries indecodeReplyFromBusboy(@unstubbable #36468)AggregateError.errors(@eps1lon #36156)Blobdeserialization is not aBlob(@eps1lon #36055)Error.cause(@eps1lon #35810)transferReferencedDebugInfoduring debug info resolution (@unstubbable #35795)unstable_allowPartialStreamoption to Flight Client (@unstubbable #35731)encodeReplyfor JSX with temporary references (@unstubbable #35730)renderToPipeableStream(@feedthejim #35724)visitAsyncNodewith deep async chains (@unstubbable #35612)request.timeOriginviaoptions.startTime(@lubieowoce #35598)evalis disabled in the dev environment (@eps1lon #35661)unsafe-eval(@eps1lon #35650)react-markuptypes for server references (@eps1lon #35634)toStringon Server Functions (@sebmarkbage #35345)react-server-dom-webpack/*.unbundledto privatereact-server-dom-unbundled(@eps1lon #35290)thenfunctions in Flight replies (@sebmarkbage #35289)hasReadableflag in Node.js clients' debug channel (@unstubbable #35039)startTimeas an option (@sebmarkbage #34912)ArrayBuffererror when streaming typed arrays (@unstubbable #34849)displayNameof Promise instances on the server (@sebmarkbage #34825)asattribute for stylesheets (@unstubbable #34760)toJSONin debug path and omit wide arrays (@sebmarkbage #34759)<Activity>(@eps1lon #34697)v19.2.9: 19.2.9 (October 14th, 2026)Compare Source
React Server Components
v19.2.8: 19.2.8 (July 21st, 2026)Compare Source
React Server Components
(#37087 by @eps1lon)
v19.2.7Compare Source
React Server Components
FormDataentries in Server Actions which regressed in 19.2.6 (@unstubbable #36566)v19.2.6Compare Source
React Server Components
v19.2.5Compare Source
React Server Components
v19.2.4Compare Source
React Server Components
v19.2.3Compare Source
React Server Components
v19.2.2Compare Source
React Server Components
react-server-dom-webpack/*.unbundledto privatereact-server-dom-unbundled(@eps1lon #35290)v19.2.1Compare Source
React Server Components
v19.2.0Compare Source
Below is a list of all new features, APIs, and bug fixes.
Read the React 19.2 release post for more information.
New React Features
<Activity>: A new API to hide and restore the UI and internal state of its children.useEffectEventis a React Hook that lets you extract non-reactive logic into an Effect Event.cacheSignal(for RSCs) lets your know when thecache()lifetime is over.New React DOM Features
resume: to resume a prerender to a stream.resumeAndPrerender: to resume a prerender to HTML.resumeToPipeableStream: to resume a prerender to a stream.resumeAndPrerenderToNodeStream: to resume a prerender to HTML.prerenderAPIs to return apostponedstate that can be passed to theresumeAPIs.Notable changes
<ViewTransition>Component. React will batch as much reveals as possible before the first paint while trying to hit popular first-contentful paint metrics.prerender,renderToReadableStream) to server-side-rendering APIs for Node.js:IDs generated by useIdAll Changes
React
<Activity />was developed over many years, starting beforeClassComponent.setState(@acdlite @sebmarkbage and many others)%oplaceholder (@eps1lon #34198)useDeferredValueloop in popstate event (@acdlite #32821)useDeferredValue(@acdlite #34376)cacheSignal(@sebmarkbage #33557)React DOM
:for IDs generated byuseId(@sebmarkbage, @eps1lon: #32001, #33342#33099, #33422)nonceto be used on hoistable styles (@Andarist #32461)React.useinsideReact.lazy-ed Component (@hi-ogawa #33941)progressiveChunkSizeoption for server-side-rendering APIs (@sebmarkbage #33027)React Server Components
<img>and<link>using hints before they're rendered (@sebmarkbage #34604)filterStackFrame(@eps1lon #33707)React Reconciler
on*handlers to account for upcoming experimental APIsv19.1.10: 19.1.10 (October 14th, 2026)Compare Source
React Server Components
v19.1.9: 19.1.9 (July 21st, 2026)Compare Source
React Server Components
(#37088 by @eps1lon)
v19.1.8Compare Source
React Server Components
FormDataentries in Server Actions which regressed in 19.1.7 (@unstubbable #36567)v19.1.7Compare Source
React Server Components
[
v19.1.6](https://redirect.github.com/rConfiguration
📅 Schedule: (UTC)
* 0-3 * * 1)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
Need help?
You can ask for more help in the following Slack channel: #proj-renovate-self-hosted. In that channel you can also find ADR and FAQ docs in the Resources section.