Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[react-dom] move all client code to react-dom/client #28271

Merged
merged 2 commits into from
Apr 24, 2024

Conversation

gnoff
Copy link
Collaborator

@gnoff gnoff commented Feb 7, 2024

This PR reorganizes the react-dom entrypoint to only pull in code that is environment agnostic. Previously if you required anything from this entrypoint in any environment the entire client reconciler was loaded. In a prior release we added a server rendering stub which you could alias in server environments to omit this unecessary code. After landing this change this entrypoint should not load any environment specific code.

While a few APIs are truly client (browser) only such as createRoot and hydrateRoot many of the APIs you import from this package are only useful in the browser but could concievably be imported in shared code (components running in Fizz or shared components as part of an RSC app). To avoid making these require opting into the client bundle we are keeping them in the react-dom entrypoint and changing their implementation so that in environments where they are not particularly useful they do something benign and expected.

Removed entrypoints

react-dom/server-rendering-stub has been removed since react-dom will no longer contain client code.

Removed APIs

The following APIs are being removed in the next major. Largely they have all been deprecated already and are part of legacy rendering modes where concurrent features of React are not available

  • render
  • hydrate
  • findDOMNode
  • unmountComponentAtNode
  • unstable_createEventHandle
  • unstable_renderSubtreeIntoContainer
  • unstable_runWithPrioirty

moved Client APIs

These APIs were available on both react-dom (with a warning) and react-dom/client. After this change they are only available on react-dom/client

  • createRoot
  • hydrateRoot

retained APIs

These APIs still exist on the react-dom entrypoint but have normalized behavior depending on which renderers are currently in scope

  • flushSync: will execute the function (if provided) inside the flushSync implemention of FlightServer, Fizz, and Fiber DOM renderers.
  • unstable_batchedUpdates: This is a noop in concurrent mode because it is now the only supported behavior because there is no legacy rendering mode
  • createPortal: This just produces an object. It can be called from anywhere but since you will probably not have a handle on a DOM node to pass to it it will likely warn in environments other than the browser
  • preloading APIS such as preload: These methods will execute the preload across all renderers currently in scope. Since we resolve the Request object on the server using AsyncLocalStorage or the current function stack in practice only one renderer should act upon the preload.

In addition to these changes the server rendering stub now just rexports everything from react-dom. In a future minor we will add a warning when using the stub and in the next major we will remove the stub altogether

@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Feb 7, 2024
@gnoff gnoff force-pushed the clean-top-level branch 2 times, most recently from f095713 to af1c41d Compare February 8, 2024 22:44
@react-sizebot
Copy link

react-sizebot commented Feb 8, 2024

