diff --git a/.changeset/pre.json b/.changeset/pre.json index 4d3f85133d..01bb5281cc 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -8,5 +8,10 @@ "react-router-native": "6.25.1", "@remix-run/router": "1.18.0" }, - "changesets": [] + "changesets": [ + "fifty-rockets-hide", + "five-bottles-press", + "hip-poets-provide", + "sour-dryers-walk" + ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 3351d2a498..306ba014c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,170 +13,173 @@ We manage release notes in this file instead of the paginated Github Releases Pa Table of Contents - [React Router Releases](#react-router-releases) - - [v6.25.1](#v6251) + - [v6.26.0](#v6260) + - [Minor Changes](#minor-changes) - [Patch Changes](#patch-changes) + - [v6.25.1](#v6251) + - [Patch Changes](#patch-changes-1) - [v6.25.0](#v6250) - [What's Changed](#whats-changed) - [Stabilized `v7_skipActionErrorRevalidation`](#stabilized-v7_skipactionerrorrevalidation) - - [Minor Changes](#minor-changes) - - [Patch Changes](#patch-changes-1) - - [v6.24.1](#v6241) + - [Minor Changes](#minor-changes-1) - [Patch Changes](#patch-changes-2) + - [v6.24.1](#v6241) + - [Patch Changes](#patch-changes-3) - [v6.24.0](#v6240) - [What's Changed](#whats-changed-1) - [Lazy Route Discovery (a.k.a. "Fog of War")](#lazy-route-discovery-aka-fog-of-war) - - [Minor Changes](#minor-changes-1) - - [Patch Changes](#patch-changes-3) - - [v6.23.1](#v6231) + - [Minor Changes](#minor-changes-2) - [Patch Changes](#patch-changes-4) + - [v6.23.1](#v6231) + - [Patch Changes](#patch-changes-5) - [v6.23.0](#v6230) - [What's Changed](#whats-changed-2) - [Data Strategy (unstable)](#data-strategy-unstable) - [Skip Action Error Revalidation (unstable)](#skip-action-error-revalidation-unstable) - - [Minor Changes](#minor-changes-2) + - [Minor Changes](#minor-changes-3) - [v6.22.3](#v6223) - - [Patch Changes](#patch-changes-5) - - [v6.22.2](#v6222) - [Patch Changes](#patch-changes-6) - - [v6.22.1](#v6221) + - [v6.22.2](#v6222) - [Patch Changes](#patch-changes-7) + - [v6.22.1](#v6221) + - [Patch Changes](#patch-changes-8) - [v6.22.0](#v6220) - [What's Changed](#whats-changed-3) - [Core Web Vitals Technology Report Flag](#core-web-vitals-technology-report-flag) - - [Minor Changes](#minor-changes-3) - - [Patch Changes](#patch-changes-8) - - [v6.21.3](#v6213) + - [Minor Changes](#minor-changes-4) - [Patch Changes](#patch-changes-9) - - [v6.21.2](#v6212) + - [v6.21.3](#v6213) - [Patch Changes](#patch-changes-10) - - [v6.21.1](#v6211) + - [v6.21.2](#v6212) - [Patch Changes](#patch-changes-11) + - [v6.21.1](#v6211) + - [Patch Changes](#patch-changes-12) - [v6.21.0](#v6210) - [What's Changed](#whats-changed-4) - [`future.v7_relativeSplatPath`](#futurev7_relativesplatpath) - [Partial Hydration](#partial-hydration) - - [Minor Changes](#minor-changes-4) - - [Patch Changes](#patch-changes-12) - - [v6.20.1](#v6201) - - [Patch Changes](#patch-changes-13) - - [v6.20.0](#v6200) - [Minor Changes](#minor-changes-5) + - [Patch Changes](#patch-changes-13) + - [v6.20.1](#v6201) - [Patch Changes](#patch-changes-14) + - [v6.20.0](#v6200) + - [Minor Changes](#minor-changes-6) + - [Patch Changes](#patch-changes-15) - [v6.19.0](#v6190) - [What's Changed](#whats-changed-5) - [`unstable_flushSync` API](#unstable_flushsync-api) - - [Minor Changes](#minor-changes-6) - - [Patch Changes](#patch-changes-15) + - [Minor Changes](#minor-changes-7) + - [Patch Changes](#patch-changes-16) - [v6.18.0](#v6180) - [What's Changed](#whats-changed-6) - [New Fetcher APIs](#new-fetcher-apis) - [Persistence Future Flag (`future.v7_fetcherPersist`)](#persistence-future-flag-futurev7_fetcherpersist) - - [Minor Changes](#minor-changes-7) - - [Patch Changes](#patch-changes-16) + - [Minor Changes](#minor-changes-8) + - [Patch Changes](#patch-changes-17) - [v6.17.0](#v6170) - [What's Changed](#whats-changed-7) - [View Transitions 🚀](#view-transitions-) - - [Minor Changes](#minor-changes-8) - - [Patch Changes](#patch-changes-17) - - [v6.16.0](#v6160) - [Minor Changes](#minor-changes-9) - [Patch Changes](#patch-changes-18) - - [v6.15.0](#v6150) + - [v6.16.0](#v6160) - [Minor Changes](#minor-changes-10) - [Patch Changes](#patch-changes-19) - - [v6.14.2](#v6142) + - [v6.15.0](#v6150) + - [Minor Changes](#minor-changes-11) - [Patch Changes](#patch-changes-20) - - [v6.14.1](#v6141) + - [v6.14.2](#v6142) - [Patch Changes](#patch-changes-21) + - [v6.14.1](#v6141) + - [Patch Changes](#patch-changes-22) - [v6.14.0](#v6140) - [What's Changed](#whats-changed-8) - [JSON/Text Submissions](#jsontext-submissions) - - [Minor Changes](#minor-changes-11) - - [Patch Changes](#patch-changes-22) + - [Minor Changes](#minor-changes-12) + - [Patch Changes](#patch-changes-23) - [v6.13.0](#v6130) - [What's Changed](#whats-changed-9) - [`future.v7_startTransition`](#futurev7_starttransition) - - [Minor Changes](#minor-changes-12) - - [Patch Changes](#patch-changes-23) - - [v6.12.1](#v6121) + - [Minor Changes](#minor-changes-13) - [Patch Changes](#patch-changes-24) + - [v6.12.1](#v6121) + - [Patch Changes](#patch-changes-25) - [v6.12.0](#v6120) - [What's Changed](#whats-changed-10) - [`React.startTransition` support](#reactstarttransition-support) - - [Minor Changes](#minor-changes-13) - - [Patch Changes](#patch-changes-25) - - [v6.11.2](#v6112) + - [Minor Changes](#minor-changes-14) - [Patch Changes](#patch-changes-26) - - [v6.11.1](#v6111) + - [v6.11.2](#v6112) - [Patch Changes](#patch-changes-27) - - [v6.11.0](#v6110) - - [Minor Changes](#minor-changes-14) + - [v6.11.1](#v6111) - [Patch Changes](#patch-changes-28) + - [v6.11.0](#v6110) + - [Minor Changes](#minor-changes-15) + - [Patch Changes](#patch-changes-29) - [v6.10.0](#v6100) - [What's Changed](#whats-changed-11) - - [Minor Changes](#minor-changes-15) + - [Minor Changes](#minor-changes-16) - [`future.v7_normalizeFormMethod`](#futurev7_normalizeformmethod) - - [Patch Changes](#patch-changes-29) + - [Patch Changes](#patch-changes-30) - [v6.9.0](#v690) - [What's Changed](#whats-changed-12) - [`Component`/`ErrorBoundary` route properties](#componenterrorboundary-route-properties) - [Introducing Lazy Route Modules](#introducing-lazy-route-modules) - - [Minor Changes](#minor-changes-16) - - [Patch Changes](#patch-changes-30) - - [v6.8.2](#v682) + - [Minor Changes](#minor-changes-17) - [Patch Changes](#patch-changes-31) - - [v6.8.1](#v681) + - [v6.8.2](#v682) - [Patch Changes](#patch-changes-32) - - [v6.8.0](#v680) - - [Minor Changes](#minor-changes-17) + - [v6.8.1](#v681) - [Patch Changes](#patch-changes-33) - - [v6.7.0](#v670) + - [v6.8.0](#v680) - [Minor Changes](#minor-changes-18) - [Patch Changes](#patch-changes-34) - - [v6.6.2](#v662) + - [v6.7.0](#v670) + - [Minor Changes](#minor-changes-19) - [Patch Changes](#patch-changes-35) - - [v6.6.1](#v661) + - [v6.6.2](#v662) - [Patch Changes](#patch-changes-36) + - [v6.6.1](#v661) + - [Patch Changes](#patch-changes-37) - [v6.6.0](#v660) - [What's Changed](#whats-changed-13) - - [Minor Changes](#minor-changes-19) - - [Patch Changes](#patch-changes-37) - - [v6.5.0](#v650) - - [What's Changed](#whats-changed-14) - [Minor Changes](#minor-changes-20) - [Patch Changes](#patch-changes-38) - - [v6.4.5](#v645) + - [v6.5.0](#v650) + - [What's Changed](#whats-changed-14) + - [Minor Changes](#minor-changes-21) - [Patch Changes](#patch-changes-39) - - [v6.4.4](#v644) + - [v6.4.5](#v645) - [Patch Changes](#patch-changes-40) - - [v6.4.3](#v643) + - [v6.4.4](#v644) - [Patch Changes](#patch-changes-41) - - [v6.4.2](#v642) + - [v6.4.3](#v643) - [Patch Changes](#patch-changes-42) - - [v6.4.1](#v641) + - [v6.4.2](#v642) - [Patch Changes](#patch-changes-43) + - [v6.4.1](#v641) + - [Patch Changes](#patch-changes-44) - [v6.4.0](#v640) - [What's Changed](#whats-changed-15) - [Remix Data APIs](#remix-data-apis) - - [Patch Changes](#patch-changes-44) + - [Patch Changes](#patch-changes-45) - [v6.3.0](#v630) - - [Minor Changes](#minor-changes-21) + - [Minor Changes](#minor-changes-22) - [v6.2.2](#v622) - - [Patch Changes](#patch-changes-45) - - [v6.2.1](#v621) - [Patch Changes](#patch-changes-46) - - [v6.2.0](#v620) - - [Minor Changes](#minor-changes-22) + - [v6.2.1](#v621) - [Patch Changes](#patch-changes-47) - - [v6.1.1](#v611) - - [Patch Changes](#patch-changes-48) - - [v6.1.0](#v610) + - [v6.2.0](#v620) - [Minor Changes](#minor-changes-23) + - [Patch Changes](#patch-changes-48) + - [v6.1.1](#v611) - [Patch Changes](#patch-changes-49) - - [v6.0.2](#v602) + - [v6.1.0](#v610) + - [Minor Changes](#minor-changes-24) - [Patch Changes](#patch-changes-50) - - [v6.0.1](#v601) + - [v6.0.2](#v602) - [Patch Changes](#patch-changes-51) + - [v6.0.1](#v601) + - [Patch Changes](#patch-changes-52) - [v6.0.0](#v600) @@ -200,6 +203,28 @@ Date: YYYY-MM-DD **Full Changelog**: [`v6.X.Y...v6.X.Y`](https://github.com/remix-run/react-router/compare/react-router@6.X.Y...react-router@6.X.Y) --> +## v6.26.0 + +Date: 2024-07-31 + +### Minor Changes + +- Add a new `replace(url, init?)` alternative to `redirect(url, init?)` that performs a `history.replaceState` instead of a `history.pushState` on client-side navigation redirects ([#11811](https://github.com/remix-run/react-router/pull/11811)) +- Add a new `unstable_data()` API for usage with Remix Single Fetch ([#11836](https://github.com/remix-run/react-router/pull/11836)) + - This API is not intended for direct usage in React Router SPA applications + - It is primarily intended for usage with `createStaticHandler.query()` to allow loaders/actions to return arbitrary data along with custom `status`/`headers` without forcing the serialization of data into a `Response` instance + - This allows for more advanced serialization tactics via `unstable_dataStrategy` such as serializing via `turbo-stream` in Remix Single Fetch + - ⚠️ This removes the `status` field from `HandlerResult` + - If you need to return a specific `status` from `unstable_dataStrategy` you should instead do so via `unstable_data()` + +### Patch Changes + +- Fix internal cleanup of interrupted fetchers to avoid invalid revalidations on navigations ([#11839](https://github.com/remix-run/react-router/pull/11839)) +- Fix initial hydration behavior when using `future.v7_partialHydration` along with `unstable_patchRoutesOnMiss` ([#11838](https://github.com/remix-run/react-router/pull/11838)) + - During initial hydration, `router.state.matches` will now include any partial matches so that we can render ancestor `HydrateFallback` components + +**Full Changelog**: [`v6.25.1...v6.26.0`](https://github.com/remix-run/react-router/compare/react-router@6.25.1...react-router@6.26.0) + ## v6.25.1 Date: 2024-07-17 diff --git a/packages/react-router-dom-v5-compat/CHANGELOG.md b/packages/react-router-dom-v5-compat/CHANGELOG.md index 408f02da5f..1dcc8c742e 100644 --- a/packages/react-router-dom-v5-compat/CHANGELOG.md +++ b/packages/react-router-dom-v5-compat/CHANGELOG.md @@ -1,5 +1,14 @@ # `react-router-dom-v5-compat` +## 6.26.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/router@1.19.0-pre.0` + - `react-router@6.26.0-pre.0` + - `react-router-dom@6.26.0-pre.0` + ## 6.25.1 ### Patch Changes diff --git a/packages/react-router-dom-v5-compat/package.json b/packages/react-router-dom-v5-compat/package.json index d403b4a61a..9146d9c7b5 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.25.1", + "version": "6.26.0-pre.0", "description": "Migration path to React Router v6 from v4/5", "keywords": [ "react", diff --git a/packages/react-router-dom/CHANGELOG.md b/packages/react-router-dom/CHANGELOG.md index 29fa6b056a..4ac86f1f5f 100644 --- a/packages/react-router-dom/CHANGELOG.md +++ b/packages/react-router-dom/CHANGELOG.md @@ -1,5 +1,21 @@ # `react-router-dom` +## 6.26.0-pre.0 + +### Minor Changes + +- Add a new `replace(url, init?)` alternative to `redirect(url, init?)` that performs a `history.replaceState` instead of a `history.pushState` on client-side navigation redirects ([#11811](https://github.com/remix-run/react-router/pull/11811)) + +### Patch Changes + +- Fix initial hydration behavior when using `future.v7_partialHydration` along with `unstable_patchRoutesOnMiss` ([#11838](https://github.com/remix-run/react-router/pull/11838)) + + - During initial hydration, `router.state.matches` will now include any partial matches so that we can render ancestor `HydrateFallback` components + +- Updated dependencies: + - `@remix-run/router@1.19.0-pre.0` + - `react-router@6.26.0-pre.0` + ## 6.25.1 ### Patch Changes diff --git a/packages/react-router-dom/package.json b/packages/react-router-dom/package.json index 07d9e85cfa..a40e5e5d11 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.25.1", + "version": "6.26.0-pre.0", "description": "Declarative routing for React web applications", "keywords": [ "react", diff --git a/packages/react-router-native/CHANGELOG.md b/packages/react-router-native/CHANGELOG.md index 25dd5356c2..d4ff3973e9 100644 --- a/packages/react-router-native/CHANGELOG.md +++ b/packages/react-router-native/CHANGELOG.md @@ -1,5 +1,12 @@ # `react-router-native` +## 6.26.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `react-router@6.26.0-pre.0` + ## 6.25.1 ### Patch Changes diff --git a/packages/react-router-native/package.json b/packages/react-router-native/package.json index 8b70b1c312..dc418ec0d8 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.25.1", + "version": "6.26.0-pre.0", "description": "Declarative routing for React Native applications", "keywords": [ "react", diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 8a156c98e4..4508df626b 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -1,5 +1,20 @@ # `react-router` +## 6.26.0-pre.0 + +### Minor Changes + +- Add a new `replace(url, init?)` alternative to `redirect(url, init?)` that performs a `history.replaceState` instead of a `history.pushState` on client-side navigation redirects ([#11811](https://github.com/remix-run/react-router/pull/11811)) + +### Patch Changes + +- Fix initial hydration behavior when using `future.v7_partialHydration` along with `unstable_patchRoutesOnMiss` ([#11838](https://github.com/remix-run/react-router/pull/11838)) + + - During initial hydration, `router.state.matches` will now include any partial matches so that we can render ancestor `HydrateFallback` components + +- Updated dependencies: + - `@remix-run/router@1.19.0-pre.0` + ## 6.25.1 No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/react-router/blob/main/CHANGELOG.md) for an overview of all changes in v6.25.1. diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 13e6fbac6d..937e7c36bd 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "react-router", - "version": "6.25.1", + "version": "6.26.0-pre.0", "description": "Declarative routing for React", "keywords": [ "react", diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index 2b7c0cb831..56cb059f0c 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -1,5 +1,33 @@ # `@remix-run/router` +## 1.19.0-pre.0 + +### Minor Changes + +- Add a new `unstable_data()` API for usage with Remix Single Fetch ([#11836](https://github.com/remix-run/react-router/pull/11836)) + + - This API is not intended for direct usage in React Router SPA applications + - It is primarily intended for usage with `createStaticHandler.query()` to allow loaders/actions to return arbitrary data + `status`/`headers` without forcing the serialization of data into a `Response` instance + - This allows for more advanced serialization tactics via `unstable_dataStrategy` such as serializing via `turbo-stream` in Remix Single Fetch + - ⚠️ This removes the `status` field from `HandlerResult` + - If you need to return a specific `status` from `unstable_dataStrategy` you should instead do so via `unstable_data()` + +- Add a new `replace(url, init?)` alternative to `redirect(url, init?)` that performs a `history.replaceState` instead of a `history.pushState` on client-side navigation redirects ([#11811](https://github.com/remix-run/react-router/pull/11811)) + +### Patch Changes + +- Fix internal cleanup of interrupted fetchers to avoid invalid revalidations on navigations ([#11839](https://github.com/remix-run/react-router/pull/11839)) + + - When a `fetcher.load` is interrupted by an `action` submission, we track it internally and force revalidation once the `action` completes + - We previously only cleared out this internal tracking info on a successful _navigation_ submission + - Therefore, if the `fetcher.load` was interrupted by a `fetcher.submit`, then we wouldn't remove it from this internal tracking info on successful load (incorrectly) + - And then on the next navigation it's presence in the internal tracking would automatically trigger execution of the `fetcher.load` again, ignoring any `shouldRevalidate` logic + - This fix cleans up the internal tracking so it applies to both navigation submission and fetcher submissions + +- Fix initial hydration behavior when using `future.v7_partialHydration` along with `unstable_patchRoutesOnMiss` ([#11838](https://github.com/remix-run/react-router/pull/11838)) + + - During initial hydration, `router.state.matches` will now include any partial matches so that we can render ancestor `HydrateFallback` components + ## 1.18.0 ### Minor Changes diff --git a/packages/router/package.json b/packages/router/package.json index 4c742439a4..c728c76d3d 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/router", - "version": "1.18.0", + "version": "1.19.0-pre.0", "description": "Nested/Data-driven/Framework-agnostic Routing", "keywords": [ "remix",