remix-run/react-router (react-router-dom)
### [`v7.0.1`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#701)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@7.0.0...react-router-dom@7.0.1)
##### Patch Changes
- Updated dependencies:
- `react-router@7.0.1`
### [`v7.0.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#700)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.28.0...react-router-dom@7.0.0)
##### Major Changes
- Remove the original `defer` implementation in favor of using raw promises via single fetch and `turbo-stream`. This removes these exports from React Router: ([#11744](https://redirect.github.com/remix-run/react-router/pull/11744))
- `defer`
- `AbortedDeferredError`
- `type TypedDeferredData`
- `UNSAFE_DeferredData`
- `UNSAFE_DEFERRED_SYMBOL`,
- Use `createRemixRouter`/`RouterProvider` in `entry.client` instead of `RemixBrowser` ([#11469](https://redirect.github.com/remix-run/react-router/pull/11469))
- Remove single_fetch future flag. ([#11522](https://redirect.github.com/remix-run/react-router/pull/11522))
- Remove `future.v7_startTransition` flag ([#11696](https://redirect.github.com/remix-run/react-router/pull/11696))
- Remove `future.v7_normalizeFormMethod` future flag ([#11697](https://redirect.github.com/remix-run/react-router/pull/11697))
- Allow returning `undefined` from actions and loaders ([#11680](https://redirect.github.com/remix-run/react-router/pull/11680))
- update minimum node version to 18 ([#11690](https://redirect.github.com/remix-run/react-router/pull/11690))
- Remove `future.v7_prependBasename` from the ionternalized `@remix-run/router` package ([#11726](https://redirect.github.com/remix-run/react-router/pull/11726))
- Remove `future.v7_throwAbortReason` from internalized `@remix-run/router` package ([#11728](https://redirect.github.com/remix-run/react-router/pull/11728))
- Add `exports` field to all packages ([#11675](https://redirect.github.com/remix-run/react-router/pull/11675))
- node package no longer re-exports from react-router ([#11702](https://redirect.github.com/remix-run/react-router/pull/11702))
- updates the minimum React version to 18 ([#11689](https://redirect.github.com/remix-run/react-router/pull/11689))
- - Remove the `future.v7_partialHydration` flag ([#11725](https://redirect.github.com/remix-run/react-router/pull/11725))
- This also removes the `` prop
- To migrate, move the `fallbackElement` to a `hydrateFallbackElement`/`HydrateFallback` on your root route
- Also worth nothing there is a related breaking changer with this future flag:
- Without `future.v7_partialHydration` (when using `fallbackElement`), `state.navigation` was populated during the initial load
- With `future.v7_partialHydration`, `state.navigation` remains in an `"idle"` state during the initial load
- Remove `future.v7_fetcherPersist` flag ([#11731](https://redirect.github.com/remix-run/react-router/pull/11731))
##### Minor Changes
- Add prefetching support to `Link`/`NavLink` when using Remix SSR ([#11402](https://redirect.github.com/remix-run/react-router/pull/11402))
- Enhance `ScrollRestoration` so it can restore properly on an SSR'd document load ([#11401](https://redirect.github.com/remix-run/react-router/pull/11401))
- Add built-in Remix-style hydration support to `RouterProvider`. When running from a Remix-SSR'd HTML payload with the proper `window` variables (`__remixContext`, `__remixManifest`, `__remixRouteModules`), you don't need to pass a `router` prop and `RouterProvider` will create the `router` for you internally. ([#11396](https://redirect.github.com/remix-run/react-router/pull/11396)) ([#11400](https://redirect.github.com/remix-run/react-router/pull/11400))
##### Patch Changes
- Memoize some `RouterProvider` internals to reduce uneccesary re-renders ([#11817](https://redirect.github.com/remix-run/react-router/pull/11817))
- Updated dependencies:
- `react-router@7.0.0`
### [`v6.28.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6280)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.27.0...react-router-dom@6.28.0)
##### Minor Changes
- - Log deprecation warnings for v7 flags ([#11750](https://redirect.github.com/remix-run/react-router/pull/11750))
- Add deprecation warnings to `json`/`defer` in favor of returning raw objects
- These methods will be removed in React Router v7
##### Patch Changes
- Update JSDoc URLs for new website structure (add /v6/ segment) ([#12141](https://redirect.github.com/remix-run/react-router/pull/12141))
- Updated dependencies:
- `react-router@6.28.0`
- `@remix-run/router@1.21.0`
### [`v6.27.0`](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.26.2...react-router-dom@6.27.0)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.26.2...react-router-dom@6.27.0)
### [`v6.26.2`](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.26.1...react-router-dom@6.26.2)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.26.1...react-router-dom@6.26.2)
### [`v6.26.1`](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1)
### [`v6.26.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6260)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.25.1...react-router-dom@6.26.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://redirect.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://redirect.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`
- `react-router@6.26.0`
### [`v6.25.1`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6251)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.25.0...react-router-dom@6.25.1)
##### Patch Changes
- Memoize some `RouterProvider` internals to reduce unnecessary re-renders ([#11803](https://redirect.github.com/remix-run/react-router/pull/11803))
- Updated dependencies:
- `react-router@6.25.1`
### [`v6.25.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6250)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.24.1...react-router-dom@6.25.0)
##### Minor Changes
- Stabilize `future.unstable_skipActionErrorRevalidation` as `future.v7_skipActionErrorRevalidation` ([#11769](https://redirect.github.com/remix-run/react-router/pull/11769))
- When this flag is enabled, actions will not automatically trigger a revalidation if they return/throw a `Response` with a `4xx`/`5xx` status code
- You may still opt-into revalidation via `shouldRevalidate`
- This also changes `shouldRevalidate`'s `unstable_actionStatus` parameter to `actionStatus`
##### Patch Changes
- Updated dependencies:
- `react-router@6.25.0`
- `@remix-run/router@1.18.0`
### [`v6.24.1`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6241)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.24.0...react-router-dom@6.24.1)
##### Patch Changes
- Remove `polyfill.io` reference from warning message because the domain was sold and has since been determined to serve malware ([#11741](https://redirect.github.com/remix-run/react-router/pull/11741))
- See
- Export `NavLinkRenderProps` type for easier typing of custom `NavLink` callback ([#11553](https://redirect.github.com/remix-run/react-router/pull/11553))
- Updated dependencies:
- `@remix-run/router@1.17.1`
- `react-router@6.24.1`
### [`v6.24.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6240)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.23.1...react-router-dom@6.24.0)
##### Minor Changes
- Add support for Lazy Route Discovery (a.k.a. Fog of War) ([#11626](https://redirect.github.com/remix-run/react-router/pull/11626))
- RFC:
- `unstable_patchRoutesOnMiss` docs:
##### Patch Changes
- Fix `fetcher.submit` types - remove incorrect `navigate`/`fetcherKey`/`unstable_viewTransition` options because they are only relevant for `useSubmit` ([#11631](https://redirect.github.com/remix-run/react-router/pull/11631))
- Allow falsy `location.state` values passed to `` ([#11495](https://redirect.github.com/remix-run/react-router/pull/11495))
- Updated dependencies:
- `react-router@6.24.0`
- `@remix-run/router@1.17.0`
### [`v6.23.1`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6231)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.23.0...react-router-dom@6.23.1)
##### Patch Changes
- Check for `document` existence when checking `startViewTransition` ([#11544](https://redirect.github.com/remix-run/react-router/pull/11544))
- Change the `react-router-dom/server` import back to `react-router-dom` instead of `index.ts` ([#11514](https://redirect.github.com/remix-run/react-router/pull/11514))
- Updated dependencies:
- `@remix-run/router@1.16.1`
- `react-router@6.23.1`
### [`v6.23.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6230)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.22.3...react-router-dom@6.23.0)
##### Minor Changes
- Add a new `unstable_dataStrategy` configuration option ([#11098](https://redirect.github.com/remix-run/react-router/pull/11098))
- This option allows Data Router applications to take control over the approach for executing route loaders and actions
- The default implementation is today's behavior, to fetch all loaders in parallel, but this option allows users to implement more advanced data flows including Remix single-fetch, middleware/context APIs, automatic loader caching, and more
##### Patch Changes
- Updated dependencies:
- `@remix-run/router@1.16.0`
- `react-router@6.23.0`
### [`v6.22.3`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6223)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.22.2...react-router-dom@6.22.3)
##### Patch Changes
- Updated dependencies:
- `@remix-run/router@1.15.3`
- `react-router@6.22.3`
### [`v6.22.2`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6222)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.22.1...react-router-dom@6.22.2)
##### Patch Changes
- Updated dependencies:
- `@remix-run/router@1.15.2`
- `react-router@6.22.2`
### [`v6.22.1`](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.22.0...react-router-dom@6.22.1)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.22.0...react-router-dom@6.22.1)
### [`v6.22.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6220)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.21.3...react-router-dom@6.22.0)
##### Minor Changes
- Include a `window__reactRouterVersion` tag for CWV Report detection ([#11222](https://redirect.github.com/remix-run/react-router/pull/11222))
##### Patch Changes
- Updated dependencies:
- `@remix-run/router@1.15.0`
- `react-router@6.22.0`
### [`v6.21.3`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6213)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.21.2...react-router-dom@6.21.3)
##### Patch Changes
- Fix `NavLink` `isPending` when a `basename` is used ([#11195](https://redirect.github.com/remix-run/react-router/pull/11195))
- Remove leftover `unstable_` prefix from `Blocker`/`BlockerFunction` types ([#11187](https://redirect.github.com/remix-run/react-router/pull/11187))
- Updated dependencies:
- `react-router@6.21.3`
### [`v6.21.2`](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.21.1...react-router-dom@6.21.2)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.21.1...react-router-dom@6.21.2)
### [`v6.21.1`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6211)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.21.0...react-router-dom@6.21.1)
##### Patch Changes
- Updated dependencies:
- `react-router@6.21.1`
- `@remix-run/router@1.14.1`
### [`v6.21.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6210)
[Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.20.1...react-router-dom@6.21.0)
##### Minor Changes
- Add a new `future.v7_relativeSplatPath` flag to implement a breaking bug fix to relative routing when inside a splat route. ([#11087](https://redirect.github.com/remix-run/react-router/pull/11087))
This fix was originally added in [#10983](https://redirect.github.com/remix-run/react-router/issues/10983) and was later reverted in [#11078](https://redirect.github.com/remix-run/react-router/pull/11078) because it was determined that a large number of existing applications were relying on the buggy behavior (see [#11052](https://redirect.github.com/remix-run/react-router/issues/11052))
**The Bug**
The buggy behavior is that without this flag, the default behavior when resolving relative paths is to *ignore* any splat (`*`) portion of the current route path.
**The Background**
This decision was originally made thinking that it would make the concept of nested different sections of your apps in `` easier if relative routing would *replace* the current splat:
```jsx
} />
} />
```
Any paths like `/dashboard`, `/dashboard/team`, `/dashboard/projects` will match the `Dashboard` route. The dashboard component itself can then render nested ``:
```jsx
function Dashboard() {
return (
This PR contains the following updates:
^5.0.1
->^7.0.0
Release Notes
remix-run/react-router (react-router-dom)
### [`v7.0.1`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#701) [Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@7.0.0...react-router-dom@7.0.1) ##### Patch Changes - Updated dependencies: - `react-router@7.0.1` ### [`v7.0.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#700) [Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.28.0...react-router-dom@7.0.0) ##### Major Changes - Remove the original `defer` implementation in favor of using raw promises via single fetch and `turbo-stream`. This removes these exports from React Router: ([#11744](https://redirect.github.com/remix-run/react-router/pull/11744)) - `defer` - `AbortedDeferredError` - `type TypedDeferredData` - `UNSAFE_DeferredData` - `UNSAFE_DEFERRED_SYMBOL`, - Use `createRemixRouter`/`RouterProvider` in `entry.client` instead of `RemixBrowser` ([#11469](https://redirect.github.com/remix-run/react-router/pull/11469)) - Remove single_fetch future flag. ([#11522](https://redirect.github.com/remix-run/react-router/pull/11522)) - Remove `future.v7_startTransition` flag ([#11696](https://redirect.github.com/remix-run/react-router/pull/11696)) - Remove `future.v7_normalizeFormMethod` future flag ([#11697](https://redirect.github.com/remix-run/react-router/pull/11697)) - Allow returning `undefined` from actions and loaders ([#11680](https://redirect.github.com/remix-run/react-router/pull/11680)) - update minimum node version to 18 ([#11690](https://redirect.github.com/remix-run/react-router/pull/11690)) - Remove `future.v7_prependBasename` from the ionternalized `@remix-run/router` package ([#11726](https://redirect.github.com/remix-run/react-router/pull/11726)) - Remove `future.v7_throwAbortReason` from internalized `@remix-run/router` package ([#11728](https://redirect.github.com/remix-run/react-router/pull/11728)) - Add `exports` field to all packages ([#11675](https://redirect.github.com/remix-run/react-router/pull/11675)) - node package no longer re-exports from react-router ([#11702](https://redirect.github.com/remix-run/react-router/pull/11702)) - updates the minimum React version to 18 ([#11689](https://redirect.github.com/remix-run/react-router/pull/11689)) - - Remove the `future.v7_partialHydration` flag ([#11725](https://redirect.github.com/remix-run/react-router/pull/11725)) - This also removes the `Dashboard
Dashboard
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.