Comparing: 6f18664...223ea80

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 = 497.71 kB 6.66 kB = 88.93 kB 1.82 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 504.00 kB 6.67 kB = 89.95 kB 1.83 kB
facebook-www/ReactDOM-prod.classic.js = 591.14 kB 591.14 kB = 103.91 kB 103.91 kB
facebook-www/ReactDOM-prod.modern.js +0.07% 566.95 kB 567.36 kB +0.18% 100.12 kB 100.30 kB
oss-experimental/react-dom/cjs/react-dom-client.development.js +∞% 0.00 kB 1,293.94 kB +∞% 0.00 kB 287.27 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js +∞% 0.00 kB 498.79 kB +∞% 0.00 kB 88.88 kB
oss-experimental/react-dom/cjs/react-dom-profiling.development.js +∞% 0.00 kB 1,312.62 kB +∞% 0.00 kB 290.67 kB
oss-experimental/react-dom/cjs/react-dom-profiling.profiling.js +∞% 0.00 kB 531.66 kB +∞% 0.00 kB 93.95 kB
oss-stable-semver/react-dom/cjs/react-dom-client.development.js +∞% 0.00 kB 1,282.01 kB +∞% 0.00 kB 284.95 kB
oss-stable-semver/react-dom/cjs/react-dom-client.production.js +∞% 0.00 kB 492.47 kB +∞% 0.00 kB 87.80 kB
oss-stable-semver/react-dom/cjs/react-dom-profiling.development.js +∞% 0.00 kB 1,300.69 kB +∞% 0.00 kB 288.31 kB
oss-stable-semver/react-dom/cjs/react-dom-profiling.profiling.js +∞% 0.00 kB 525.34 kB +∞% 0.00 kB 92.94 kB
oss-stable/react-dom/cjs/react-dom-client.development.js +∞% 0.00 kB 1,282.04 kB +∞% 0.00 kB 284.98 kB
oss-stable/react-dom/cjs/react-dom-client.production.js +∞% 0.00 kB 492.55 kB +∞% 0.00 kB 87.83 kB
oss-stable/react-dom/cjs/react-dom-profiling.development.js +∞% 0.00 kB 1,300.71 kB +∞% 0.00 kB 288.34 kB
oss-stable/react-dom/cjs/react-dom-profiling.profiling.js +∞% 0.00 kB 525.42 kB +∞% 0.00 kB 92.97 kB
oss-experimental/react-dom/client.js +117.59% 0.63 kB 1.37 kB +126.46% 0.29 kB 0.66 kB
oss-stable-semver/react-dom/client.js +117.59% 0.63 kB 1.37 kB +126.46% 0.29 kB 0.66 kB
oss-stable/react-dom/client.js +117.59% 0.63 kB 1.37 kB +126.46% 0.29 kB 0.66 kB
oss-experimental/react-dom/cjs/react-dom.react-server.development.js +4.46% 15.84 kB 16.55 kB +4.67% 3.45 kB 3.61 kB
oss-stable-semver/react-dom/cjs/react-dom.react-server.development.js +4.46% 15.84 kB 16.55 kB +4.67% 3.45 kB 3.61 kB
oss-stable/react-dom/cjs/react-dom.react-server.development.js +4.46% 15.84 kB 16.55 kB +4.67% 3.45 kB 3.61 kB
oss-stable/react-dom/cjs/react-dom.development.js = 1,300.65 kB 24.49 kB = 288.24 kB 6.26 kB
oss-stable-semver/react-dom/cjs/react-dom.development.js = 1,300.62 kB 24.46 kB = 288.21 kB 6.23 kB
oss-experimental/react-dom/cjs/react-dom.development.js = 1,312.60 kB 24.50 kB = 290.57 kB 6.26 kB
oss-stable-semver/react-dom/cjs/react-dom.production.js = 497.63 kB 6.64 kB = 88.90 kB 1.80 kB
test_utils/ReactAllWarnings.js Deleted 64.67 kB 0.00 kB Deleted 16.09 kB 0.00 kB
oss-experimental/react-dom/cjs/react-dom-server-rendering-stub.development.js Deleted 18.63 kB 0.00 kB Deleted 4.35 kB 0.00 kB
oss-experimental/react-dom/cjs/react-dom-server-rendering-stub.production.js Deleted 5.93 kB 0.00 kB Deleted 1.57 kB 0.00 kB
oss-experimental/react-dom/cjs/react-dom.profiling.js Deleted 531.10 kB 0.00 kB Deleted 93.92 kB 0.00 kB
oss-experimental/react-dom/server-rendering-stub.js Deleted 0.24 kB 0.00 kB Deleted 0.16 kB 0.00 kB
oss-stable-semver/react-dom/cjs/react-dom-server-rendering-stub.development.js Deleted 18.59 kB 0.00 kB Deleted 4.32 kB 0.00 kB
oss-stable-semver/react-dom/cjs/react-dom-server-rendering-stub.production.js Deleted 5.90 kB 0.00 kB Deleted 1.55 kB 0.00 kB
oss-stable-semver/react-dom/cjs/react-dom.profiling.js Deleted 524.73 kB 0.00 kB Deleted 92.90 kB 0.00 kB
oss-stable-semver/react-dom/server-rendering-stub.js Deleted 0.24 kB 0.00 kB Deleted 0.16 kB 0.00 kB
oss-stable/react-dom/cjs/react-dom-server-rendering-stub.development.js Deleted 18.62 kB 0.00 kB Deleted 4.35 kB 0.00 kB
oss-stable/react-dom/cjs/react-dom-server-rendering-stub.production.js Deleted 5.93 kB 0.00 kB Deleted 1.57 kB 0.00 kB
oss-stable/react-dom/cjs/react-dom.profiling.js Deleted 524.81 kB 0.00 kB Deleted 92.93 kB 0.00 kB
oss-stable/react-dom/server-rendering-stub.js Deleted 0.24 kB 0.00 kB Deleted 0.16 kB 0.00 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-experimental/react-dom/cjs/react-dom-client.development.js +∞% 0.00 kB 1,293.94 kB +∞% 0.00 kB 287.27 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js +∞% 0.00 kB 498.79 kB +∞% 0.00 kB 88.88 kB
oss-experimental/react-dom/cjs/react-dom-profiling.development.js +∞% 0.00 kB 1,312.62 kB +∞% 0.00 kB 290.67 kB
oss-experimental/react-dom/cjs/react-dom-profiling.profiling.js +∞% 0.00 kB 531.66 kB +∞% 0.00 kB 93.95 kB
oss-stable-semver/react-dom/cjs/react-dom-client.development.js +∞% 0.00 kB 1,282.01 kB +∞% 0.00 kB 284.95 kB
oss-stable-semver/react-dom/cjs/react-dom-client.production.js +∞% 0.00 kB 492.47 kB +∞% 0.00 kB 87.80 kB
oss-stable-semver/react-dom/cjs/react-dom-profiling.development.js +∞% 0.00 kB 1,300.69 kB +∞% 0.00 kB 288.31 kB
oss-stable-semver/react-dom/cjs/react-dom-profiling.profiling.js +∞% 0.00 kB 525.34 kB +∞% 0.00 kB 92.94 kB
oss-stable/react-dom/cjs/react-dom-client.development.js +∞% 0.00 kB 1,282.04 kB +∞% 0.00 kB 284.98 kB
oss-stable/react-dom/cjs/react-dom-client.production.js +∞% 0.00 kB 492.55 kB +∞% 0.00 kB 87.83 kB
oss-stable/react-dom/cjs/react-dom-profiling.development.js +∞% 0.00 kB 1,300.71 kB +∞% 0.00 kB 288.34 kB
oss-stable/react-dom/cjs/react-dom-profiling.profiling.js +∞% 0.00 kB 525.42 kB +∞% 0.00 kB 92.97 kB
oss-experimental/react-dom/client.js +117.59% 0.63 kB 1.37 kB +126.46% 0.29 kB 0.66 kB
oss-stable-semver/react-dom/client.js +117.59% 0.63 kB 1.37 kB +126.46% 0.29 kB 0.66 kB
oss-stable/react-dom/client.js +117.59% 0.63 kB 1.37 kB +126.46% 0.29 kB 0.66 kB
oss-experimental/react-dom/cjs/react-dom.react-server.development.js +4.46% 15.84 kB 16.55 kB +4.67% 3.45 kB 3.61 kB
oss-stable-semver/react-dom/cjs/react-dom.react-server.development.js +4.46% 15.84 kB 16.55 kB +4.67% 3.45 kB 3.61 kB
oss-stable/react-dom/cjs/react-dom.react-server.development.js +4.46% 15.84 kB 16.55 kB +4.67% 3.45 kB 3.61 kB
oss-experimental/react-dom/profiling.js +1.47% 1.36 kB 1.38 kB +0.46% 0.66 kB 0.66 kB
oss-stable-semver/react-dom/profiling.js +1.47% 1.36 kB 1.38 kB +0.46% 0.66 kB 0.66 kB
oss-stable/react-dom/profiling.js +1.47% 1.36 kB 1.38 kB +0.46% 0.66 kB 0.66 kB
facebook-www/ReactDOM-dev.modern.js +0.29% 1,406.72 kB 1,410.74 kB +0.17% 308.33 kB 308.84 kB
facebook-www/ReactDOMTesting-prod.modern.js +0.22% 582.83 kB 584.11 kB +0.38% 104.03 kB 104.42 kB
facebook-www/ReactDOMTesting-dev.classic.js = 1,472.22 kB 1,469.07 kB = 321.25 kB 320.94 kB
oss-experimental/react-dom/cjs/react-dom.react-server.production.js = 4.87 kB 4.84 kB = 1.26 kB 1.24 kB
oss-stable-semver/react-dom/cjs/react-dom.react-server.production.js = 4.87 kB 4.84 kB = 1.26 kB 1.24 kB
oss-stable/react-dom/cjs/react-dom.react-server.production.js = 4.87 kB 4.84 kB = 1.26 kB 1.24 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.production.js = 520.19 kB 515.17 kB = 93.87 kB 92.84 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.development.js = 1,330.85 kB 1,311.93 kB = 294.98 kB 291.62 kB
oss-stable/react-dom/cjs/react-dom.development.js = 1,300.65 kB 24.49 kB = 288.24 kB 6.26 kB
oss-stable-semver/react-dom/cjs/react-dom.development.js = 1,300.62 kB 24.46 kB = 288.21 kB 6.23 kB
oss-experimental/react-dom/cjs/react-dom.development.js = 1,312.60 kB 24.50 kB = 290.57 kB 6.26 kB
oss-stable/react-dom/cjs/react-dom.production.js = 497.71 kB 6.66 kB = 88.93 kB 1.82 kB
oss-stable-semver/react-dom/cjs/react-dom.production.js = 497.63 kB 6.64 kB = 88.90 kB 1.80 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 504.00 kB 6.67 kB = 89.95 kB 1.83 kB
test_utils/ReactAllWarnings.js Deleted 64.67 kB 0.00 kB Deleted 16.09 kB 0.00 kB
oss-experimental/react-dom/cjs/react-dom-server-rendering-stub.development.js Deleted 18.63 kB 0.00 kB Deleted 4.35 kB 0.00 kB
oss-experimental/react-dom/cjs/react-dom-server-rendering-stub.production.js Deleted 5.93 kB 0.00 kB Deleted 1.57 kB 0.00 kB
oss-experimental/react-dom/cjs/react-dom.profiling.js Deleted 531.10 kB 0.00 kB Deleted 93.92 kB 0.00 kB
oss-experimental/react-dom/server-rendering-stub.js Deleted 0.24 kB 0.00 kB Deleted 0.16 kB 0.00 kB
oss-stable-semver/react-dom/cjs/react-dom-server-rendering-stub.development.js Deleted 18.59 kB 0.00 kB Deleted 4.32 kB 0.00 kB
oss-stable-semver/react-dom/cjs/react-dom-server-rendering-stub.production.js Deleted 5.90 kB 0.00 kB Deleted 1.55 kB 0.00 kB
oss-stable-semver/react-dom/cjs/react-dom.profiling.js Deleted 524.73 kB 0.00 kB Deleted 92.90 kB 0.00 kB
oss-stable-semver/react-dom/server-rendering-stub.js Deleted 0.24 kB 0.00 kB Deleted 0.16 kB 0.00 kB
oss-stable/react-dom/cjs/react-dom-server-rendering-stub.development.js Deleted 18.62 kB 0.00 kB Deleted 4.35 kB 0.00 kB
oss-stable/react-dom/cjs/react-dom-server-rendering-stub.production.js Deleted 5.93 kB 0.00 kB Deleted 1.57 kB 0.00 kB
oss-stable/react-dom/cjs/react-dom.profiling.js Deleted 524.81 kB 0.00 kB Deleted 92.93 kB 0.00 kB
oss-stable/react-dom/server-rendering-stub.js Deleted 0.24 kB 0.00 kB Deleted 0.16 kB 0.00 kB

