Skip to content

Feat/react 19 migration#234

Closed
laurent86 wants to merge 3 commits intomasterfrom
feat/react-19-migration
Closed

Feat/react 19 migration#234
laurent86 wants to merge 3 commits intomasterfrom
feat/react-19-migration

Conversation

@laurent86
Copy link
Contributor

PR Template

You can delete this markup if it doesn't apply to this PR

How to choose a release version?

From semver
Given a version number MAJOR.MINOR.PATCH:

Version Changes
MAJOR incompatible API changes
MINOR add functionality (backwards-compatible)
PATCH bug fixes (backwards-compatible)

If this PR is not for a major version change / does not introduce breaking changes, you can discard this template.
You can remove any unapplicable section if it doesn't apply to your introduced changes.

Breaking changes 💥

  • First change
  • Second change
  • ...

Migration guide from [previous version] 📋

Enums

In this version, all deprecated enums from [previous version] have been removed. The following table shows the equivalent new field for all removed fields:

Removed New
OldEnum NewEnum (optional)

When upgrading to [new version], simply import and use the new enums instead of the old ones (the props of the components is still named the same).

Deprecated Enums

The following emums have been deprecated, and will be removed in the next major version.

Deprecated New
OldEnum NewEnum (optional)

Props

In this version, all deprecated props from [previous version] have been removed. The following table shows the equivalent new field for all removed fields:

Prop Component Replacement
oldProp Icon newProp (optional)

The following props have been deprecated, and will be removed in the next major version.

Prop Component Replacement
oldProp Icon newProp (optional)

LaurentClaes and others added 2 commits March 19, 2026 12:40
- Upgrade react/react-dom from ^18.2.0 to ^19.0.0
- Upgrade @types/react/@types/react-dom to ^19.0.0
- Replace react-test-renderer with @testing-library/react (17 test files)
- Remove forwardRef wrappers (Input, TextArea, Modal, react-map-gl mock)
- Remove propTypes assignments (Collapsible, Toggle, Dropdown, Input)
- Remove Deprecated validator from utils/prop-types
- Fix useRef() calls to pass explicit initial values (5 files)
- Migrate emotion v10 to @emotion/css v11 in CSS pipeline
- Replace Context.Provider with Context (React 19 syntax)
- Replace useContext with use() hook (React 19 API)
- Fix ReactElement<any> type casts for React 19 stricter typing
- Fix styleguide webpack chunk filename conflict and router aliases
- Remove deprecated TabNavigation page from styleguide
- Regenerate all 64 test snapshots
- Update peer dependency ranges to support React 19 (<21)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Move console.warn calls out of render into useEffect
  (Dropdown, Table, FilterGroup, Filter, TabNavigation, Grid)
- Remove trivial dev warnings that don't aid debugging
  (Title, Pagination, NumberInput)
- Fix hooks-after-early-return in Dropdown (Rules of Hooks violation)
- Move ref.current sync assignments into useEffect
  (Modal, Popover, InlineEdit)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This pull request does not contain a valid label. Please add one of the following labels: ['major', 'minor', 'patch', 'skip-release']

React 19 is now the minimum supported version. The React 18 test job
swapped in React 18 at runtime but @testing-library/react@16 requires
React 19 internals, causing recentlyCreatedOwnerStacks errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@laurent86 laurent86 closed this Mar 20, 2026
@laurent86 laurent86 deleted the feat/react-19-migration branch March 20, 2026 13:45
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.

2 participants