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
Copy file name to clipboardExpand all lines: packages/react-router/CHANGELOG.md
+1-13Lines changed: 1 addition & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,6 @@
8
8
- ⚠️ This is a breaking change if you have begun using `fetcher.unstable_reset()`
9
9
10
10
- Stabilize the `dataStrategy` `match.shouldRevalidateArgs`/`match.shouldCallHandler()` APIs. ([#14592](https://github.com/remix-run/react-router/pull/14592))
11
-
12
11
- The `match.shouldLoad` API is now marked deprecated in favor of these more powerful alternatives
13
12
14
13
- If you're using this API in a custom `dataStrategy` today, you can swap to the new API at your convenience:
@@ -76,8 +75,6 @@
76
75
77
76
- Optimize href() to avoid backtracking regex on splat ([#14329](https://github.com/remix-run/react-router/pull/14329))
- Ensure action handlers run for routes with middleware even if no loader is present ([#14443](https://github.com/remix-run/react-router/pull/14443))
140
137
141
138
- Add `unstable_instrumentations` API to allow users to add observablity to their apps by instrumenting route loaders, actions, middlewares, lazy, as well as server-side request handlers and client side navigations/fetches ([#14412](https://github.com/remix-run/react-router/pull/14412))
- \[UNSTABLE] Add `<RouterProvider unstable_onError>`/`<HydratedRouter unstable_onError>` prop for client side error reporting ([#14162](https://github.com/remix-run/react-router/pull/14162))
330
325
331
-
- server action revalidation opt out via $SKIP\_REVALIDATION field ([#14154](https://github.com/remix-run/react-router/pull/14154))
326
+
- server action revalidation opt out via $SKIP_REVALIDATION field ([#14154](https://github.com/remix-run/react-router/pull/14154))
332
327
333
328
- Properly escape interpolated param values in `generatePath()` ([#13530](https://github.com/remix-run/react-router/pull/13530))
334
329
@@ -377,7 +372,6 @@
377
372
- Remove dependency on `@types/node` in TypeScript declaration files ([#14059](https://github.com/remix-run/react-router/pull/14059))
378
373
379
374
- Fix types for `UIMatch` to reflect that the `loaderData`/`data` properties may be `undefined` ([#12206](https://github.com/remix-run/react-router/pull/12206))
380
-
381
375
- 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
382
376
- 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
383
377
- ⚠️ 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.
@@ -411,7 +405,6 @@
411
405
- \[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))
412
406
413
407
- \[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))
414
-
415
408
- The API has been renamed to `unstable_generateMiddlewareResponse` for clarity
416
409
- 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
417
410
- The `query` version of the API now has a signature of `(query: (r: Request) => Promise<StaticHandlerContext | Response>) => Promise<Response>`
@@ -1057,7 +1050,6 @@
1057
1050
```
1058
1051
1059
1052
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))
1246
1238
1247
1239
- 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))
1248
-
1249
1240
- `createCookie`
1250
1241
- `createCookieSessionStorage`
1251
1242
- `createMemorySessionStorage`
@@ -1254,7 +1245,6 @@ _No changes_
1254
1245
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)
1255
1246
1256
1247
Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
1257
-
1258
1248
- `createCookieFactory`
1259
1249
- `createSessionStorageFactory`
1260
1250
- `createCookieSessionStorageFactory`
@@ -1410,7 +1400,6 @@ _No changes_
1410
1400
```
1411
1401
1412
1402
This initial implementation targets type inference for:
1413
-
1414
1403
- `Params` : Path parameters from your routing config in `routes.ts` including file-based routing
1415
1404
- `LoaderData` : Loader data from `loader` and/or `clientLoader` within your route module
1416
1405
- `ActionData` : Action data from `action` and/or `clientAction` within your route module
@@ -1425,7 +1414,6 @@ _No changes_
1425
1414
```
1426
1415
1427
1416
Check out our docs for more:
1428
-
1429
1417
- [_Explanations > Type Safety_](https://reactrouter.com/dev/guides/explanation/type-safety)
1430
1418
- [_How-To > Setting up type safety_](https://reactrouter.com/dev/guides/how-to/setting-up-type-safety)
0 commit comments