|
37 | 37 |
|
38 | 38 | | URL `/a/b/c` | **HTTP pathname** | **`request` pathname\`** | |
39 | 39 | | ------------ | ----------------- | ------------------------ | |
40 | | - | **Document** | `/a/b/c` | `/a/b/c` ✅ | |
41 | | - | **Data** | `/a/b/c.data` | `/a/b/c` ✅ | |
| 40 | + | **Document** | `/a/b/c` | `/a/b/c` ✅ | |
| 41 | + | **Data** | `/a/b/c.data` | `/a/b/c` ✅ | |
42 | 42 |
|
43 | 43 | | URL `/a/b/c/` | **HTTP pathname** | **`request` pathname\`** | |
44 | 44 | | ------------- | ----------------- | ------------------------ | |
45 | | - | **Document** | `/a/b/c/` | `/a/b/c/` ✅ | |
| 45 | + | **Document** | `/a/b/c/` | `/a/b/c/` ✅ | |
46 | 46 | | **Data** | `/a/b/c.data` | `/a/b/c` ⚠️ | |
47 | 47 |
|
48 | 48 | With this flag enabled, these pathnames will be made consistent though a new `_.data` format for client-side `.data` requests: |
49 | 49 |
|
50 | 50 | | URL `/a/b/c` | **HTTP pathname** | **`request` pathname\`** | |
51 | 51 | | ------------ | ----------------- | ------------------------ | |
52 | | - | **Document** | `/a/b/c` | `/a/b/c` ✅ | |
53 | | - | **Data** | `/a/b/c.data` | `/a/b/c` ✅ | |
| 52 | + | **Document** | `/a/b/c` | `/a/b/c` ✅ | |
| 53 | + | **Data** | `/a/b/c.data` | `/a/b/c` ✅ | |
54 | 54 |
|
55 | 55 | | URL `/a/b/c/` | **HTTP pathname** | **`request` pathname\`** | |
56 | 56 | | ------------- | ------------------ | ------------------------ | |
57 | | - | **Document** | `/a/b/c/` | `/a/b/c/` ✅ | |
58 | | - | **Data** | `/a/b/c/_.data` ⬅️ | `/a/b/c/` ✅ | |
| 57 | + | **Document** | `/a/b/c/` | `/a/b/c/` ✅ | |
| 58 | + | **Data** | `/a/b/c/_.data` ⬅️ | `/a/b/c/` ✅ | |
59 | 59 |
|
60 | 60 | 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. |
61 | 61 |
|
|
313 | 313 | - Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215)) |
314 | 314 |
|
315 | 315 | We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use: |
316 | | - |
317 | 316 | - [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider) |
318 | 317 | - [`createContext`](https://reactrouter.com/api/utils/createContext) |
319 | 318 | - `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option |
|
1056 | 1055 | ``` |
1057 | 1056 |
|
1058 | 1057 | This initial implementation targets type inference for: |
1059 | | -
|
1060 | 1058 | - `Params` : Path parameters from your routing config in `routes.ts` including file-based routing |
1061 | 1059 | - `LoaderData` : Loader data from `loader` and/or `clientLoader` within your route module |
1062 | 1060 | - `ActionData` : Action data from `action` and/or `clientAction` within your route module |
|
1071 | 1069 | ``` |
1072 | 1070 |
|
1073 | 1071 | Check out our docs for more: |
1074 | | -
|
1075 | 1072 | - [_Explanations > Type Safety_](https://reactrouter.com/dev/guides/explanation/type-safety) |
1076 | 1073 | - [_How-To > Setting up type safety_](https://reactrouter.com/dev/guides/how-to/setting-up-type-safety) |
1077 | 1074 |
|
|
1271 | 1268 | - Vite: Provide `Unstable_ServerBundlesFunction` and `Unstable_VitePluginConfig` types ([#8654](https://github.com/remix-run/remix/pull/8654)) |
1272 | 1269 |
|
1273 | 1270 | - Vite: add `--sourcemapClient` and `--sourcemapServer` flags to `remix vite:build` ([#8613](https://github.com/remix-run/remix/pull/8613)) |
1274 | | -
|
1275 | 1271 | - `--sourcemapClient` |
1276 | 1272 |
|
1277 | 1273 | - `--sourcemapClient=inline` |
|
1608 | 1604 | - 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)) |
1609 | 1605 |
|
1610 | 1606 | 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: |
1611 | | -
|
1612 | 1607 | - Leveraging a data source local to the browser (i.e., `localStorage`) |
1613 | 1608 | - Managing a client-side cache of server data (like `IndexedDB`) |
1614 | 1609 | - Bypassing the Remix server in a BFF setup and hitting your API directly from the browser |
|
2012 | 2007 | - Output esbuild metafiles for bundle analysis ([#6772](https://github.com/remix-run/remix/pull/6772)) |
2013 | 2008 |
|
2014 | 2009 | Written to server build directory (`build/` by default): |
2015 | | -
|
2016 | 2010 | - `metafile.css.json` |
2017 | 2011 | - `metafile.js.json` (browser JS) |
2018 | 2012 | - `metafile.server.json` (server JS) |
|
2110 | 2104 | - built-in tls support ([#6483](https://github.com/remix-run/remix/pull/6483)) |
2111 | 2105 |
|
2112 | 2106 | New options: |
2113 | | -
|
2114 | 2107 | - `--tls-key` / `tlsKey`: TLS key |
2115 | 2108 | - `--tls-cert` / `tlsCert`: TLS Certificate |
2116 | 2109 |
|
|
2381 | 2374 | ``` |
2382 | 2375 |
|
2383 | 2376 | The dev server will: |
2384 | | -
|
2385 | 2377 | - force `NODE_ENV=development` and warn you if it was previously set to something else |
2386 | 2378 | - rebuild your app whenever your Remix app code changes |
2387 | 2379 | - restart your app server whenever rebuilds succeed |
|
0 commit comments