Skip to content

Commit e354eab

Browse files
committed
changelog
1 parent 4e989f8 commit e354eab

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

CHANGELOG.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ We manage release notes in this file instead of the paginated Github Releases Pa
1313
<summary>Table of Contents</summary>
1414

1515
- [React Router Releases](#react-router-releases)
16+
- [v7.6.2](#v762)
17+
- [Patch Changes](#patch-changes)
1618
- [v7.6.1](#v761)
1719
- [Patch Changes](#patch-changes)
1820
- [Unstable Changes](#unstable-changes)
@@ -337,6 +339,78 @@ Date: YYYY-MM-DD
337339
**Full Changelog**: [`v7.X.Y...v7.X.Y`](https://github.com/remix-run/react-router/compare/[email protected]@7.X.Y)
338340
-->
339341

342+
## v7.6.2
343+
344+
Date: 2025-06-03
345+
346+
### Patch Changes
347+
348+
- `create-react-router` - Update `tar-fs` ([#13675](https://github.com/remix-run/react-router/pull/13675))
349+
- `react-router` - (INTERNAL) Slight refactor of internal `headers()` function processing for use with RSC ([#13639](https://github.com/remix-run/react-router/pull/13639))
350+
- `react-router` `@react-router/dev` - Avoid additional `with-props` chunk in Framework Mode by moving route module component prop logic from the Vite plugin to `react-router` ([#13650](https://github.com/remix-run/react-router/pull/13650))
351+
- `@react-router/dev` - When `future.unstable_viteEnvironmentApi` is enabled and an absolute Vite `base` has been configured, ensure critical CSS is handled correctly during development ([#13598](https://github.com/remix-run/react-router/pull/13598))
352+
- `@react-router/dev` - Update `vite-node` ([#13673](https://github.com/remix-run/react-router/pull/13673))
353+
- `@react-router/dev` - Fix typegen for non-{.js,.jsx,.ts,.tsx} routes like .mdx ([#12453](https://github.com/remix-run/react-router/pull/12453))
354+
- `@react-router/dev` - Fix href types for optional dynamic params ([#13725](https://github.com/remix-run/react-router/pull/13725))
355+
356+
7.6.1 introduced fixes for `href` when using optional static segments,
357+
but those fixes caused regressions with how optional dynamic params worked in 7.6.0:
358+
359+
```ts
360+
// 7.6.0
361+
href("/users/:id?"); // ✅
362+
href("/users/:id?", { id: 1 }); // ✅
363+
364+
// 7.6.1
365+
href("/users/:id?"); // ❌
366+
href("/users/:id?", { id: 1 }); // ❌
367+
```
368+
369+
Now, optional static segments are expanded into different paths for `href`, but optional dynamic params are not.
370+
This way `href` can unambiguously refer to an exact URL path, all while keeping the number of path options to a minimum.
371+
372+
```ts
373+
// 7.6.2
374+
375+
// path: /users/:id?/edit?
376+
href("
377+
// ^ suggestions when cursor is here:
378+
//
379+
// /users/:id?
380+
// /users/:id?/edit
381+
```
382+
383+
Additionally, you can pass `params` from component props without needing to narrow them manually:
384+
385+
```ts
386+
declare const params: { id?: number };
387+
388+
// 7.6.0
389+
href("/users/:id?", params);
390+
391+
// 7.6.1
392+
href("/users/:id?", params); // ❌
393+
"id" in params ? href("/users/:id", params) : href("/users"); // works... but is annoying
394+
395+
// 7.6.2
396+
href("/users/:id?", params); // restores behavior of 7.6.0
397+
```
398+
399+
### Changes by Package
400+
401+
- [`create-react-router`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/create-react-router/CHANGELOG.md#762)
402+
- [`react-router`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router/CHANGELOG.md#762)
403+
- [`@react-router/architect`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router-architect/CHANGELOG.md#762)
404+
- [`@react-router/cloudflare`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router-cloudflare/CHANGELOG.md#762)
405+
- [`@react-router/dev`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router-dev/CHANGELOG.md#762)
406+
- [`@react-router/express`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router-express/CHANGELOG.md#762)
407+
- [`@react-router/fs-routes`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router-fs-routes/CHANGELOG.md#762)
408+
- [`@react-router/node`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router-node/CHANGELOG.md#762)
409+
- [`@react-router/remix-config-routes-adapter`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router-remix-config-routes-adapter/CHANGELOG.md#762)
410+
- [`@react-router/serve`](https://github.com/remix-run/react-router/blob/react-router%407.6.2/packages/react-router-serve/CHANGELOG.md#762)
411+
412+
**Full Changelog**: [`v7.6.1...v7.6.2`](https://github.com/remix-run/react-router/compare/[email protected]@7.6.2)
413+
340414
## v7.6.1
341415

342416
Date: 2025-05-25

0 commit comments

Comments
 (0)