Skip to content

Conversation

@jbrown215
Copy link
Contributor

Summary:

useEffectEvent is meant to be used specifically in combination with useEffect, and using
the feature in arbitrary closures can lead to surprising reactivity semantics. In order to
minimize risk in the experimental rollout, we are going to restrict its usage to being
called directly inside an effect or another useEffectEvent, effectively enforcing the function
coloring statically. Without an effect system this is the best we can do.

…osures

Summary:

useEffectEvent is meant to be used specifically in combination with useEffect, and using
the feature in arbitrary closures can lead to surprising reactivity semantics. In order to
minimize risk in the experimental rollout, we are going to restrict its usage to being
called directly inside an effect or another useEffectEvent, effectively enforcing the function
coloring statically. Without an effect system this is the best we can do.
@react-sizebot
Copy link

Comparing: 5d24c64...0f26d04

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.68 kB 6.68 kB = 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js +0.02% 530.47 kB 530.58 kB +0.02% 93.64 kB 93.66 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js +0.02% 651.56 kB 651.67 kB +0.02% 114.75 kB 114.77 kB
facebook-www/ReactDOM-prod.classic.js +0.28% 674.72 kB 676.61 kB +0.25% 118.75 kB 119.05 kB
facebook-www/ReactDOM-prod.modern.js +0.25% 665.20 kB 666.89 kB +0.23% 117.17 kB 117.44 kB
facebook-www/ReactIs-prod.classic.js +12.53% 5.24 kB 5.89 kB +7.79% 1.27 kB 1.37 kB
facebook-www/ReactIs-prod.modern.js +12.53% 5.24 kB 5.89 kB +7.79% 1.27 kB 1.37 kB
facebook-www/ReactIs-dev.classic.js +12.04% 5.79 kB 6.49 kB +7.02% 1.31 kB 1.40 kB
facebook-www/ReactIs-dev.modern.js +12.04% 5.79 kB 6.49 kB +7.02% 1.31 kB 1.40 kB
facebook-www/React-dev.modern.js +3.91% 54.03 kB 56.14 kB +2.14% 12.05 kB 12.30 kB
facebook-www/React-dev.classic.js +3.91% 54.03 kB 56.15 kB +2.13% 12.05 kB 12.31 kB
facebook-www/JSXDEVRuntime-dev.classic.js +3.72% 12.89 kB 13.37 kB +2.36% 3.52 kB 3.60 kB
facebook-www/JSXDEVRuntime-dev.modern.js +3.72% 12.89 kB 13.37 kB +2.36% 3.52 kB 3.60 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
facebook-www/ReactIs-prod.classic.js +12.53% 5.24 kB 5.89 kB +7.79% 1.27 kB 1.37 kB
facebook-www/ReactIs-prod.modern.js +12.53% 5.24 kB 5.89 kB +7.79% 1.27 kB 1.37 kB
facebook-www/ReactIs-dev.classic.js +12.04% 5.79 kB 6.49 kB +7.02% 1.31 kB 1.40 kB
facebook-www/ReactIs-dev.modern.js +12.04% 5.79 kB 6.49 kB +7.02% 1.31 kB 1.40 kB
facebook-www/React-dev.modern.js +3.91% 54.03 kB 56.14 kB +2.14% 12.05 kB 12.30 kB
facebook-www/React-dev.classic.js +3.91% 54.03 kB 56.15 kB +2.13% 12.05 kB 12.31 kB
facebook-www/JSXDEVRuntime-dev.classic.js +3.72% 12.89 kB 13.37 kB +2.36% 3.52 kB 3.60 kB
facebook-www/JSXDEVRuntime-dev.modern.js +3.72% 12.89 kB 13.37 kB +2.36% 3.52 kB 3.60 kB
facebook-www/React-prod.modern.js +1.64% 20.67 kB 21.01 kB +1.02% 5.31 kB 5.36 kB
facebook-www/React-prod.classic.js +1.64% 20.68 kB 21.01 kB +1.04% 5.31 kB 5.36 kB
facebook-www/React-profiling.modern.js +1.61% 21.11 kB 21.45 kB +1.02% 5.39 kB 5.44 kB
facebook-www/React-profiling.classic.js +1.61% 21.11 kB 21.45 kB +1.02% 5.39 kB 5.44 kB
oss-stable-semver/react-is/cjs/react-is.development.js +0.72% 4.98 kB 5.02 kB +0.80% 1.12 kB 1.13 kB
oss-stable/react-is/cjs/react-is.development.js +0.72% 4.98 kB 5.02 kB +0.80% 1.12 kB 1.13 kB
oss-stable-semver/react-is/cjs/react-is.production.js +0.72% 4.44 kB 4.47 kB +1.12% 1.07 kB 1.08 kB
oss-stable/react-is/cjs/react-is.production.js +0.72% 4.44 kB 4.47 kB +1.12% 1.07 kB 1.08 kB
oss-experimental/react-is/cjs/react-is.development.js +0.72% 5.03 kB 5.06 kB +0.71% 1.13 kB 1.13 kB
oss-experimental/react-is/cjs/react-is.production.js +0.71% 4.49 kB 4.52 kB +1.21% 1.07 kB 1.09 kB
facebook-react-native/react-is/cjs/ReactIs-dev.js +0.70% 5.17 kB 5.21 kB +0.77% 1.17 kB 1.18 kB
facebook-react-native/react-is/cjs/ReactIs-prod.js +0.69% 4.65 kB 4.68 kB +1.23% 1.14 kB 1.15 kB
facebook-react-native/react-is/cjs/ReactIs-profiling.js +0.69% 4.65 kB 4.68 kB +1.23% 1.14 kB 1.15 kB
facebook-www/ReactART-prod.classic.js +0.49% 386.19 kB 388.09 kB +0.43% 64.72 kB 64.99 kB
facebook-www/ReactART-prod.modern.js +0.45% 376.41 kB 378.10 kB +0.39% 63.10 kB 63.34 kB
oss-stable-semver/react/cjs/react-jsx-dev-runtime.development.js +0.44% 11.79 kB 11.84 kB +0.46% 3.27 kB 3.29 kB
oss-stable/react/cjs/react-jsx-dev-runtime.development.js +0.44% 11.79 kB 11.84 kB +0.46% 3.27 kB 3.29 kB
oss-experimental/react/cjs/react-jsx-dev-runtime.development.js +0.44% 11.94 kB 11.99 kB +0.45% 3.31 kB 3.33 kB
facebook-react-native/react/cjs/JSXDEVRuntime-dev.js +0.43% 12.01 kB 12.07 kB +0.42% 3.31 kB 3.33 kB
oss-stable-semver/react/cjs/react-jsx-runtime.development.js +0.43% 12.19 kB 12.24 kB +0.43% 3.29 kB 3.30 kB
oss-stable/react/cjs/react-jsx-runtime.development.js +0.43% 12.19 kB 12.24 kB +0.43% 3.29 kB 3.30 kB
oss-experimental/react/cjs/react-jsx-runtime.development.js +0.42% 12.34 kB 12.39 kB +0.45% 3.33 kB 3.34 kB
facebook-react-native/react/cjs/JSXRuntime-dev.js +0.42% 12.42 kB 12.47 kB +0.42% 3.34 kB 3.35 kB
oss-stable-semver/react/cjs/react-jsx-runtime.react-server.development.js +0.40% 13.03 kB 13.09 kB +0.47% 3.42 kB 3.44 kB
oss-stable/react/cjs/react-jsx-runtime.react-server.development.js +0.40% 13.03 kB 13.09 kB +0.47% 3.42 kB 3.44 kB
oss-stable-semver/react/cjs/react-jsx-dev-runtime.react-server.development.js +0.40% 13.04 kB 13.09 kB +0.44% 3.42 kB 3.44 kB
oss-stable/react/cjs/react-jsx-dev-runtime.react-server.development.js +0.40% 13.04 kB 13.09 kB +0.44% 3.42 kB 3.44 kB
oss-experimental/react/cjs/react-jsx-runtime.react-server.development.js +0.39% 13.18 kB 13.23 kB +0.43% 3.46 kB 3.48 kB
oss-experimental/react/cjs/react-jsx-dev-runtime.react-server.development.js +0.39% 13.19 kB 13.24 kB +0.43% 3.46 kB 3.48 kB
facebook-www/ReactReconciler-prod.classic.js +0.39% 509.18 kB 511.18 kB +0.37% 81.22 kB 81.52 kB
facebook-www/ReactReconciler-prod.modern.js +0.36% 499.09 kB 500.87 kB +0.31% 79.68 kB 79.92 kB
facebook-www/ReactART-dev.modern.js +0.35% 721.45 kB 723.96 kB +0.32% 112.03 kB 112.39 kB
facebook-www/ReactART-dev.classic.js +0.34% 730.95 kB 733.46 kB +0.32% 113.78 kB 114.15 kB
facebook-www/ReactReconciler-dev.modern.js +0.30% 838.24 kB 840.78 kB +0.31% 129.81 kB 130.21 kB
facebook-www/ReactReconciler-dev.classic.js +0.30% 847.44 kB 849.98 kB +0.29% 131.59 kB 131.97 kB
facebook-www/ReactDOM-prod.classic.js +0.28% 674.72 kB 676.61 kB +0.25% 118.75 kB 119.05 kB
facebook-www/ReactDOMTesting-prod.classic.js +0.28% 689.12 kB 691.02 kB +0.24% 122.34 kB 122.63 kB
facebook-www/ReactDOM-profiling.modern.js +0.26% 736.93 kB 738.83 kB +0.24% 126.82 kB 127.12 kB
facebook-www/ReactDOM-profiling.classic.js +0.25% 744.98 kB 746.88 kB +0.24% 128.11 kB 128.41 kB
facebook-www/ReactDOM-prod.modern.js +0.25% 665.20 kB 666.89 kB +0.23% 117.17 kB 117.44 kB
facebook-www/ReactDOMTesting-prod.modern.js +0.25% 679.60 kB 681.30 kB +0.22% 120.81 kB 121.07 kB
facebook-www/ReactDOMServer-prod.classic.js +0.23% 253.25 kB 253.82 kB +0.28% 45.26 kB 45.38 kB
facebook-www/ReactDOM-dev.modern.js +0.22% 1,217.71 kB 1,220.37 kB +0.19% 201.03 kB 201.42 kB
facebook-www/ReactDOM-dev.classic.js +0.22% 1,226.85 kB 1,229.51 kB +0.20% 202.76 kB 203.17 kB
facebook-www/ReactDOMTesting-dev.modern.js +0.22% 1,234.25 kB 1,236.90 kB +0.19% 204.76 kB 205.15 kB
facebook-www/ReactDOMTesting-dev.classic.js +0.21% 1,243.39 kB 1,246.04 kB +0.19% 206.47 kB 206.86 kB
oss-experimental/react-dom/unstable_server-external-runtime.js = 18.29 kB 18.25 kB = 4.13 kB 4.11 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-server.node.development.js = 158.09 kB 157.38 kB = 28.92 kB 28.82 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-server.node.development.js = 158.09 kB 157.38 kB = 28.92 kB 28.82 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js = 153.42 kB 152.71 kB = 28.46 kB 28.36 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js = 153.42 kB 152.71 kB = 28.46 kB 28.36 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-server.edge.development.js = 152.63 kB 151.91 kB = 28.09 kB 28.02 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-server.edge.development.js = 152.63 kB 151.91 kB = 28.09 kB 28.02 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-server.browser.development.js = 149.06 kB 148.34 kB = 27.59 kB 27.51 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-server.browser.development.js = 149.06 kB 148.34 kB = 27.59 kB 27.51 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 166.13 kB 165.32 kB = 30.28 kB 30.18 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 166.13 kB 165.32 kB = 30.28 kB 30.18 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js = 166.08 kB 165.27 kB = 30.26 kB 30.16 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js = 166.08 kB 165.27 kB = 30.26 kB 30.16 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 164.93 kB 164.12 kB = 29.99 kB 29.89 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 164.93 kB 164.12 kB = 29.99 kB 29.89 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js = 160.50 kB 159.69 kB = 29.46 kB 29.37 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js = 160.50 kB 159.69 kB = 29.46 kB 29.37 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 160.47 kB 159.66 kB = 29.46 kB 29.37 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 160.47 kB 159.66 kB = 29.46 kB 29.37 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 157.44 kB 156.63 kB = 29.09 kB 29.00 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 157.44 kB 156.63 kB = 29.09 kB 29.00 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js = 156.89 kB 156.08 kB = 28.97 kB 28.87 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js = 156.89 kB 156.08 kB = 28.97 kB 28.87 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js = 110.12 kB 109.46 kB = 20.34 kB 20.27 kB
oss-stable/react-server/cjs/react-server-flight.development.js = 110.12 kB 109.46 kB = 20.34 kB 20.27 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-server.edge.development.js = 160.87 kB 159.69 kB = 29.52 kB 29.37 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-server.browser.development.js = 156.95 kB 155.77 kB = 29.00 kB 28.84 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js = 168.75 kB 167.46 kB = 30.92 kB 30.75 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js = 168.72 kB 167.44 kB = 30.93 kB 30.75 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js = 165.33 kB 164.05 kB = 30.48 kB 30.32 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js = 164.79 kB 163.51 kB = 30.36 kB 30.20 kB
oss-experimental/react-server/cjs/react-server-flight.development.js = 118.00 kB 116.87 kB = 21.76 kB 21.60 kB
facebook-www/ReactDOMServer-prod.modern.js = 250.89 kB 248.38 kB = 44.93 kB 44.65 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js = 185.26 kB 182.89 kB = 33.85 kB 33.50 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js = 185.21 kB 182.83 kB = 33.84 kB 33.49 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-server.node.development.js = 177.22 kB 174.94 kB = 32.48 kB 32.13 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js = 184.06 kB 181.68 kB = 33.55 kB 33.19 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js = 172.56 kB 170.28 kB = 32.01 kB 31.67 kB

