|
18 | 18 |
|
19 | 19 | | URL `/a/b/c` | **HTTP pathname** | **`request` pathname\`** | |
20 | 20 | | ------------ | ----------------- | ------------------------ | |
21 | | - | **Document** | `/a/b/c` | `/a/b/c` ✅ | |
22 | | - | **Data** | `/a/b/c.data` | `/a/b/c` ✅ | |
| 21 | + | **Document** | `/a/b/c` | `/a/b/c` ✅ | |
| 22 | + | **Data** | `/a/b/c.data` | `/a/b/c` ✅ | |
23 | 23 |
|
24 | 24 | | URL `/a/b/c/` | **HTTP pathname** | **`request` pathname\`** | |
25 | 25 | | ------------- | ----------------- | ------------------------ | |
26 | | - | **Document** | `/a/b/c/` | `/a/b/c/` ✅ | |
| 26 | + | **Document** | `/a/b/c/` | `/a/b/c/` ✅ | |
27 | 27 | | **Data** | `/a/b/c.data` | `/a/b/c` ⚠️ | |
28 | 28 |
|
29 | 29 | With this flag enabled, these pathnames will be made consistent though a new `_.data` format for client-side `.data` requests: |
30 | 30 |
|
31 | 31 | | URL `/a/b/c` | **HTTP pathname** | **`request` pathname\`** | |
32 | 32 | | ------------ | ----------------- | ------------------------ | |
33 | | - | **Document** | `/a/b/c` | `/a/b/c` ✅ | |
34 | | - | **Data** | `/a/b/c.data` | `/a/b/c` ✅ | |
| 33 | + | **Document** | `/a/b/c` | `/a/b/c` ✅ | |
| 34 | + | **Data** | `/a/b/c.data` | `/a/b/c` ✅ | |
35 | 35 |
|
36 | 36 | | URL `/a/b/c/` | **HTTP pathname** | **`request` pathname\`** | |
37 | 37 | | ------------- | ------------------ | ------------------------ | |
38 | | - | **Document** | `/a/b/c/` | `/a/b/c/` ✅ | |
39 | | - | **Data** | `/a/b/c/_.data` ⬅️ | `/a/b/c/` ✅ | |
| 38 | + | **Document** | `/a/b/c/` | `/a/b/c/` ✅ | |
| 39 | + | **Data** | `/a/b/c/_.data` ⬅️ | `/a/b/c/` ✅ | |
40 | 40 |
|
41 | 41 | This a bug fix but we are putting it behind an opt-in flag because it has the potential to be a "breaking bug fix" if you are relying on the URL format for any other application or caching logic. |
42 | 42 |
|
|
294 | 294 | - Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215)) |
295 | 295 |
|
296 | 296 | We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use: |
297 | | - |
298 | 297 | - [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider) |
299 | 298 | - [`createContext`](https://reactrouter.com/api/utils/createContext) |
300 | 299 | - `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option |
|
1037 | 1036 | ``` |
1038 | 1037 |
|
1039 | 1038 | This initial implementation targets type inference for: |
1040 | | -
|
1041 | 1039 | - `Params` : Path parameters from your routing config in `routes.ts` including file-based routing |
1042 | 1040 | - `LoaderData` : Loader data from `loader` and/or `clientLoader` within your route module |
1043 | 1041 | - `ActionData` : Action data from `action` and/or `clientAction` within your route module |
|
1052 | 1050 | ``` |
1053 | 1051 |
|
1054 | 1052 | Check out our docs for more: |
1055 | | -
|
1056 | 1053 | - [_Explanations > Type Safety_](https://reactrouter.com/dev/guides/explanation/type-safety) |
1057 | 1054 | - [_How-To > Setting up type safety_](https://reactrouter.com/dev/guides/how-to/setting-up-type-safety) |
1058 | 1055 |
|
|
1252 | 1249 | - Vite: Provide `Unstable_ServerBundlesFunction` and `Unstable_VitePluginConfig` types ([#8654](https://github.com/remix-run/remix/pull/8654)) |
1253 | 1250 |
|
1254 | 1251 | - Vite: add `--sourcemapClient` and `--sourcemapServer` flags to `remix vite:build` ([#8613](https://github.com/remix-run/remix/pull/8613)) |
1255 | | -
|
1256 | 1252 | - `--sourcemapClient` |
1257 | 1253 |
|
1258 | 1254 | - `--sourcemapClient=inline` |
|
1589 | 1585 | - 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)) |
1590 | 1586 |
|
1591 | 1587 | 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: |
1592 | | -
|
1593 | 1588 | - Leveraging a data source local to the browser (i.e., `localStorage`) |
1594 | 1589 | - Managing a client-side cache of server data (like `IndexedDB`) |
1595 | 1590 | - Bypassing the Remix server in a BFF setup and hitting your API directly from the browser |
|
1993 | 1988 | - Output esbuild metafiles for bundle analysis ([#6772](https://github.com/remix-run/remix/pull/6772)) |
1994 | 1989 |
|
1995 | 1990 | Written to server build directory (`build/` by default): |
1996 | | -
|
1997 | 1991 | - `metafile.css.json` |
1998 | 1992 | - `metafile.js.json` (browser JS) |
1999 | 1993 | - `metafile.server.json` (server JS) |
|
2091 | 2085 | - built-in tls support ([#6483](https://github.com/remix-run/remix/pull/6483)) |
2092 | 2086 |
|
2093 | 2087 | New options: |
2094 | | -
|
2095 | 2088 | - `--tls-key` / `tlsKey`: TLS key |
2096 | 2089 | - `--tls-cert` / `tlsCert`: TLS Certificate |
2097 | 2090 |
|
|
2362 | 2355 | ``` |
2363 | 2356 |
|
2364 | 2357 | The dev server will: |
2365 | | -
|
2366 | 2358 | - force `NODE_ENV=development` and warn you if it was previously set to something else |
2367 | 2359 | - rebuild your app whenever your Remix app code changes |
2368 | 2360 | - restart your app server whenever rebuilds succeed |
|
0 commit comments