Generated by 🚫 dangerJS against 223ea80

@gnoff gnoff force-pushed the clean-top-level branch 3 times, most recently from 5b4b06c to 91a323d Compare February 14, 2024 17:49
@rickhanlonii
Copy link
Member

@gnoff I checked and we do have an error for:

It is not supported to run the profiling version of a renderer (for example, react-dom/profiling)

But it looks old and not shown anywhere


throw new Error(
'react-dom/client is not supported in React Server Components.'
);
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should also be the same for react-dom/server since an SSR render consumes Client Components which don't exist in a react-server layer.

@gnoff gnoff force-pushed the clean-top-level branch 19 times, most recently from 63bb27d to ac9b2af Compare April 15, 2024 16:54
@gnoff gnoff force-pushed the clean-top-level branch from 7a9604e to b5a7279 Compare April 24, 2024 03:31
gnoff added 2 commits April 23, 2024 20:39
This change updates the entrypoints for `react-dom` to only include exports which make sense in every runtime (Flight, Fizz, and Fiber). The main benefit to doing this is we stop including the entire client build when importing anything from `react-dom`. The server-rendering-stub was added as a manual way of doing this prior to the next major and now that stub simply reexports from `react-dom`. In a future major we will remove the stub altogether.

This change affects the OSS channels but does not update how the meta entrypoints are organized
…ternal module boundaries that get picked up by devtoools timeline testing. This udpates snapshots to reflect this expected change.
@gnoff gnoff force-pushed the clean-top-level branch from b5a7279 to 223ea80 Compare April 24, 2024 03:40
@gnoff gnoff merged commit cb15184 into facebook:main Apr 24, 2024
38 checks passed
@gnoff gnoff deleted the clean-top-level branch April 24, 2024 15:50
github-actions bot pushed a commit that referenced this pull request Apr 24, 2024
This PR reorganizes the `react-dom` entrypoint to only pull in code that
is environment agnostic. Previously if you required anything from this
entrypoint in any environment the entire client reconciler was loaded.
In a prior release we added a server rendering stub which you could
alias in server environments to omit this unecessary code. After landing
this change this entrypoint should not load any environment specific
code.

