react

react breaking-changes badge

react (latest known version: 19.2.8) has 203 known breaking changes on record, each backed by a source URL.

Actively maintainedLatest known version: 19.2.8npm ↗

Security advisories

GHSA-g53w-52xc-2j85MODERATE>=0.4.0 <0.4.2 || >=0.5.0 <0.5.2

Cross-Site Scripting in react

source ↗

GHSA-hg79-j56m-fxgvHIGH>=0.0.1 <0.14.0

Cross-Site Scripting in react

source ↗

Recent changes

v19.2.8Notable

Performance improvements when decoding

source ↗

v19.2.7Breaking

Fixed missing `FormData` entries in Server Actions which regressed in 19.2.6

source ↗

v19.2.6Notable

Type hardening and performance improvements for React Server Components

source ↗

v19.2.5Notable

Add more cycle protections in React Server Components

source ↗

v19.2.4Security

Add more DoS mitigations to Server Actions, and harden Server Components

source ↗

v19.2.3Notable

Add extra loop protection to React Server Functions

source ↗

v19.2.2Notable

Patch Promise cycles and toString on Server Functions

source ↗

v19.2.2Breaking

Move `react-server-dom-webpack/*.unbundled` to private `react-server-dom-unbundled`

Update imports from `react-server-dom-webpack/*.unbundled` to use the private `react-server-dom-unbundled` package instead.

source ↗

v19.2.1Notable

Bring React Server Component fixes to Server Actions

source ↗

v19.2.0Notable

eslint-plugin-react-hooks added `react-hooks` settings config option to accept `additionalEffectHooks` for use across exhaustive-deps and rules-of-hooks rules

source ↗

v19.2.0Notable

eslint-plugin-react-hooks now handles `React.useEffect` in addition to `useEffect` in rules-of-hooks

source ↗

v19.2.0Notable

eslint-plugin-react-hooks added new violation rule to disallow calling `useEffectEvent` functions in arbitrary closures

source ↗

v19.2.0Notable

eslint-plugin-react-hooks added new violation rule to disallow calling `use` within try/catch blocks

source ↗

v19.2.0Notable

Added Node Web Streams support (`prerender`, `renderToReadableStream`) to server-side-rendering APIs for Node.js

source ↗

v19.2.0Notable

React DOM now batches suspense boundary reveals, matching the behavior of client side rendering for better performance with animations

source ↗

v19.2.0Notable

Updated `prerender` APIs to return a `postponed` state that can be passed to the `resume` APIs

source ↗

v19.2.0Notable

Added `resumeAndPrerenderToNodeStream` API for Node Streams to resume a prerender to HTML

source ↗

v19.2.0Notable

Added `resumeToPipeableStream` API for Node Streams to resume a prerender to a stream

source ↗

v19.2.0Notable

Added `resumeAndPrerender` API for Web Streams to resume a prerender to HTML

source ↗

v19.2.0Notable

Added `resume` API for Web Streams to resume a prerender to a stream

source ↗

v19.2.0Notable

Added React Performance tracks that appear on the Performance panel's timeline in browser developer tools

source ↗

v19.2.0Notable

Added `cacheSignal` API for RSCs to know when the `cache()` lifetime is over

source ↗

v19.2.0Notable

Added `useEffectEvent` React Hook to extract non-reactive logic into an Effect Event

source ↗

v19.2.0Notable

Added `<Activity>` component API to hide and restore the UI and internal state of its children

source ↗

v19.2.0Breaking

eslint-plugin-react-hooks flat config is now the default `recommended` preset, with legacy config moved to `recommended-legacy`

source ↗

v19.2.0Breaking

eslint-plugin-react-hooks now requires Node.js 18 or newer

source ↗

v19.2.0Breaking

React DOM now uses underscore instead of `:` for IDs generated by `useId`

source ↗

v19.2.0Breaking

- 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

source ↗

v19.1.9Notable

Performance improvements when decoding React Server Components

source ↗

v19.1.8Security

Fixed missing FormData entries in Server Actions which regressed in 19.1.7

source ↗

Check what changed for react since your installed version, live.

Open the playground →