-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
46 changed files
with
3,093 additions
and
404 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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 |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
"react-router-dom": minor | ||
"react-router": minor | ||
"@remix-run/router": minor | ||
--- | ||
|
||
Add support for Lazy Route Discovery (a.k.a. Fog of War) | ||
|
||
- RFC: https://github.com/remix-run/react-router/discussions/11113 | ||
- `unstable_patchRoutesOnMiss` docs: https://reactrouter.com/en/main/routers/create-browser-router |
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 |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
"react-router-dom": patch | ||
--- | ||
|
||
Fix `fetcher.submit` types - remove incorrect `navigate`/`fetcherKey`/`unstable_viewTransition` options because they are only relevant for `useSubmit` |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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 |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
"react-router-dom": patch | ||
"react-router-dom-v5-compat": patch | ||
--- | ||
|
||
Allow falsy `location.state` values passed to `<StaticRouter>` |
This file was deleted.
Oops, something went wrong.
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 |
---|---|---|
@@ -1,25 +1,28 @@ | ||
name: 🚀 Release (experimental) | ||
name: 🧪 Experimental Release | ||
|
||
on: | ||
push: | ||
tags: | ||
- "v0.0.0-experimental*" | ||
workflow_dispatch: | ||
inputs: | ||
branch: | ||
required: true | ||
|
||
concurrency: ${{ github.workflow }}-${{ github.ref }} | ||
|
||
env: | ||
CI: true | ||
|
||
jobs: | ||
release: | ||
name: 🧑🔬 Experimental Release | ||
if: | | ||
github.repository == 'remix-run/react-router' && | ||
contains(github.ref, 'experimental') | ||
experimental: | ||
name: 🧪 Experimental Release | ||
if: github.repository == 'remix-run/react-router' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: ⬇️ Checkout repo | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.event.inputs.branch }} | ||
# checkout using a custom token so that we can push later on | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
fetch-depth: 0 | ||
|
||
- name: 📦 Setup pnpm | ||
|
@@ -28,12 +31,22 @@ jobs: | |
- name: ⎔ Setup node | ||
uses: actions/setup-node@v4 | ||
with: | ||
cache: pnpm | ||
node-version-file: ".nvmrc" | ||
cache: "pnpm" | ||
|
||
- name: 📥 Install deps | ||
run: pnpm install --frozen-lockfile | ||
|
||
- name: ⤴️ Update version | ||
run: | | ||
git config --local user.email "[email protected]" | ||
git config --local user.name "Remix Run Bot" | ||
SHORT_SHA=$(git rev-parse --short HEAD) | ||
NEXT_VERSION=0.0.0-experimental-${SHORT_SHA} | ||
git checkout -b experimental/${NEXT_VERSION} | ||
pnpm run version ${NEXT_VERSION} | ||
git push origin --tags | ||
- name: 🏗 Build | ||
run: pnpm build | ||
|
||
|
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,147 +13,154 @@ 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.22.3](#v6223) | ||
- [v6.23.1](#v6231) | ||
- [Patch Changes](#patch-changes) | ||
- [v6.22.2](#v6222) | ||
- [v6.23.0](#v6230) | ||
- [What's Changed](#whats-changed) | ||
- [Data Strategy (unstable)](#data-strategy-unstable) | ||
- [Skip Action Error Revalidation (unstable)](#skip-action-error-revalidation-unstable) | ||
- [Minor Changes](#minor-changes) | ||
- [v6.22.3](#v6223) | ||
- [Patch Changes](#patch-changes-1) | ||
- [v6.22.1](#v6221) | ||
- [v6.22.2](#v6222) | ||
- [Patch Changes](#patch-changes-2) | ||
- [v6.22.1](#v6221) | ||
- [Patch Changes](#patch-changes-3) | ||
- [v6.22.0](#v6220) | ||
- [What's Changed](#whats-changed) | ||
- [What's Changed](#whats-changed-1) | ||
- [Core Web Vitals Technology Report Flag](#core-web-vitals-technology-report-flag) | ||
- [Minor Changes](#minor-changes) | ||
- [Patch Changes](#patch-changes-3) | ||
- [v6.21.3](#v6213) | ||
- [Minor Changes](#minor-changes-1) | ||
- [Patch Changes](#patch-changes-4) | ||
- [v6.21.2](#v6212) | ||
- [v6.21.3](#v6213) | ||
- [Patch Changes](#patch-changes-5) | ||
- [v6.21.1](#v6211) | ||
- [v6.21.2](#v6212) | ||
- [Patch Changes](#patch-changes-6) | ||
- [v6.21.1](#v6211) | ||
- [Patch Changes](#patch-changes-7) | ||
- [v6.21.0](#v6210) | ||
- [What's Changed](#whats-changed-1) | ||
- [What's Changed](#whats-changed-2) | ||
- [`future.v7_relativeSplatPath`](#futurev7_relativesplatpath) | ||
- [Partial Hydration](#partial-hydration) | ||
- [Minor Changes](#minor-changes-1) | ||
- [Patch Changes](#patch-changes-7) | ||
- [v6.20.1](#v6201) | ||
- [Patch Changes](#patch-changes-8) | ||
- [v6.20.0](#v6200) | ||
- [Minor Changes](#minor-changes-2) | ||
- [Patch Changes](#patch-changes-8) | ||
- [v6.20.1](#v6201) | ||
- [Patch Changes](#patch-changes-9) | ||
- [v6.19.0](#v6190) | ||
- [What's Changed](#whats-changed-2) | ||
- [`unstable_flushSync` API](#unstable_flushsync-api) | ||
- [v6.20.0](#v6200) | ||
- [Minor Changes](#minor-changes-3) | ||
- [Patch Changes](#patch-changes-10) | ||
- [v6.18.0](#v6180) | ||
- [v6.19.0](#v6190) | ||
- [What's Changed](#whats-changed-3) | ||
- [New Fetcher APIs](#new-fetcher-apis) | ||
- [Persistence Future Flag (`future.v7_fetcherPersist`)](#persistence-future-flag-futurev7_fetcherpersist) | ||
- [`unstable_flushSync` API](#unstable_flushsync-api) | ||
- [Minor Changes](#minor-changes-4) | ||
- [Patch Changes](#patch-changes-11) | ||
- [v6.17.0](#v6170) | ||
- [v6.18.0](#v6180) | ||
- [What's Changed](#whats-changed-4) | ||
- [View Transitions 🚀](#view-transitions-) | ||
- [New Fetcher APIs](#new-fetcher-apis) | ||
- [Persistence Future Flag (`future.v7_fetcherPersist`)](#persistence-future-flag-futurev7_fetcherpersist) | ||
- [Minor Changes](#minor-changes-5) | ||
- [Patch Changes](#patch-changes-12) | ||
- [v6.16.0](#v6160) | ||
- [v6.17.0](#v6170) | ||
- [What's Changed](#whats-changed-5) | ||
- [View Transitions 🚀](#view-transitions-) | ||
- [Minor Changes](#minor-changes-6) | ||
- [Patch Changes](#patch-changes-13) | ||
- [v6.15.0](#v6150) | ||
- [v6.16.0](#v6160) | ||
- [Minor Changes](#minor-changes-7) | ||
- [Patch Changes](#patch-changes-14) | ||
- [v6.14.2](#v6142) | ||
- [v6.15.0](#v6150) | ||
- [Minor Changes](#minor-changes-8) | ||
- [Patch Changes](#patch-changes-15) | ||
- [v6.14.1](#v6141) | ||
- [v6.14.2](#v6142) | ||
- [Patch Changes](#patch-changes-16) | ||
- [v6.14.0](#v6140) | ||
- [What's Changed](#whats-changed-5) | ||
- [JSON/Text Submissions](#jsontext-submissions) | ||
- [Minor Changes](#minor-changes-8) | ||
- [v6.14.1](#v6141) | ||
- [Patch Changes](#patch-changes-17) | ||
- [v6.13.0](#v6130) | ||
- [v6.14.0](#v6140) | ||
- [What's Changed](#whats-changed-6) | ||
- [JSON/Text Submissions](#jsontext-submissions) | ||
- [Minor Changes](#minor-changes-9) | ||
- [Patch Changes](#patch-changes-18) | ||
- [v6.12.1](#v6121) | ||
- [Patch Changes](#patch-changes-19) | ||
- [v6.12.0](#v6120) | ||
- [v6.13.0](#v6130) | ||
- [What's Changed](#whats-changed-7) | ||
- [`React.startTransition` support](#reactstarttransition-support) | ||
- [Minor Changes](#minor-changes-10) | ||
- [Patch Changes](#patch-changes-19) | ||
- [v6.12.1](#v6121) | ||
- [Patch Changes](#patch-changes-20) | ||
- [v6.11.2](#v6112) | ||
- [v6.12.0](#v6120) | ||
- [What's Changed](#whats-changed-8) | ||
- [`React.startTransition` support](#reactstarttransition-support) | ||
- [Minor Changes](#minor-changes-11) | ||
- [Patch Changes](#patch-changes-21) | ||
- [v6.11.1](#v6111) | ||
- [v6.11.2](#v6112) | ||
- [Patch Changes](#patch-changes-22) | ||
- [v6.11.0](#v6110) | ||
- [Minor Changes](#minor-changes-11) | ||
- [v6.11.1](#v6111) | ||
- [Patch Changes](#patch-changes-23) | ||
- [v6.10.0](#v6100) | ||
- [What's Changed](#whats-changed-8) | ||
- [v6.11.0](#v6110) | ||
- [Minor Changes](#minor-changes-12) | ||
- [Patch Changes](#patch-changes-24) | ||
- [v6.9.0](#v690) | ||
- [v6.10.0](#v6100) | ||
- [What's Changed](#whats-changed-9) | ||
- [`Component`/`ErrorBoundary` route properties](#componenterrorboundary-route-properties) | ||
- [Introducing Lazy Route Modules](#introducing-lazy-route-modules) | ||
- [Minor Changes](#minor-changes-13) | ||
- [Patch Changes](#patch-changes-25) | ||
- [v6.8.2](#v682) | ||
- [v6.9.0](#v690) | ||
- [What's Changed](#whats-changed-10) | ||
- [`Component`/`ErrorBoundary` route properties](#componenterrorboundary-route-properties) | ||
- [Introducing Lazy Route Modules](#introducing-lazy-route-modules) | ||
- [Minor Changes](#minor-changes-14) | ||
- [Patch Changes](#patch-changes-26) | ||
- [v6.8.1](#v681) | ||
- [v6.8.2](#v682) | ||
- [Patch Changes](#patch-changes-27) | ||
- [v6.8.0](#v680) | ||
- [Minor Changes](#minor-changes-14) | ||
- [v6.8.1](#v681) | ||
- [Patch Changes](#patch-changes-28) | ||
- [v6.7.0](#v670) | ||
- [v6.8.0](#v680) | ||
- [Minor Changes](#minor-changes-15) | ||
- [Patch Changes](#patch-changes-29) | ||
- [v6.6.2](#v662) | ||
- [v6.7.0](#v670) | ||
- [Minor Changes](#minor-changes-16) | ||
- [Patch Changes](#patch-changes-30) | ||
- [v6.6.1](#v661) | ||
- [v6.6.2](#v662) | ||
- [Patch Changes](#patch-changes-31) | ||
- [v6.6.0](#v660) | ||
- [What's Changed](#whats-changed-10) | ||
- [Minor Changes](#minor-changes-16) | ||
- [v6.6.1](#v661) | ||
- [Patch Changes](#patch-changes-32) | ||
- [v6.5.0](#v650) | ||
- [v6.6.0](#v660) | ||
- [What's Changed](#whats-changed-11) | ||
- [Minor Changes](#minor-changes-17) | ||
- [Patch Changes](#patch-changes-33) | ||
- [v6.4.5](#v645) | ||
- [v6.5.0](#v650) | ||
- [What's Changed](#whats-changed-12) | ||
- [Minor Changes](#minor-changes-18) | ||
- [Patch Changes](#patch-changes-34) | ||
- [v6.4.4](#v644) | ||
- [v6.4.5](#v645) | ||
- [Patch Changes](#patch-changes-35) | ||
- [v6.4.3](#v643) | ||
- [v6.4.4](#v644) | ||
- [Patch Changes](#patch-changes-36) | ||
- [v6.4.2](#v642) | ||
- [v6.4.3](#v643) | ||
- [Patch Changes](#patch-changes-37) | ||
- [v6.4.1](#v641) | ||
- [v6.4.2](#v642) | ||
- [Patch Changes](#patch-changes-38) | ||
- [v6.4.1](#v641) | ||
- [Patch Changes](#patch-changes-39) | ||
- [v6.4.0](#v640) | ||
- [What's Changed](#whats-changed-12) | ||
- [What's Changed](#whats-changed-13) | ||
- [Remix Data APIs](#remix-data-apis) | ||
- [Patch Changes](#patch-changes-39) | ||
- [Patch Changes](#patch-changes-40) | ||
- [v6.3.0](#v630) | ||
- [Minor Changes](#minor-changes-18) | ||
- [Minor Changes](#minor-changes-19) | ||
- [v6.2.2](#v622) | ||
- [Patch Changes](#patch-changes-40) | ||
- [v6.2.1](#v621) | ||
- [Patch Changes](#patch-changes-41) | ||
- [v6.2.0](#v620) | ||
- [Minor Changes](#minor-changes-19) | ||
- [v6.2.1](#v621) | ||
- [Patch Changes](#patch-changes-42) | ||
- [v6.1.1](#v611) | ||
- [Patch Changes](#patch-changes-43) | ||
- [v6.1.0](#v610) | ||
- [v6.2.0](#v620) | ||
- [Minor Changes](#minor-changes-20) | ||
- [Patch Changes](#patch-changes-43) | ||
- [v6.1.1](#v611) | ||
- [Patch Changes](#patch-changes-44) | ||
- [v6.0.2](#v602) | ||
- [v6.1.0](#v610) | ||
- [Minor Changes](#minor-changes-21) | ||
- [Patch Changes](#patch-changes-45) | ||
- [v6.0.1](#v601) | ||
- [v6.0.2](#v602) | ||
- [Patch Changes](#patch-changes-46) | ||
- [v6.0.1](#v601) | ||
- [Patch Changes](#patch-changes-47) | ||
- [v6.0.0](#v600) | ||
|
||
</details> | ||
|
@@ -177,6 +184,45 @@ 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.23.1 | ||
|
||
Date: 2024-05-10 | ||
|
||
### Patch Changes | ||
|
||
- Allow `undefined` to be resolved through `<Await>` ([#11513](https://github.com/remix-run/react-router/pull/11513)) | ||
- Add defensive `document` check when checking for `document.startViewTransition` availability ([#11544](https://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://github.com/remix-run/react-router/pull/11514)) | ||
- `@remix-run/router` - Support `unstable_dataStrategy` on `staticHandler.queryRoute` ([#11515](https://github.com/remix-run/react-router/pull/11515)) | ||
|
||
**Full Changelog**: [`v6.23.0...v6.23.1`](https://github.com/remix-run/react-router/compare/[email protected]@6.23.1) | ||
|
||
## v6.23.0 | ||
|
||
Date: 2024-04-23 | ||
|
||
### What's Changed | ||
|
||
#### Data Strategy (unstable) | ||
|
||
The new `unstable_dataStrategy` API is a low-level API designed for advanced use-cases where you need to take control over the data strategy for your `loader`/`action` functions. 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"](https://remix.run/docs/guides/single-fetch), user-land middleware/context APIs, automatic loader caching, and more. Please see the [docs](https://reactrouter.com/routers/create-browser-router#unstable_datastrategy) for more information. | ||
|
||
**Note:** This is a low-level API intended for advanced use-cases. This overrides React Router's internal handling of `loader`/`action` execution, and if done incorrectly will break your app code. Please use with caution and perform the appropriate testing. | ||
|
||
#### Skip Action Error Revalidation (unstable) | ||
|
||
Currently, all active `loader`'s revalidate after any `action` submission, regardless of the `action` result. However, in the majority of cases a `4xx`/`5xx` response from an `action` means that no data was actually changed and the revalidation is unnecessary. We've introduced a new `future.unstable_skipActionErrorRevalidation` flag that changes the behavior here, and we plan to make this the default in future version of React Router. | ||
|
||
With this flag enabled, `action`'s that return/throw a `4xx`/`5xx` response status will no longer automatically revalidate. If you need to revalidate after a `4xx`/`5xx` result with this flag enabled, you can still do that via returning `true` from `shouldRevalidate` - which now also receives a new `unstable_actionStatus` argument alongside `actionResult` so you can make decision based on the status of the `action` response without having to encode it into the action data. | ||
|
||
### Minor Changes | ||
|
||
- Add a new `unstable_dataStrategy` configuration option ([#11098](https://github.com/remix-run/react-router/pull/11098), [#11377](https://github.com/remix-run/react-router/pull/11377)) | ||
- `@remix-run/router` - Add a new `future.unstable_skipActionRevalidation` future flag ([#11098](https://github.com/remix-run/react-router/pull/11098)) | ||
- `@remix-run/router` - SSR: Added a new `skipLoaderErrorBubbling` options to the `staticHandler.query` method to disable error bubbling by the static handler for use in Remix's Single Fetch implementation ([#11098](https://github.com/remix-run/react-router/pull/11098), ([#11377](https://github.com/remix-run/react-router/pull/11377))) | ||
|
||
**Full Changelog**: [`v6.22.3...v6.23.0`](https://github.com/remix-run/react-router/compare/[email protected]@6.23.0) | ||
|
||
## v6.22.3 | ||
|
||
Date: 2024-03-07 | ||
|
Oops, something went wrong.