Generated by 🚫 dangerJS against 0f26d04

@jbrown215
Copy link
Contributor Author

jbrown215 commented Jun 16, 2025

@rickhanlonii: I'm torn on the approach here and could use your perspective. We can't let the non-reactivity of useEffectEvent enter memoization dep arrays* (must be included in useCallback/useMemo) if we plan to let these functions be used in arbitrary closures. The two fixes for that problem are either:

  1. Force effect events to be included in memoization arrays but NOT dep arrays for useEffect
  2. Disallow effect effect events outside of other effect events/useEffect, effectively enforcing a strict function coloring.
    --
    The purpose of giving effect event unstable identities is to prevent them people from relying on it as a performance optimization / to ensure that it is easy to refactor parts of your useEffect into local useCallback functions:
const showToastEvent = useEffectEvent(showToast);
useEffect(() => {
  const connection = makeConnection();
  connection.on('message', msg => { showToastEvent(msg) });

  return () => conection.dispose();
}, []);

// Refactor
const showToastEvent = useEffectEvent(showToast);
const onMessage = useCallback(
  (connection) => connection.on('message',  msg => showToastEvent(msg));
), [?]);

useEffect(() => {
  const connection = makeConnection();
  onMessage(connection);
  return () => connection.dispose();
}, [onMessage]);

useEffectEvent fns are unstable, so if we include it in the [?] dep array then this refactor is a breaking change (re-runs on every render). If we exclude it in the [?] dep array then we aren't using the instability to invalidate memoization, breaking its purpose.

I put this version up because I think it is the better way forward, especially in the experimental release. Introducing differences in what you include in dep arrays depending on the API feels like a non-starter

