Skip to content

Commit 360726d

Browse files
committed
Draft release notes
1 parent 6ce4a79 commit 360726d

File tree

1 file changed

+127
-80
lines changed

1 file changed

+127
-80
lines changed

CHANGELOG.md

Lines changed: 127 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,29 @@ 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.5.1](#v751)
17+
- [Patch Changes](#patch-changes)
18+
- [Unstable Changes](#unstable-changes)
1619
- [v7.5.0](#v750)
1720
- [What's Changed](#whats-changed)
1821
- [`route.lazy` Object API](#routelazy-object-api)
1922
- [Minor Changes](#minor-changes)
20-
- [Patch Changes](#patch-changes)
21-
- [Unstable Changes](#unstable-changes)
23+
- [Patch Changes](#patch-changes-1)
24+
- [Unstable Changes](#unstable-changes-1)
2225
- [Changes by Package](#changes-by-package)
2326
- [v7.4.1](#v741)
2427
- [Security Notice](#security-notice)
25-
- [Patch Changes](#patch-changes-1)
26-
- [Unstable Changes](#unstable-changes-1)
27-
- [v7.4.0](#v740)
28-
- [Minor Changes](#minor-changes-1)
2928
- [Patch Changes](#patch-changes-2)
3029
- [Unstable Changes](#unstable-changes-2)
30+
- [v7.4.0](#v740)
31+
- [Minor Changes](#minor-changes-1)
32+
- [Patch Changes](#patch-changes-3)
33+
- [Unstable Changes](#unstable-changes-3)
3134
- [Changes by Package](#changes-by-package-1)
3235
- [v7.3.0](#v730)
3336
- [Minor Changes](#minor-changes-2)
34-
- [Patch Changes](#patch-changes-3)
35-
- [Unstable Changes](#unstable-changes-3)
37+
- [Patch Changes](#patch-changes-4)
38+
- [Unstable Changes](#unstable-changes-4)
3639
- [Client-side `context` (unstable)](#client-side-context-unstable)
3740
- [Middleware (unstable)](#middleware-unstable)
3841
- [Middleware `context` parameter](#middleware-context-parameter)
@@ -44,28 +47,28 @@ We manage release notes in this file instead of the paginated Github Releases Pa
4447
- [Prerendering with a SPA Fallback](#prerendering-with-a-spa-fallback)
4548
- [Allow a root `loader` in SPA Mode](#allow-a-root-loader-in-spa-mode)
4649
- [Minor Changes](#minor-changes-3)
47-
- [Patch Changes](#patch-changes-4)
48-
- [Unstable Changes](#unstable-changes-4)
50+
- [Patch Changes](#patch-changes-5)
51+
- [Unstable Changes](#unstable-changes-5)
4952
- [Split Route Modules (unstable)](#split-route-modules-unstable)
5053
- [Changes by Package](#changes-by-package-3)
5154
- [v7.1.5](#v715)
52-
- [Patch Changes](#patch-changes-5)
53-
- [v7.1.4](#v714)
5455
- [Patch Changes](#patch-changes-6)
55-
- [v7.1.3](#v713)
56+
- [v7.1.4](#v714)
5657
- [Patch Changes](#patch-changes-7)
57-
- [v7.1.2](#v712)
58+
- [v7.1.3](#v713)
5859
- [Patch Changes](#patch-changes-8)
59-
- [v7.1.1](#v711)
60+
- [v7.1.2](#v712)
6061
- [Patch Changes](#patch-changes-9)
62+
- [v7.1.1](#v711)
63+
- [Patch Changes](#patch-changes-10)
6164
- [v7.1.0](#v710)
6265
- [Minor Changes](#minor-changes-4)
63-
- [Patch Changes](#patch-changes-10)
66+
- [Patch Changes](#patch-changes-11)
6467
- [Changes by Package](#changes-by-package-4)
6568
- [v7.0.2](#v702)
66-
- [Patch Changes](#patch-changes-11)
67-
- [v7.0.1](#v701)
6869
- [Patch Changes](#patch-changes-12)
70+
- [v7.0.1](#v701)
71+
- [Patch Changes](#patch-changes-13)
6972
- [v7.0.0](#v700)
7073
- [Breaking Changes](#breaking-changes)
7174
- [Package Restructuring](#package-restructuring)
@@ -82,199 +85,199 @@ We manage release notes in this file instead of the paginated Github Releases Pa
8285
- [Major Changes (`react-router`)](#major-changes-react-router)
8386
- [Major Changes (`@react-router/*`)](#major-changes-react-router-1)
8487
- [Minor Changes](#minor-changes-5)
85-
- [Patch Changes](#patch-changes-13)
88+
- [Patch Changes](#patch-changes-14)
8689
- [Changes by Package](#changes-by-package-5)
8790
- [React Router v6 Releases](#react-router-v6-releases)
8891
- [v6.30.0](#v6300)
8992
- [Minor Changes](#minor-changes-6)
90-
- [Patch Changes](#patch-changes-14)
93+
- [Patch Changes](#patch-changes-15)
9194
- [v6.29.0](#v6290)
9295
- [Minor Changes](#minor-changes-7)
93-
- [Patch Changes](#patch-changes-15)
94-
- [v6.28.2](#v6282)
9596
- [Patch Changes](#patch-changes-16)
96-
- [v6.28.1](#v6281)
97+
- [v6.28.2](#v6282)
9798
- [Patch Changes](#patch-changes-17)
99+
- [v6.28.1](#v6281)
100+
- [Patch Changes](#patch-changes-18)
98101
- [v6.28.0](#v6280)
99102
- [What's Changed](#whats-changed-2)
100103
- [Minor Changes](#minor-changes-8)
101-
- [Patch Changes](#patch-changes-18)
104+
- [Patch Changes](#patch-changes-19)
102105
- [v6.27.0](#v6270)
103106
- [What's Changed](#whats-changed-3)
104107
- [Stabilized APIs](#stabilized-apis)
105108
- [Minor Changes](#minor-changes-9)
106-
- [Patch Changes](#patch-changes-19)
107-
- [v6.26.2](#v6262)
108109
- [Patch Changes](#patch-changes-20)
109-
- [v6.26.1](#v6261)
110+
- [v6.26.2](#v6262)
110111
- [Patch Changes](#patch-changes-21)
112+
- [v6.26.1](#v6261)
113+
- [Patch Changes](#patch-changes-22)
111114
- [v6.26.0](#v6260)
112115
- [Minor Changes](#minor-changes-10)
113-
- [Patch Changes](#patch-changes-22)
114-
- [v6.25.1](#v6251)
115116
- [Patch Changes](#patch-changes-23)
117+
- [v6.25.1](#v6251)
118+
- [Patch Changes](#patch-changes-24)
116119
- [v6.25.0](#v6250)
117120
- [What's Changed](#whats-changed-4)
118121
- [Stabilized `v7_skipActionErrorRevalidation`](#stabilized-v7_skipactionerrorrevalidation)
119122
- [Minor Changes](#minor-changes-11)
120-
- [Patch Changes](#patch-changes-24)
121-
- [v6.24.1](#v6241)
122123
- [Patch Changes](#patch-changes-25)
124+
- [v6.24.1](#v6241)
125+
- [Patch Changes](#patch-changes-26)
123126
- [v6.24.0](#v6240)
124127
- [What's Changed](#whats-changed-5)
125128
- [Lazy Route Discovery (a.k.a. "Fog of War")](#lazy-route-discovery-aka-fog-of-war)
126129
- [Minor Changes](#minor-changes-12)
127-
- [Patch Changes](#patch-changes-26)
128-
- [v6.23.1](#v6231)
129130
- [Patch Changes](#patch-changes-27)
131+
- [v6.23.1](#v6231)
132+
- [Patch Changes](#patch-changes-28)
130133
- [v6.23.0](#v6230)
131134
- [What's Changed](#whats-changed-6)
132135
- [Data Strategy (unstable)](#data-strategy-unstable)
133136
- [Skip Action Error Revalidation (unstable)](#skip-action-error-revalidation-unstable)
134137
- [Minor Changes](#minor-changes-13)
135138
- [v6.22.3](#v6223)
136-
- [Patch Changes](#patch-changes-28)
137-
- [v6.22.2](#v6222)
138139
- [Patch Changes](#patch-changes-29)
139-
- [v6.22.1](#v6221)
140+
- [v6.22.2](#v6222)
140141
- [Patch Changes](#patch-changes-30)
142+
- [v6.22.1](#v6221)
143+
- [Patch Changes](#patch-changes-31)
141144
- [v6.22.0](#v6220)
142145
- [What's Changed](#whats-changed-7)
143146
- [Core Web Vitals Technology Report Flag](#core-web-vitals-technology-report-flag)
144147
- [Minor Changes](#minor-changes-14)
145-
- [Patch Changes](#patch-changes-31)
146-
- [v6.21.3](#v6213)
147148
- [Patch Changes](#patch-changes-32)
148-
- [v6.21.2](#v6212)
149+
- [v6.21.3](#v6213)
149150
- [Patch Changes](#patch-changes-33)
150-
- [v6.21.1](#v6211)
151+
- [v6.21.2](#v6212)
151152
- [Patch Changes](#patch-changes-34)
153+
- [v6.21.1](#v6211)
154+
- [Patch Changes](#patch-changes-35)
152155
- [v6.21.0](#v6210)
153156
- [What's Changed](#whats-changed-8)
154157
- [`future.v7_relativeSplatPath`](#futurev7_relativesplatpath)
155158
- [Partial Hydration](#partial-hydration)
156159
- [Minor Changes](#minor-changes-15)
157-
- [Patch Changes](#patch-changes-35)
158-
- [v6.20.1](#v6201)
159160
- [Patch Changes](#patch-changes-36)
161+
- [v6.20.1](#v6201)
162+
- [Patch Changes](#patch-changes-37)
160163
- [v6.20.0](#v6200)
161164
- [Minor Changes](#minor-changes-16)
162-
- [Patch Changes](#patch-changes-37)
165+
- [Patch Changes](#patch-changes-38)
163166
- [v6.19.0](#v6190)
164167
- [What's Changed](#whats-changed-9)
165168
- [`unstable_flushSync` API](#unstable_flushsync-api)
166169
- [Minor Changes](#minor-changes-17)
167-
- [Patch Changes](#patch-changes-38)
170+
- [Patch Changes](#patch-changes-39)
168171
- [v6.18.0](#v6180)
169172
- [What's Changed](#whats-changed-10)
170173
- [New Fetcher APIs](#new-fetcher-apis)
171174
- [Persistence Future Flag (`future.v7_fetcherPersist`)](#persistence-future-flag-futurev7_fetcherpersist)
172175
- [Minor Changes](#minor-changes-18)
173-
- [Patch Changes](#patch-changes-39)
176+
- [Patch Changes](#patch-changes-40)
174177
- [v6.17.0](#v6170)
175178
- [What's Changed](#whats-changed-11)
176179
- [View Transitions 🚀](#view-transitions-)
177180
- [Minor Changes](#minor-changes-19)
178-
- [Patch Changes](#patch-changes-40)
181+
- [Patch Changes](#patch-changes-41)
179182
- [v6.16.0](#v6160)
180183
- [Minor Changes](#minor-changes-20)
181-
- [Patch Changes](#patch-changes-41)
184+
- [Patch Changes](#patch-changes-42)
182185
- [v6.15.0](#v6150)
183186
- [Minor Changes](#minor-changes-21)
184-
- [Patch Changes](#patch-changes-42)
185-
- [v6.14.2](#v6142)
186187
- [Patch Changes](#patch-changes-43)
187-
- [v6.14.1](#v6141)
188+
- [v6.14.2](#v6142)
188189
- [Patch Changes](#patch-changes-44)
190+
- [v6.14.1](#v6141)
191+
- [Patch Changes](#patch-changes-45)
189192
- [v6.14.0](#v6140)
190193
- [What's Changed](#whats-changed-12)
191194
- [JSON/Text Submissions](#jsontext-submissions)
192195
- [Minor Changes](#minor-changes-22)
193-
- [Patch Changes](#patch-changes-45)
196+
- [Patch Changes](#patch-changes-46)
194197
- [v6.13.0](#v6130)
195198
- [What's Changed](#whats-changed-13)
196199
- [`future.v7_startTransition`](#futurev7_starttransition)
197200
- [Minor Changes](#minor-changes-23)
198-
- [Patch Changes](#patch-changes-46)
199-
- [v6.12.1](#v6121)
200201
- [Patch Changes](#patch-changes-47)
202+
- [v6.12.1](#v6121)
203+
- [Patch Changes](#patch-changes-48)
201204
- [v6.12.0](#v6120)
202205
- [What's Changed](#whats-changed-14)
203206
- [`React.startTransition` support](#reactstarttransition-support)
204207
- [Minor Changes](#minor-changes-24)
205-
- [Patch Changes](#patch-changes-48)
206-
- [v6.11.2](#v6112)
207208
- [Patch Changes](#patch-changes-49)
208-
- [v6.11.1](#v6111)
209+
- [v6.11.2](#v6112)
209210
- [Patch Changes](#patch-changes-50)
211+
- [v6.11.1](#v6111)
212+
- [Patch Changes](#patch-changes-51)
210213
- [v6.11.0](#v6110)
211214
- [Minor Changes](#minor-changes-25)
212-
- [Patch Changes](#patch-changes-51)
215+
- [Patch Changes](#patch-changes-52)
213216
- [v6.10.0](#v6100)
214217
- [What's Changed](#whats-changed-15)
215218
- [Minor Changes](#minor-changes-26)
216219
- [`future.v7_normalizeFormMethod`](#futurev7_normalizeformmethod)
217-
- [Patch Changes](#patch-changes-52)
220+
- [Patch Changes](#patch-changes-53)
218221
- [v6.9.0](#v690)
219222
- [What's Changed](#whats-changed-16)
220223
- [`Component`/`ErrorBoundary` route properties](#componenterrorboundary-route-properties)
221224
- [Introducing Lazy Route Modules](#introducing-lazy-route-modules)
222225
- [Minor Changes](#minor-changes-27)
223-
- [Patch Changes](#patch-changes-53)
224-
- [v6.8.2](#v682)
225226
- [Patch Changes](#patch-changes-54)
226-
- [v6.8.1](#v681)
227+
- [v6.8.2](#v682)
227228
- [Patch Changes](#patch-changes-55)
229+
- [v6.8.1](#v681)
230+
- [Patch Changes](#patch-changes-56)
228231
- [v6.8.0](#v680)
229232
- [Minor Changes](#minor-changes-28)
230-
- [Patch Changes](#patch-changes-56)
233+
- [Patch Changes](#patch-changes-57)
231234
- [v6.7.0](#v670)
232235
- [Minor Changes](#minor-changes-29)
233-
- [Patch Changes](#patch-changes-57)
234-
- [v6.6.2](#v662)
235236
- [Patch Changes](#patch-changes-58)
236-
- [v6.6.1](#v661)
237+
- [v6.6.2](#v662)
237238
- [Patch Changes](#patch-changes-59)
239+
- [v6.6.1](#v661)
240+
- [Patch Changes](#patch-changes-60)
238241
- [v6.6.0](#v660)
239242
- [What's Changed](#whats-changed-17)
240243
- [Minor Changes](#minor-changes-30)
241-
- [Patch Changes](#patch-changes-60)
244+
- [Patch Changes](#patch-changes-61)
242245
- [v6.5.0](#v650)
243246
- [What's Changed](#whats-changed-18)
244247
- [Minor Changes](#minor-changes-31)
245-
- [Patch Changes](#patch-changes-61)
246-
- [v6.4.5](#v645)
247248
- [Patch Changes](#patch-changes-62)
248-
- [v6.4.4](#v644)
249+
- [v6.4.5](#v645)
249250
- [Patch Changes](#patch-changes-63)
250-
- [v6.4.3](#v643)
251+
- [v6.4.4](#v644)
251252
- [Patch Changes](#patch-changes-64)
252-
- [v6.4.2](#v642)
253+
- [v6.4.3](#v643)
253254
- [Patch Changes](#patch-changes-65)
254-
- [v6.4.1](#v641)
255+
- [v6.4.2](#v642)
255256
- [Patch Changes](#patch-changes-66)
257+
- [v6.4.1](#v641)
258+
- [Patch Changes](#patch-changes-67)
256259
- [v6.4.0](#v640)
257260
- [What's Changed](#whats-changed-19)
258261
- [Remix Data APIs](#remix-data-apis)
259-
- [Patch Changes](#patch-changes-67)
262+
- [Patch Changes](#patch-changes-68)
260263
- [v6.3.0](#v630)
261264
- [Minor Changes](#minor-changes-32)
262265
- [v6.2.2](#v622)
263-
- [Patch Changes](#patch-changes-68)
264-
- [v6.2.1](#v621)
265266
- [Patch Changes](#patch-changes-69)
267+
- [v6.2.1](#v621)
268+
- [Patch Changes](#patch-changes-70)
266269
- [v6.2.0](#v620)
267270
- [Minor Changes](#minor-changes-33)
268-
- [Patch Changes](#patch-changes-70)
269-
- [v6.1.1](#v611)
270271
- [Patch Changes](#patch-changes-71)
272+
- [v6.1.1](#v611)
273+
- [Patch Changes](#patch-changes-72)
271274
- [v6.1.0](#v610)
272275
- [Minor Changes](#minor-changes-34)
273-
- [Patch Changes](#patch-changes-72)
274-
- [v6.0.2](#v602)
275276
- [Patch Changes](#patch-changes-73)
276-
- [v6.0.1](#v601)
277+
- [v6.0.2](#v602)
277278
- [Patch Changes](#patch-changes-74)
279+
- [v6.0.1](#v601)
280+
- [Patch Changes](#patch-changes-75)
278281
- [v6.0.0](#v600)
279282

280283
</details>
@@ -316,6 +319,50 @@ Date: YYYY-MM-DD
316319
**Full Changelog**: [`v7.X.Y...v7.X.Y`](https://github.com/remix-run/react-router/compare/[email protected]@7.X.Y)
317320
-->
318321

322+
## v7.5.1
323+
324+
Date: 2025-04-17
325+
326+
### Patch Changes
327+
328+
- `react-router` - When using the object-based `route.lazy` API, the `HydrateFallback` and `hydrateFallbackElement` properties are now skipped when lazy loading routes after hydration. ([#13376](https://github.com/remix-run/react-router/pull/13376))
329+
330+
- If you move the code for these properties into a separate file, you can use this optimization to avoid downloading unused hydration code. For example:
331+
332+
```ts
333+
createBrowserRouter([
334+
{
335+
path: "/show/:showId",
336+
lazy: {
337+
loader: async () => (await import("./show.loader.js")).loader,
338+
Component: async () =>
339+
(await import("./show.component.js")).Component,
340+
HydrateFallback: async () =>
341+
(await import("./show.hydrate-fallback.js")).HydrateFallback,
342+
},
343+
},
344+
]);
345+
```
346+
347+
- `react-router` - Fix single fetch bug where no revalidation request would be made when navigating upwards to a reused parent route ([#13253](https://github.com/remix-run/react-router/pull/13253))
348+
- `react-router` - Properly revalidate pre-rendered paths when param values change ([#13380](https://github.com/remix-run/react-router/pull/13380))
349+
- `react-router` - Fix pre-rendering when a loader returns a redirect ([#13365](https://github.com/remix-run/react-router/pull/13365))
350+
- `react-router` - Do not automatically add `null` to `staticHandler.query()` `context.loaderData` if routes do not have loaders ([#13223](https://github.com/remix-run/react-router/pull/13223))
351+
- This was a Remix v2 implementation detail inadvertently left in for React Router v7
352+
- Now that we allow returning `undefined` from loaders, our prior check of `loaderData[routeId] !== undefined` was no longer sufficient and was changed to a `routeId in loaderData` check - these `null` values can cause issues for this new check
353+
- ⚠️ This could be a "breaking bug fix" for you if you are doing manual SSR with `createStaticHandler()`/`<StaticRouterProvider>`, and using `context.loaderData` to control `<RouterProvider>` hydration behavior on the client
354+
355+
### Unstable Changes
356+
357+
⚠️ _[Unstable features](https://reactrouter.com/community/api-development-strategy#unstable-flags) are not recommended for production use_
358+
359+
- `react-router` - UNSTABLE: Add a new `unstable_runClientMiddleware` argument to `dataStrategy` to enable middleware execution in custom `dataStrategy` implementations ([#13395](https://github.com/remix-run/react-router/pull/13395))
360+
- `react-router` - UNSTABLE: Add better error messaging when `getLoadContext` is not updated to return a `Map`" ([#13242](https://github.com/remix-run/react-router/pull/13242))
361+
- `react-router` - UNSTABLE: Update context type for `LoaderFunctionArgs`/`ActionFunctionArgs` when middleware is enabled ([#13381](https://github.com/remix-run/react-router/pull/13381))
362+
- `react-router` - Add support for the new `unstable_shouldCallHandler`/`unstable_shouldRevalidateArgs` APIs in `dataStrategy` ([#13253](https://github.com/remix-run/react-router/pull/13253))
363+
364+
**Full Changelog**: [`v7.5.0...v7.5.1`](https://github.com/remix-run/react-router/compare/[email protected]@7.5.1)
365+
319366
## v7.5.0
320367

321368
Date: 2025-04-04

0 commit comments

Comments
 (0)