Download Latest Version 19.2.0 (Oct 1, 2025) source code.zip (13.2 MB)
Email in envelope

Get an email when there's a new version of React

Home / v19.2.0
Name Modified Size InfoDownloads / Week
Parent folder
19.2.0 (Oct 1, 2025) source code.tar.gz 2025-10-01 9.1 MB
19.2.0 (Oct 1, 2025) source code.zip 2025-10-01 13.2 MB
README.md 2025-10-01 8.5 kB
Totals: 3 Items   22.3 MB 8

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.
  • 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

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

eslint-plugin-react-hooks@6.1.0

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
Source: README.md, updated 2025-10-01