fix: support React 19 in v8#2979
Merged
gpbl merged 1 commit intomaintenance/v8from May 2, 2026
Merged
Conversation
|
88a2ede to
7c3e6f3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This v8 maintenance patch lets existing v8 consumers install DayPicker with React 19 while keeping the runtime API unchanged.
What Changed
react-day-pickerto8.10.2.^19.0.0while keeping the existing React 16.8, 17, and 18 support range.JSX.*declaration references with React types that remain valid across React 16.8 through React 19.import typein shippedsrc/files, so downstream source transpilation cannot preserve type-only React imports as runtime imports.npm publish --tag legacy-v8and relies on npm Trusted Publishing for provenance..github/scripts/so the workflow remains readable while keeping the same validation coverage.react-dom/test-utilsforact.Review Notes
Validation run locally on the v8 maintenance branch:
corepack pnpm@8.6.2 typecheckcorepack pnpm@8.6.2 lint --max-warnings=0corepack pnpm@8.6.2 testcorepack pnpm@8.6.2 buildJSX.*referencesv8.10.1: shipped JS and CSS runtime files have identical hashes; differences are limited to declarations, source maps/source text, docs, and package metadatareact@19,react-dom@19, anddate-fns@3react@19,react-dom@19, anddate-fns@2react@19,react-dom@19,@types/react@19,@types/react-dom@19,typescript@5,date-fns@3, andskipLibCheck: falsereact@16.14,react-dom@16.14,@types/react@16.14,@types/react-dom@16.9,typescript@4.9,date-fns@2, andskipLibCheck: false8.10.1and8.10.2, withdate-fns@2anddate-fns@3; each case typechecked withskipLibCheck: falseand rendered<DayPicker />in jsdomnpm publish --dry-run --tag legacy-v8After merge, publish by creating the
v8.10.2GitHub Release from the merged maintenance commit. The npm publish should run from the release event, not from a manual workflow dispatch.