Skip to content

Commit

Permalink
Bring in 6.26.2/6.27.0 release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
brophdawg11 committed Oct 11, 2024
1 parent bb9a10e commit 0061b03
Showing 1 changed file with 167 additions and 93 deletions.
260 changes: 167 additions & 93 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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
Expand Down

0 comments on commit 0061b03

Please sign in to comment.