-
-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bring in 6.26.2/6.27.0 release notes
- Loading branch information
1 parent
bb9a10e
commit 0061b03
Showing
1 changed file
with
167 additions
and
93 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,175 +13,182 @@ We manage release notes in this file instead of the paginated Github Releases Pa | |
<summary>Table of Contents</summary> | ||
|
||
- [React Router Releases](#react-router-releases) | ||
- [v6.26.1](#v6261) | ||
- [Patch Changes](#patch-changes) | ||
- [v6.26.0](#v6260) | ||
- [v6.27.0](#v6270) | ||
- [What's Changed](#whats-changed) | ||
- [Stabilized APIs](#stabilized-apis) | ||
- [Minor Changes](#minor-changes) | ||
- [Patch Changes](#patch-changes) | ||
- [v6.26.2](#v6262) | ||
- [Patch Changes](#patch-changes-1) | ||
- [v6.25.1](#v6251) | ||
- [v6.26.1](#v6261) | ||
- [Patch Changes](#patch-changes-2) | ||
- [v6.25.0](#v6250) | ||
- [What's Changed](#whats-changed) | ||
- [Stabilized `v7_skipActionErrorRevalidation`](#stabilized-v7_skipactionerrorrevalidation) | ||
- [v6.26.0](#v6260) | ||
- [Minor Changes](#minor-changes-1) | ||
- [Patch Changes](#patch-changes-3) | ||
- [v6.24.1](#v6241) | ||
- [v6.25.1](#v6251) | ||
- [Patch Changes](#patch-changes-4) | ||
- [v6.24.0](#v6240) | ||
- [v6.25.0](#v6250) | ||
- [What's Changed](#whats-changed-1) | ||
- [Lazy Route Discovery (a.k.a. "Fog of War")](#lazy-route-discovery-aka-fog-of-war) | ||
- [Stabilized `v7_skipActionErrorRevalidation`](#stabilized-v7_skipactionerrorrevalidation) | ||
- [Minor Changes](#minor-changes-2) | ||
- [Patch Changes](#patch-changes-5) | ||
- [v6.23.1](#v6231) | ||
- [v6.24.1](#v6241) | ||
- [Patch Changes](#patch-changes-6) | ||
- [v6.23.0](#v6230) | ||
- [v6.24.0](#v6240) | ||
- [What's Changed](#whats-changed-2) | ||
- [Lazy Route Discovery (a.k.a. "Fog of War")](#lazy-route-discovery-aka-fog-of-war) | ||
- [Minor Changes](#minor-changes-3) | ||
- [Patch Changes](#patch-changes-7) | ||
- [v6.23.1](#v6231) | ||
- [Patch Changes](#patch-changes-8) | ||
- [v6.23.0](#v6230) | ||
- [What's Changed](#whats-changed-3) | ||
- [Data Strategy (unstable)](#data-strategy-unstable) | ||
- [Skip Action Error Revalidation (unstable)](#skip-action-error-revalidation-unstable) | ||
- [Minor Changes](#minor-changes-3) | ||
- [Minor Changes](#minor-changes-4) | ||
- [v6.22.3](#v6223) | ||
- [Patch Changes](#patch-changes-7) | ||
- [Patch Changes](#patch-changes-9) | ||
- [v6.22.2](#v6222) | ||
- [Patch Changes](#patch-changes-8) | ||
- [Patch Changes](#patch-changes-10) | ||
- [v6.22.1](#v6221) | ||
- [Patch Changes](#patch-changes-9) | ||
- [Patch Changes](#patch-changes-11) | ||
- [v6.22.0](#v6220) | ||
- [What's Changed](#whats-changed-3) | ||
- [What's Changed](#whats-changed-4) | ||
- [Core Web Vitals Technology Report Flag](#core-web-vitals-technology-report-flag) | ||
- [Minor Changes](#minor-changes-4) | ||
- [Patch Changes](#patch-changes-10) | ||
- [Minor Changes](#minor-changes-5) | ||
- [Patch Changes](#patch-changes-12) | ||
- [v6.21.3](#v6213) | ||
- [Patch Changes](#patch-changes-11) | ||
- [Patch Changes](#patch-changes-13) | ||
- [v6.21.2](#v6212) | ||
- [Patch Changes](#patch-changes-12) | ||
- [Patch Changes](#patch-changes-14) | ||
- [v6.21.1](#v6211) | ||
- [Patch Changes](#patch-changes-13) | ||
- [Patch Changes](#patch-changes-15) | ||
- [v6.21.0](#v6210) | ||
- [What's Changed](#whats-changed-4) | ||
- [What's Changed](#whats-changed-5) | ||
- [`future.v7_relativeSplatPath`](#futurev7_relativesplatpath) | ||
- [Partial Hydration](#partial-hydration) | ||
- [Minor Changes](#minor-changes-5) | ||
- [Patch Changes](#patch-changes-14) | ||
- [v6.20.1](#v6201) | ||
- [Patch Changes](#patch-changes-15) | ||
- [v6.20.0](#v6200) | ||
- [Minor Changes](#minor-changes-6) | ||
- [Patch Changes](#patch-changes-16) | ||
- [v6.20.1](#v6201) | ||
- [Patch Changes](#patch-changes-17) | ||
- [v6.20.0](#v6200) | ||
- [Minor Changes](#minor-changes-7) | ||
- [Patch Changes](#patch-changes-18) | ||
- [v6.19.0](#v6190) | ||
- [What's Changed](#whats-changed-5) | ||
- [What's Changed](#whats-changed-6) | ||
- [`unstable_flushSync` API](#unstable_flushsync-api) | ||
- [Minor Changes](#minor-changes-7) | ||
- [Patch Changes](#patch-changes-17) | ||
- [Minor Changes](#minor-changes-8) | ||
- [Patch Changes](#patch-changes-19) | ||
- [v6.18.0](#v6180) | ||
- [What's Changed](#whats-changed-6) | ||
- [What's Changed](#whats-changed-7) | ||
- [New Fetcher APIs](#new-fetcher-apis) | ||
- [Persistence Future Flag (`future.v7_fetcherPersist`)](#persistence-future-flag-futurev7_fetcherpersist) | ||
- [Minor Changes](#minor-changes-8) | ||
- [Patch Changes](#patch-changes-18) | ||
- [Minor Changes](#minor-changes-9) | ||
- [Patch Changes](#patch-changes-20) | ||
- [v6.17.0](#v6170) | ||
- [What's Changed](#whats-changed-7) | ||
- [What's Changed](#whats-changed-8) | ||
- [View Transitions 🚀](#view-transitions-) | ||
- [Minor Changes](#minor-changes-9) | ||
- [Patch Changes](#patch-changes-19) | ||
- [v6.16.0](#v6160) | ||
- [Minor Changes](#minor-changes-10) | ||
- [Patch Changes](#patch-changes-20) | ||
- [v6.15.0](#v6150) | ||
- [Minor Changes](#minor-changes-11) | ||
- [Patch Changes](#patch-changes-21) | ||
- [v6.14.2](#v6142) | ||
- [v6.16.0](#v6160) | ||
- [Minor Changes](#minor-changes-11) | ||
- [Patch Changes](#patch-changes-22) | ||
- [v6.14.1](#v6141) | ||
- [Patch Changes](#patch-changes-23) | ||
- [v6.14.0](#v6140) | ||
- [What's Changed](#whats-changed-8) | ||
- [JSON/Text Submissions](#jsontext-submissions) | ||
- [v6.15.0](#v6150) | ||
- [Minor Changes](#minor-changes-12) | ||
- [Patch Changes](#patch-changes-23) | ||
- [v6.14.2](#v6142) | ||
- [Patch Changes](#patch-changes-24) | ||
- [v6.13.0](#v6130) | ||
- [v6.14.1](#v6141) | ||
- [Patch Changes](#patch-changes-25) | ||
- [v6.14.0](#v6140) | ||
- [What's Changed](#whats-changed-9) | ||
- [`future.v7_startTransition`](#futurev7_starttransition) | ||
- [JSON/Text Submissions](#jsontext-submissions) | ||
- [Minor Changes](#minor-changes-13) | ||
- [Patch Changes](#patch-changes-25) | ||
- [v6.12.1](#v6121) | ||
- [Patch Changes](#patch-changes-26) | ||
- [v6.12.0](#v6120) | ||
- [v6.13.0](#v6130) | ||
- [What's Changed](#whats-changed-10) | ||
- [`React.startTransition` support](#reactstarttransition-support) | ||
- [`future.v7_startTransition`](#futurev7_starttransition) | ||
- [Minor Changes](#minor-changes-14) | ||
- [Patch Changes](#patch-changes-27) | ||
- [v6.11.2](#v6112) | ||
- [v6.12.1](#v6121) | ||
- [Patch Changes](#patch-changes-28) | ||
- [v6.11.1](#v6111) | ||
- [Patch Changes](#patch-changes-29) | ||
- [v6.11.0](#v6110) | ||
- [v6.12.0](#v6120) | ||
- [What's Changed](#whats-changed-11) | ||
- [`React.startTransition` support](#reactstarttransition-support) | ||
- [Minor Changes](#minor-changes-15) | ||
- [Patch Changes](#patch-changes-29) | ||
- [v6.11.2](#v6112) | ||
- [Patch Changes](#patch-changes-30) | ||
- [v6.10.0](#v6100) | ||
- [What's Changed](#whats-changed-11) | ||
- [v6.11.1](#v6111) | ||
- [Patch Changes](#patch-changes-31) | ||
- [v6.11.0](#v6110) | ||
- [Minor Changes](#minor-changes-16) | ||
- [Patch Changes](#patch-changes-32) | ||
- [v6.10.0](#v6100) | ||
- [What's Changed](#whats-changed-12) | ||
- [Minor Changes](#minor-changes-17) | ||
- [`future.v7_normalizeFormMethod`](#futurev7_normalizeformmethod) | ||
- [Patch Changes](#patch-changes-31) | ||
- [Patch Changes](#patch-changes-33) | ||
- [v6.9.0](#v690) | ||
- [What's Changed](#whats-changed-12) | ||
- [What's Changed](#whats-changed-13) | ||
- [`Component`/`ErrorBoundary` route properties](#componenterrorboundary-route-properties) | ||
- [Introducing Lazy Route Modules](#introducing-lazy-route-modules) | ||
- [Minor Changes](#minor-changes-17) | ||
- [Patch Changes](#patch-changes-32) | ||
- [Minor Changes](#minor-changes-18) | ||
- [Patch Changes](#patch-changes-34) | ||
- [v6.8.2](#v682) | ||
- [Patch Changes](#patch-changes-33) | ||
- [Patch Changes](#patch-changes-35) | ||
- [v6.8.1](#v681) | ||
- [Patch Changes](#patch-changes-34) | ||
- [Patch Changes](#patch-changes-36) | ||
- [v6.8.0](#v680) | ||
- [Minor Changes](#minor-changes-18) | ||
- [Patch Changes](#patch-changes-35) | ||
- [v6.7.0](#v670) | ||
- [Minor Changes](#minor-changes-19) | ||
- [Patch Changes](#patch-changes-36) | ||
- [v6.6.2](#v662) | ||
- [Patch Changes](#patch-changes-37) | ||
- [v6.6.1](#v661) | ||
- [Patch Changes](#patch-changes-38) | ||
- [v6.6.0](#v660) | ||
- [What's Changed](#whats-changed-13) | ||
- [v6.7.0](#v670) | ||
- [Minor Changes](#minor-changes-20) | ||
- [Patch Changes](#patch-changes-38) | ||
- [v6.6.2](#v662) | ||
- [Patch Changes](#patch-changes-39) | ||
- [v6.5.0](#v650) | ||
- [v6.6.1](#v661) | ||
- [Patch Changes](#patch-changes-40) | ||
- [v6.6.0](#v660) | ||
- [What's Changed](#whats-changed-14) | ||
- [Minor Changes](#minor-changes-21) | ||
- [Patch Changes](#patch-changes-40) | ||
- [v6.4.5](#v645) | ||
- [Patch Changes](#patch-changes-41) | ||
- [v6.4.4](#v644) | ||
- [v6.5.0](#v650) | ||
- [What's Changed](#whats-changed-15) | ||
- [Minor Changes](#minor-changes-22) | ||
- [Patch Changes](#patch-changes-42) | ||
- [v6.4.3](#v643) | ||
- [v6.4.5](#v645) | ||
- [Patch Changes](#patch-changes-43) | ||
- [v6.4.2](#v642) | ||
- [v6.4.4](#v644) | ||
- [Patch Changes](#patch-changes-44) | ||
- [v6.4.1](#v641) | ||
- [v6.4.3](#v643) | ||
- [Patch Changes](#patch-changes-45) | ||
- [v6.4.0](#v640) | ||
- [What's Changed](#whats-changed-15) | ||
- [Remix Data APIs](#remix-data-apis) | ||
- [v6.4.2](#v642) | ||
- [Patch Changes](#patch-changes-46) | ||
- [v6.3.0](#v630) | ||
- [Minor Changes](#minor-changes-22) | ||
- [v6.2.2](#v622) | ||
- [v6.4.1](#v641) | ||
- [Patch Changes](#patch-changes-47) | ||
- [v6.2.1](#v621) | ||
- [v6.4.0](#v640) | ||
- [What's Changed](#whats-changed-16) | ||
- [Remix Data APIs](#remix-data-apis) | ||
- [Patch Changes](#patch-changes-48) | ||
- [v6.2.0](#v620) | ||
- [v6.3.0](#v630) | ||
- [Minor Changes](#minor-changes-23) | ||
- [v6.2.2](#v622) | ||
- [Patch Changes](#patch-changes-49) | ||
- [v6.1.1](#v611) | ||
- [v6.2.1](#v621) | ||
- [Patch Changes](#patch-changes-50) | ||
- [v6.1.0](#v610) | ||
- [v6.2.0](#v620) | ||
- [Minor Changes](#minor-changes-24) | ||
- [Patch Changes](#patch-changes-51) | ||
- [v6.0.2](#v602) | ||
- [v6.1.1](#v611) | ||
- [Patch Changes](#patch-changes-52) | ||
- [v6.0.1](#v601) | ||
- [v6.1.0](#v610) | ||
- [Minor Changes](#minor-changes-25) | ||
- [Patch Changes](#patch-changes-53) | ||
- [v6.0.2](#v602) | ||
- [Patch Changes](#patch-changes-54) | ||
- [v6.0.1](#v601) | ||
- [Patch Changes](#patch-changes-55) | ||
- [v6.0.0](#v600) | ||
|
||
</details> | ||
|
@@ -205,6 +212,73 @@ Date: YYYY-MM-DD | |
**Full Changelog**: [`v6.X.Y...v6.X.Y`](https://github.com/remix-run/react-router/compare/[email protected]@6.X.Y) | ||
--> | ||
|
||
## v6.27.0 | ||
|
||
Date: 2024-10-11 | ||
|
||
### What's Changed | ||
|
||
#### Stabilized APIs | ||
|
||
This release stabilizes a handful of "unstable" APIs in preparation for the [pending](https://x.com/remix_run/status/1841926034868077009) React Router v7 release (see [these](https://remix.run/blog/merging-remix-and-react-router) [posts](https://remix.run/blog/incremental-path-to-react-19) for more info): | ||
|
||
- `unstable_dataStrategy` → `dataStrategy` (`createBrowserRouter` and friends) ([Docs](https://reactrouter.com/v6/routers/create-browser-router#optsdatastrategy)) | ||
- `unstable_patchRoutesOnNavigation` → `patchRoutesOnNavigation` (`createBrowserRouter` and friends) ([Docs](https://reactrouter.com/v6/routers/create-browser-router#optspatchroutesonnavigation)) | ||
- `unstable_flushSync` → `flushSync` (`useSubmit`, `fetcher.load`, `fetcher.submit`) ([Docs](https://reactrouter.com/v6/hooks/use-submit#optionsflushsync)) | ||
- `unstable_viewTransition` → `viewTransition` (`<Link>`, `<Form>`, `useNavigate`, `useSubmit`) ([Docs](https://reactrouter.com/v6/components/link#viewtransition)) | ||
|
||
### Minor Changes | ||
|
||
- Stabilize the `unstable_flushSync` option for navigations and fetchers ([#11989](https://github.com/remix-run/react-router/pull/11989)) | ||
- Stabilize the `unstable_viewTransition` option for navigations and the corresponding `unstable_useViewTransitionState` hook ([#11989](https://github.com/remix-run/react-router/pull/11989)) | ||
- Stabilize `unstable_dataStrategy` ([#11974](https://github.com/remix-run/react-router/pull/11974)) | ||
- Stabilize `unstable_patchRoutesOnNavigation` ([#11973](https://github.com/remix-run/react-router/pull/11973)) | ||
- Add new `PatchRoutesOnNavigationFunctionArgs` type for convenience ([#11967](https://github.com/remix-run/react-router/pull/11967)) | ||
|
||
### Patch Changes | ||
|
||
- Fix bug when submitting to the current contextual route (parent route with an index child) when an `?index` param already exists from a prior submission ([#12003](https://github.com/remix-run/react-router/pull/12003)) | ||
- Fix `useFormAction` bug - when removing `?index` param it would not keep other non-Remix `index` params ([#12003](https://github.com/remix-run/react-router/pull/12003)) | ||
- Fix bug with fetchers not persisting `preventScrollReset` through redirects during concurrent fetches ([#11999](https://github.com/remix-run/react-router/pull/11999)) | ||
- Avoid unnecessary `console.error` on fetcher abort due to back-to-back revalidation calls ([#12050](https://github.com/remix-run/react-router/pull/12050)) | ||
- Fix bugs with `partialHydration` when hydrating with errors ([#12070](https://github.com/remix-run/react-router/pull/12070)) | ||
- Remove internal cache to fix issues with interrupted `patchRoutesOnNavigation` calls ([#12055](https://github.com/remix-run/react-router/pull/12055)) | ||
- ⚠️ This may be a breaking change if you were relying on this behavior in the `unstable_` API | ||
- We used to cache in-progress calls to `patchRoutesOnNavigation` internally so that multiple navigations with the same start/end would only execute the function once and use the same promise | ||
- However, this approach was at odds with `patch` short circuiting if a navigation was interrupted (and the `request.signal` aborted) since the first invocation's `patch` would no-op | ||
- This cache also made some assumptions as to what a valid cache key might be - and is oblivious to any other application-state changes that may have occurred | ||
- So, the cache has been removed because in _most_ cases, repeated calls to something like `import()` for async routes will already be cached automatically - and if not it's easy enough for users to implement this cache in userland | ||
- Remove internal `discoveredRoutes` FIFO queue from `unstable_patchRoutesOnNavigation` ([#11977](https://github.com/remix-run/react-router/pull/11977)) | ||
- ⚠️ This may be a breaking change if you were relying on this behavior in the `unstable_` API | ||
- This was originally implemented as an optimization but it proved to be a bit too limiting | ||
- If you need this optimization you can implement your own cache inside `patchRoutesOnNavigation` | ||
- Fix types for `RouteObject` within `PatchRoutesOnNavigationFunction`'s `patch` method so it doesn't expect agnostic route objects passed to `patch` ([#11967](https://github.com/remix-run/react-router/pull/11967)) | ||
- Expose errors thrown from `patchRoutesOnNavigation` directly to `useRouteError` instead of wrapping them in a 400 `ErrorResponse` instance ([#12111](https://github.com/remix-run/react-router/pull/12111)) | ||
|
||
**Full Changelog**: [`v6.26.2...v6.27.0`](https://github.com/remix-run/react-router/compare/[email protected]@6.27.0) | ||
|
||
## v6.26.2 | ||
|
||
Date: 2024-09-09 | ||
|
||
### Patch Changes | ||
|
||
- Update the `unstable_dataStrategy` API to allow for more advanced implementations ([#11943](https://github.com/remix-run/react-router/pull/11943)) | ||
- ⚠️ If you have already adopted `unstable_dataStrategy`, please review carefully as this includes breaking changes to this API | ||
- Rename `unstable_HandlerResult` to `unstable_DataStrategyResult` | ||
- Change the return signature of `unstable_dataStrategy` from a parallel array of `unstable_DataStrategyResult[]` (parallel to `matches`) to a key/value object of `routeId => unstable_DataStrategyResult` | ||
- This allows more advanced control over revalidation behavior because you can opt-into or out-of revalidating data that may not have been revalidated by default (via `match.shouldLoad`) | ||
- You should now return/throw a result from your `handlerOverride` instead of returning a `DataStrategyResult` | ||
- The return value (or thrown error) from your `handlerOverride` will be wrapped up into a `DataStrategyResult` and returned fromm `match.resolve` | ||
- Therefore, if you are aggregating the results of `match.resolve()` into a final results object you should not need to think about the `DataStrategyResult` type | ||
- If you are manually filling your results object from within your `handlerOverride`, then you will need to assign a `DataStrategyResult` as the value so React Router knows if it's a successful execution or an error (see examples in the documentation for details) | ||
- Added a new `fetcherKey` parameter to `unstable_dataStrategy` to allow differentiation from navigational and fetcher calls | ||
- Preserve opted-in view transitions through redirects ([#11925](https://github.com/remix-run/react-router/pull/11925)) | ||
- Preserve pending view transitions through a router revalidation call ([#11917](https://github.com/remix-run/react-router/pull/11917)) | ||
- Fix blocker usage when `blocker.proceed` is called quickly/synchronously ([#11930](https://github.com/remix-run/react-router/pull/11930)) | ||
|
||
**Full Changelog**: [`v6.26.1...v6.26.2`](https://github.com/remix-run/react-router/compare/[email protected]@6.26.2) | ||
|
||
## v6.26.1 | ||
|
||
Date: 2024-08-15 | ||
|