Updatify / React | Release notes

Create your changelog

Free, open-source JavaScript library maintained by Meta (Facebook) and a community of developers

Update Jun 29, 2026 tracked by Updatify

19.2.7 (June 1, 2026)

React Server Components

  • Fixed missing FormData entries in Server Actions which regressed in 19.2.6 (@unstubbable #36566)

Update Jun 8, 2026 tracked by Updatify

19.2.1 (Dec 3, 2025)

React Server Components

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

Update Jun 29, 2026 tracked by Updatify

19.2.6 (May 6, 2026)

React Server Components

  • Type hardening and performance improvements (@eps1lon, @unstubbable #36425)

Update Jun 8, 2026 tracked by Updatify

19.2.0 (October 1st, 2025)

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:
  • Added resume APIs for partial pre-rendering with Node Streams:

Update Jun 8, 2026 tracked by Updatify

19.1.2 (Dec 3, 2025)

React Server Components

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

Update Jun 29, 2026 tracked by Updatify

19.2.3 (Dec 11, 2025)

React Server Components

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

Update Jun 8, 2026 tracked by Updatify

19.1.0 (March 28, 2025)

Owner Stack

An Owner Stack is a string representing the components that are directly responsible for rendering a particular component. You can log Owner Stacks when debugging or use Owner Stacks to enhance error overlays or other development tools. Owner Stacks are only available in development builds. Component Stacks in production are unchanged.

  • An Owner Stack is a development-only stack trace that helps identify which components are responsible for rendering a particular component. An Owner Stack is distinct from a Component Stacks, which shows the hierarchy of components leading to an error.
  • The captureOwnerStack API is only available in development mode and returns a Owner Stack, if available. The API can be used to enhance error overlays or log component relationships when debugging. #29923, #32353, #30306, #32538, #32529, #32538

React

Update Jun 8, 2026 tracked by Updatify

19.0.1 (Dec 3, 2025)

React Server Components

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

Update Jun 8, 2026 tracked by Updatify

19.0.0 (December 5, 2024)

Below is a list of all new features, APIs, deprecations, and breaking changes. Read React 19 release post and React 19 upgrade guide for more information.

Note: To help make the upgrade to React 19 easier, we’ve published a react@18.3 release that is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19. We recommend upgrading to React 18.3.1 first to help identify any issues before upgrading to React 19.

New Features

React

  • Actions: startTransition can now accept async functions. Functions passed to startTransition are called “Actions”. A given Transition can include one or more Actions which update state in the background and update the UI with one commit. In addition to updating state, Actions can now perform side effects including async requests, and the Action will wait for the work to finish before finishing the Transition. This feature allows Transitions to include side effects like fetch() in the pending state, and provides support for error handling, and optimistic updates.

Update Jun 29, 2026 tracked by Updatify

19.1.8 (June 1, 2026)

React Server Components

  • Fixed missing FormData entries in Server Actions which regressed in 19.1.7 (@unstubbable #36567)

Update Jun 8, 2026 tracked by Updatify

18.3.0 (April 25, 2024)

This release is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19.

Read the React 19 Upgrade Guide for more info.

React

  • Allow writing to this.refs to support string ref codemod 909071
  • Warn for deprecated findDOMNode outside StrictMode c3b283
  • Warn for deprecated test-utils methods d4ea75
  • Warn for deprecated Legacy Context outside StrictMode 415ee0
  • Warn for deprecated string refs outside StrictMode #25383
  • Warn for deprecated defaultProps for function components #25699
  • Warn when spreading key #25697
  • Warn when using act from test-utils d4ea75

React DOM

  • Warn for deprecated unmountComponentAtNode 8a015b

Update Jun 29, 2026 tracked by Updatify

19.1.7 (May 6, 2026)

React Server Components

  • Type hardening and performance improvements (@eps1lon, @unstubbable #36425)

Update Jun 8, 2026 tracked by Updatify

18.2.0 (June 14, 2022)

React DOM

  • Provide a component stack as a second argument to onRecoverableError. (@gnoff in #24591)
  • Fix hydrating into document causing a blank page on mismatch. (@gnoff in #24523)
  • Fix false positive hydration errors with Suspense. (@gnoff in #24480 and @acdlite in #24532)
  • Fix ignored setState in Safari when adding an iframe. (@gaearon in #24459)

React DOM Server

  • Pass information about server errors to the client. (@salazarm and @gnoff in #24551 and #24591)
  • Allow to provide a reason when aborting the HTML stream. (@gnoff in #24680)
  • Eliminate extraneous text separators in the HTML where possible. (@gnoff in #24630)

Update Jun 8, 2026 tracked by Updatify

18.1.0 (April 26, 2022)

React DOM

  • Fix the false positive warning about react-dom/client when using UMD bundle. (@alireza-molaee in #24274)
  • Fix suppressHydrationWarning to work in production too. (@gaearon in #24271)
  • Fix componentWillUnmount firing twice inside of Suspense. (@acdlite in #24308)
  • Fix some transition updates being ignored. (@acdlite in #24353)
  • Fix useDeferredValue causing an infinite loop when passed an unmemoized value. (@acdlite in #24247)
  • Fix throttling of revealing Suspense fallbacks. (@sunderls in #24253)
  • Fix an inconsistency in whether the props object is the same between renders. (@Andarist and @acdlite in #24421)
  • Fix a missing warning about a setState loop in useEffect. (@gaearon in #24298)

Update Jun 8, 2026 tracked by Updatify

18.0.0 (March 29, 2022)

Below is a list of all new features, APIs, deprecations, and breaking changes. Read React 18 release post and React 18 upgrade guide for more information.

New Features

React

  • useId is a new hook for generating unique IDs on both the client and server, while avoiding hydration mismatches. It is primarily useful for component libraries integrating with accessibility APIs that require unique IDs. This solves an issue that already exists in React 17 and below, but it’s even more important in React 18 because of how the new streaming server renderer delivers HTML out-of-order.
  • startTransition and useTransition let you mark some state updates as not urgent. Other state updates are considered urgent by default. React will allow urgent state updates (for example, updating a text input) to interrupt non-urgent state updates (for example, rendering a list of search results).
  • useDeferredValue lets you defer re-rendering a non-urgent part of the tree. It is similar to debouncing, but has a few advantages compared to it. There is no fixed time delay, so React will attempt the deferred render right after the first render is reflected on the screen. The deferred render is interruptible and doesn’t block user input.

Update Jun 29, 2026 tracked by Updatify

19.1.4 (Dec 11, 2025)

React Server Components

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

Update Jun 8, 2026 tracked by Updatify

Deprecations

  • react-dom: ReactDOM.render has been deprecated. Using it will warn and run your app in React 17 mode.
  • react-dom: ReactDOM.hydrate has been deprecated. Using it will warn and run your app in React 17 mode.
  • react-dom: ReactDOM.unmountComponentAtNode has been deprecated.
  • react-dom: ReactDOM.renderSubtreeIntoContainer has been deprecated.
  • react-dom/server: ReactDOMServer.renderToNodeStream has been deprecated.

Update Jun 8, 2026 tracked by Updatify

Breaking Changes

React

  • Automatic batching: This release introduces a performance improvement that changes to the way React batches updates to do more batching automatically. See Automatic batching for fewer renders in React 18 for more info. In the rare case that you need to opt out, wrap the state update in flushSync.
  • Stricter Strict Mode: In the future, React will provide a feature that lets components preserve state between unmounts. To prepare for it, React 18 introduces a new development-only check to Strict Mode. React will automatically unmount and remount every component, whenever a component mounts for the first time, restoring the previous state on the second mount. If this breaks your app, consider removing Strict Mode until you can fix the components to be resilient to remounting with existing state.
  • Consistent useEffect timing: React now always synchronously flushes effect functions if the update was triggered during a discrete user input event such as a click or a keydown event. Previously, the behavior wasn’t always predictable or consistent.

Update Jun 8, 2026 tracked by Updatify

Notable Changes

React

  • Components can now render undefined: React no longer throws if you return undefined from a component. This makes the allowed component return values consistent with values that are allowed in the middle of a component tree. We suggest to use a linter to prevent mistakes like forgetting a return statement before JSX.
  • In tests, act warnings are now opt-in: If you’re running end-to-end tests, the act warnings are unnecessary. We’ve introduced an opt-in mechanism so you can enable them only for unit tests where they are useful and beneficial.
  • No warning about setState on unmounted components: Previously, React warned about memory leaks when you call setState on an unmounted component. This warning was added for subscriptions, but people primarily run into it in scenarios where setting state is fine, and workarounds make the code worse. We’ve removed this warning.

Update Jun 29, 2026 tracked by Updatify

19.0.7 (June 1, 2026)

React Server Components

  • Fixed missing FormData entries in Server Actions which regressed in 19.0.6 (@unstubbable #36568)

Update Jun 29, 2026 tracked by Updatify

19.0.6 (May 6, 2026)

React Server Components

  • Type hardening and performance improvements (@eps1lon, @unstubbable #36425)

Update Jun 8, 2026 tracked by Updatify

17.0.0 (October 20, 2020)

Today, we are releasing React 17!

Learn more about React 17 and how to update to it on the official React blog.

React

React DOM

Update Jun 8, 2026 tracked by Updatify

16.13.1 (March 19, 2020)

React DOM

  • Fix bug in legacy mode Suspense where effect clean-up functions are not fired. This only affects users who use Suspense for data fetching in legacy mode, which is not technically supported. (@acdlite in #18238)
  • Revert warning for cross-component updates that happen inside class render lifecycles (componentWillReceiveProps, shouldComponentUpdate, and so on). (@gaearon in #18330)

Update Jun 29, 2026 tracked by Updatify

19.0.3 (Dec 11, 2025)

React Server Components

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

Update Jun 8, 2026 tracked by Updatify

16.13.0 (February 26, 2020)

React

  • Warn when a string ref is used in a manner that’s not amenable to a future codemod (@lunaruan in #17864)
  • Deprecate React.createFactory() (@trueadm in #17878)

React DOM

Update Jun 8, 2026 tracked by Updatify

16.10.0 (September 27, 2019)

React DOM

  • Fix edge case where a hook update wasn’t being memoized. (@sebmarkbage in #16359)
  • Fix heuristic for determining when to hydrate, so we don’t incorrectly hydrate during an update. (@sebmarkbage in #16739)
  • Clear additional fiber fields during unmount to save memory. (@trueadm in #16807)
  • Fix bug with required text fields in Firefox. (@halvves in #16578)
  • Prefer Object.is instead of inline polyfill, when available. (@ku8ar in #16212)
  • Fix bug when mixing Suspense and error handling. (@acdlite in #16801)

Scheduler (Experimental)

  • Improve queue performance by switching its internal data structure to a min binary heap. (@acdlite in #16245)
  • Use postMessage loop with short intervals instead of attempting to align to frame boundaries with requestAnimationFrame. (@acdlite in #16214)

useSubscription

Update Jun 8, 2026 tracked by Updatify

16.9.0 (August 8, 2019)

React

  • Add <React.Profiler> API for gathering performance measurements programmatically. (@bvaughn in #15172)
  • Remove unstable_ConcurrentMode in favor of unstable_createRoot. (@acdlite in #15532)

React DOM

Update Jun 8, 2026 tracked by Updatify

16.8.5 (March 22, 2019)

React DOM

  • Don’t set the first option as selected in select tag with size attribute. (@kulek1 in #14242)
  • Improve the useEffect(async () => ...) warning message. (@gaearon in #15118)
  • Improve the error message sometimes caused by duplicate React. (@jaredpalmer in #15139)

React DOM Server

  • Improve the useLayoutEffect warning message when server rendering. (@gaearon in #15158)

React Shallow Renderer

  • Fix setState in shallow renderer to work with Hooks. (@gaearon in #15120)
  • Fix shallow renderer to support React.memo. (@aweary in #14816)
  • Fix shallow renderer to support Hooks inside forwardRef. (@eps1lon in #15100)

Update Jun 8, 2026 tracked by Updatify

16.8.3 (February 21, 2019)

React DOM

  • Fix a bug that caused inputs to behave incorrectly in UMD builds. (@gaearon in #14914)
  • Fix a bug that caused render phase updates to be discarded. (@gaearon in #14852)

React DOM Server

  • Unwind the context stack when a stream is destroyed without completing, to prevent incorrect values during a subsequent render. (@overlookmotel in #14706)

ESLint Plugin for React Hooks