Skip to content

chore: bump react from 19.2.0 to 19.3.0 in /web/playground - #6316

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/web/playground/react-19.3.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/web/playground/react-19.3.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Bumps react from 19.2.0 to 19.3.0.

Release notes

Sourced from react's releases.

19.3.0 (September 9, 2026)

Below is a list of all new features, APIs, and bug fixes.

Read the React 19.3 release post for more information.

New React Features

New React DOM Features

  • browser(): a new react-dom API that returns a usable which errors during server rendering and resolves in the browser. use(browser()) inside a <Suspense> boundary marks a subtree as browser-only without reporting a recoverable error (@​gnoff: #37143, #37241)
    • Added an onBrowserBailout option to the react-dom/server APIs to observe when a subtree defers to the browser (@​gnoff #37193)

Notable changes

All Changes

React

... (truncated)

Changelog

Sourced from react's changelog.

19.3.0 (September 9, 2026)

New React Features

New React DOM Features

  • browser(): a new react-dom API that returns a usable which errors during server rendering and resolves in the browser. use(browser()) inside a <Suspense> boundary marks a subtree as browser-only without reporting a recoverable error (@​gnoff: #37143, #37241)
    • Added an onBrowserBailout option to the react-dom/server APIs to observe when a subtree defers to the browser (@​gnoff #37193)

Notable changes

All Changes

React

... (truncated)

Commits
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for react since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [react](https://github.com/react/react/tree/HEAD/packages/react) from 19.2.0 to 19.3.0.
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.0/packages/react)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies javascript Pull requests that update Javascript code labels Sep 14, 2026

@prql-bot prql-bot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This one shouldn't merge on its own — it needs to land together with #6315 (react-dom 19.2.0 → 19.3.0). With only react bumped, the playground pins react 19.3.0 against react-dom 19.2.0, and React 19's react-dom has a hard equality guard on the two versions: the development client throws Incompatible React versions at module init, so task web:run-playground comes up as a blank page.

Nothing on this PR will show that. react-dom 19.2.0 declares its peer range as react: ^19.2.0, which 19.3.0 satisfies, so npm ci installs the mismatched pair without a warning. And the guard only exists in the development bundle — build-web runs task web:build, which is npm ci && npm run build, so it gets the production bundle and stays green either way. The failure is reachable only from the dev server.

Merging both PRs back to back is enough to clear it, but it leaves main broken for anyone who pulls in between, and merging one and forgetting the other leaves it broken indefinitely with green CI.

The durable fix is at the Dependabot level: the npm ecosystem in .github/dependabot.yaml has no groups:, so react and react-dom get a PR each. That's the same failure the pyo3 group in the cargo ecosystem was added for a few entries above — "released in lockstep with pyo3 and expects to be on the same version, but ungrouped Dependabot raises a PR for each" — and the fix has the same shape:

groups:
  react:
    patterns:
      - "react"
      - "react-dom"

With that in place Dependabot would supersede this pair with a single PR. Happy to open it if you'd like.

Where the guard lives

web/playground/src/main.jsx imports react-dom/client. That resolves to react-dom/client.js, which branches on NODE_ENV:

if (process.env.NODE_ENV === 'production') {
  checkDCE();
  module.exports = require('./cjs/react-dom-client.production.js');
} else {
  module.exports = require('./cjs/react-dom-client.development.js');
}

The development bundle runs this at module scope:

(function () {
  var isomorphicReactPackageVersion = React.version;
  if ("19.2.0" !== isomorphicReactPackageVersion)
    throw Error(
      'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n  - react:      ' +
        (isomorphicReactPackageVersion +
          "\n  - react-dom:  19.2.0\nLearn more: https://react.dev/warnings/version-mismatch")
    );
})();

react-dom-client.production.js contains no such check, which is why npm run build is unaffected. run-playground in web/Taskfile.yaml is the path that hits it, via npm run dev.

@dependabot @github

dependabot Bot commented on behalf of github Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

Looks like react is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 15, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/web/playground/react-19.3.0 branch September 15, 2026 00:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant