React package for working with the DOM.
The latest stable releases, with their original sources.
Last checked
Checking sources…
FormData entries in Server Actions which regressed in 19.2.6
(#36566 by @unstubbable)react-server-dom-webpack/*.unbundled to private react-server-dom-unbundled (@eps1lon https://github.com/facebook/react/pull/35290)Use minus (
-) instead of en dash for removed props in Performance Tracks (@eps1lon #35649)
Transitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones (@acdlite #37290)
Below is a list of all new features, APIs, and bug fixes.
Read the React 19.3 release post for more information.
<ViewTransition />: Adds <ViewTransition /> and addTransitionType APIs 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, , , , , , , , , , , , , , , )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)
onBrowserBailout option to the react-dom/server APIs to observe when a subtree defers to the browser (@gnoff #37193)use() conditionally (@hoxyq, @eps1lon: #37104, #37203, #37491)lazy() (@sophiebits #36965)memo() comparison function take effect (@sophiebits #36964)$$typeof in Performance Tracks (@eps1lon #35679)-) instead of en dash for removed props in Performance Tracks (@eps1lon #35649)source onto the synthetic toggle event (@lazerg #37389)<select> parser (@josepharhar #34804)defaultValue for type="number" inputs to match other input types (@sophiebits #36980)innerHTML when it hasn't changed (@sophiebits #36949)nonce option in ReactDOM.preloadModule() (@UditDewan #36851)fetchPriority for module resources (@TheAlexLichter #36835)credentialless iframe attribute (@vmx906 #36322)credentialless as a recognized boolean attribute for iframes (@vmx906 #36148)finishedTask from calling completeAll multiple times (@gnoff #36287)maskType SVG prop (@sleitor #35921)onFullscreenChange and onFullscreenError events (@chirokas #34621)submitter in submit events (@eps1lon #35590)nonce to rendered import maps (@mattcosta7 #37339)onBrowserBailout option to observe subtrees that defer to the browser (@gnoff #37193)react-dom/server hanging on Deno (@fraidev #35235)nonce attributes (@MaxwellCohen #37030)onAllReady after the shell errored (@eps1lon #36903)modulepreload tracking (@fallintoplace #36564)nextSegmentId after the prelude flush (@gaojude #36779)referrerPolicy in image preload headers (@ulises-jeremias #36803)RangeError from exponential debug info growth (@unstubbable #37481)pending_weak to the Flight thenable protocol (@acdlite #37154).then with Object.defineProperty (@eps1lon #37109)Promise statics in debug info (@gaearon #36969)toJSON (Node Buffer) (@unstubbable #36873)JSON.stringify for faster serialization (@mhart #36795)Note: Version 6.0.0 was mistakenly released and immediately deprecated and untagged on npm. This is the first official 6.x major release and includes breaking changes.
Below is a list of all new features, APIs, and bug fixes.
Read the React 19.2 release post for more information.
<Activity>: A new API to hide and restore the UI and internal state of its children.useEffectEvent is a React Hook that lets you extract non-reactive logic into an Effect Event.cacheSignal (for RSCs) lets your know when the cache() lifetime is over.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.prerender APIs to return a postponed state that can be passed to the resume APIs.<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 useId<Activity /> was developed over many years, starting before ClassComponent.setState (@acdlite @sebmarkbage and many others)%o placeholder (@eps1lon #34198)useDeferredValue loop in popstate event (@acdlite #32821)useDeferredValue (@acdlite #34376)cacheSignal (@sebmarkbage #33557): for IDs generated by useId (@sebmarkbage, @eps1lon: #32001, https://github.com/facebook/react/pull/33342#33099, #33422)nonce to be used on hoistable styles (@Andarist #32461)React.use inside React.lazy-ed Component (@hi-ogawa #33941)progressiveChunkSize option for server-side-rendering APIs (@sebmarkbage #33027)<img> and <link> using hints before they're rendered (@sebmarkbage #34604)filterStackFrame (@eps1lon #33707)on* handlers to account for upcoming experimental APIsNote: Version 6.0.0 was mistakenly released and immediately deprecated and untagged on npm. This is the first official 6.x major release and includes breaking changes.
recommended preset. Legacy config moved to recommended-legacy. (@michaelfaith in #32457)use within try/catch blocks. (@poteto in #34040)useEffectEvent functions in arbitrary closures. (@jbrown215 in #33544)React.useEffect in addition to useEffect in rules-of-hooks. (@Ayc0 in #34076)react-hooks settings config option that to accept additionalEffectHooks that are used across exhaustive-deps and rules-of-hooks rules. (@jbrown215) in #34497useSyncExternalStore<Activity> trees (@ronnakamoto #34983)<Offscreen> component in error messages (@rickhanlonii #35763)use() (@hoxyq, @eps1lon: #37104, #37203, #37491)useDeferredValue getting stuck (@gaearon #36134)useActionState error message to say "action state" instead of "form state" (@rickhanlonii #35790)getNearestMountedFiber (@sebmarkbage #35578).default export of a React.lazy as the canonical value (@sebmarkbage #34906)useEffectEvent reads latest values in forwardRef and memo() components (@eps1lon #34831)onReset when automatically resetting forms (@eps1lon #35176)FormData submitter parameter (@jenseng #29028)resize events until the next frame (@eps1lon #35117)use() of a rejected Flight chunk (@lubieowoce #36544)use() to the owner stack and debug task (@eps1lon #35226)useId tracking on replay (@gnoff #35518)createSuspenseBoundary path (@sebmarkbage #35087)react-dom/server (@RiskyMH #34193)FormData entries in decodeReplyFromBusboy (@unstubbable #36468)AggregateError.errors (@eps1lon #36156)Blob deserialization is not a Blob (@eps1lon #36055)Error.cause (@eps1lon #35810)transferReferencedDebugInfo during debug info resolution (@unstubbable #35795)unstable_allowPartialStream option to Flight Client (@unstubbable #35731)encodeReply for JSX with temporary references (@unstubbable #35730)renderToPipeableStream (@feedthejim #35724)visitAsyncNode with deep async chains (@unstubbable #35612)request.timeOrigin via options.startTime (@lubieowoce #35598)eval is disabled in the dev environment (@eps1lon #35661)unsafe-eval (@eps1lon #35650)react-markup types for server references (@eps1lon #35634)toString on Server Functions (@sebmarkbage #35345)react-server-dom-webpack/*.unbundled to private react-server-dom-unbundled (@eps1lon #35290)then functions in Flight replies (@sebmarkbage #35289)hasReadable flag in Node.js clients' debug channel (@unstubbable #35039)startTime as an option (@sebmarkbage #34912)ArrayBuffer error when streaming typed arrays (@unstubbable #34849)displayName of Promise instances on the server (@sebmarkbage #34825)as attribute for stylesheets (@unstubbable #34760)toJSON in debug path and omit wide arrays (@sebmarkbage #34759)<Activity> (@eps1lon #34697)