if (
lastEffect == null &&
useEffectEventFunctions.has(node) &&
node.parent.type !== 'CallExpression'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The meaningful change here is that we error regardless of if the parent node is a call expression when we are not in an effect and the identifier is a uEE function. We tweak the error message based on whetehr it was called or not

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is causing a regression, see #34074 (comment)

TL;DR: useEffect works, but not React.useEffect

@jbrown215 jbrown215 merged commit 97cdd5d into facebook:main Jul 10, 2025
247 checks passed
github-actions bot pushed a commit that referenced this pull request Jul 10, 2025
…osures (#33544)

Summary:

useEffectEvent is meant to be used specifically in combination with
useEffect, and using
the feature in arbitrary closures can lead to surprising reactivity
semantics. In order to
minimize risk in the experimental rollout, we are going to restrict its
usage to being
called directly inside an effect or another useEffectEvent, effectively
enforcing the function
coloring statically. Without an effect system this is the best we can
do.

DiffTrain build for [97cdd5d](97cdd5d)
github-actions bot pushed a commit that referenced this pull request Jul 10, 2025
…osures (#33544)

Summary:

useEffectEvent is meant to be used specifically in combination with
useEffect, and using
the feature in arbitrary closures can lead to surprising reactivity
semantics. In order to
minimize risk in the experimental rollout, we are going to restrict its
usage to being
called directly inside an effect or another useEffectEvent, effectively
enforcing the function
coloring statically. Without an effect system this is the best we can
do.

DiffTrain build for [97cdd5d](97cdd5d)
github-actions bot pushed a commit to code/lib-react that referenced this pull request Jul 19, 2025
…osures (facebook#33544)

Summary:

useEffectEvent is meant to be used specifically in combination with
useEffect, and using
the feature in arbitrary closures can lead to surprising reactivity
semantics. In order to
minimize risk in the experimental rollout, we are going to restrict its
usage to being
called directly inside an effect or another useEffectEvent, effectively
enforcing the function
coloring statically. Without an effect system this is the best we can
do.

DiffTrain build for [97cdd5d](facebook@97cdd5d)
github-actions bot pushed a commit to code/lib-react that referenced this pull request Jul 19, 2025
…osures (facebook#33544)

Summary:

useEffectEvent is meant to be used specifically in combination with
useEffect, and using
the feature in arbitrary closures can lead to surprising reactivity
semantics. In order to
minimize risk in the experimental rollout, we are going to restrict its
usage to being
called directly inside an effect or another useEffectEvent, effectively
enforcing the function
coloring statically. Without an effect system this is the best we can
do.

DiffTrain build for [97cdd5d](facebook@97cdd5d)
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 14, 2026
This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [eslint-plugin-react-hooks](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)) | devDependencies | major | [`^5.2.0` → `^6.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-react-hooks/5.2.0/6.1.1) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/facebook/react/badge)](https://securityscorecards.dev/viewer/?uri=github.com/facebook/react) |

---

### Release Notes

<details>
<summary>facebook/react (eslint-plugin-react-hooks)</summary>

### [`v6.1.1`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#611)

[Compare Source](facebook/react@8618113...a2329c1)

**Note:** 6.1.0 accidentally allowed use of `recommended` without flat config, causing errors when used with ESLint v9's `defineConfig()` helper. This has been fixed in 6.1.1.

- Fix `recommended` config for flat config compatibility. The `recommended` config has been converted to flat config format. Non-flat config users should use `recommended-legacy` instead. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34700](facebook/react#34700))
- Add `recommended-latest` and `recommended-latest-legacy` configs that include React Compiler rules. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34675](facebook/react#34675))
- Remove unused `NoUnusedOptOutDirectives` rule. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34703](facebook/react#34703))
- Remove `hermes-parser` and dependency. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34719](facebook/react#34719))
- Remove `@babel/plugin-proposal-private-methods` dependency. ([@&#8203;ArnaudBarre](https://github.com/ArnaudBarre) and [@&#8203;josephsavona](https://github.com/josephsavona) in [#&#8203;34715](facebook/react#34715))
- Update for Zod v3/v4 compatibility. ([@&#8203;kolian](https://github.com/kolvian) and [@&#8203;josephsavona](https://github.com/josephsavona) in [#&#8203;34717](facebook/react#34717))

### [`v6.1.0`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#610)

[Compare Source](facebook/react@fea92d8...8618113)

**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. ([@&#8203;michaelfaith](https://github.com/michaelfaith) in [#&#8203;32458](facebook/react#32458))
- **Breaking:** Flat config is now the default `recommended` preset. Legacy config moved to `recommended-legacy`. ([@&#8203;michaelfaith](https://github.com/michaelfaith) in [#&#8203;32457](facebook/react#32457))
- **New Violations:** Disallow calling `use` within try/catch blocks. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34040](facebook/react#34040))
- **New Violations:** Disallow calling `useEffectEvent` functions in arbitrary closures. ([@&#8203;jbrown215](https://github.com/jbrown215) in [#&#8203;33544](facebook/react#33544))
- Handle `React.useEffect` in addition to `useEffect` in rules-of-hooks. ([@&#8203;Ayc0](https://github.com/Ayc0) in [#&#8203;34076](facebook/react#34076))
- Added `react-hooks` settings config option that to accept `additionalEffectHooks` that are used across exhaustive-deps and rules-of-hooks rules. ([@&#8203;jbrown215](https://github.com/jbrown215)) in [#&#8203;34497](facebook/react#34497)

### [`v6.0.0`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#600)

[Compare Source](facebook/react@3607f48...fea92d8)

Accidentally released. See 6.1.0 for the actual changes.

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!241

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
Co-authored-by: shrewd-laidback palace <shrewd-laidback-palace-736-c41-2c1-e464fc974@swiss-armed-forces-open-source.ch>
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 14, 2026
chore(deps): update eslint-plugin-react-hooks (major)

This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [eslint-plugin-react-hooks](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)) | devDependencies | major | [`^5.2.0` → `^6.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-react-hooks/5.2.0/6.1.1) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/facebook/react/badge)](https://securityscorecards.dev/viewer/?uri=github.com/facebook/react) |

---

### Release Notes

<details>
<summary>facebook/react (eslint-plugin-react-hooks)</summary>

### [`v6.1.1`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#611)

[Compare Source](facebook/react@8618113...a2329c1)

**Note:** 6.1.0 accidentally allowed use of `recommended` without flat config, causing errors when used with ESLint v9's `defineConfig()` helper. This has been fixed in 6.1.1.

- Fix `recommended` config for flat config compatibility. The `recommended` config has been converted to flat config format. Non-flat config users should use `recommended-legacy` instead. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34700](facebook/react#34700))
- Add `recommended-latest` and `recommended-latest-legacy` configs that include React Compiler rules. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34675](facebook/react#34675))
- Remove unused `NoUnusedOptOutDirectives` rule. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34703](facebook/react#34703))
- Remove `hermes-parser` and dependency. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34719](facebook/react#34719))
- Remove `@babel/plugin-proposal-private-methods` dependency. ([@&#8203;ArnaudBarre](https://github.com/ArnaudBarre) and [@&#8203;josephsavona](https://github.com/josephsavona) in [#&#8203;34715](facebook/react#34715))
- Update for Zod v3/v4 compatibility. ([@&#8203;kolian](https://github.com/kolvian) and [@&#8203;josephsavona](https://github.com/josephsavona) in [#&#8203;34717](facebook/react#34717))

### [`v6.1.0`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#610)

[Compare Source](facebook/react@fea92d8...8618113)

**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. ([@&#8203;michaelfaith](https://github.com/michaelfaith) in [#&#8203;32458](facebook/react#32458))
- **Breaking:** Flat config is now the default `recommended` preset. Legacy config moved to `recommended-legacy`. ([@&#8203;michaelfaith](https://github.com/michaelfaith) in [#&#8203;32457](facebook/react#32457))
- **New Violations:** Disallow calling `use` within try/catch blocks. ([@&#8203;poteto](https://github.com/poteto) in [#&#8203;34040](facebook/react#34040))
- **New Violations:** Disallow calling `useEffectEvent` functions in arbitrary closures. ([@&#8203;jbrown215](https://github.com/jbrown215) in [#&#8203;33544](facebook/react#33544))
- Handle `React.useEffect` in addition to `useEffect` in rules-of-hooks. ([@&#8203;Ayc0](https://github.com/Ayc0) in [#&#8203;34076](facebook/react#34076))
- Added `react-hooks` settings config option that to accept `additionalEffectHooks` that are used across exhaustive-deps and rules-of-hooks rules. ([@&#8203;jbrown215](https://github.com/jbrown215)) in [#&#8203;34497](facebook/react#34497)

### [`v6.0.0`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#600)

[Compare Source](facebook/react@3607f48...fea92d8)

Accidentally released. See 6.1.0 for the actual changes.

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!241

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
Co-authored-by: open-source Pipeline <group_90701827_bot_ed04ae348bc5f40af9966fb8b6867e99@noreply.gitlab.com>
mattdanielbrown added a commit to mattdanielbrown/netlify-faunadb-example-todo-app that referenced this pull request Jan 14, 2026
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade react from 16.14.0 to
19.2.3.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **1059 versions** ahead of your current
version.

- The recommended version was released **a month ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>react</b></summary>
    <ul>
      <li>
<b>19.2.3</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.2.3">2025-12-11</a></br><h2>React
Server Components</h2>
<ul>
<li>Add extra loop protection to React Server Functions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/35351"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35351/hovercard">#35351</a>)</li>
</ul>
      </li>
      <li>
<b>19.2.2</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.2.2">2025-12-11</a></br><h2>React
Server Components</h2>
<ul>
<li>Move <code>react-server-dom-webpack/*.unbundled</code> to private
<code>react-server-dom-unbundled</code> (<a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/eps1lon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/eps1lon">@ eps1lon</a> <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3697023033" data-permission-text="Title is private"
data-url="https://github.com/facebook/react/issues/35290"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35290/hovercard"
href="https://redirect.github.com/facebook/react/pull/35290">#35290</a>)</li>
<li>Patch Promise cycles and toString on Server Functions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/unstubbable/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/unstubbable">@ unstubbable</a> <a
href="https://redirect.github.com/facebook/react/pull/35289"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35289/hovercard">#35289</a>, <a
href="https://redirect.github.com/facebook/react/pull/35345"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35345/hovercard">#35345</a>)</li>
</ul>
      </li>
      <li>
<b>19.2.1</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.2.1">2025-12-03</a></br><h2>React
Server Components</h2>
<ul>
<li>Bring React Server Component fixes to Server Actions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/35277"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35277/hovercard">#35277</a>)</li>
</ul>
      </li>
      <li>
<b>19.2.0</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.2.0">2025-10-01</a></br><p>Below
is a list of all new features, APIs, and bug fixes.</p>
<p>Read the <a href="https://react.dev/blog/2025/10/01/react-19-2"
rel="nofollow">React 19.2 release post</a> for more information.</p>
<h2>New React Features</h2>
<ul>
<li><a href="https://react.dev/reference/react/Activity"
rel="nofollow"><code>&lt;Activity&gt;</code></a>: A new API to hide and
restore the UI and internal state of its children.</li>
<li><a href="https://react.dev/reference/react/useEffectEvent"
rel="nofollow"><code>useEffectEvent</code></a> is a React Hook that lets
you extract non-reactive logic into an <a
href="https://react.dev/learn/separating-events-from-effects#declaring-an-effect-event"
rel="nofollow">Effect Event</a>.</li>
<li><a href="https://react.dev/reference/react/cacheSignal"
rel="nofollow"><code>cacheSignal</code></a> (for RSCs) lets your know
when the <code>cache()</code> lifetime is over.</li>
<li><a
href="https://react.dev/reference/developer-tooling/react-performance-tracks"
rel="nofollow">React Performance tracks</a> appear on the Performance
panel’s timeline in your browser developer tools</li>
</ul>
<h2>New React DOM Features</h2>
<ul>
<li>Added resume APIs for partial pre-rendering with Web Streams:
<ul>
<li><a href="https://react.dev/reference/react-dom/server/resume"
rel="nofollow"><code>resume</code></a>: to resume a prerender to a
stream.</li>
<li><a
href="https://react.dev/reference/react-dom/static/resumeAndPrerender"
rel="nofollow"><code>resumeAndPrerender</code></a>: to resume a
prerender to HTML.</li>
</ul>
</li>
<li>Added resume APIs for partial pre-rendering with Node Streams:
<ul>
<li><a
href="https://react.dev/reference/react-dom/server/resumeToPipeableStream"
rel="nofollow"><code>resumeToPipeableStream</code></a>: to resume a
prerender to a stream.</li>
<li><a
href="https://react.dev/reference/react-dom/static/resumeAndPrerenderToNodeStream"
rel="nofollow"><code>resumeAndPrerenderToNodeStream</code></a>: to
resume a prerender to HTML.</li>
</ul>
</li>
<li>Updated <a
href="https://react.dev/reference/react-dom/static/prerender"
rel="nofollow"><code>prerender</code></a> APIs to return a
<code>postponed</code> state that can be passed to the
<code>resume</code> APIs.</li>
</ul>
<h2>Notable changes</h2>
<ul>
<li>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
<code>&lt;ViewTransition&gt;</code> Component. React will batch as much
reveals as possible before the first paint while trying to hit popular
first-contentful paint metrics.</li>
<li>Add Node Web Streams (<code>prerender</code>,
<code>renderToReadableStream</code>) to server-side-rendering APIs for
Node.js</li>
<li>Use underscore instead of <code>:</code> IDs generated by useId</li>
</ul>
<h2>All Changes</h2>
<h3>React</h3>
<ul>
<li><code>&lt;Activity /&gt;</code> was developed over many years,
starting before <code>ClassComponent.setState</code> (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/acdlite/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/acdlite">@ acdlite</a> <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> and
many others)</li>
<li>Stringify context as "SomeContext" instead of "SomeContext.Provider"
(<a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/kassens/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/kassens">@ kassens</a> <a
href="https://redirect.github.com/facebook/react/pull/33507"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33507/hovercard">#33507</a>)</li>
<li>Include stack of cause of React instrumentation errors with
<code>%o</code> placeholder (<a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/eps1lon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/eps1lon">@ eps1lon</a> <a
href="https://redirect.github.com/facebook/react/pull/34198"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34198/hovercard">#34198</a>)</li>
<li>Fix infinite <code>useDeferredValue</code> loop in popstate event
(<a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/acdlite/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/acdlite">@ acdlite</a> <a
href="https://redirect.github.com/facebook/react/pull/32821"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32821/hovercard">#32821</a>)</li>
<li>Fix a bug when an initial value was passed to
<code>useDeferredValue</code> (<a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/acdlite/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/acdlite">@ acdlite</a> <a
href="https://redirect.github.com/facebook/react/pull/34376"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34376/hovercard">#34376</a>)</li>
<li>Fix a crash when submitting forms with Client Actions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/33055"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33055/hovercard">#33055</a>)</li>
<li>Hide/unhide the content of dehydrated suspense boundaries if they
resuspend (<a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/32900"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32900/hovercard">#32900</a>)</li>
<li>Avoid stack overflow on wide trees during Hot Reload (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sophiebits/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sophiebits">@ sophiebits</a> <a
href="https://redirect.github.com/facebook/react/pull/34145"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34145/hovercard">#34145</a>)</li>
<li>Improve Owner and Component stacks in various places (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/eps1lon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/eps1lon">@ eps1lon</a>: <a
href="https://redirect.github.com/facebook/react/pull/33629"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33629/hovercard">#33629</a>, <a
href="https://redirect.github.com/facebook/react/pull/33724"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33724/hovercard">#33724</a>, <a
href="https://redirect.github.com/facebook/react/pull/32735"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32735/hovercard">#32735</a>, <a
href="https://redirect.github.com/facebook/react/pull/33723"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33723/hovercard">#33723</a>)</li>
<li>Add <code>cacheSignal</code> (<a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/33557"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33557/hovercard">#33557</a>)</li>
</ul>
<h3>React DOM</h3>
<ul>
<li>Block on Suspensey Fonts during reveal of server-side-rendered
content (<a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/33342"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33342/hovercard">#33342</a>)</li>
<li>Use underscore instead of <code>:</code> for IDs generated by
<code>useId</code> (<a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/eps1lon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/eps1lon">@ eps1lon</a>: <a
href="https://redirect.github.com/facebook/react/pull/32001"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32001/hovercard">#32001</a>, <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3084407166" data-permission-text="Title is private"
data-url="https://github.com/facebook/react/issues/33342"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33342/hovercard"
href="https://redirect.github.com/facebook/react/pull/33342">#33342</a><a
href="https://redirect.github.com/facebook/react/pull/33099"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33099/hovercard">#33099</a>, <a
href="https://redirect.github.com/facebook/react/pull/33422"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33422/hovercard">#33422</a>)</li>
<li>Stop warning when ARIA 1.3 attributes are used (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Abdul-Omira/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/Abdul-Omira">@ Abdul-Omira</a> <a
href="https://redirect.github.com/facebook/react/pull/34264"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34264/hovercard">#34264</a>)</li>
<li>Allow <code>nonce</code> to be used on hoistable styles (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Andarist/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/Andarist">@ Andarist</a> <a
href="https://redirect.github.com/facebook/react/pull/32461"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32461/hovercard">#32461</a>)</li>
<li>Warn for using a React owned node as a Container if it also has text
content (<a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/32774"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32774/hovercard">#32774</a>)</li>
<li>s/HTML/text for for error messages if text hydration mismatches (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/rickhanlonii/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/rickhanlonii">@ rickhanlonii</a> <a
href="https://redirect.github.com/facebook/react/pull/32763"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32763/hovercard">#32763</a>)</li>
<li>Fix a bug with <code>React.use</code> inside
<code>React.lazy</code>-ed Component (<a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/hi-ogawa/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/hi-ogawa">@ hi-ogawa</a> <a
href="https://redirect.github.com/facebook/react/pull/33941"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33941/hovercard">#33941</a>)</li>
<li>Enable the <code>progressiveChunkSize</code> option for
server-side-rendering APIs (<a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/33027"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33027/hovercard">#33027</a>)</li>
<li>Fix a bug with deeply nested Suspense inside Suspense fallback when
server-side-rendering (<a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/gnoff/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/gnoff">@ gnoff</a> <a
href="https://redirect.github.com/facebook/react/pull/33467"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33467/hovercard">#33467</a>)</li>
<li>Avoid hanging when suspending after aborting while rendering (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/gnoff/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/gnoff">@ gnoff</a> <a
href="https://redirect.github.com/facebook/react/pull/34192"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34192/hovercard">#34192</a>)</li>
<li>Add Node Web Streams to server-side-rendering APIs for Node.js (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/33475"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33475/hovercard">#33475</a>)</li>
</ul>
<h3>React Server Components</h3>
<ul>
<li>Preload <code>&lt;img&gt;</code> and <code>&lt;link&gt;</code> using
hints before they're rendered (<a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/34604"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34604/hovercard">#34604</a>)</li>
<li>Log error if production elements are rendered during development (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/eps1lon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/eps1lon">@ eps1lon</a> <a
href="https://redirect.github.com/facebook/react/pull/34189"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34189/hovercard">#34189</a>)</li>
<li>Fix a bug when returning a Temporary reference (e.g. a Client
Reference) from Server Functions (<a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/34084"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34084/hovercard">#34084</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/denk0403/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/denk0403">@ denk0403</a> <a
href="https://redirect.github.com/facebook/react/pull/33761"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33761/hovercard">#33761</a>)</li>
<li>Pass line/column to <code>filterStackFrame</code> (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/eps1lon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/eps1lon">@ eps1lon</a> <a
href="https://redirect.github.com/facebook/react/pull/33707"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33707/hovercard">#33707</a>)</li>
<li>Support Async Modules in Turbopack Server References (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/lubieowoce/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/lubieowoce">@ lubieowoce</a> <a
href="https://redirect.github.com/facebook/react/pull/34531"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34531/hovercard">#34531</a>)</li>
<li>Add support for .mjs file extension in Webpack (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jennyscript/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jennyscript">@ jennyscript</a> <a
href="https://redirect.github.com/facebook/react/pull/33028"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33028/hovercard">#33028</a>)</li>
<li>Fix a wrong missing key warning (<a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/unstubbable/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/unstubbable">@ unstubbable</a> <a
href="https://redirect.github.com/facebook/react/pull/34350"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34350/hovercard">#34350</a>)</li>
<li>Make console log resolve in predictable order (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/33665"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33665/hovercard">#33665</a>)</li>
</ul>
<h3>React Reconciler</h3>
<ul>
<li><a
href="https://redirect.github.com/facebook/react/blob/v19.2.0/packages/react-reconciler/src/ReactFiberReconciler.js#L255-L261">createContainer</a>
and <a
href="https://redirect.github.com/facebook/react/blob/v19.2.0/packages/react-reconciler/src/ReactFiberReconciler.js#L305-L312">createHydrationContainer</a>
had their parameter order adjusted after <code>on*</code> handlers to
account for upcoming experimental APIs</li>
</ul>
<h2>[email protected]</h2>
<p><strong>Note:</strong> 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.</p>
<ul>
<li><strong>Breaking:</strong> Require Node.js 18 or newer. (<a
href="https://redirect.github.com/michaelfaith">@ michaelfaith</a> in <a
href="https://redirect.github.com/facebook/react/pull/32458"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32458/hovercard">#32458</a>)</li>
<li><strong>Breaking:</strong> Flat config is now the default
<code>recommended</code> preset. Legacy config moved to
<code>recommended-legacy</code>. (<a
href="https://redirect.github.com/michaelfaith">@ michaelfaith</a> in <a
href="https://redirect.github.com/facebook/react/pull/32457"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/32457/hovercard">#32457</a>)</li>
<li><strong>New Violations:</strong> Disallow calling <code>use</code>
within try/catch blocks. (<a href="https://redirect.github.com/poteto">@
poteto</a> in <a
href="https://redirect.github.com/facebook/react/pull/34040"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34040/hovercard">#34040</a>)</li>
<li><strong>New Violations:</strong> Disallow calling
<code>useEffectEvent</code> functions in arbitrary closures. (<a
href="https://redirect.github.com/jbrown215">@ jbrown215</a> in <a
href="https://redirect.github.com/facebook/react/pull/33544"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33544/hovercard">#33544</a>)</li>
<li>Handle <code>React.useEffect</code> in addition to
<code>useEffect</code> in rules-of-hooks. (<a
href="https://redirect.github.com/Ayc0">@ Ayc0</a> in <a
href="https://redirect.github.com/facebook/react/pull/34076"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34076/hovercard">#34076</a>)</li>
<li>Added <code>react-hooks</code> settings config option that to accept
<code>additionalEffectHooks</code> that are used across exhaustive-deps
and rules-of-hooks rules. (<a
href="https://redirect.github.com/jbrown215">@ jbrown215</a>) in <a
href="https://redirect.github.com/facebook/react/pull/34497"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/34497/hovercard">#34497</a></li>
</ul>
      </li>
      <li>
        <b>19.2.0-canary-fa3feba6-20250623</b> - 2025-06-23
      </li>
      <li>
        <b>19.2.0-canary-f9ae0a4c-20250527</b> - 2025-05-27
      </li>
      <li>
        <b>19.2.0-canary-f7396427-20250501</b> - 2025-05-02
      </li>
      <li>
        <b>19.2.0-canary-f508edc8-20250818</b> - 2025-08-18
      </li>
      <li>
        <b>19.2.0-canary-f3a80361-20250911</b> - 2025-09-11
      </li>
      <li>
        <b>19.2.0-canary-f1e70b5e-20250811</b> - 2025-08-11
      </li>
      <li>
        <b>19.2.0-canary-f1222f76-20250812</b> - 2025-08-13
      </li>
      <li>
        <b>19.2.0-canary-ef8b6fa2-20250702</b> - 2025-07-03
      </li>
      <li>
        <b>19.2.0-canary-ef889445-20250930</b> - 2025-09-30
      </li>
      <li>
        <b>19.2.0-canary-edac0dde-20250723</b> - 2025-07-23
      </li>
      <li>
        <b>19.2.0-canary-eaee5308-20250728</b> - 2025-07-28
      </li>
      <li>
        <b>19.2.0-canary-ea05b750-20250408</b> - 2025-04-09
      </li>
      <li>
        <b>19.2.0-canary-e9db3cc2-20250501</b> - 2025-05-01
      </li>
      <li>
        <b>19.2.0-canary-e9638c33-20250721</b> - 2025-07-21
      </li>
      <li>
        <b>19.2.0-canary-e6dc25da-20250709</b> - 2025-07-09
      </li>
      <li>
        <b>19.2.0-canary-e5dd82a7-20250401</b> - 2025-04-01
      </li>
      <li>
        <b>19.2.0-canary-e2332183-20250924</b> - 2025-09-24
      </li>
      <li>
        <b>19.2.0-canary-dffacc7b-20250717</b> - 2025-07-17
      </li>
      <li>
        <b>19.2.0-canary-df38ac9a-20250926</b> - 2025-09-26
      </li>
      <li>
        <b>19.2.0-canary-de5a1b20-20250905</b> - 2025-09-05
      </li>
      <li>
        <b>19.2.0-canary-d92056ef-20250627</b> - 2025-06-27
      </li>
      <li>
        <b>19.2.0-canary-d85f86cf-20250514</b> - 2025-05-14
      </li>
      <li>
        <b>19.2.0-canary-d85ec5f5-20250716</b> - 2025-07-16
      </li>
      <li>
        <b>19.2.0-canary-d415fd3e-20250919</b> - 2025-09-19
      </li>
      <li>
        <b>19.2.0-canary-d15d7fd7-20250929</b> - 2025-09-29
      </li>
      <li>
        <b>19.2.0-canary-cee7939b-20250625</b> - 2025-06-25
      </li>
      <li>
        <b>19.2.0-canary-c498bfce-20250426</b> - 2025-04-28
      </li>
      <li>
        <b>19.2.0-canary-c4676e72-20250520</b> - 2025-05-20
      </li>
      <li>
        <b>19.2.0-canary-c44e4a25-20250409</b> - 2025-04-10
      </li>
      <li>
        <b>19.2.0-canary-c260b38d-20250731</b> - 2025-07-31
      </li>
      <li>
        <b>19.2.0-canary-c129c242-20250505</b> - 2025-05-05
      </li>
      <li>
        <b>19.2.0-canary-c0464aed-20250523</b> - 2025-05-26
      </li>
      <li>
        <b>19.2.0-canary-befc1246-20250708</b> - 2025-07-08
      </li>
      <li>
        <b>19.2.0-canary-be11cb5c-20250804</b> - 2025-08-04
      </li>
      <li>
        <b>19.2.0-canary-bdb4a96f-20250801</b> - 2025-08-01
      </li>
      <li>
        <b>19.2.0-canary-bc6184dd-20250417</b> - 2025-04-18
      </li>
      <li>
        <b>19.2.0-canary-bbc13fa1-20250624</b> - 2025-06-24
      </li>
      <li>
        <b>19.2.0-canary-bb6f0c8d-20250901</b> - 2025-09-01
      </li>
      <li>
        <b>19.2.0-canary-b9cfa0d3-20250505</b> - 2025-05-05
      </li>
      <li>
        <b>19.2.0-canary-b9a04536-20250904</b> - 2025-09-04
      </li>
      <li>
        <b>19.2.0-canary-b94603b9-20250513</b> - 2025-05-13
      </li>
      <li>
        <b>19.2.0-canary-b7e2de63-20250611</b> - 2025-06-11
      </li>
      <li>
        <b>19.2.0-canary-b6c0aa88-20250609</b> - 2025-06-09
      </li>
      <li>
        <b>19.2.0-canary-b4477d38-20250605</b> - 2025-06-05
      </li>
      <li>
        <b>19.2.0-canary-b1b0955f-20250901</b> - 2025-09-01
      </li>
      <li>
        <b>19.2.0-canary-b10cb4c0-20250403</b> - 2025-04-03
      </li>
      <li>
        <b>19.2.0-canary-b0c1dc01-20250925</b> - 2025-09-25
      </li>
      <li>
        <b>19.2.0-canary-b07717d8-20250528</b> - 2025-05-28
      </li>
      <li>
        <b>19.2.0-canary-b04254fd-20250415</b> - 2025-04-16
      </li>
      <li>
        <b>19.2.0-canary-ac7820a9-20250811</b> - 2025-08-11
      </li>
      <li>
        <b>19.2.0-canary-ab859e31-20250606</b> - 2025-06-06
      </li>
      <li>
        <b>19.2.0-canary-aad7c664-20250829</b> - 2025-08-29
      </li>
      <li>
        <b>19.2.0-canary-a96a0f39-20250815</b> - 2025-08-15
      </li>
      <li>
        <b>19.2.0-canary-a7a11657-20250708</b> - 2025-07-08
      </li>
      <li>
        <b>19.2.0-canary-a00ca6f6-20250611</b> - 2025-06-11
      </li>
      <li>
        <b>19.2.0-canary-9be531cd-20250729</b> - 2025-07-29
      </li>
      <li>
        <b>19.2.0-canary-99efc627-20250523</b> - 2025-05-23
      </li>
      <li>
        <b>19.2.0-canary-97cdd5d3-20250710</b> - 2025-07-11
      </li>
      <li>
        <b>19.2.0-canary-9784cb37-20250730</b> - 2025-07-30
      </li>
      <li>
        <b>19.2.0-canary-96c61b7f-20250709</b> - 2025-07-10
      </li>
      <li>
        <b>19.2.0-canary-93d7aa69-20250912</b> - 2025-09-12
      </li>
      <li>
        <b>19.2.0-canary-914319ae-20250423</b> - 2025-04-23
      </li>
      <li>
        <b>19.2.0-canary-8e60cb7e-20250902</b> - 2025-09-02
      </li>
      <li>
        <b>19.2.0-canary-8d7b5e49-20250827</b> - 2025-08-28
      </li>
      <li>
        <b>19.2.0-canary-8ce15b0f-20250522</b> - 2025-05-22
      </li>
      <li>
        <b>19.2.0-canary-8bb7241f-20250926</b> - 2025-09-26
      </li>
      <li>
        <b>19.2.0-canary-8a8e9a7e-20250912</b> - 2025-09-12
      </li>
      <li>
        <b>19.2.0-canary-89a803fc-20250828</b> - 2025-08-28
      </li>
      <li>
        <b>19.2.0-canary-886b3d36-20250910</b> - 2025-09-10
      </li>
      <li>
        <b>19.2.0-canary-873f7112-20250821</b> - 2025-08-21
      </li>
      <li>
        <b>19.2.0-canary-86181134-20251001</b> - 2025-10-01
      </li>
      <li>
        <b>19.2.0-canary-84af9085-20250917</b> - 2025-09-18
      </li>
      <li>
        <b>19.2.0-canary-83c88ad4-20250923</b> - 2025-09-23
      </li>
      <li>
        <b>19.2.0-canary-7deda941-20250804</b> - 2025-08-05
      </li>
      <li>
        <b>19.2.0-canary-7a2c7045-20250506</b> - 2025-05-06
      </li>
      <li>
        <b>19.2.0-canary-79d9aed7-20250620</b> - 2025-06-20
      </li>
      <li>
        <b>19.2.0-canary-7513996f-20250722</b> - 2025-07-22
      </li>
      <li>
        <b>19.2.0-canary-73aa744b-20250702</b> - 2025-07-02
      </li>
      <li>
        <b>19.2.0-canary-7216c0f0-20250630</b> - 2025-07-01
      </li>
      <li>
        <b>19.2.0-canary-72135096-20250421</b> - 2025-04-22
      </li>
      <li>
        <b>19.2.0-canary-6eda5347-20250918</b> - 2025-09-19
      </li>
      <li>
        <b>19.2.0-canary-6de32a5a-20250822</b> - 2025-08-22
      </li>
      <li>
        <b>19.2.0-canary-6b70072c-20250909</b> - 2025-09-09
      </li>
      <li>
        <b>19.2.0-canary-6a7650c7-20250405</b> - 2025-04-05
      </li>
      <li>
        <b>19.2.0-canary-67a44bcd-20250915</b> - 2025-09-15
      </li>
      <li>
        <b>19.2.0-canary-66f09bd0-20250806</b> - 2025-08-06
      </li>
      <li>
        <b>19.2.0-canary-65c4decb-20250630</b> - 2025-06-30
      </li>
      <li>
        <b>19.2.0-canary-63779030-20250328</b> - 2025-03-31
      </li>
      <li>
        <b>19.2.0-canary-60b5271a-20250709</b> - 2025-07-09
      </li>
      <li>
        <b>19.2.0-canary-5e0c951b-20250916</b> - 2025-09-16
      </li>
      <li>
        <b>19.2.0-canary-5dc00d6b-20250428</b> - 2025-04-28
      </li>
      <li>
        <b>19.2.0-canary-5d87cd22-20250704</b> - 2025-07-04
      </li>
      <li>
        <b>19.2.0-canary-56408a5b-20250610</b> - 2025-06-10
      </li>
      <li>
        <b>19.2.0-canary-548235db-20251001</b> - 2025-10-01
      </li>
      <li>
        <b>19.2.0-canary-540cd652-20250403</b> - 2025-04-04
      </li>
      <li>
        <b>19.2.0-canary-534bed5f-20250813</b> - 2025-08-13
      </li>
      <li>
        <b>19.2.0-canary-526dd340-20250602</b> - 2025-06-02
      </li>
      <li>
        <b>19.2.0-canary-4db4b21c-20250626</b> - 2025-06-26
      </li>
      <li>
        <b>19.2.0-canary-4a45ba92-20250515</b> - 2025-05-15
      </li>
      <li>
        <b>19.2.0-canary-4a36d3ea-20250416</b> - 2025-04-17
      </li>
      <li>
        <b>19.2.0-canary-462d08f9-20250517</b> - 2025-05-19
      </li>
      <li>
        <b>19.2.0-canary-4448b187-20250515</b> - 2025-05-16
      </li>
      <li>
        <b>19.2.0-canary-4123f6b7-20250826</b> - 2025-08-26
      </li>
      <li>
        <b>19.2.0-canary-408d055a-20250430</b> - 2025-04-30
      </li>
      <li>
        <b>19.2.0-canary-3fbfb9ba-20250409</b> - 2025-04-09
      </li>
      <li>
        <b>19.2.0-canary-3fb190f7-20250908</b> - 2025-09-08
      </li>
      <li>
        <b>19.2.0-canary-3d14fcf0-20250724</b> - 2025-07-24
      </li>
      <li>
        <b>19.2.0-canary-39cad7af-20250411</b> - 2025-04-14
      </li>
      <li>
        <b>19.2.0-canary-3958d5d8-20250807</b> - 2025-08-07
      </li>
      <li>
        <b>19.2.0-canary-38ef6550-20250508</b> - 2025-05-08
      </li>
      <li>
        <b>19.2.0-canary-3820740a-20250509</b> - 2025-05-12
      </li>
      <li>
        <b>19.2.0-canary-379a083b-20250813</b> - 2025-08-14
      </li>
      <li>
        <b>19.2.0-canary-37054867-20250604</b> - 2025-06-04
      </li>
      <li>
        <b>19.2.0-canary-33a1095d-20250827</b> - 2025-08-27
      </li>
      <li>
        <b>19.2.0-canary-33661467-20250407</b> - 2025-04-07
      </li>
      <li>
        <b>19.2.0-canary-3302d1f7-20250903</b> - 2025-09-03
      </li>
      <li>
        <b>19.2.0-canary-2f0e7e57-20250715</b> - 2025-07-15
      </li>
      <li>
        <b>19.2.0-canary-280ff6fe-20250606</b> - 2025-06-06
      </li>
      <li>
        <b>19.2.0-canary-2805f0ed-20250903</b> - 2025-09-03
      </li>
      <li>
        <b>19.2.0-canary-23884812-20250520</b> - 2025-05-21
      </li>
      <li>
        <b>19.2.0-canary-223f81d8-20250707</b> - 2025-07-07
      </li>
      <li>
        <b>19.2.0-canary-21fdf308-20250508</b> - 2025-05-09
      </li>
      <li>
        <b>19.2.0-canary-1eca9a27-20250922</b> - 2025-09-22
      </li>
      <li>
        <b>19.2.0-canary-1dc3bdea-20250812</b> - 2025-08-12
      </li>
      <li>
        <b>19.2.0-canary-1d6c8168-20250411</b> - 2025-04-11
      </li>
      <li>
        <b>19.2.0-canary-1bd1f01f-20251001</b> - 2025-10-01
      </li>
      <li>
        <b>19.2.0-canary-1ae0a845-20250603</b> - 2025-06-03
      </li>
      <li>
        <b>19.2.0-canary-19baee81-20250725</b> - 2025-07-25
      </li>
      <li>
        <b>19.2.0-canary-197d6a04-20250424</b> - 2025-04-24
      </li>
      <li>
        <b>19.2.0-canary-143d3e1b-20250425</b> - 2025-04-25
      </li>
      <li>
        <b>19.2.0-canary-14094f80-20250529</b> - 2025-05-29
      </li>
      <li>
        <b>19.2.0-canary-12bc60f5-20250613</b> - 2025-06-13
      </li>
      <li>
        <b>19.2.0-canary-128abcfa-20250917</b> - 2025-09-17
      </li>
      <li>
        <b>19.2.0-canary-0ff1d13b-20250507</b> - 2025-05-07
      </li>
      <li>
        <b>19.2.0-canary-0bdb9206-20250818</b> - 2025-08-19
      </li>
      <li>
        <b>19.2.0-canary-06e89951-20250620</b> - 2025-06-20
      </li>
      <li>
        <b>19.2.0-canary-040f8286-20250402</b> - 2025-04-02
      </li>
      <li>
        <b>19.2.0-canary-03fda05d-20250820</b> - 2025-08-20
      </li>
      <li>
        <b>19.2.0-canary-0038c501-20250429</b> - 2025-04-29
      </li>
      <li>
        <b>19.1.4</b> - 2025-12-11
      </li>
      <li>
<b>19.1.3</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.1.3">2025-12-11</a></br><h2>React
Server Components</h2>
<ul>
<li>Move <code>react-server-dom-webpack/*.unbundled</code> to private
<code>react-server-dom-unbundled</code> (<a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/eps1lon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/eps1lon">@ eps1lon</a> <a
href="https://redirect.github.com/facebook/react/pull/35290"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35290/hovercard">#35290</a>)</li>
<li>Patch Promise cycles and toString on Server Functions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/unstubbable/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/unstubbable">@ unstubbable</a> <a
href="https://redirect.github.com/facebook/react/pull/35289"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35289/hovercard">#35289</a>, <a
href="https://redirect.github.com/facebook/react/pull/35345"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35345/hovercard">#35345</a>)</li>
</ul>
      </li>
      <li>
<b>19.1.2</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.1.2">2025-12-03</a></br><h2>React
Server Components</h2>
<ul>
<li>Bring React Server Component fixes to Server Actions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/35277"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35277/hovercard">#35277</a>)</li>
</ul>
      </li>
      <li>
<b>19.1.1</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.1.1">2025-07-28</a></br><h3>React</h3>
<ul>
<li>Fixed Owner Stacks to work with ES2015 function.name semantics (<a
href="https://redirect.github.com/facebook/react/pull/33680"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/33680/hovercard">#33680</a> by
<a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/hoxyq/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/hoxyq">@ hoxyq</a>)</li>
</ul>
      </li>
      <li>
        <b>19.1.0</b> - 2025-03-28
      </li>
      <li>
        <b>19.1.0-canary-ff628334-20250205</b> - 2025-02-06
      </li>
      <li>
        <b>19.1.0-canary-fcb4e0f1-20250219</b> - 2025-02-20
      </li>
      <li>
        <b>19.1.0-canary-fc8a898d-20241226</b> - 2024-12-27
      </li>
      <li>
        <b>19.1.0-canary-fbcda19a-20250317</b> - 2025-03-17
      </li>
      <li>
        <b>19.1.0-canary-f9d78089-20250306</b> - 2025-03-07
      </li>
      <li>
        <b>19.1.0-canary-f83903bf-20250212</b> - 2025-02-12
      </li>
      <li>
        <b>19.1.0-canary-f457d0b4-20250313</b> - 2025-03-13
      </li>
      <li>
        <b>19.1.0-canary-f0edf41e-20250115</b> - 2025-01-14
      </li>
      <li>
        <b>19.1.0-canary-ef979d47-20241218</b> - 2024-12-18
      </li>
      <li>
        <b>19.1.0-canary-ef4bc8b4-20250328</b> - 2025-03-28
      </li>
      <li>
        <b>19.1.0-canary-ebc22ef7-20250225</b> - 2025-02-26
      </li>
      <li>
        <b>19.1.0-canary-e670e72f-20250214</b> - 2025-02-14
      </li>
      <li>
        <b>19.1.0-canary-e1e74071-20250321</b> - 2025-03-21
      </li>
      <li>
        <b>19.1.0-canary-e06c72fc-20241215</b> - 2024-12-16
      </li>
      <li>
        <b>19.1.0-canary-e03ac20f-20250305</b> - 2025-03-05
      </li>
      <li>
        <b>19.1.0-canary-de82912e-20241220</b> - 2024-12-20
      </li>
      <li>
        <b>19.1.0-canary-de1eaa26-20250124</b> - 2025-01-24
      </li>
      <li>
        <b>19.1.0-canary-db7dfe05-20250319</b> - 2025-03-19
      </li>
      <li>
        <b>19.1.0-canary-d85cf3e5-20250205</b> - 2025-02-05
      </li>
      <li>
        <b>19.1.0-canary-d55cc79b-20250228</b> - 2025-02-28
      </li>
      <li>
        <b>19.1.0-canary-d46b04a2-20250117</b> - 2025-01-17
      </li>
      <li>
        <b>19.1.0-canary-d4287258-20241217</b> - 2024-12-17
      </li>
      <li>
        <b>19.1.0-canary-d331ba04-20250307</b> - 2025-03-10
      </li>
      <li>
        <b>19.1.0-canary-cd90a4d8-20250210</b> - 2025-02-11
      </li>
      <li>
        <b>19.1.0-canary-cbbe8666-20250213</b> - 2025-02-13
      </li>
      <li>
        <b>19.1.0-canary-cabd8a0e-20250113</b> - 2025-01-13
      </li>
      <li>
        <b>19.1.0-canary-c69a5fc5-20250318</b> - 2025-03-18
      </li>
      <li>
        <b>19.1.0-canary-c492f975-20250128</b> - 2025-01-29
      </li>
      <li>
        <b>19.1.0-canary-c01b8058-20241229</b> - 2024-12-30
      </li>
      <li>
        <b>19.1.0-canary-bb9a24d9-20250130</b> - 2025-01-30
      </li>
      <li>
        <b>19.1.0-canary-b3a95caf-20250113</b> - 2025-01-14
      </li>
      <li>
        <b>19.1.0-canary-b158439a-20250115</b> - 2025-01-15
      </li>
      <li>
        <b>19.1.0-canary-ae9017ce-20250122</b> - 2025-01-23
      </li>
      <li>
        <b>19.1.0-canary-a84862db-20250218</b> - 2025-02-19
      </li>
      <li>
        <b>19.1.0-canary-a4f9bd58-20250319</b> - 2025-03-20
      </li>
      <li>
        <b>19.1.0-canary-a4b2d0d5-20250203</b> - 2025-02-03
      </li>
      <li>
        <b>19.1.0-canary-9ff42a87-20250130</b> - 2025-01-31
      </li>
      <li>
        <b>19.1.0-canary-9eabb373-20250124</b> - 2025-01-27
      </li>
      <li>
        <b>19.1.0-canary-9b62ee71-20250122</b> - 2025-01-22
      </li>
      <li>
        <b>19.1.0-canary-97d79495-20241223</b> - 2024-12-24
      </li>
      <li>
        <b>19.1.0-canary-9463d51e-20241219</b> - 2024-12-19
      </li>
      <li>
        <b>19.1.0-canary-93b58361-20250209</b> - 2025-02-10
      </li>
      <li>
        <b>19.1.0-canary-8a7b487e-20250218</b> - 2025-02-18
      </li>
      <li>
        <b>19.1.0-canary-8759c5c8-20250207</b> - 2025-02-07
      </li>
      <li>
        <b>19.1.0-canary-7eb8234f-20241218</b> - 2024-12-18
      </li>
      <li>
        <b>19.1.0-canary-7b402084-20250107</b> - 2025-01-07
      </li>
      <li>
        <b>19.1.0-canary-74ea0c73-20250109</b> - 2025-01-09
      </li>
      <li>
        <b>19.1.0-canary-740a4f7a-20250325</b> - 2025-03-25
      </li>
      <li>
        <b>19.1.0-canary-7130d0c6-20241212</b> - 2024-12-12
      </li>
      <li>
        <b>19.1.0-canary-6aa8254b-20250312</b> - 2025-03-12
      </li>
      <li>
        <b>19.1.0-canary-694d3e1a-20241231</b> - 2025-01-01
      </li>
      <li>
        <b>19.1.0-canary-6907aa2a-20241220</b> - 2024-12-23
      </li>
      <li>
        <b>19.1.0-canary-662957cc-20250221</b> - 2025-02-21
      </li>
      <li>
        <b>19.1.0-canary-62208bee-20250102</b> - 2025-01-02
      </li>
      <li>
        <b>19.1.0-canary-5b51a2b9-20250116</b> - 2025-01-16
      </li>
      <li>
        <b>19.1.0-canary-540efebc-20250112</b> - 2025-01-12
      </li>
      <li>
        <b>19.1.0-canary-5398b711-20250314</b> - 2025-03-14
      </li>
      <li>
        <b>19.1.0-canary-518d06d2-20241219</b> - 2024-12-19
      </li>
      <li>
        <b>19.1.0-canary-4dff0e62-20241213</b> - 2024-12-13
      </li>
      <li>
        <b>19.1.0-canary-4632e36a-20250216</b> - 2025-02-17
      </li>
      <li>
        <b>19.1.0-canary-443b7ff2-20250303</b> - 2025-03-04
      </li>
      <li>
        <b>19.1.0-canary-4280563b-20250326</b> - 2025-03-27
      </li>
      <li>
        <b>19.1.0-canary-42687267-20250108</b> - 2025-01-08
      </li>
      <li>
        <b>19.1.0-canary-3ce77d55-20250106</b> - 2025-01-06
      </li>
      <li>
        <b>19.1.0-canary-3b009b4c-20250102</b> - 2025-01-03
      </li>
      <li>
        <b>19.1.0-canary-37906d4d-20250127</b> - 2025-01-28
      </li>
      <li>
        <b>19.1.0-canary-32b0cad8-20250213</b> - 2025-02-13
      </li>
      <li>
        <b>19.1.0-canary-313332d1-20250326</b> - 2025-03-26
      </li>
      <li>
        <b>19.1.0-canary-2980f277-20250301</b> - 2025-03-03
      </li>
      <li>
        <b>19.1.0-canary-25677265-20250224</b> - 2025-02-24
      </li>
      <li>
        <b>19.1.0-canary-22e39ea7-20250225</b> - 2025-02-25
      </li>
      <li>
        <b>19.1.0-canary-18eaf51b-20250118</b> - 2025-01-20
      </li>
      <li>
        <b>19.1.0-canary-130095f7-20241212</b> - 2024-12-12
      </li>
      <li>
        <b>19.1.0-canary-0ca3deeb-20250311</b> - 2025-03-11
      </li>
      <li>
        <b>19.1.0-canary-0a82580b-20250203</b> - 2025-02-04
      </li>
      <li>
        <b>19.1.0-canary-056073de-20250109</b> - 2025-01-10
      </li>
      <li>
        <b>19.1.0-canary-029e8bd6-20250306</b> - 2025-03-06
      </li>
      <li>
<b>19.0.3</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.0.3">2025-12-11</a></br><h2>React
Server Components</h2>
<ul>
<li>Add extra loop protection to React Server Functions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/35351"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35351/hovercard">#35351</a>)</li>
</ul>
      </li>
      <li>
<b>19.0.2</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.0.2">2025-12-11</a></br><h2>React
Server Components</h2>
<ul>
<li>Patch Promise cycles and toString on Server Functions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/unstubbable/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/unstubbable">@ unstubbable</a> <a
href="https://redirect.github.com/facebook/react/pull/35289"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35289/hovercard">#35289</a>, <a
href="https://redirect.github.com/facebook/react/pull/35345"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35345/hovercard">#35345</a>)</li>
</ul>
      </li>
      <li>
<b>19.0.1</b> - <a
href="https://redirect.github.com/facebook/react/releases/tag/v19.0.1">2025-12-03</a></br><h2>React
Server Components</h2>
<ul>
<li>Bring React Server Component fixes to Server Actions (<a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/sebmarkbage/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sebmarkbage">@ sebmarkbage</a> <a
href="https://redirect.github.com/facebook/react/pull/35277"
data-hovercard-type="pull_request"
data-hovercard-url="/facebook/react/pull/35277/hovercard">#35277</a>)</li>
</ul>
      </li>
      <li>
        <b>19.0.0</b> - 2024-12-05
      </li>
      <li>
        <b>19.0.0-rc-fb9a90fa48-20240614</b> - 2024-06-14
      </li>
      <li>
        <b>19.0.0-rc-fa6eab58-20240815</b> - 2024-08-16
      </li>
      <li>
        <b>19.0.0-rc-f9ebd85a-20240925</b> - 2024-09-25
      </li>
      <li>
        <b>19.0.0-rc-f994737d14-20240522</b> - 2024-05-22
      </li>
      <li>
        <b>19.0.0-rc-f90a6bcc-20240827</b> - 2024-08-27
      </li>
      <li>
        <b>19.0.0-rc-f6cce072-20240723</b> - 2024-07-23
      </li>
      <li>
        <b>19.0.0-rc-f65ac7bd-20240826</b> - 2024-08-27
      </li>
      <li>
        <b>19.0.0-rc-f3e09d6328-20240612</b> - 2024-06-12
      </li>
      <li>
        <b>19.0.0-rc-f38c22b244-20240704</b> - 2024-07-05
      </li>
      <li>
        <b>19.0.0-rc-f2df5694-20240916</b> - 2024-09-16
      </li>
      <li>
        <b>19.0.0-rc-ee1a403a-20240916</b> - 2024-09-16
      </li>
      <li>
        <b>19.0.0-rc-ed966dac-20241007</b> - 2024-10-08
      </li>
      <li>
        <b>19.0.0-rc-ed15d500-20241110</b> - 2024-11-11
      </li>
      <li>
        <b>19.0.0-rc-eb3ad065-20240822</b> - 2024-08-22
      </li>
      <li>
        <b>19.0.0-rc-eb259b5d3b-20240605</b> - 2024-06-05
      </li>
      <li>
        <b>19.0.0-rc-e948a5ac-20240807</b> - 2024-08-07
      </li>
      <li>
        <b>19.0.0-rc-e740d4b1-20240919</b> - 2024-09-19
      </li>
      <li>
        <b>19.0.0-rc-e684ca66ab-20240619</b> - 2024-06-19
      </li>
      <li>
        <b>19.0.0-rc-e56f4ae3-20240830</b> - 2024-08-30
      </li>
      <li>
        <b>19.0.0-rc-e4953922-20240919</b> - 2024-09-20
      </li>
      <li>
        <b>19.0.0-rc-e210d081-20240909</b> - 2024-09-09
      </li>
      <li>
        <b>19.0.0-rc-e1ef8c95-20241115</b> - 2024-11-15
      </li>
      <li>
        <b>19.0.0-rc-e02baf6c92-20240627</b> - 2024-06-27
      </li>
      <li>
        <b>19.0.0-rc-dfd30974ab-20240613</b> - 2024-06-13
      </li>
      <li>
        <b>19.0.0-rc-df783f9ea1-20240708</b> - 2024-07-08
      </li>
      <li>
        <b>19.0.0-rc-df5f2736-20240712</b> - 2024-07-12
      </li>
      <li>
        <b>19.0.0-rc-de68d2f4-20241204</b> - 2024-12-04
      </li>
      <li>
        <b>19.0.0-rc-d8c90fa4-20241001</b> - 2024-10-01
      </li>
      <li>
        <b>19.0.0-rc-d6cb4e77-20240911</b> - 2024-09-11
      </li>
      <li>
        <b>19.0.0-rc-d5bba18b-20241009</b> - 2024-10-09
      </li>
      <li>
        <b>19.0.0-rc-d49123f7-20241019</b> - 2024-10-20
      </li>
      <li>
        <b>19.0.0-rc-d48603a5-20240813</b> - 2024-08-13
      </li>
      <li>
        <b>19.0.0-rc-d3ce0d3ea9-20240520</b> - 2024-05-20
      </li>
      <li>
        <b>19.0.0-rc-d1afcb43-20240903</b> - 2024-09-04
      </li>
      <li>
        <b>19.0.0-rc-d025ddd3-20240722</b> - 2024-07-22
      </li>
      <li>
        <b>19.0.0-rc-cd22717c-20241013</b> - 2024-10-13
      </li>
      <li>
        <b>19.0.0-rc-cc1ec60d0d-20240607</b> - 2024-06-07
      </li>
      <li>
        <b>19.0.0-rc-cae764ce-20241025</b> - 2024-10-25
      </li>
      <li>
        <b>19.0.0-rc-ca587425-20241211</b> - 2024-12-12
      </li>
      <li>
        <b>19.0.0-rc-c3cdbec0a7-20240708</b> - 2024-07-09
      </li>
      <li>
        <b>19.0.0-rc-c21bcd627b-20240624</b> - 2024-06-24
      </li>
      <li>
        <b>19.0.0-rc-c1e1358b-20241020</b> - 2024-10-20
      </li>
      <li>
        <b>19.0.0-rc-c11c9510-20241120</b> - 2024-11-21
      </li>
      <li>
        <b>19.0.0-rc-bf7e210c-20241017</b> - 2024-10-17
      </li>
      <li>
        <b>19.0.0-rc-bf3a29d097-20240603</b> - 2024-06-04
      </li>
      <li>
        <b>19.0.0-rc-b8ae38f8-20241018</b> - 2024-10-18
      </li>
      <li>
        <b>19.0.0-rc-b7e21579-20241031</b> - 2024-11-01
      </li>
      <li>
        <b>19.0.0-rc-b57d2823-20240822</b> - 2024-08-23
      </li>
      <li>
        <b>19.0.0-rc-b01722d5-20241114</b> - 2024-11-14
      </li>
      <li>
        <b>19.0.0-rc-ab7c1663-20240730</b> - 2024-07-30
      </li>
      <li>
        <b>19.0.0-rc-ab2135c7-20240724</b> - 2024-07-24
      </li>
      <li>
        <b>19.0.0-rc-a99d8e8d-20240916</b> - 2024-09-17
      </li>
      <li>
        <b>19.0.0-rc-a960b92c-20240819</b> - 2024-08-20
      </li>
      <li>
        <b>19.0.0-rc-a7d1240c-20240731</b> - 2024-07-31
      </li>
      <li>
        <b>19.0.0-rc-a532d91d01-20240610</b> - 2024-06-10
      </li>
      <li>
        <b>19.0.0-rc-a26e3f403e-20240611</b> - 2024-06-11
      </li>
      <li>
        <b>19.0.0-rc-a19a8ab4-20240829</b> - 2024-08-29
      </li>
      <li>
        <b>19.0.0-rc-a03254bc-20240905</b> - 2024-09-06
      </li>
      <li>
        <b>19.0.0-rc-9d4fba0788-20240530</b> - 2024-05-30
      </li>
      <li>
        <b>19.0.0-rc-9d2da591-20240808</b> - 2024-08-08
      </li>
      <li>
        <b>19.0.0-rc-9c6806964f-20240703</b> - 2024-07-03
      </li>
      <li>
        <b>19.0.0-rc-99da76f23a-20240606</b> - 2024-06-06
      </li>
      <li>
        <b>19.0.0-rc-9598c41a20-20240603</b> - 2024-06-03
      </li>
      <li>
        <b>19.0.0-rc-94e652d5-20240912</b> - 2024-09-12
      </li>
      <li>
        <b>19.0.0-rc-941e1b4a-20240729</b> - 2024-07-29
      </li>
      <li>
        <b>19.0.0-rc-935180c7e0-20240524</b> - 2024-05-24
      </li>
      <li>
        <b>19.0.0-rc-915b914b3a-20240515</b> - 2024-05-15
      </li>
      <li>
        <b>19.0.0-rc-91061073-20241121</b> - 2024-11-22
      </li>
      <li>
        <b>19.0.0-rc-8f3c0525f9-20240521</b> - 2024-05-21
      </li>
      <li>
        <b>19.0.0-rc-8b08e99e-20240713</b> - 2024-07-15
      </li>
      <li>
        <b>19.0.0-rc-8971381549-20240625</b> - 2024-06-25
      </li>
      <li>
        <b>19.0.0-rc-85acf2d195-20240711</b> - 2024-07-11
      </li>
      <li>
        <b>19.0.0-rc-83825814-20241015</b> - 2024-10-15
      </li>
      <li>
        <b>19.0.0-rc-827cbea417-20240606</b> - 2024-06-07
      </li>
      <li>
        <b>19.0.0-rc-8269d55d-20240802</b> - 2024-08-02
      </li>
      <li>
        <b>19.0.0-rc-81c5ff2e04-20240521</b> - 2024-05-21
      </li>
      <li>
        <b>19.0.0-rc-7c8e5e7a-20241101</b> - 2024-11-01
      </li>
      <li>
        <b>19.0.0-rc-7ac8e612-20241113</b> - 2024-11-13
      </li>
      <li>
        <b>19.0.0-rc-79ddf5b5-20241210</b> - 2024-12-11
      </li>
      <li>
        <b>19.0.0-rc-77f43893-20241010</b> - 2024-10-10
      </li>
      <li>
        <b>19.0.0-rc-77b637d6-20241016</b> - 2024-10-16
      </li>
      <li>
        <b>19.0.0-rc-778e1ed2-20240926</b> - 2024-09-25
      </li>
      <li>
        <b>19.0.0-rc-7771d3a7-20240827</b> - 2024-08-28
      </li>
      <li>
        <b>19.0.0-rc-7670501b-20241124</b> - 2024-11-25
      </li>
      <li>
        <b>19.0.0-rc-76002254-20240724</b> - 2024-07-25
      </li>
      <li>
        <b>19.0.0-rc-7283a213-20241206</b> - 2024-12-06
      </li>
      <li>
        <b>19.0.0-rc-70fb1363-20241010</b> - 2024-10-10
      </li>
      <li>
        <b>19.0.0-rc-6fb39ec9e9-20240621</b> - 2024-06-21
      </li>
      <li>
        <b>19.0.0-rc-6f23540c7d-20240528</b> - 2024-05-28
      </li>
      <li>
        <b>19.0.0-rc-6f0dc294-20241119</b> - 2024-11-19
      </li>
      <li>
        <b>19.0.0-rc-6ebfd5b0-20240818</b> - 2024-08-19
      </li>
      <li>
        <b>19.0.0-rc-6d3110b4d9-20240531</b> - 2024-05-31
      </li>
      <li>
        <b>19.0.0-rc-6cf85185-20241014</b> - 2024-10-14
      </li>
      <li>
        <b>19.0.0-rc-69d4b800-20241021</b> - 2024-10-21
      </li>
      <li>
        <b>19.0.0-rc-68dbd84b-20240812</b> - 2024-08-12
      </li>
      <li>
        <b>19.0.0-rc-67fee58b-20240926</b> - 2024-09-26
      </li>
      <li>
        <b>19.0.0-rc-66855b96-20241106</b> - 2024-11-06
      </li>
      <li>
        <b>19.0.0-rc-65e06cb7-20241218</b> - 2024-12-19
      </li>
      <li>
        <b>19.0.0-rc-65a56d0e-20241020</b> - 2024-10-20
      </li>
      <li>
        <b>19.0.0-rc-65903583-20240805</b> - 2024-08-05
      </li>
      <li>
        <b>19.0.0-rc-64f89510-20241119</b> - 2024-11-20
      </li>
      <li>
        <b>19.0.0-rc-6230622a1a-20240610</b> - 2024-06-10
      </li>
      <li>
        <b>19.0.0-rc-603e6108-20241029</b> - 2024-10-30
      </li>
      <li>
        <b>19.0.0-rc-5dcb0097-20240918</b> - 2024-09-18
      </li>
      <li>
        <b>19.0.0-rc-5d19e1c8-20240923</b> - 2024-09-23
      </li>
      <li>
        <b>19.0.0-rc-5c56b873-20241107</b> - 2024-11-07
      </li>
      <li>
        <b>19.0.0-rc-5b0ef217-20241202</b> - 2024-12-02
      </li>
      <li>
        <b>19.0.0-rc-58af67a8f8-20240628</b> - 2024-06-28
      </li>
      <li>
        <b>19.0.0-rc-57fbe3ba37-20240520</b> - 2024-05-20
      </li>
      <li>
        <b>19.0.0-rc-512b09b2-20240718</b> - 2024-07-18
      </li>
      <li>
        <b>19.0.0-rc-4f604941-20240830</b> - 2024-09-02
      </li>
      <li>
        <b>19.0.0-rc-4d577fd2-20241104</b> - 2024-11-04
      </li>
      <li>
        <b>19.0.0-rc-4c58fce7-20240904</b> - 2024-09-05
      </li>
      <li>
        <b>19.0.0-rc-4c2e457c7c-20240522</b> - 2024-05-23
      </li>
      <li>
        <b>19.0.0-rc-4beb1fd8-20241118</b> - 2024-11-18
      </li>
      <li>
        <b>19.0.0-rc-4b7d4530-20241218</b> - 2024-12-18
      </li>
      <li>
        <b>19.0.0-rc-49496d49-20240814</b> - 2024-08-14
      </li>
      <li>
        <b>19.0.0-rc-47352209-20240912</b> - 2024-09-12
      </li>
      <li>
        <b>19.0.0-rc-459fd418-20241001</b> - 2024-10-02
      </li>
      <li>
        <b>19.0.0-rc-45804af1-20241021</b> - 2024-10-22
      </li>
      <li>
        <b>19.0.0-rc-3f1436cca1-20240516</b> - 2024-05-17
      </li>
      <li>
        <b>19.0.0-rc-3edc000d-20240926</b> - 2024-09-27
      </li>
      <li>
        <b>19.0.0-rc-3dfd5d9e-20240910</b> - 2024-09-10
      </li>
      <li>
        <b>19.0.0-rc-3da26163a3-20240704</b> - 2024-07-04
      </li>
      <li>
        <b>19.0.0-rc-3ac551e855-20240522</b> - 2024-05-22
      </li>
      <li>
        <b>19.0.0-rc-38e3b23483-20240529</b> - 2024-05-29
      </li>
      <li>
        <b>19.0.0-rc-38af456a-20241010</b> - 2024-10-10
      </li>
      <li>
        <b>19.0.0-rc-380f5d67-20241113</b> - 2024-11-14
      </li>
      <li>
        <b>19.0.0-rc-378b305958-20240710</b> - 2024-07-10
      </li>
      <li>
        <b>19.0.0-rc-372ec00c-20241209</b> - 2024-12-10
      </li>
      <li>
        <b>19.0.0-rc-3563387fe3-20240621</b> - 2024-06-21
      </li>
      <li>
        <b>19.0.0-rc-34d0c5e357-20240607</b> - 2024-06-10
      </li>
      <li>
        <b>19.0.0-rc-33c7bd9a-20241104</b> - 2024-11-05
      </li>
      <li>
        <b>19.0.0-rc-3208e73e-20240730</b> - 2024-07-30
      </li>
      <li>
        <b>19.0.0-rc-2ec26bc4-20241111</b> - 2024-11-12
      </li>
      <li>
        <b>19.0.0-rc-2d2cc042-20240809</b> - 2024-08-09
      </li>
      <li>
        <b>19.0.0-rc-2d16326d-20240930</b> - 2024-09-30
      </li>
      <li>
        <b>19.0.0-rc-28668d39-20241023</b> - 2024-10-23
      </li>
      <li>
        <b>19.0.0-rc-20b6f4c0e8-20240607</b> - 2024-06-10
      </li>
      <li>
        <b>19.0.0-rc-206df66e-20240912</b> - 2024-09-13
      </li>
      <li>
        <b>19.0.0-rc-204a551e-20240926</b> - 2024-09-26
      </li>
      <li>
        <b>19.0.0-rc-1eaccd82-20240816</b> - 2024-08-16
      </li>
      <li>
        <b>19.0.0-rc-1df34bdf62-20240605</b> - 2024-06-05
      </li>
      <li>
        <b>19.0.0-rc-1d989965-20240821</b> - 2024-08-21
      </li>
      <li>
        <b>19.0.0-rc-1c9b1387-20241204</b> - 2024-12-05
      </li>
      <li>
        <b>19.0.0-rc-1b1283ad-20241203</b> - 2024-12-03
      </li>
      <li>
        <b>19.0.0-rc-19bd26be-20240815</b> - 2024-08-15
      </li>
      <li>
        <b>19.0.0-rc-187dd6a7-20240806</b> - 2024-08-06
      </li>
      <li>
        <b>19.0.0-rc-16409d05-20241101</b> - 2024-11-01
      </li>
      <li>
        <b>19.0.0-rc-163365a0-20240717</b> - 2024-07-17
      </li>
      <li>
        <b>19.0.0-rc-1631855f-20241023</b> - 2024-10-23
      </li>
      <li>
        <b>19.0.0-rc-14a4699f-20240725</b> - 2024-07-25
      </li>
      <li>
        <b>19.0.0-rc-1460d67c-20241003</b> - 2024-10-04
      </li>
      <li>
        <b>19.0.0-rc-1434af3d22-20240618</b> - 2024-06-18
      </li>
      <li>
        <b>19.0.0-rc-107a2f8c3e-20240617</b> - 2024-06-17
      </li>
      <li>
        <b>19.0.0-rc-100dfd7dab-20240701</b> - 2024-07-01
      </li>
      <li>
        <b>19.0.0-rc-0bc30748-20241028</b> - 2024-10-29
      </li>
      <li>
        <b>19.0.0-rc-09111202-20241011</b> - 2024-10-11
      </li>
      <li>
        <b>19.0.0-rc-0751fac7-20241002</b> - 2024-10-03
      </li>
      <li>
        <b>19.0.0-rc-06d0b89e-20240801</b> - 2024-08-01
      </li>
      <li>
        <b>19.0.0-rc-04bd67a4-20240924</b> - 2024-09-24
      </li>
      <li>
        <b>19.0.0-rc-02c0e824-20241028</b> - 2024-10-28
      </li>
      <li>
        <b>19.0.0-rc-01172397-20240716</b> - 2024-07-16
      </li>
      <li>
        <b>19.0.0-rc.1</b> - 2024-11-14
      </li>
      <li>
        <b>19.0.0-rc.0</b> - 2024-06-03
      </li>
      <li>
        <b>19.0.0-canary-fd0da3eef-20240404</b> - 2024-04-04
      </li>
      <li>
        <b>19.0.0-canary-e3ebcd54b-20240405</b> - 2024-04-05
      </li>
      <li>
        <b>19.0.0-canary-db913d8e17-20240422</b> - 2024-04-22
      </li>
      <li>
        <b>19.0.0-canary-cf5ab8b8b2-20240425</b> - 2024-04-25
      </li>
      <li>
        <b>19.0.0-canary-cb151849e1-20240424</b> - 2024-04-24
      </li>
      <li>
        <b>19.0.0-canary-adb717393-20240411</b> - 2024-04-11
      </li>
      <li>
        <b>19.0.0-canary-a73c3450e-20240329</b> - 2024-03-29
      </li>
      <li>
        <b>19.0.0-canary-96c584661-20240412</b> - 2024-04-12
      </li>
      <li>
        <b>19.0.0-canary-95e6f032c-20240401</b> - 2024-04-01
      </li>
      <li>
        <b>19.0.0-canary-8afa144bd-20240416</b> - 2024-04-16
      </li>
      <li>
        <b>19.0.0-canary-7a2609eed-20240403</b> - 2024-04-03
      </li>
      <li>
        <b>19.0.0-canary-657428a9e-20240416</b> - 2024-04-17
      </li>
      <li>
        <b>19.0.0-canary-4c12339ce-20240408</b> - 2024-04-08
      </li>
      <li>
        <b>19.0.0-canary-48ec17b86-20240402</b> - 2024-04-02
      </li>
      <li>
        <b>19.0.0-canary-36e62c603-20240418</b> - 2024-04-18
      </li>
      <li>
        <b>19.0.0-canary-33a32441e9-20240418</b> - 2024-04-19
      </li>
      <li>
        <b>19.0.0-canary-2b036d3f1-20240327</b> - 2024-03-27
      </li>
      <li>
        <b>19.0.0-canary-05797cceb-20240328</b> - 2024-03-28
      </li>
      <li>
        <b>19.0.0-beta-e7d213dfb0-20240507</b> - 2024-05-07
      </li>
      <li>
        <b>19.0.0-beta-b498834eab-20240506</b> - 2024-05-06
      </li>
      <li>
        <b>19.0.0-beta-9d76c954cf-20240510</b> - 2024-05-13
      </li>
      <li>
        <b>19.0.0-beta-94eed63c49-20240425</b> - 2024-04-25
      </li>
      <li>
        <b>19.0.0-beta-73bcdfbae5-20240502</b> - 2024-05-02
      </li>
      <li>
        <b>19.0.0-beta-6946ebe620-20240508</b> - 2024-05-08
      </li>
      <li>
        <b>19.0.0-beta-5d29478716-20240506</b> - 2024-05-06
      </li>
      <li>
        <b>19.0.0-beta-4508873393-20240430</b> - 2024-04-30
      </li>
      <li>
        <b>19.0.0-beta-26f2496093-20240514</b> - 2024-05-14
      </li>
      <li>
        <b>19.0.0-beta-1beb73de0f-20240503</b> - 2024-05-03
      </li>
      <li>
        <b>19.0.0-beta-04b058868c-20240508</b> - 2024-05-09
      </li>
      <li>
        <b>18.3.1</b> - 2024-04-26
      </li>
      <li>
        <b>18.3.0</b> - 2024-04-25
     ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants