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",