From 843fe0e989b17c484d3cf6b54daf342f7dc65394 Mon Sep 17 00:00:00 2001 From: arjunyel Date: Mon, 26 Jun 2023 14:06:47 -0500 Subject: [PATCH 1/8] docs(use-submit): explicit encType (#10643) --- contributors.yml | 1 + docs/hooks/use-submit.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/contributors.yml b/contributors.yml index c32eacce01..269b93026a 100644 --- a/contributors.yml +++ b/contributors.yml @@ -16,6 +16,7 @@ - andreiduca - antonmontrezor - appden +- arjunyel - arnassavickas - aroyan - avipatel97 diff --git a/docs/hooks/use-submit.md b/docs/hooks/use-submit.md index 77838c1ec1..2362f65945 100644 --- a/docs/hooks/use-submit.md +++ b/docs/hooks/use-submit.md @@ -99,7 +99,7 @@ submit([ The default behavior if you submit a JSON object is to encode the data into `FormData`: ```tsx -submit({ key: "value" }); +submit({ key: "value", { encType: "application/x-www-form-urlencoded" }); // will serialize into request.formData() in your action ``` From 0ffa3dc7f75b9439321fb7b57d55201ddf391417 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Thu, 29 Jun 2023 17:39:24 -0400 Subject: [PATCH 2/8] Fix loop in unstable_useBlocker when used with an unstable blocker function (#10652) * Fix loop in unstable_useBlocker when used with an unstable blocker function * Remove getBlocker from key generation --- .changeset/fix-blocker-loop.md | 5 +++ .../__tests__/use-blocker-test.tsx | 44 +++++++++++++++++++ packages/react-router/lib/hooks.tsx | 15 ++++++- 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 .changeset/fix-blocker-loop.md diff --git a/.changeset/fix-blocker-loop.md b/.changeset/fix-blocker-loop.md new file mode 100644 index 0000000000..3a1c6b6178 --- /dev/null +++ b/.changeset/fix-blocker-loop.md @@ -0,0 +1,5 @@ +--- +"react-router": patch +--- + +Fix loop in `unstable_useBlocker` when used with an unstable blocker function diff --git a/packages/react-router-dom/__tests__/use-blocker-test.tsx b/packages/react-router-dom/__tests__/use-blocker-test.tsx index 9fa664c44b..4ffe9338b3 100644 --- a/packages/react-router-dom/__tests__/use-blocker-test.tsx +++ b/packages/react-router-dom/__tests__/use-blocker-test.tsx @@ -114,6 +114,50 @@ describe("navigation blocking with useBlocker", () => { act(() => root.unmount()); }); + it("handles unstable blocker function identities", async () => { + let count = 0; + router = createMemoryRouter([ + { + element: React.createElement(() => { + // New function identity on each render + let b = useBlocker(() => false); + blocker = b; + if (++count > 50) { + throw new Error("useBlocker caused a re-render loop!"); + } + return ( +
+ /about + +
+ ); + }), + children: [ + { + path: "/", + element:

Home

, + }, + { + path: "/about", + element:

About

, + }, + ], + }, + ]); + + act(() => { + root = ReactDOM.createRoot(node); + root.render(); + }); + + expect(node.querySelector("h1")?.textContent).toBe("Home"); + + act(() => click(node.querySelector("a[href='/about']"))); + expect(node.querySelector("h1")?.textContent).toBe("About"); + + act(() => root.unmount()); + }); + describe("on navigation", () => { describe("blocker returns false", () => { beforeEach(() => { diff --git a/packages/react-router/lib/hooks.tsx b/packages/react-router/lib/hooks.tsx index 0135ea0bcc..c3177d8645 100644 --- a/packages/react-router/lib/hooks.tsx +++ b/packages/react-router/lib/hooks.tsx @@ -972,12 +972,23 @@ export function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker { [basename, shouldBlock] ); + // This effect is in charge of blocker key assignment and deletion (which is + // tightly coupled to the key) React.useEffect(() => { let key = String(++blockerId); - setBlocker(router.getBlocker(key, blockerFunction)); setBlockerKey(key); return () => router.deleteBlocker(key); - }, [router, setBlocker, setBlockerKey, blockerFunction]); + }, [router]); + + // This effect handles assigning the blockerFunction. This is to handle + // unstable blocker function identities, and happens only after the prior + // effect so we don't get an orphaned blockerFunction in the router with a + // key of "". Until then we just have the IDLE_BLOCKER. + React.useEffect(() => { + if (blockerKey !== "") { + setBlocker(router.getBlocker(blockerKey, blockerFunction)); + } + }, [router, blockerKey, blockerFunction]); // Prefer the blocker from state since DataRouterContext is memoized so this // ensures we update on blocker state updates From 74973e888253700805642db2a2e7b90dec44cfef Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Thu, 29 Jun 2023 17:40:37 -0400 Subject: [PATCH 3/8] Enter prerelease mode --- .changeset/pre.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 0000000000..ae991b38fa --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,12 @@ +{ + "mode": "pre", + "tag": "pre", + "initialVersions": { + "react-router": "6.14.0", + "react-router-dom": "6.14.0", + "react-router-dom-v5-compat": "6.14.0", + "react-router-native": "6.14.0", + "@remix-run/router": "1.7.0" + }, + "changesets": [] +} From 775bff945076522bf11343dc1156e4dedc8ee5f1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 29 Jun 2023 17:41:58 -0400 Subject: [PATCH 4/8] chore: Update version for release (pre) (#10653) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 4 +++- packages/react-router-dom-v5-compat/CHANGELOG.md | 8 ++++++++ packages/react-router-dom-v5-compat/package.json | 4 ++-- packages/react-router-dom/CHANGELOG.md | 7 +++++++ packages/react-router-dom/package.json | 4 ++-- packages/react-router-native/CHANGELOG.md | 7 +++++++ packages/react-router-native/package.json | 4 ++-- packages/react-router/CHANGELOG.md | 6 ++++++ packages/react-router/package.json | 2 +- 9 files changed, 38 insertions(+), 8 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index ae991b38fa..ae0665b377 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -8,5 +8,7 @@ "react-router-native": "6.14.0", "@remix-run/router": "1.7.0" }, - "changesets": [] + "changesets": [ + "fix-blocker-loop" + ] } diff --git a/packages/react-router-dom-v5-compat/CHANGELOG.md b/packages/react-router-dom-v5-compat/CHANGELOG.md index 3c895c97d6..0395231a9a 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.14.1-pre.0 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.14.1-pre.0` + - `react-router-dom@6.14.1-pre.0` + ## 6.14.0 ### Patch Changes diff --git a/packages/react-router-dom-v5-compat/package.json b/packages/react-router-dom-v5-compat/package.json index bbddf58542..22d5de2d56 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.14.0", + "version": "6.14.1-pre.0", "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.14.0" + "react-router": "6.14.1-pre.0" }, "peerDependencies": { "react": ">=16.8", diff --git a/packages/react-router-dom/CHANGELOG.md b/packages/react-router-dom/CHANGELOG.md index e7a50734e5..da5999539b 100644 --- a/packages/react-router-dom/CHANGELOG.md +++ b/packages/react-router-dom/CHANGELOG.md @@ -1,5 +1,12 @@ # `react-router-dom` +## 6.14.1-pre.0 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.14.1-pre.0` + ## 6.14.0 ### Minor Changes diff --git a/packages/react-router-dom/package.json b/packages/react-router-dom/package.json index 92399bedb7..0fa226915f 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.14.0", + "version": "6.14.1-pre.0", "description": "Declarative routing for React web applications", "keywords": [ "react", @@ -24,7 +24,7 @@ "types": "./dist/index.d.ts", "dependencies": { "@remix-run/router": "1.7.0", - "react-router": "6.14.0" + "react-router": "6.14.1-pre.0" }, "devDependencies": { "react": "^18.2.0", diff --git a/packages/react-router-native/CHANGELOG.md b/packages/react-router-native/CHANGELOG.md index 7ffa8b763d..1fb18aee30 100644 --- a/packages/react-router-native/CHANGELOG.md +++ b/packages/react-router-native/CHANGELOG.md @@ -1,5 +1,12 @@ # `react-router-native` +## 6.14.1-pre.0 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.14.1-pre.0` + ## 6.14.0 ### Patch Changes diff --git a/packages/react-router-native/package.json b/packages/react-router-native/package.json index ddb61ef3b3..85b35edeb0 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.14.0", + "version": "6.14.1-pre.0", "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.14.0" + "react-router": "6.14.1-pre.0" }, "devDependencies": { "react": "^18.2.0", diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 9195ab0783..f215ade90b 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -1,5 +1,11 @@ # `react-router` +## 6.14.1-pre.0 + +### Patch Changes + +- Fix loop in `unstable_useBlocker` when used with an unstable blocker function ([#10652](https://github.com/remix-run/react-router/pull/10652)) + ## 6.14.0 ### Patch Changes diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 718980f625..d67c973b7e 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "react-router", - "version": "6.14.0", + "version": "6.14.1-pre.0", "description": "Declarative routing for React", "keywords": [ "react", From cbda9cff254e682e8b42b15346e0249b63c7d647 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Fri, 30 Jun 2023 13:34:54 -0400 Subject: [PATCH 5/8] Fix issue with reused blockers on subsequent navigations (#10656) --- .changeset/fix-reused-blocker.md | 6 ++ package.json | 2 +- .../__tests__/use-blocker-test.tsx | 71 +++++++++++++++++++ packages/react-router/lib/hooks.tsx | 9 ++- packages/router/router.ts | 7 +- 5 files changed, 87 insertions(+), 8 deletions(-) create mode 100644 .changeset/fix-reused-blocker.md diff --git a/.changeset/fix-reused-blocker.md b/.changeset/fix-reused-blocker.md new file mode 100644 index 0000000000..8efd6b157e --- /dev/null +++ b/.changeset/fix-reused-blocker.md @@ -0,0 +1,6 @@ +--- +"react-router": patch +"@remix-run/router": patch +--- + +Fix issue with reused blockers on subsequent navigations diff --git a/package.json b/package.json index 00636c56a0..a79dee318e 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ }, "filesize": { "packages/router/dist/router.umd.min.js": { - "none": "46.5 kB" + "none": "46.6 kB" }, "packages/react-router/dist/react-router.production.min.js": { "none": "13.8 kB" diff --git a/packages/react-router-dom/__tests__/use-blocker-test.tsx b/packages/react-router-dom/__tests__/use-blocker-test.tsx index 4ffe9338b3..2e9795040f 100644 --- a/packages/react-router-dom/__tests__/use-blocker-test.tsx +++ b/packages/react-router-dom/__tests__/use-blocker-test.tsx @@ -158,6 +158,77 @@ describe("navigation blocking with useBlocker", () => { act(() => root.unmount()); }); + it("handles reused blocker in a layout route", async () => { + router = createMemoryRouter([ + { + Component() { + let blocker = useBlocker(true); + return ( +
+ /one + /two + +

{blocker.state}

+ {blocker.state === "blocked" ? ( + + ) : null} +
+ ); + }, + children: [ + { + path: "/", + element:

Home

, + }, + { + path: "/one", + element:

One

, + }, + { + path: "/two", + element:

Two

, + }, + ], + }, + ]); + + act(() => { + root = ReactDOM.createRoot(node); + root.render(); + }); + + // Start on / + expect(node.querySelector("h1")?.textContent).toBe("Home"); + expect(node.querySelector("p")?.textContent).toBe("unblocked"); + expect(node.querySelector("button")).toBeNull(); + + // Blocked navigation to /one + act(() => click(node.querySelector("a[href='/one']"))); + expect(node.querySelector("h1")?.textContent).toBe("Home"); + expect(node.querySelector("p")?.textContent).toBe("blocked"); + expect(node.querySelector("button")?.textContent).toBe("Proceed"); + + // Proceed to /one + act(() => click(node.querySelector("button"))); + expect(node.querySelector("h1")?.textContent).toBe("One"); + expect(node.querySelector("p")?.textContent).toBe("unblocked"); + expect(node.querySelector("button")).toBeNull(); + + // Blocked navigation to /two + act(() => click(node.querySelector("a[href='/two']"))); + expect(node.querySelector("h1")?.textContent).toBe("One"); + expect(node.querySelector("p")?.textContent).toBe("blocked"); + expect(node.querySelector("button")?.textContent).toBe("Proceed"); + + // Proceed to /two + act(() => click(node.querySelector("button"))); + expect(node.querySelector("h1")?.textContent).toBe("Two"); + expect(node.querySelector("p")?.textContent).toBe("unblocked"); + expect(node.querySelector("button")).toBeNull(); + + act(() => root.unmount()); + }); + describe("on navigation", () => { describe("blocker returns false", () => { beforeEach(() => { diff --git a/packages/react-router/lib/hooks.tsx b/packages/react-router/lib/hooks.tsx index c3177d8645..44a25ccc10 100644 --- a/packages/react-router/lib/hooks.tsx +++ b/packages/react-router/lib/hooks.tsx @@ -939,7 +939,6 @@ export function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker { let state = useDataRouterState(DataRouterStateHook.UseBlocker); let [blockerKey, setBlockerKey] = React.useState(""); - let [blocker, setBlocker] = React.useState(IDLE_BLOCKER); let blockerFunction = React.useCallback( (arg) => { if (typeof shouldBlock !== "function") { @@ -986,15 +985,15 @@ export function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker { // key of "". Until then we just have the IDLE_BLOCKER. React.useEffect(() => { if (blockerKey !== "") { - setBlocker(router.getBlocker(blockerKey, blockerFunction)); + router.getBlocker(blockerKey, blockerFunction); } }, [router, blockerKey, blockerFunction]); - // Prefer the blocker from state since DataRouterContext is memoized so this - // ensures we update on blocker state updates + // Prefer the blocker from `state` not `router.state` since DataRouterContext + // is memoized so this ensures we update on blocker state updates return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey)! - : blocker; + : IDLE_BLOCKER; } /** diff --git a/packages/router/router.ts b/packages/router/router.ts index fdae5b0bbe..785ec73b2a 100644 --- a/packages/router/router.ts +++ b/packages/router/router.ts @@ -1026,8 +1026,11 @@ export function createRouter(init: RouterInit): Router { // On a successful navigation we can assume we got through all blockers // so we can start fresh - let blockers = new Map(); - blockerFunctions.clear(); + let blockers = state.blockers; + if (blockers.size > 0) { + blockers = new Map(blockers); + blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER)); + } // Always respect the user flag. Otherwise don't reset on mutation // submission navigations unless they redirect From 1f06a02acfc45971ce7b9b69025d399fe0a4ae56 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 13:45:12 -0400 Subject: [PATCH 6/8] chore: Update version for release (pre) (#10658) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 3 ++- packages/react-router-dom-v5-compat/CHANGELOG.md | 8 ++++++++ packages/react-router-dom-v5-compat/package.json | 4 ++-- packages/react-router-dom/CHANGELOG.md | 8 ++++++++ packages/react-router-dom/package.json | 6 +++--- packages/react-router-native/CHANGELOG.md | 7 +++++++ packages/react-router-native/package.json | 4 ++-- packages/react-router/CHANGELOG.md | 8 ++++++++ packages/react-router/package.json | 4 ++-- packages/router/CHANGELOG.md | 6 ++++++ packages/router/package.json | 2 +- 11 files changed, 49 insertions(+), 11 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index ae0665b377..a73cab4fe2 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -9,6 +9,7 @@ "@remix-run/router": "1.7.0" }, "changesets": [ - "fix-blocker-loop" + "fix-blocker-loop", + "fix-reused-blocker" ] } diff --git a/packages/react-router-dom-v5-compat/CHANGELOG.md b/packages/react-router-dom-v5-compat/CHANGELOG.md index 0395231a9a..4a160adaab 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.14.1-pre.1 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.14.1-pre.1` + - `react-router-dom@6.14.1-pre.1` + ## 6.14.1-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 22d5de2d56..0c85ab242e 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.14.1-pre.0", + "version": "6.14.1-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.14.1-pre.0" + "react-router": "6.14.1-pre.1" }, "peerDependencies": { "react": ">=16.8", diff --git a/packages/react-router-dom/CHANGELOG.md b/packages/react-router-dom/CHANGELOG.md index da5999539b..e8ff0ce212 100644 --- a/packages/react-router-dom/CHANGELOG.md +++ b/packages/react-router-dom/CHANGELOG.md @@ -1,5 +1,13 @@ # `react-router-dom` +## 6.14.1-pre.1 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.14.1-pre.1` + - `@remix-run/router@1.7.1-pre.0` + ## 6.14.1-pre.0 ### Patch Changes diff --git a/packages/react-router-dom/package.json b/packages/react-router-dom/package.json index 0fa226915f..43df249018 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.14.1-pre.0", + "version": "6.14.1-pre.1", "description": "Declarative routing for React web applications", "keywords": [ "react", @@ -23,8 +23,8 @@ "module": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@remix-run/router": "1.7.0", - "react-router": "6.14.1-pre.0" + "@remix-run/router": "1.7.1-pre.0", + "react-router": "6.14.1-pre.1" }, "devDependencies": { "react": "^18.2.0", diff --git a/packages/react-router-native/CHANGELOG.md b/packages/react-router-native/CHANGELOG.md index 1fb18aee30..097147e8c5 100644 --- a/packages/react-router-native/CHANGELOG.md +++ b/packages/react-router-native/CHANGELOG.md @@ -1,5 +1,12 @@ # `react-router-native` +## 6.14.1-pre.1 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.14.1-pre.1` + ## 6.14.1-pre.0 ### Patch Changes diff --git a/packages/react-router-native/package.json b/packages/react-router-native/package.json index 85b35edeb0..0392d62f81 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.14.1-pre.0", + "version": "6.14.1-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.14.1-pre.0" + "react-router": "6.14.1-pre.1" }, "devDependencies": { "react": "^18.2.0", diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index f215ade90b..1c961fa0dd 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -1,5 +1,13 @@ # `react-router` +## 6.14.1-pre.1 + +### Patch Changes + +- Fix issue with reused blockers on subsequent navigations ([#10656](https://github.com/remix-run/react-router/pull/10656)) +- Updated dependencies: + - `@remix-run/router@1.7.1-pre.0` + ## 6.14.1-pre.0 ### Patch Changes diff --git a/packages/react-router/package.json b/packages/react-router/package.json index d67c973b7e..4c245329c4 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "react-router", - "version": "6.14.1-pre.0", + "version": "6.14.1-pre.1", "description": "Declarative routing for React", "keywords": [ "react", @@ -23,7 +23,7 @@ "module": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@remix-run/router": "1.7.0" + "@remix-run/router": "1.7.1-pre.0" }, "devDependencies": { "react": "^18.2.0" diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index db013caa35..563f5b0462 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -1,5 +1,11 @@ # `@remix-run/router` +## 1.7.1-pre.0 + +### Patch Changes + +- Fix issue with reused blockers on subsequent navigations ([#10656](https://github.com/remix-run/react-router/pull/10656)) + ## 1.7.0 ### Minor Changes diff --git a/packages/router/package.json b/packages/router/package.json index 5a796fd48d..d33cf376dd 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/router", - "version": "1.7.0", + "version": "1.7.1-pre.0", "description": "Nested/Data-driven/Framework-agnostic Routing", "keywords": [ "remix", From ed6c030961312ed6edaeee4ed5b978f73becca58 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Fri, 30 Jun 2023 14:56:56 -0400 Subject: [PATCH 7/8] Exit prerelease mode --- .changeset/pre.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index a73cab4fe2..c4a703a05c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,5 +1,5 @@ { - "mode": "pre", + "mode": "exit", "tag": "pre", "initialVersions": { "react-router": "6.14.0", From 8be5e51772b2953b67bec739387f8192c57949f5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 15:12:17 -0400 Subject: [PATCH 8/8] chore: Update version for release (#10659) --- .changeset/fix-blocker-loop.md | 5 ----- .changeset/fix-reused-blocker.md | 6 ------ .changeset/pre.json | 15 --------------- packages/react-router-dom-v5-compat/CHANGELOG.md | 14 +++----------- packages/react-router-dom-v5-compat/package.json | 4 ++-- packages/react-router-dom/CHANGELOG.md | 13 +++---------- packages/react-router-dom/package.json | 6 +++--- packages/react-router-native/CHANGELOG.md | 7 +++++++ packages/react-router-native/package.json | 4 ++-- packages/react-router/CHANGELOG.md | 13 ++++--------- packages/react-router/package.json | 4 ++-- packages/router/CHANGELOG.md | 4 ++-- packages/router/package.json | 2 +- 13 files changed, 29 insertions(+), 68 deletions(-) delete mode 100644 .changeset/fix-blocker-loop.md delete mode 100644 .changeset/fix-reused-blocker.md delete mode 100644 .changeset/pre.json diff --git a/.changeset/fix-blocker-loop.md b/.changeset/fix-blocker-loop.md deleted file mode 100644 index 3a1c6b6178..0000000000 --- a/.changeset/fix-blocker-loop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-router": patch ---- - -Fix loop in `unstable_useBlocker` when used with an unstable blocker function diff --git a/.changeset/fix-reused-blocker.md b/.changeset/fix-reused-blocker.md deleted file mode 100644 index 8efd6b157e..0000000000 --- a/.changeset/fix-reused-blocker.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"react-router": patch -"@remix-run/router": patch ---- - -Fix issue with reused blockers on subsequent navigations diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index c4a703a05c..0000000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "mode": "exit", - "tag": "pre", - "initialVersions": { - "react-router": "6.14.0", - "react-router-dom": "6.14.0", - "react-router-dom-v5-compat": "6.14.0", - "react-router-native": "6.14.0", - "@remix-run/router": "1.7.0" - }, - "changesets": [ - "fix-blocker-loop", - "fix-reused-blocker" - ] -} diff --git a/packages/react-router-dom-v5-compat/CHANGELOG.md b/packages/react-router-dom-v5-compat/CHANGELOG.md index 4a160adaab..6efd1151c3 100644 --- a/packages/react-router-dom-v5-compat/CHANGELOG.md +++ b/packages/react-router-dom-v5-compat/CHANGELOG.md @@ -1,20 +1,12 @@ # `react-router-dom-v5-compat` -## 6.14.1-pre.1 +## 6.14.1 ### Patch Changes - Updated dependencies: - - `react-router@6.14.1-pre.1` - - `react-router-dom@6.14.1-pre.1` - -## 6.14.1-pre.0 - -### Patch Changes - -- Updated dependencies: - - `react-router@6.14.1-pre.0` - - `react-router-dom@6.14.1-pre.0` + - `react-router@6.14.1` + - `react-router-dom@6.14.1` ## 6.14.0 diff --git a/packages/react-router-dom-v5-compat/package.json b/packages/react-router-dom-v5-compat/package.json index 0c85ab242e..72d0a6f3d7 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.14.1-pre.1", + "version": "6.14.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.14.1-pre.1" + "react-router": "6.14.1" }, "peerDependencies": { "react": ">=16.8", diff --git a/packages/react-router-dom/CHANGELOG.md b/packages/react-router-dom/CHANGELOG.md index e8ff0ce212..d1597550f4 100644 --- a/packages/react-router-dom/CHANGELOG.md +++ b/packages/react-router-dom/CHANGELOG.md @@ -1,19 +1,12 @@ # `react-router-dom` -## 6.14.1-pre.1 +## 6.14.1 ### Patch Changes - Updated dependencies: - - `react-router@6.14.1-pre.1` - - `@remix-run/router@1.7.1-pre.0` - -## 6.14.1-pre.0 - -### Patch Changes - -- Updated dependencies: - - `react-router@6.14.1-pre.0` + - `react-router@6.14.1` + - `@remix-run/router@1.7.1` ## 6.14.0 diff --git a/packages/react-router-dom/package.json b/packages/react-router-dom/package.json index 43df249018..2c5560a184 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.14.1-pre.1", + "version": "6.14.1", "description": "Declarative routing for React web applications", "keywords": [ "react", @@ -23,8 +23,8 @@ "module": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@remix-run/router": "1.7.1-pre.0", - "react-router": "6.14.1-pre.1" + "@remix-run/router": "1.7.1", + "react-router": "6.14.1" }, "devDependencies": { "react": "^18.2.0", diff --git a/packages/react-router-native/CHANGELOG.md b/packages/react-router-native/CHANGELOG.md index 097147e8c5..ca0716e02b 100644 --- a/packages/react-router-native/CHANGELOG.md +++ b/packages/react-router-native/CHANGELOG.md @@ -1,5 +1,12 @@ # `react-router-native` +## 6.14.1 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.14.1` + ## 6.14.1-pre.1 ### Patch Changes diff --git a/packages/react-router-native/package.json b/packages/react-router-native/package.json index 0392d62f81..1b60962649 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.14.1-pre.1", + "version": "6.14.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.14.1-pre.1" + "react-router": "6.14.1" }, "devDependencies": { "react": "^18.2.0", diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 1c961fa0dd..a03bff769f 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -1,18 +1,13 @@ # `react-router` -## 6.14.1-pre.1 - -### Patch Changes - -- Fix issue with reused blockers on subsequent navigations ([#10656](https://github.com/remix-run/react-router/pull/10656)) -- Updated dependencies: - - `@remix-run/router@1.7.1-pre.0` - -## 6.14.1-pre.0 +## 6.14.1 ### Patch Changes - Fix loop in `unstable_useBlocker` when used with an unstable blocker function ([#10652](https://github.com/remix-run/react-router/pull/10652)) +- Fix issues with reused blockers on subsequent navigations ([#10656](https://github.com/remix-run/react-router/pull/10656)) +- Updated dependencies: + - `@remix-run/router@1.7.1` ## 6.14.0 diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 4c245329c4..f7afe15fc7 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "react-router", - "version": "6.14.1-pre.1", + "version": "6.14.1", "description": "Declarative routing for React", "keywords": [ "react", @@ -23,7 +23,7 @@ "module": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@remix-run/router": "1.7.1-pre.0" + "@remix-run/router": "1.7.1" }, "devDependencies": { "react": "^18.2.0" diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index 563f5b0462..88e12af19c 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -1,10 +1,10 @@ # `@remix-run/router` -## 1.7.1-pre.0 +## 1.7.1 ### Patch Changes -- Fix issue with reused blockers on subsequent navigations ([#10656](https://github.com/remix-run/react-router/pull/10656)) +- Fix issues with reused blockers on subsequent navigations ([#10656](https://github.com/remix-run/react-router/pull/10656)) ## 1.7.0 diff --git a/packages/router/package.json b/packages/router/package.json index d33cf376dd..78c80bf95c 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/router", - "version": "1.7.1-pre.0", + "version": "1.7.1", "description": "Nested/Data-driven/Framework-agnostic Routing", "keywords": [ "remix",