You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- For Remix consumers migrating to React Router, the `crypto` global from the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) is now required when using cookie and session APIs. This means that the following APIs are provided from `react-router` rather than platform-specific packages: ([#11837](https://github.com/remix-run/react-router/pull/11837))
234
-
235
233
-`createCookie`
236
234
-`createCookieSessionStorage`
237
235
-`createMemorySessionStorage`
@@ -240,7 +238,6 @@
240
238
For consumers running older versions of Node, the `installGlobals` function from `@remix-run/node` has been updated to define `globalThis.crypto`, using [Node's `require('node:crypto').webcrypto` implementation.](https://nodejs.org/api/webcrypto.html)
241
239
242
240
Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
- For Remix consumers migrating to React Router, all exports from `@remix-run/cloudflare-pages` are now provided for React Router consumers in the `@react-router/cloudflare` package. There is no longer a separate package for Cloudflare Pages. ([#11801](https://github.com/remix-run/react-router/pull/11801))
208
207
- For Remix consumers migrating to React Router, the `crypto` global from the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) is now required when using cookie and session APIs. This means that the following APIs are provided from `react-router` rather than platform-specific packages: ([#11837](https://github.com/remix-run/react-router/pull/11837))
209
-
210
208
-`createCookie`
211
209
-`createCookieSessionStorage`
212
210
-`createMemorySessionStorage`
@@ -215,7 +213,6 @@
215
213
For consumers running older versions of Node, the `installGlobals` function from `@remix-run/node` has been updated to define `globalThis.crypto`, using [Node's `require('node:crypto').webcrypto` implementation.](https://nodejs.org/api/webcrypto.html)
216
214
217
215
Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
This initial implementation targets type inference for:
753
-
754
752
- `Params` : Path parameters from your routing config in `routes.ts` including file-based routing
755
753
- `LoaderData` : Loader data from `loader` and/or `clientLoader` within your route module
756
754
- `ActionData` : Action data from `action` and/or `clientAction` within your route module
@@ -765,7 +763,6 @@
765
763
```
766
764
767
765
Check out our docs for more:
768
-
769
766
- [_Explanations > Type Safety_](https://reactrouter.com/dev/guides/explanation/type-safety)
770
767
- [_How-To > Setting up type safety_](https://reactrouter.com/dev/guides/how-to/setting-up-type-safety)
771
768
@@ -965,7 +962,6 @@
965
962
- Vite: Provide `Unstable_ServerBundlesFunction` and `Unstable_VitePluginConfig` types ([#8654](https://github.com/remix-run/remix/pull/8654))
966
963
967
964
- Vite: add `--sourcemapClient` and `--sourcemapServer` flags to `remix vite:build` ([#8613](https://github.com/remix-run/remix/pull/8613))
968
-
969
965
- `--sourcemapClient`
970
966
971
967
- `--sourcemapClient=inline`
@@ -1302,7 +1298,6 @@
1302
1298
- Add support for `clientLoader`/`clientAction`/`HydrateFallback` route exports ([RFC](https://github.com/remix-run/remix/discussions/7634)) ([#8173](https://github.com/remix-run/remix/pull/8173))
1303
1299
1304
1300
Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:
1305
-
1306
1301
- Leveraging a data source local to the browser (i.e., `localStorage`)
1307
1302
- Managing a client-side cache of server data (like `IndexedDB`)
1308
1303
- Bypassing the Remix server in a BFF setup and hitting your API directly from the browser
@@ -1706,7 +1701,6 @@
1706
1701
- Output esbuild metafiles for bundle analysis ([#6772](https://github.com/remix-run/remix/pull/6772))
1707
1702
1708
1703
Written to server build directory (`build/` by default):
1709
-
1710
1704
- `metafile.css.json`
1711
1705
- `metafile.js.json` (browser JS)
1712
1706
- `metafile.server.json` (server JS)
@@ -1804,7 +1798,6 @@
1804
1798
- built-in tls support ([#6483](https://github.com/remix-run/remix/pull/6483))
1805
1799
1806
1800
New options:
1807
-
1808
1801
- `--tls-key` / `tlsKey`: TLS key
1809
1802
- `--tls-cert` / `tlsCert`: TLS Certificate
1810
1803
@@ -2075,7 +2068,6 @@
2075
2068
```
2076
2069
2077
2070
The dev server will:
2078
-
2079
2071
- force `NODE_ENV=development` and warn you if it was previously set to something else
2080
2072
- rebuild your app whenever your Remix app code changes
2081
2073
- restart your app server whenever rebuilds succeed
- Remove single fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522))
208
207
209
208
- For Remix consumers migrating to React Router, the `crypto` global from the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) is now required when using cookie and session APIs. This means that the following APIs are provided from `react-router` rather than platform-specific packages: ([#11837](https://github.com/remix-run/react-router/pull/11837))
210
-
211
209
-`createCookie`
212
210
-`createCookieSessionStorage`
213
211
-`createMemorySessionStorage`
@@ -216,7 +214,6 @@
216
214
For consumers running older versions of Node, the `installGlobals` function from `@remix-run/node` has been updated to define `globalThis.crypto`, using [Node's `require('node:crypto').webcrypto` implementation.](https://nodejs.org/api/webcrypto.html)
217
215
218
216
Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
219
-
220
217
-`createCookieFactory`
221
218
-`createSessionStorageFactory`
222
219
-`createCookieSessionStorageFactory`
@@ -624,12 +621,10 @@
624
621
- Introduces the `defer()` API from `@remix-run/router` with support for server-rendering and HTTP streaming. This utility allows you to defer values returned from `loader` functions by returning promises instead of resolved values. This has been refered to as _"sending a promise over the wire"_. ([#4920](https://github.com/remix-run/remix/pull/4920))
Copy file name to clipboardExpand all lines: packages/react-router-serve/CHANGELOG.md
-2Lines changed: 0 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -617,12 +617,10 @@
617
617
- Introduces the `defer()`API from `@remix-run/router`with support for server-rendering and HTTPstreaming. This utility allows you to defer values returned from `loader` functions by returning promises instead of resolved values. This has been refered to as _"sending a promise over the wire"_. ([#4920](https://github.com/remix-run/remix/pull/4920))
- \[UNSTABLE] Add `<RouterProvider unstable_onError>`/`<HydratedRouter unstable_onError>` prop for client side error reporting ([#14162](https://github.com/remix-run/react-router/pull/14162))
36
35
37
-
- server action revalidation opt out via $SKIP\_REVALIDATION field ([#14154](https://github.com/remix-run/react-router/pull/14154))
36
+
- server action revalidation opt out via $SKIP_REVALIDATION field ([#14154](https://github.com/remix-run/react-router/pull/14154))
38
37
39
38
- Properly escape interpolated param values in `generatePath()` ([#13530](https://github.com/remix-run/react-router/pull/13530))
40
39
@@ -83,7 +82,6 @@
83
82
- Remove dependency on `@types/node` in TypeScript declaration files ([#14059](https://github.com/remix-run/react-router/pull/14059))
84
83
85
84
- Fix types for `UIMatch` to reflect that the `loaderData`/`data` properties may be `undefined` ([#12206](https://github.com/remix-run/react-router/pull/12206))
86
-
87
85
- When an `ErrorBoundary` is being rendered, not all active matches will have loader data available, since it may have been their `loader` that threw to trigger the boundary
88
86
- The `UIMatch.data` type was not correctly handing this and would always reflect the presence of data, leading to the unexpected runtime errors when an `ErrorBoundary` was rendered
89
87
- ⚠️ This may cause some type errors to show up in your code for unguarded `match.data` accesses - you should properly guard for `undefined` values in those scenarios.
@@ -117,7 +115,6 @@
117
115
- \[UNSTABLE] When middleware is enabled, make the `context` parameter read-only (via `Readonly<unstable_RouterContextProvider>`) so that TypeScript will not allow you to write arbitrary fields to it in loaders, actions, or middleware. ([#14097](https://github.com/remix-run/react-router/pull/14097))
118
116
119
117
- \[UNSTABLE] Rename and alter the signature/functionality of the `unstable_respond` API in `staticHandler.query`/`staticHandler.queryRoute` ([#14103](https://github.com/remix-run/react-router/pull/14103))
120
-
121
118
- The API has been renamed to `unstable_generateMiddlewareResponse` for clarity
122
119
- The main functional change is that instead of running the loaders/actions before calling `unstable_respond` and handing you the result, we now pass a `query`/`queryRoute` function as a parameter and you execute the loaders/actions inside your callback, giving you full access to pre-processing and error handling
123
120
- The `query` version of the API now has a signature of `(query: (r: Request) => Promise<StaticHandlerContext | Response>) => Promise<Response>`
@@ -763,7 +760,6 @@
763
760
```
764
761
765
762
Similar to server-side requests, a fresh `context` will be created per navigation (or `fetcher` call). If you have initial data you'd like to populate in the context for every request, you can provide an `unstable_getContext` function at the root of your app:
- Remove `future.v7_normalizeFormMethod` future flag ([#11697](https://github.com/remix-run/react-router/pull/11697))
952
948
953
949
- For Remix consumers migrating to React Router, the `crypto` global from the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) is now required when using cookie and session APIs. This means that the following APIs are provided from `react-router` rather than platform-specific packages: ([#11837](https://github.com/remix-run/react-router/pull/11837))
954
-
955
950
- `createCookie`
956
951
- `createCookieSessionStorage`
957
952
- `createMemorySessionStorage`
@@ -960,7 +955,6 @@ _No changes_
960
955
For consumers running older versions of Node, the `installGlobals` function from `@remix-run/node` has been updated to define `globalThis.crypto`, using [Node's `require('node:crypto').webcrypto` implementation.](https://nodejs.org/api/webcrypto.html)
961
956
962
957
Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
963
-
964
958
- `createCookieFactory`
965
959
- `createSessionStorageFactory`
966
960
- `createCookieSessionStorageFactory`
@@ -1116,7 +1110,6 @@ _No changes_
1116
1110
```
1117
1111
1118
1112
This initial implementation targets type inference for:
1119
-
1120
1113
- `Params` : Path parameters from your routing config in `routes.ts` including file-based routing
1121
1114
- `LoaderData` : Loader data from `loader` and/or `clientLoader` within your route module
1122
1115
- `ActionData` : Action data from `action` and/or `clientAction` within your route module
@@ -1131,7 +1124,6 @@ _No changes_
1131
1124
```
1132
1125
1133
1126
Check out our docs for more:
1134
-
1135
1127
- [_Explanations > Type Safety_](https://reactrouter.com/dev/guides/explanation/type-safety)
1136
1128
- [_How-To > Setting up type safety_](https://reactrouter.com/dev/guides/how-to/setting-up-type-safety)
0 commit comments