While a few APIs are truly client (browser) only such as createRoot and
hydrateRoot many of the APIs you import from this package are only
useful in the browser but could concievably be imported in shared code
(components running in Fizz or shared components as part of an RSC app).
To avoid making these require opting into the client bundle we are
keeping them in the `react-dom` entrypoint and changing their
implementation so that in environments where they are not particularly
useful they do something benign and expected.

#### Removed APIs
The following APIs are being removed in the next major. Largely they
have all been deprecated already and are part of legacy rendering modes
where concurrent features of React are not available
* `render`
* `hydrate`
* `findDOMNode`
* `unmountComponentAtNode`
* `unstable_createEventHandle`
* `unstable_renderSubtreeIntoContainer`
* `unstable_runWithPrioirty`

#### moved Client APIs
These APIs were available on both `react-dom` (with a warning) and
`react-dom/client`. After this change they are only available on
`react-dom/client`
* `createRoot`
* `hydrateRoot`

#### retained APIs
These APIs still exist on the `react-dom` entrypoint but have normalized
behavior depending on which renderers are currently in scope
* `flushSync`: will execute the function (if provided) inside the
flushSync implemention of FlightServer, Fizz, and Fiber DOM renderers.
* `unstable_batchedUpdates`: This is a noop in concurrent mode because
it is now the only supported behavior because there is no legacy
rendering mode
* `createPortal`: This just produces an object. It can be called from
anywhere but since you will probably not have a handle on a DOM node to
pass to it it will likely warn in environments other than the browser
* preloading APIS such as `preload`: These methods will execute the
preload across all renderers currently in scope. Since we resolve the
Request object on the server using AsyncLocalStorage or the current
function stack in practice only one renderer should act upon the
preload.

