Skip to content

fix(deps): update react monorepo (major) - #3806

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-react-monorepo
Open

renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-react-monorepo

Conversation

@renovate

@renovate renovate Bot commented Feb 23, 2026 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
eslint-plugin-react-hooks (source) ^5.2.0 → ^7.0.0 age confidence
react (source) ^16.8.4 → ^19.0.0 age confidence
react-dom (source) ^16.8.4 → ^19.0.0 age confidence
react-test-renderer (source) ^16.8.4 → ^19.0.0 age confidence

Release Notes

facebook/react (eslint-plugin-react-hooks)

v7.1.1

Compare Source

Note: 7.1.0 accidentally removed the component-hook-factories rule, causing errors for users who referenced it in their ESLint config. This is now fixed.

  • Add deprecated no-op component-hook-factories rule for backwards compatibility. (@​mofeiZ in #​36307)

v7.1.0

Compare Source

This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better set-state-in-effect detection, improved ref validation, and more helpful error reporting.

v7.0.1

Compare Source

v7.0.0

Compare Source

This release slims down presets to just 2 configurations (recommended and recommended-latest), and all compiler rules are enabled by default.

  • Breaking: Removed recommended-latest-legacy and flat/recommended configs. The plugin now provides recommended (legacy and flat configs with all recommended rules), and recommended-latest (legacy and flat configs with all recommended rules plus new bleeding edge experimental compiler rules). (@​poteto in #​34757)

v6.1.1

Compare Source

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.

v6.1.0

Compare Source

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

v6.0.0

Compare Source

Accidentally released. See 6.1.0 for the actual changes.

react/react (react)

v19.3.1: 19.3.1 (October 14th, 2026)

Compare Source

React Server Components

v19.3.0

Compare Source

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
React DOM
React Server
React Server Components

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (in timezone US/Eastern)

  • Branch creation
    • "every weekend"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Comment thread package.json Resolved
Comment thread package.json Resolved
@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch from 23de69e to 3ff3ac0 Compare February 23, 2026 10:06
Comment thread package.json Resolved
@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch from 3ff3ac0 to 9506bc7 Compare February 23, 2026 11:15
Comment thread package.json Resolved
@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch from 9506bc7 to 04b883f Compare February 23, 2026 11:38
Comment thread package.json Resolved
@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch 6 times, most recently from abf9535 to 76df768 Compare February 25, 2026 10:00
Comment thread package.json
Comment on lines 92 to 93
"react-router": "^4.1.1",
"react-router-dom": "^4.1.1",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The application uses react-router v4, which is incompatible with React 19 due to breaking changes in ref handling and useEffect timing, likely causing runtime failures.
Severity: HIGH

Suggested Fix

Upgrade react-router and react-router-dom from version 4 to a modern version that is compatible with React 19, such as version 6. This will require migrating the application's routing logic to the new APIs provided by the updated library.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L92-L93

Potential issue: The application is being upgraded to React 19 but continues to use
`react-router` v4.3.1. This version of `react-router` is not compatible with React 19
due to breaking changes in the new React version, specifically stricter ref forwarding
rules and updates to `useEffect` timing. Since routing is a critical part of the
application, using this incompatible library is highly likely to cause runtime failures
when routing components like `<Route>`, `<Switch>`, or `<Redirect>` are rendered.

@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch from 76df768 to dba86e5 Compare February 25, 2026 14:15
Comment thread package.json
"react-dom": "^19.0.0",
"react-ga": "^2.2.0",
"react-google-recaptcha": "^1.0.5",
"react-hot-loader": "^4.8.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The application uses ReactDOM.render(), which is removed in React 19 and will cause a runtime crash on startup.
Severity: CRITICAL

Suggested Fix

Migrate from the legacy ReactDOM.render() API to the modern createRoot API available in react-dom/client. This involves creating a root with createRoot(container) and then using root.render(<App />) to render the application.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L88

Potential issue: The application's entry points, including `static/js/entry/header.js`
and `static/js/entry/root.js`, utilize the `ReactDOM.render()` API. This function was
deprecated in React 18 and has been completely removed in React 19. As a result,
attempting to render the application will cause an immediate runtime error, specifically
a `TypeError: ReactDOM.render is not a function`, which will prevent the application
from starting.

@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch from dba86e5 to 55b669f Compare February 25, 2026 16:36
Comment thread package.json
"react-markdown": "^5.0.3",
"react-picky": "^5.3.2",
"react-redux": "^5.0.5",
"react-router": "^4.1.1",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The react-redux package version ^5.0.5 is incompatible with the upgrade to React 19, which will cause the application to crash at runtime.
Severity: CRITICAL

Suggested Fix

Upgrade the react-redux package to a version that is compatible with React 19. According to the library's documentation, version 9 or newer is required for React 18+ and supports React 19.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L92

Potential issue: The application is being upgraded to React 19, but the `react-redux`
dependency remains at version 5.0.5. This version of `react-redux` is incompatible with
React 19 as it relies on internal APIs and lifecycle methods that have been changed or
removed. This incompatibility will cause a runtime failure when the root `Provider`
component and any components using the `connect()` HOC attempt to render. The result
will be a crash on application initialization, making the application non-functional.

@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch 2 times, most recently from 8416b03 to 0765e82 Compare February 26, 2026 15:42
Comment thread package.json
"react-test-renderer": "^19.0.0",
"reactstrap": "^8.0.0",
"redux": "^3.7.2",
"redux-actions": "^2.2.1",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The styled-components version (^4.2.0) is incompatible with React 19's new ref handling, which will likely cause a runtime error in the ScaledRecaptcha component.
Severity: HIGH

Suggested Fix

Upgrade the styled-components package to a version that is compatible with React 19, such as version 6 or later, to ensure correct ref forwarding and prevent runtime errors.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L98

Potential issue: The application is being upgraded to React 19, but the
`styled-components` dependency remains at version 4. React 19 introduces a breaking
change in how `ref` props are handled, which is incompatible with older versions of
`styled-components`. The codebase uses a `ref` on a styled component within
`ScaledRecaptcha.js`, which is part of the user registration flow. This mismatch will
likely cause a runtime failure when this component renders, breaking the registration
process for users.

@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch from 0765e82 to 68381cd Compare February 26, 2026 15:46
Comment thread package.json
"react-dom": "^19.0.0",
"react-ga": "^2.2.0",
"react-google-recaptcha": "^1.0.5",
"react-hot-loader": "^4.8.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The application uses react-hot-loader, which is deprecated and unsupported for React 19. This poses a compatibility risk and may cause issues, especially in development.
Severity: MEDIUM

Suggested Fix

Remove react-hot-loader and its related code, including imports in header.js and root.js, and the Babel plugin in webpack.config.shared.js. Replace it with React Fast Refresh, which is the modern, officially supported solution for hot reloading in React applications.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L88

Potential issue: The application uses `react-hot-loader`, which is deprecated and does
not have documented support for React 18 or 19. While hot-reloading is a
development-only feature, the `AppContainer` wrapper from this library is still present
in the production bundle. This introduces a risk of unexpected behavior or rendering
issues due to potential incompatibilities with React 19's internal APIs. Although a
production crash is not confirmed, relying on a deprecated and unsupported package for a
core application wrapper is a significant maintenance and stability concern.

@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch from 68381cd to 15673f9 Compare February 26, 2026 15:58
Comment thread package.json
Comment on lines 92 to 96
"react-router": "^4.1.1",
"react-router-dom": "^4.1.1",
"react-select": "^5.0.0",
"react-test-renderer": "^16.8.4",
"react-test-renderer": "^19.0.0",
"reactstrap": "^8.0.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The application uses react-router v4 and reactstrap v8, which are incompatible with React 19 and will cause runtime errors, preventing the application from starting.
Severity: CRITICAL

Suggested Fix

Upgrade react-router and react-router-dom to a version compatible with React 19, such as v6 or v7. This will likely require significant code refactoring to adapt to the new APIs. Additionally, upgrade reactstrap to a version that supports React 19, likely v9 or newer, which resolves the react-popper dependency issue.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: package.json#L92-L96

Potential issue: The application's dependencies on `react-router` v4 and `reactstrap` v8
are incompatible with the upgrade to React 19. `react-router` v4 relies on deprecated
React APIs that have been removed in React 19, which will cause runtime errors.
`reactstrap` v8 has a dependency on `react-popper`, which has a strict peer dependency
on React 18 and is no longer maintained. This will lead to installation failures or
runtime errors when components from `reactstrap` are rendered. These incompatibilities
will prevent the application from starting or functioning correctly in a production
environment.

@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch 5 times, most recently from a26f978 to d04b726 Compare March 3, 2026 10:51
@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch 7 times, most recently from a5b968f to e5d1041 Compare March 18, 2026 19:33
@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch 3 times, most recently from e4537f1 to 1fd0027 Compare March 26, 2026 21:44
@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch 11 times, most recently from 0b90f33 to d281172 Compare April 9, 2026 03:22
@renovate
renovate Bot force-pushed the renovate/major-react-monorepo branch 8 times, most recently from 3e1ebfd to 0863717 Compare April 15, 2026 07:43

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants