You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
browser(): a new react-dom API 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)
Added an onBrowserBailout option to the react-dom/server APIs to observe when a subtree defers to the browser (@gnoff#37193)
Transitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones (@acdlite#37290)
Added a DEV-only warning when a component appears to have been unblocked by calling use() conditionally (@hoxyq, @eps1lon: #37104, #37203, #37491)
All Changes
React
Fast Refresh Fixes
Fix Fast Refresh to find and remount edits to components wrapped behind lazy() (@sophiebits#36965)
Fix Fast Refresh so edits to a memo() comparison function take effect (@sophiebits#36964)
Fix Fast Refresh crash when an edit changes the kind of a component's type (@sophiebits#36963)
Updated prerender APIs to return a postponed state that can be passed to the resume APIs.
Notable changes
React DOM now batches suspense boundary reveals, matching the behavior of client side rendering. This change is especially noticeable when animating the reveal of Suspense boundaries e.g. with the upcoming <ViewTransition> Component. React will batch as much reveals as possible before the first paint while trying to hit popular first-contentful paint metrics.
Add Node Web Streams (prerender, renderToReadableStream) to server-side-rendering APIs for Node.js
Use underscore instead of : IDs generated by useId
All Changes
React
<Activity /> was developed over many years, starting before ClassComponent.setState (@acdlite@sebmarkbage and many others)
Stringify context as "SomeContext" instead of "SomeContext.Provider" (@kassens#33507)
Include stack of cause of React instrumentation errors with %o placeholder (@eps1lon#34198)
Fix infinite useDeferredValue loop in popstate event (@acdlite#32821)
Fix a bug when an initial value was passed to useDeferredValue (@acdlite#34376)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
^18→^19.0.0^18→^19.0.018.3.1→19.3.118.3.1→19.3.1Release Notes
react/react (react)
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.8[
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.