In addition to these changes the server rendering stub now just rexports
everything from `react-dom`. In a future minor we will add a warning
when using the stub and in the next major we will remove the stub
altogether

DiffTrain build for commit cb15184.
github-actions bot pushed a commit that referenced this pull request Apr 24, 2024
This PR reorganizes the `react-dom` entrypoint to only pull in code that
is environment agnostic. Previously if you required anything from this
entrypoint in any environment the entire client reconciler was loaded.
In a prior release we added a server rendering stub which you could
alias in server environments to omit this unecessary code. After landing
this change this entrypoint should not load any environment specific
code.

While a few APIs are truly client (browser) only such as createRoot and
hydrateRoot many of the APIs you import from this package are only
useful in the browser but could concievably be imported in shared code
(components running in Fizz or shared components as part of an RSC app).
To avoid making these require opting into the client bundle we are
keeping them in the `react-dom` entrypoint and changing their
implementation so that in environments where they are not particularly
useful they do something benign and expected.

#### Removed APIs
The following APIs are being removed in the next major. Largely they
have all been deprecated already and are part of legacy rendering modes
where concurrent features of React are not available
* `render`
* `hydrate`
* `findDOMNode`
* `unmountComponentAtNode`
* `unstable_createEventHandle`
* `unstable_renderSubtreeIntoContainer`
* `unstable_runWithPrioirty`

#### moved Client APIs
These APIs were available on both `react-dom` (with a warning) and
`react-dom/client`. After this change they are only available on
`react-dom/client`
* `createRoot`
* `hydrateRoot`

#### retained APIs
These APIs still exist on the `react-dom` entrypoint but have normalized
behavior depending on which renderers are currently in scope
* `flushSync`: will execute the function (if provided) inside the
flushSync implemention of FlightServer, Fizz, and Fiber DOM renderers.
* `unstable_batchedUpdates`: This is a noop in concurrent mode because
it is now the only supported behavior because there is no legacy
rendering mode
* `createPortal`: This just produces an object. It can be called from
anywhere but since you will probably not have a handle on a DOM node to
pass to it it will likely warn in environments other than the browser
* preloading APIS such as `preload`: These methods will execute the
preload across all renderers currently in scope. Since we resolve the
Request object on the server using AsyncLocalStorage or the current
function stack in practice only one renderer should act upon the
preload.

In addition to these changes the server rendering stub now just rexports
everything from `react-dom`. In a future minor we will add a warning
when using the stub and in the next major we will remove the stub
altogether

