@@ -13,207 +13,106 @@ 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+ - [ v6.30.4] ( #v6304 )
1617 - [ v6.30.3] ( #v6303 )
17- - [ Security Notice] ( #security-notice )
18- - [ Patch Changes] ( #patch-changes )
1918 - [ v6.30.2] ( #v6302 )
20- - [ Patch Changes] ( #patch-changes-1 )
2119 - [ v6.30.1] ( #v6301 )
22- - [ Patch Changes] ( #patch-changes-2 )
2320 - [ v6.30.0] ( #v6300 )
24- - [ Minor Changes] ( #minor-changes )
25- - [ Patch Changes] ( #patch-changes-3 )
2621 - [ v6.29.0] ( #v6290 )
27- - [ Minor Changes] ( #minor-changes-1 )
28- - [ Patch Changes] ( #patch-changes-4 )
2922 - [ v6.28.2] ( #v6282 )
30- - [ Patch Changes] ( #patch-changes-5 )
3123 - [ v6.28.1] ( #v6281 )
32- - [ Patch Changes] ( #patch-changes-6 )
3324 - [ v6.28.0] ( #v6280 )
34- - [ What's Changed] ( #whats-changed )
35- - [ Minor Changes] ( #minor-changes-2 )
36- - [ Patch Changes] ( #patch-changes-7 )
3725 - [ v6.27.0] ( #v6270 )
38- - [ What's Changed] ( #whats-changed-1 )
39- - [ Stabilized APIs] ( #stabilized-apis )
40- - [ Minor Changes] ( #minor-changes-3 )
41- - [ Patch Changes] ( #patch-changes-8 )
26+ - [ Stabilized APIs] ( #stabilized-apis )
4227 - [ v6.26.2] ( #v6262 )
43- - [ Patch Changes] ( #patch-changes-9 )
4428 - [ v6.26.1] ( #v6261 )
45- - [ Patch Changes] ( #patch-changes-10 )
4629 - [ v6.26.0] ( #v6260 )
47- - [ Minor Changes] ( #minor-changes-4 )
48- - [ Patch Changes] ( #patch-changes-11 )
4930 - [ v6.25.1] ( #v6251 )
50- - [ Patch Changes] ( #patch-changes-12 )
5131 - [ v6.25.0] ( #v6250 )
52- - [ What's Changed] ( #whats-changed-2 )
53- - [ Stabilized ` v7_skipActionErrorRevalidation ` ] ( #stabilized-v7_skipactionerrorrevalidation )
54- - [ Minor Changes] ( #minor-changes-5 )
55- - [ Patch Changes] ( #patch-changes-13 )
32+ - [ Stabilized ` v7_skipActionErrorRevalidation ` ] ( #stabilized-v7_skipactionerrorrevalidation )
5633 - [ v6.24.1] ( #v6241 )
57- - [ Patch Changes] ( #patch-changes-14 )
5834 - [ v6.24.0] ( #v6240 )
59- - [ What's Changed] ( #whats-changed-3 )
60- - [ Lazy Route Discovery (a.k.a. "Fog of War")] ( #lazy-route-discovery-aka-fog-of-war )
61- - [ Minor Changes] ( #minor-changes-6 )
62- - [ Patch Changes] ( #patch-changes-15 )
35+ - [ Lazy Route Discovery (a.k.a. "Fog of War")] ( #lazy-route-discovery-aka-fog-of-war )
6336 - [ v6.23.1] ( #v6231 )
64- - [ Patch Changes] ( #patch-changes-16 )
6537 - [ v6.23.0] ( #v6230 )
66- - [ What's Changed] ( #whats-changed-4 )
67- - [ Data Strategy (unstable)] ( #data-strategy-unstable )
68- - [ Skip Action Error Revalidation (unstable)] ( #skip-action-error-revalidation-unstable )
69- - [ Minor Changes] ( #minor-changes-7 )
38+ - [ Data Strategy (unstable)] ( #data-strategy-unstable )
39+ - [ Skip Action Error Revalidation (unstable)] ( #skip-action-error-revalidation-unstable )
7040 - [ v6.22.3] ( #v6223 )
71- - [ Patch Changes] ( #patch-changes-17 )
7241 - [ v6.22.2] ( #v6222 )
73- - [ Patch Changes] ( #patch-changes-18 )
7442 - [ v6.22.1] ( #v6221 )
75- - [ Patch Changes] ( #patch-changes-19 )
7643 - [ v6.22.0] ( #v6220 )
77- - [ What's Changed] ( #whats-changed-5 )
78- - [ Core Web Vitals Technology Report Flag] ( #core-web-vitals-technology-report-flag )
79- - [ Minor Changes] ( #minor-changes-8 )
80- - [ Patch Changes] ( #patch-changes-20 )
44+ - [ Core Web Vitals Technology Report Flag] ( #core-web-vitals-technology-report-flag )
8145 - [ v6.21.3] ( #v6213 )
82- - [ Patch Changes] ( #patch-changes-21 )
8346 - [ v6.21.2] ( #v6212 )
84- - [ Patch Changes] ( #patch-changes-22 )
8547 - [ v6.21.1] ( #v6211 )
86- - [ Patch Changes] ( #patch-changes-23 )
8748 - [ v6.21.0] ( #v6210 )
88- - [ What's Changed] ( #whats-changed-6 )
89- - [ ` future.v7_relativeSplatPath ` ] ( #futurev7_relativesplatpath )
90- - [ Partial Hydration] ( #partial-hydration )
91- - [ Minor Changes] ( #minor-changes-9 )
92- - [ Patch Changes] ( #patch-changes-24 )
49+ - [ ` future.v7_relativeSplatPath ` ] ( #futurev7_relativesplatpath )
50+ - [ Partial Hydration] ( #partial-hydration )
9351 - [ v6.20.1] ( #v6201 )
94- - [ Patch Changes] ( #patch-changes-25 )
9552 - [ v6.20.0] ( #v6200 )
96- - [ Minor Changes] ( #minor-changes-10 )
97- - [ Patch Changes] ( #patch-changes-26 )
9853 - [ v6.19.0] ( #v6190 )
99- - [ What's Changed] ( #whats-changed-7 )
100- - [ ` unstable_flushSync ` API] ( #unstable_flushsync-api )
101- - [ Minor Changes] ( #minor-changes-11 )
102- - [ Patch Changes] ( #patch-changes-27 )
54+ - [ ` unstable_flushSync ` API] ( #unstable_flushsync-api )
10355 - [ v6.18.0] ( #v6180 )
104- - [ What's Changed] ( #whats-changed-8 )
105- - [ New Fetcher APIs] ( #new-fetcher-apis )
106- - [ Persistence Future Flag (` future.v7_fetcherPersist ` )] ( #persistence-future-flag-futurev7_fetcherpersist )
107- - [ Minor Changes] ( #minor-changes-12 )
108- - [ Patch Changes] ( #patch-changes-28 )
56+ - [ New Fetcher APIs] ( #new-fetcher-apis )
57+ - [ Persistence Future Flag (` future.v7_fetcherPersist ` )] ( #persistence-future-flag-futurev7_fetcherpersist )
10958 - [ v6.17.0] ( #v6170 )
110- - [ What's Changed] ( #whats-changed-9 )
111- - [ View Transitions 🚀] ( #view-transitions- )
112- - [ Minor Changes] ( #minor-changes-13 )
113- - [ Patch Changes] ( #patch-changes-29 )
59+ - [ View Transitions 🚀] ( #view-transitions )
11460 - [ v6.16.0] ( #v6160 )
115- - [ Minor Changes] ( #minor-changes-14 )
116- - [ Patch Changes] ( #patch-changes-30 )
11761 - [ v6.15.0] ( #v6150 )
118- - [ Minor Changes] ( #minor-changes-15 )
119- - [ Patch Changes] ( #patch-changes-31 )
12062 - [ v6.14.2] ( #v6142 )
121- - [ Patch Changes] ( #patch-changes-32 )
12263 - [ v6.14.1] ( #v6141 )
123- - [ Patch Changes] ( #patch-changes-33 )
12464 - [ v6.14.0] ( #v6140 )
125- - [ What's Changed] ( #whats-changed-10 )
126- - [ JSON/Text Submissions] ( #jsontext-submissions )
127- - [ Minor Changes] ( #minor-changes-16 )
128- - [ Patch Changes] ( #patch-changes-34 )
65+ - [ JSON/Text Submissions] ( #jsontext-submissions )
12966 - [ v6.13.0] ( #v6130 )
130- - [ What's Changed] ( #whats-changed-11 )
131- - [ ` future.v7_startTransition ` ] ( #futurev7_starttransition )
132- - [ Minor Changes] ( #minor-changes-17 )
133- - [ Patch Changes] ( #patch-changes-35 )
67+ - [ ` future.v7_startTransition ` ] ( #futurev7_starttransition )
13468 - [ v6.12.1] ( #v6121 )
135- - [ Patch Changes] ( #patch-changes-36 )
13669 - [ v6.12.0] ( #v6120 )
137- - [ What's Changed] ( #whats-changed-12 )
138- - [ ` React.startTransition ` support] ( #reactstarttransition-support )
139- - [ Minor Changes] ( #minor-changes-18 )
140- - [ Patch Changes] ( #patch-changes-37 )
70+ - [ ` React.startTransition ` support] ( #reactstarttransition-support )
14171 - [ v6.11.2] ( #v6112 )
142- - [ Patch Changes] ( #patch-changes-38 )
14372 - [ v6.11.1] ( #v6111 )
144- - [ Patch Changes] ( #patch-changes-39 )
14573 - [ v6.11.0] ( #v6110 )
146- - [ Minor Changes] ( #minor-changes-19 )
147- - [ Patch Changes] ( #patch-changes-40 )
14874 - [ v6.10.0] ( #v6100 )
149- - [ What's Changed] ( #whats-changed-13 )
150- - [ Minor Changes] ( #minor-changes-20 )
151- - [ ` future.v7_normalizeFormMethod ` ] ( #futurev7_normalizeformmethod )
152- - [ Patch Changes] ( #patch-changes-41 )
15375 - [ v6.9.0] ( #v690 )
154- - [ What's Changed] ( #whats-changed-14 )
155- - [ ` Component ` /` ErrorBoundary ` route properties] ( #componenterrorboundary-route-properties )
156- - [ Introducing Lazy Route Modules] ( #introducing-lazy-route-modules )
157- - [ Minor Changes] ( #minor-changes-21 )
158- - [ Patch Changes] ( #patch-changes-42 )
76+ - [ ` Component ` /` ErrorBoundary ` route properties] ( #componenterrorboundary-route-properties )
77+ - [ Introducing Lazy Route Modules] ( #introducing-lazy-route-modules )
15978 - [ v6.8.2] ( #v682 )
160- - [ Patch Changes] ( #patch-changes-43 )
16179 - [ v6.8.1] ( #v681 )
162- - [ Patch Changes] ( #patch-changes-44 )
16380 - [ v6.8.0] ( #v680 )
164- - [ Minor Changes] ( #minor-changes-22 )
165- - [ Patch Changes] ( #patch-changes-45 )
16681 - [ v6.7.0] ( #v670 )
167- - [ Minor Changes] ( #minor-changes-23 )
168- - [ Patch Changes] ( #patch-changes-46 )
16982 - [ v6.6.2] ( #v662 )
170- - [ Patch Changes] ( #patch-changes-47 )
17183 - [ v6.6.1] ( #v661 )
172- - [ Patch Changes] ( #patch-changes-48 )
17384 - [ v6.6.0] ( #v660 )
174- - [ What's Changed] ( #whats-changed-15 )
175- - [ Minor Changes] ( #minor-changes-24 )
176- - [ Patch Changes] ( #patch-changes-49 )
17785 - [ v6.5.0] ( #v650 )
178- - [ What's Changed] ( #whats-changed-16 )
179- - [ Minor Changes] ( #minor-changes-25 )
180- - [ Patch Changes] ( #patch-changes-50 )
18186 - [ v6.4.5] ( #v645 )
182- - [ Patch Changes] ( #patch-changes-51 )
18387 - [ v6.4.4] ( #v644 )
184- - [ Patch Changes] ( #patch-changes-52 )
18588 - [ v6.4.3] ( #v643 )
186- - [ Patch Changes] ( #patch-changes-53 )
18789 - [ v6.4.2] ( #v642 )
188- - [ Patch Changes] ( #patch-changes-54 )
18990 - [ v6.4.1] ( #v641 )
190- - [ Patch Changes] ( #patch-changes-55 )
19191 - [ v6.4.0] ( #v640 )
192- - [ What's Changed] ( #whats-changed-17 )
193- - [ Remix Data APIs] ( #remix-data-apis )
194- - [ Patch Changes] ( #patch-changes-56 )
92+ - [ Remix Data APIs] ( #remix-data-apis )
19593 - [ v6.3.0] ( #v630 )
196- - [ Minor Changes] ( #minor-changes-26 )
19794 - [ v6.2.2] ( #v622 )
198- - [ Patch Changes] ( #patch-changes-57 )
19995 - [ v6.2.1] ( #v621 )
200- - [ Patch Changes] ( #patch-changes-58 )
20196 - [ v6.2.0] ( #v620 )
202- - [ Minor Changes] ( #minor-changes-27 )
203- - [ Patch Changes] ( #patch-changes-59 )
20497 - [ v6.1.1] ( #v611 )
205- - [ Patch Changes] ( #patch-changes-60 )
20698 - [ v6.1.0] ( #v610 )
207- - [ Minor Changes] ( #minor-changes-28 )
208- - [ Patch Changes] ( #patch-changes-61 )
20999 - [ v6.0.2] ( #v602 )
210- - [ Patch Changes] ( #patch-changes-62 )
211100 - [ v6.0.1] ( #v601 )
212- - [ Patch Changes] ( #patch-changes-63 )
213101 - [ v6.0.0] ( #v600 )
214102
215103</details >
216104
105+ ## v6.30.4
106+
107+ Date: 2026-05-29
108+
109+ ### Patch Changes
110+
111+ - ` @remix-run/router ` - Lift ` decodePath ` call out of hot path during route matching ([ #15119 ] ( https://github.com/remix-run/react-router/pull/15119 ) )
112+ - ` @remix-run/router ` - Normalize double slashes in redirect paths ([ #15118 ] ( https://github.com/remix-run/react-router/pull/15118 ) )
113+
114+ ** Full Changelog** : [ ` v6.30.3...v6.30.4 ` ] ( https://github.com/remix-run/react-router/compare/react-router@6.30.3...react-router@6.30.4 )
115+
217116## v6.30.3
218117
219118Date: 2026-01-07
0 commit comments