diff --git a/docs/guides/single-fetch.md b/docs/guides/single-fetch.md index d6474c54a08..9082350d72b 100644 --- a/docs/guides/single-fetch.md +++ b/docs/guides/single-fetch.md @@ -10,7 +10,7 @@ Single Fetch is a new data loading strategy and streaming format. When you enabl ## Overview -Remix introduced support for "Single Fetch" ([RFC][rfc]) behind the [`future.unstable_singleFetch`][future-flags] flag in [`v2.9.0`][2.9.0] (stabilized as `future.v3_singleFetch` in [`v2.13.0`][2.13.0]) which allows you to opt-into this behavior. Single Fetch will be the default in [React Router v7][merging-remix-and-rr]. +Remix introduced support for "Single Fetch" ([RFC][rfc]) behind the [`future.unstable_singleFetch`][future-flags] flag in [`v2.9.0`][2.9.0] (later stabilized as `future.v3_singleFetch` in [`v2.13.0`][2.13.0]) which allows you to opt-into this behavior. Single Fetch will be the default in [React Router v7][merging-remix-and-rr]. Enabling Single Fetch is intended to be low-effort up-front, and then allow you to adopt all breaking changes iteratively over time. You can start by applying the minimal required changes to [enable Single Fetch][start], then use the [migration guide][migration-guide] to make incremental changes in your application to ensure a smooth, non-breaking upgrade to [React Router v7][merging-remix-and-rr]. diff --git a/packages/remix-cloudflare/CHANGELOG.md b/packages/remix-cloudflare/CHANGELOG.md index 26142444eec..78e95e59d1b 100644 --- a/packages/remix-cloudflare/CHANGELOG.md +++ b/packages/remix-cloudflare/CHANGELOG.md @@ -28,7 +28,7 @@ declare module "@remix-run/server-runtime" { interface Future { - v3_singleFetch: true; // 👈 enable _types_ for single-fetch + unstable_singleFetch: true; // 👈 enable _types_ for single-fetch } } @@ -36,7 +36,7 @@ plugins: [ remix({ future: { - v3_singleFetch: true, // 👈 enable single-fetch + unstable_singleFetch: true, // 👈 enable single-fetch }, }), ], diff --git a/packages/remix-deno/CHANGELOG.md b/packages/remix-deno/CHANGELOG.md index aa7e065128d..85def5f4d92 100644 --- a/packages/remix-deno/CHANGELOG.md +++ b/packages/remix-deno/CHANGELOG.md @@ -34,7 +34,7 @@ declare module "@remix-run/server-runtime" { interface Future { - v3_singleFetch: true; // 👈 enable _types_ for single-fetch + unstable_singleFetch: true; // 👈 enable _types_ for single-fetch } } @@ -42,7 +42,7 @@ plugins: [ remix({ future: { - v3_singleFetch: true, // 👈 enable single-fetch + unstable_singleFetch: true, // 👈 enable single-fetch }, }), ], diff --git a/packages/remix-dev/CHANGELOG.md b/packages/remix-dev/CHANGELOG.md index 6e40fa9ee98..7a6039f7bde 100644 --- a/packages/remix-dev/CHANGELOG.md +++ b/packages/remix-dev/CHANGELOG.md @@ -115,7 +115,7 @@ ### Minor Changes -- New `future.v3_singleFetch` flag ([#8773](https://github.com/remix-run/remix/pull/8773)) +- New `future.unstable_singleFetch` flag ([#8773](https://github.com/remix-run/remix/pull/8773)) - Naked objects returned from loaders/actions are no longer automatically converted to JSON responses. They'll be streamed as-is via `turbo-stream` so `Date`'s will become `Date` through `useLoaderData()` - You can return naked objects with `Promise`'s without needing to use `defer()` - including nested `Promise`'s diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md index 1f77233acb9..b427e22b848 100644 --- a/packages/remix-node/CHANGELOG.md +++ b/packages/remix-node/CHANGELOG.md @@ -28,7 +28,7 @@ declare module "@remix-run/server-runtime" { interface Future { - v3_singleFetch: true; // 👈 enable _types_ for single-fetch + unstable_singleFetch: true; // 👈 enable _types_ for single-fetch } } @@ -36,7 +36,7 @@ plugins: [ remix({ future: { - v3_singleFetch: true, // 👈 enable single-fetch + unstable_singleFetch: true, // 👈 enable single-fetch }, }), ], @@ -123,7 +123,7 @@ - Use undici as our fetch polyfill going forward ([#9106](https://github.com/remix-run/remix/pull/9106), [#9111](https://github.com/remix-run/remix/pull/9111)) - Put `undici` fetch polyfill behind a new `installGlobals({ nativeFetch: true })` parameter ([#9198](https://github.com/remix-run/remix/pull/9198)) - - `remix-serve` will default to using `undici` for the fetch polyfill if `future._v3_singleFetch` is enabled because the single fetch implementation relies on the `undici` polyfill + - `remix-serve` will default to using `undici` for the fetch polyfill if `future._unstable_singleFetch` is enabled because the single fetch implementation relies on the `undici` polyfill - Any users opting into Single Fetch and managing their own polfill will need to pass the flag to `installGlobals` on their own to avoid runtime errors with Single Fetch ### Patch Changes diff --git a/packages/remix-react/CHANGELOG.md b/packages/remix-react/CHANGELOG.md index b4c667eaf10..f058cb461e1 100644 --- a/packages/remix-react/CHANGELOG.md +++ b/packages/remix-react/CHANGELOG.md @@ -49,7 +49,7 @@ declare module "@remix-run/server-runtime" { interface Future { - v3_singleFetch: true; // 👈 enable _types_ for single-fetch + unstable_singleFetch: true; // 👈 enable _types_ for single-fetch } } @@ -57,7 +57,7 @@ plugins: [ remix({ future: { - v3_singleFetch: true, // 👈 enable single-fetch + unstable_singleFetch: true, // 👈 enable single-fetch }, }), ], @@ -196,7 +196,7 @@ ### Minor Changes -- New `future.v3_singleFetch` flag ([#8773](https://github.com/remix-run/remix/pull/8773)) +- New `future.unstable_singleFetch` flag ([#8773](https://github.com/remix-run/remix/pull/8773)) - Naked objects returned from loaders/actions are no longer automatically converted to JSON responses. They'll be streamed as-is via `turbo-stream` so `Date`'s will become `Date` through `useLoaderData()` - You can return naked objects with `Promise`'s without needing to use `defer()` - including nested `Promise`'s