React Release Notes

Last updated: Dec 12, 2025

  • Dec 12, 2025
    • Parsed from source:
      Dec 12, 2025
    • Detected by Releasebot:
      Dec 12, 2025

    React by Meta

    19.1.4 (December 11th, 2025)

    React Server Components

    Add extra loop protection to React Server Functions (@sebmarkbage #35351)

    Original source Report a problem
  • Dec 12, 2025
    • Parsed from source:
      Dec 12, 2025
    • Detected by Releasebot:
      Dec 12, 2025

    React by Meta

    19.0.3 (December 11th, 2025)

    React Server Components

    Add extra loop protection to React Server Functions (@sebmarkbage #35351)

    Original source Report a problem
  • Dec 11, 2025
    • Parsed from source:
      Dec 11, 2025
    • Detected by Releasebot:
      Dec 12, 2025

    React by Meta

    19.2.3 (December 11th, 2025)

    React Server Components

    • Add extra loop protection to React Server Functions (@sebmarkbage #35351)
    Original source Report a problem
  • Dec 11, 2025
    • Parsed from source:
      Dec 11, 2025
    • Detected by Releasebot:
      Dec 12, 2025

    React by Meta

    19.0.2 (December 11th, 2025)

    React Server Components

    Patch Promise cycles and toString on Server Functions (@sebmarkbage, @unstubbable #35289, #35345)

    Original source Report a problem
  • Dec 11, 2025
    • Parsed from source:
      Dec 11, 2025
    • Detected by Releasebot:
      Dec 12, 2025

    React by Meta

    19.2.2 (December 11th, 2025)

    React Server Components

    • Move react-server-dom-webpack/*.unbundled to private react-server-dom-unbundled (@eps1lon #35290)

    • Patch Promise cycles and toString on Server Functions (@sebmarkbage, @unstubbable #35289, #35345)

    Original source Report a problem
  • Dec 11, 2025
    • Parsed from source:
      Dec 11, 2025
    • Detected by Releasebot:
      Dec 12, 2025

    React by Meta

    19.1.3 (December 11th, 2025)

    React Server Components

    • Move react-server-dom-webpack/*.unbundled to private react-server-dom-unbundled (@eps1lon #35290)
    • Patch Promise cycles and toString on Server Functions (@sebmarkbage, @unstubbable #35289, #35345)
    Original source Report a problem
  • Dec 3, 2025
    • Parsed from source:
      Dec 3, 2025
    • Detected by Releasebot:
      Dec 11, 2025

    React by Meta

    19.1.2 (December 3rd, 2025)

    React Server Components

    Bring React Server Component fixes to Server Actions (@sebmarkbage #35277)

    Original source Report a problem
  • Dec 3, 2025
    • Parsed from source:
      Dec 3, 2025
    • Detected by Releasebot:
      Dec 11, 2025

    React by Meta

    19.0.1 (December 3rd, 2025)

    React Server Components

    Bring React Server Component fixes to Server Actions (@sebmarkbage #35277)

    Original source Report a problem
  • Dec 3, 2025
    • Parsed from source:
      Dec 3, 2025
    • Detected by Releasebot:
      Dec 11, 2025

    React by Meta

    19.2.1 (December 3rd, 2025)

    React Server Components

    Bring React Server Component fixes to Server Actions (@sebmarkbage #35277)

    Original source Report a problem
  • Oct 1, 2025
    • Parsed from source:
      Oct 1, 2025
    • Detected by Releasebot:
      Dec 11, 2025

    React by Meta

    19.2.0 (Oct 1, 2025)

    React 19.2 brings a major upgrade with new UI control APIs, useEffectEvent, and cacheSignal, plus enhanced prerendering and streaming for faster SSR. Performance tooling and server components improvements round out a compelling release for modern apps.

    New React Features

    • <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.
    • React Performance tracks appear on the Performance panel’s timeline in your browser developer tools

    New React DOM Features

    • Added resume APIs for partial pre-rendering with Web Streams:
      • resume: to resume a prerender to a stream.
      • resumeAndPrerender: to resume a prerender to HTML.
    • Added resume APIs for partial pre-rendering with Node Streams:
      • resumeToPipeableStream: to resume a prerender to a stream.
      • resumeAndPrerenderToNodeStream: to resume a prerender to HTML.
    • 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)
    • Fix a crash when submitting forms with Client Actions (@sebmarkbage #33055)
    • Hide/unhide the content of dehydrated suspense boundaries if they resuspend (@sebmarkbage #32900)
    • Avoid stack overflow on wide trees during Hot Reload (@sophiebits #34145)
    • Improve Owner and Component stacks in various places (@sebmarkbage, @eps1lon: #33629, #33724, #32735, #33723)
    • Add cacheSignal (@sebmarkbage #33557)

    React DOM

    • Block on Suspensey Fonts during reveal of server-side-rendered content (@sebmarkbage #33342)
    • Use underscore instead of : for IDs generated by useId (@sebmarkbage, @eps1lon: #32001, #33342#33099, #33422)
    • Stop warning when ARIA 1.3 attributes are used (@Abdul-Omira #34264)
    • Allow nonce to be used on hoistable styles (@Andarist #32461)
    • Warn for using a React owned node as a Container if it also has text content (@sebmarkbage #32774)
    • s/HTML/text for for error messages if text hydration mismatches (@rickhanlonii #32763)
    • Fix a bug with React.use inside React.lazy-ed Component (@hi-ogawa #33941)
    • Enable the progressiveChunkSize option for server-side-rendering APIs (@sebmarkage #33027)
    • Fix a bug with deeply nested Suspense inside Suspense fallback when server-side-rendering (@gnoff #33467)
    • Avoid hanging when suspending after aborting while rendering (@gnoff #34192)
    • Add Node Web Streams to server-side-rendering APIs for Node.js (@sebmarkage #33475)

    React Server Components

    • Preload <img> and <link> using hints before they're rendered (@sebmarkbage #34604)
    • Log error if production elements are rendered during development (@eps1lon #34189)
    • Fix a bug when returning a Temporary reference (e.g. a Client Reference) from Server Functions (@sebmarkbage #34084, @denk0403 #33761)
    • Pass line/column to filterStackFrame (@eps1lon #33707)
    • Support Async Modules in Turbopack Server References (@lubieowoce #34531)
    • Add support for .mjs file extension in Webpack (@jennyscript #33028)
    • Fix a wrong missing key warning (@unstubbable #34350)
    • Make console log resolve in predictable order (@sebmarkbage #33665)

    React Reconciler

    • createContainer and createHydrationContainer had their parameter order adjusted after on* handlers to account for upcoming experimental APIs
    • [email protected]
    • 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.
    • Breaking: Require Node.js 18 or newer. (@michaelfaith in #32458)
    • Breaking: Flat config is now the default recommended preset. Legacy config moved to recommended-legacy. (@michaelfaith in #32457)
    • New Violations: Disallow calling use within try/catch blocks. (@poteto in #34040)
    • New Violations: Disallow calling useEffectEvent functions in arbitrary closures. (@jbrown215 in #33544)
    • Handle React.useEffect in addition to useEffect in rules-of-hooks. (@Ayc0 in #34076)
    • Added react-hooks settings config option that to accept additionalEffectHooks that are used across exhaustive-deps and rules-of-hooks rules. (@jbrown215) in #34497
    Original source Report a problem

Related products