DiffTrain build for [cb15184](cb15184)
bigfootjon pushed a commit that referenced this pull request Apr 25, 2024
This PR reorganizes the `react-dom` entrypoint to only pull in code that
is environment agnostic. Previously if you required anything from this
entrypoint in any environment the entire client reconciler was loaded.
In a prior release we added a server rendering stub which you could
alias in server environments to omit this unecessary code. After landing
this change this entrypoint should not load any environment specific
code.

While a few APIs are truly client (browser) only such as createRoot and
hydrateRoot many of the APIs you import from this package are only
useful in the browser but could concievably be imported in shared code
(components running in Fizz or shared components as part of an RSC app).
To avoid making these require opting into the client bundle we are
keeping them in the `react-dom` entrypoint and changing their
implementation so that in environments where they are not particularly
useful they do something benign and expected.

#### Removed APIs
The following APIs are being removed in the next major. Largely they
have all been deprecated already and are part of legacy rendering modes
where concurrent features of React are not available
* `render`
* `hydrate`
* `findDOMNode`
* `unmountComponentAtNode`
* `unstable_createEventHandle`
* `unstable_renderSubtreeIntoContainer`
* `unstable_runWithPrioirty`

#### moved Client APIs
These APIs were available on both `react-dom` (with a warning) and
`react-dom/client`. After this change they are only available on
`react-dom/client`
* `createRoot`
* `hydrateRoot`

#### retained APIs
These APIs still exist on the `react-dom` entrypoint but have normalized
behavior depending on which renderers are currently in scope
* `flushSync`: will execute the function (if provided) inside the
flushSync implemention of FlightServer, Fizz, and Fiber DOM renderers.
* `unstable_batchedUpdates`: This is a noop in concurrent mode because
it is now the only supported behavior because there is no legacy
rendering mode
* `createPortal`: This just produces an object. It can be called from
anywhere but since you will probably not have a handle on a DOM node to
pass to it it will likely warn in environments other than the browser
* preloading APIS such as `preload`: These methods will execute the
preload across all renderers currently in scope. Since we resolve the
Request object on the server using AsyncLocalStorage or the current
function stack in practice only one renderer should act upon the
preload.

In addition to these changes the server rendering stub now just rexports
everything from `react-dom`. In a future minor we will add a warning
when using the stub and in the next major we will remove the stub
altogether

DiffTrain build for commit cb15184.
eps1lon added a commit to vercel/next.js that referenced this pull request Apr 27, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request Apr 27, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request Apr 27, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request Apr 28, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request Apr 29, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request Apr 30, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request May 2, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request May 2, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request May 3, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request May 6, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request May 6, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request May 6, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request May 7, 2024
eps1lon added a commit to vercel/next.js that referenced this pull request May 7, 2024
hoxyq added a commit that referenced this pull request May 8, 2024
Full list of changes (not a public changelog):
* fix[react-devtools/ci]: fix configurations for e2e testing
([hoxyq](https://github.com/hoxyq) in
[#29016](#29016))
* feat[react-devtools]: display forget badge for components in profiling
session ([hoxyq](https://github.com/hoxyq) in
[#29014](#29014))
* fix[react-devtools]: add backwards compat with legacy element type
symbol ([hoxyq](https://github.com/hoxyq) in
[#28982](#28982))
* Expose "view source" options to Fusebox integration
([motiz88](https://github.com/motiz88) in
[#28973](#28973))
* Enable inspected element context menu in Fusebox
([motiz88](https://github.com/motiz88) in
[#28972](#28972))
* Check in `frontend.d.ts` for react-devtools-fusebox, include in build
output ([motiz88](https://github.com/motiz88) in
[#28970](#28970))
* Devtools: Fix build-for-devtools
([eps1lon](https://github.com/eps1lon) in
[#28976](#28976))
* Move useMemoCache hook to react/compiler-runtime
([kassens](https://github.com/kassens) in
[#28954](#28954))
* warn -> error for Test Renderer deprecation
([acdlite](https://github.com/acdlite) in
[#28904](#28904))
* [react-dom] move all client code to `react-dom/client`
([gnoff](https://github.com/gnoff) in
[#28271](#28271))
* Rename the react.element symbol to react.transitional.element
([sebmarkbage](https://github.com/sebmarkbage) in
[#28813](#28813))
* Rename Forget badge ([jbonta](https://github.com/jbonta) in
[#28858](#28858))
* Devtools: Add support for useFormStatus
([eps1lon](https://github.com/eps1lon) in
[#28413](#28413))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team React 19
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants