Skip to content

Commit

Permalink
Merge branch 'dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
Whaileee committed Jun 18, 2024
2 parents 75ba766 + 4e85e98 commit 53e393d
Show file tree
Hide file tree
Showing 46 changed files with 3,093 additions and 404 deletions.
8 changes: 0 additions & 8 deletions .changeset/data-strategy.md

This file was deleted.

10 changes: 10 additions & 0 deletions .changeset/fog-of-war.md
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
5 changes: 5 additions & 0 deletions .changeset/gorgeous-geese-sit.md
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`
11 changes: 0 additions & 11 deletions .changeset/skip-action-revalidation.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/slow-flies-help.md

This file was deleted.

6 changes: 6 additions & 0 deletions .changeset/smooth-sloths-exist.md
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>`
8 changes: 0 additions & 8 deletions .changeset/static-query-flags.md

This file was deleted.

33 changes: 23 additions & 10 deletions .github/workflows/release-experimental.yml
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
Expand All @@ -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

Expand Down
192 changes: 119 additions & 73 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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
Expand Down
Loading

0 comments on commit 53e393d

Please sign in to comment.