diff --git a/.changeset/pre.json b/.changeset/pre.json index c016953c14..20539b2f49 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -9,6 +9,7 @@ "@remix-run/router": "1.6.3" }, "changesets": [ - "start-transition-minification" + "start-transition-minification", + "v7-start-transition" ] } diff --git a/packages/react-router-dom-v5-compat/CHANGELOG.md b/packages/react-router-dom-v5-compat/CHANGELOG.md index b18c0880f2..eff97a47cc 100644 --- a/packages/react-router-dom-v5-compat/CHANGELOG.md +++ b/packages/react-router-dom-v5-compat/CHANGELOG.md @@ -1,5 +1,13 @@ # `react-router-dom-v5-compat` +## 6.13.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.13.0-pre.1` + - `react-router-dom@6.13.0-pre.1` + ## 6.12.2-pre.0 ### Patch Changes diff --git a/packages/react-router-dom-v5-compat/package.json b/packages/react-router-dom-v5-compat/package.json index a9df92e30b..6119777266 100644 --- a/packages/react-router-dom-v5-compat/package.json +++ b/packages/react-router-dom-v5-compat/package.json @@ -1,6 +1,6 @@ { "name": "react-router-dom-v5-compat", - "version": "6.12.2-pre.0", + "version": "6.13.0-pre.1", "description": "Migration path to React Router v6 from v4/5", "keywords": [ "react", @@ -24,7 +24,7 @@ "types": "./dist/index.d.ts", "dependencies": { "history": "^5.3.0", - "react-router": "6.12.2-pre.0" + "react-router": "6.13.0-pre.1" }, "peerDependencies": { "react": ">=16.8", diff --git a/packages/react-router-dom/CHANGELOG.md b/packages/react-router-dom/CHANGELOG.md index 9b25d397e1..59cb240210 100644 --- a/packages/react-router-dom/CHANGELOG.md +++ b/packages/react-router-dom/CHANGELOG.md @@ -1,5 +1,36 @@ # `react-router-dom` +## 6.13.0-pre.1 + +### Minor Changes + +- Move [`React.startTransition`](https://react.dev/reference/react/startTransition) behind a [future flag](https://reactrouter.com/en/main/guides/api-development-strategy) to avoid issues with existing incompatible `Suspense` usages. We recommend folks adopting this flag to be better compatible with React concurrent mode, but if you run into issues you can continue without the use of `startTransition` until v7. Issues usually boils down to creating net-new promises during the render cycle, so if you run into issues you should either lift your promise creation out of the render cycle or put it behind a `useMemo`. ([#10596](https://github.com/remix-run/react-router/pull/10596)) + + Existing behavior will no longer include `React.startTransition`: + + ```jsx + + {/*...*/} + + + + ``` + + If you wish to enable `React.startTransition`, pass the future flag to your component: + + ```jsx + + {/*...*/} + + + + ``` + +### Patch Changes + +- Updated dependencies: + - `react-router@6.13.0-pre.1` + ## 6.12.2-pre.0 ### Patch Changes diff --git a/packages/react-router-dom/package.json b/packages/react-router-dom/package.json index e3f9f1984b..b84c42025f 100644 --- a/packages/react-router-dom/package.json +++ b/packages/react-router-dom/package.json @@ -1,6 +1,6 @@ { "name": "react-router-dom", - "version": "6.12.2-pre.0", + "version": "6.13.0-pre.1", "description": "Declarative routing for React web applications", "keywords": [ "react", @@ -24,7 +24,7 @@ "types": "./dist/index.d.ts", "dependencies": { "@remix-run/router": "1.6.3", - "react-router": "6.12.2-pre.0" + "react-router": "6.13.0-pre.1" }, "devDependencies": { "react": "^18.2.0", diff --git a/packages/react-router-native/CHANGELOG.md b/packages/react-router-native/CHANGELOG.md index 07ef98f26f..bc4bff18e0 100644 --- a/packages/react-router-native/CHANGELOG.md +++ b/packages/react-router-native/CHANGELOG.md @@ -1,5 +1,12 @@ # `react-router-native` +## 6.13.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.13.0-pre.1` + ## 6.12.2-pre.0 ### Patch Changes diff --git a/packages/react-router-native/package.json b/packages/react-router-native/package.json index 8a9c0acf18..2e1b65d2fe 100644 --- a/packages/react-router-native/package.json +++ b/packages/react-router-native/package.json @@ -1,6 +1,6 @@ { "name": "react-router-native", - "version": "6.12.2-pre.0", + "version": "6.13.0-pre.1", "description": "Declarative routing for React Native applications", "keywords": [ "react", @@ -22,7 +22,7 @@ "types": "./dist/index.d.ts", "dependencies": { "@ungap/url-search-params": "^0.1.4", - "react-router": "6.12.2-pre.0" + "react-router": "6.13.0-pre.1" }, "devDependencies": { "react": "^18.2.0", diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 33678babe5..fb2ad8f611 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -1,5 +1,31 @@ # `react-router` +## 6.13.0-pre.1 + +### Minor Changes + +- Move [`React.startTransition`](https://react.dev/reference/react/startTransition) behind a [future flag](https://reactrouter.com/en/main/guides/api-development-strategy) to avoid issues with existing incompatible `Suspense` usages. We recommend folks adopting this flag to be better compatible with React concurrent mode, but if you run into issues you can continue without the use of `startTransition` until v7. Issues usually boils down to creating net-new promises during the render cycle, so if you run into issues you should either lift your promise creation out of the render cycle or put it behind a `useMemo`. ([#10596](https://github.com/remix-run/react-router/pull/10596)) + + Existing behavior will no longer include `React.startTransition`: + + ```jsx + + {/*...*/} + + + + ``` + + If you wish to enable `React.startTransition`, pass the future flag to your component: + + ```jsx + + {/*...*/} + + + + ``` + ## 6.12.2-pre.0 ### Patch Changes diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 9dccbf0b7d..c605aac09b 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "react-router", - "version": "6.12.2-pre.0", + "version": "6.13.0-pre.1", "description": "Declarative routing for React", "keywords": [ "react",