Skip to content

Commit f0df637

Browse files
committed
Merge branch 'release-next' into dev
2 parents 60af470 + ed9b19b commit f0df637

File tree

49 files changed

+298
-241
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+298
-241
lines changed

.changeset/eighty-beans-yawn.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/tall-mirrors-glow.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/upgrade-turbo-stream.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

CHANGELOG.md

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

1515
- [Remix Releases](#remix-releases)
16-
- [v2.16.5](#v2165)
16+
- [v2.16.6](#v2166)
1717
- [Patch Changes](#patch-changes)
18-
- [v2.16.4](#v2164)
18+
- [v2.16.5](#v2165)
1919
- [Patch Changes](#patch-changes-1)
20+
- [v2.16.4](#v2164)
21+
- [Patch Changes](#patch-changes-2)
2022
- [v2.16.3](#v2163)
2123
- [Security Notice](#security-notice)
22-
- [Patch Changes](#patch-changes-2)
23-
- [v2.16.2](#v2162)
2424
- [Patch Changes](#patch-changes-3)
25-
- [v2.16.1](#v2161)
25+
- [v2.16.2](#v2162)
2626
- [Patch Changes](#patch-changes-4)
27+
- [v2.16.1](#v2161)
28+
- [Patch Changes](#patch-changes-5)
2729
- [v2.16.0](#v2160)
2830
- [Minor Changes](#minor-changes)
29-
- [Patch Changes](#patch-changes-5)
31+
- [Patch Changes](#patch-changes-6)
3032
- [Updated Dependencies](#updated-dependencies)
3133
- [v2.15.3](#v2153)
32-
- [Patch Changes](#patch-changes-6)
34+
- [Patch Changes](#patch-changes-7)
3335
- [Updated Dependencies](#updated-dependencies-1)
3436
- [v2.15.2](#v2152)
35-
- [Patch Changes](#patch-changes-7)
37+
- [Patch Changes](#patch-changes-8)
3638
- [Updated Dependencies](#updated-dependencies-2)
3739
- [v2.15.1](#v2151)
38-
- [Patch Changes](#patch-changes-8)
39-
- [v2.15.0](#v2150)
4040
- [Patch Changes](#patch-changes-9)
41+
- [v2.15.0](#v2150)
42+
- [Patch Changes](#patch-changes-10)
4143
- [v2.14.0](#v2140)
4244
- [Minor Changes](#minor-changes-1)
43-
- [Patch Changes](#patch-changes-10)
45+
- [Patch Changes](#patch-changes-11)
4446
- [Updated Dependencies](#updated-dependencies-3)
4547
- [Changes by Package](#changes-by-package)
4648
- [v2.13.1](#v2131)
47-
- [Patch Changes](#patch-changes-11)
49+
- [Patch Changes](#patch-changes-12)
4850
- [v2.13.0](#v2130)
4951
- [What's Changed](#whats-changed)
5052
- [Stabilized APIs](#stabilized-apis)
5153
- [Minor Changes](#minor-changes-2)
52-
- [Patch Changes](#patch-changes-12)
54+
- [Patch Changes](#patch-changes-13)
5355
- [Updated Dependencies](#updated-dependencies-4)
5456
- [Changes by Package](#changes-by-package-1)
5557
- [v2.12.1](#v2121)
56-
- [Patch Changes](#patch-changes-13)
58+
- [Patch Changes](#patch-changes-14)
5759
- [Changes by Package](#changes-by-package-2)
5860
- [v2.12.0](#v2120)
5961
- [What's Changed](#whats-changed-1)
6062
- [Future Flag for Automatic Dependency Optimization (unstable)](#future-flag-for-automatic-dependency-optimization-unstable)
6163
- [Improved Single Fetch Type Safety (unstable)](#improved-single-fetch-type-safety-unstable)
6264
- [Updates to Single Fetch Revalidation Behavior (unstable)](#updates-to-single-fetch-revalidation-behavior-unstable)
6365
- [Minor Changes](#minor-changes-3)
64-
- [Patch Changes](#patch-changes-14)
66+
- [Patch Changes](#patch-changes-15)
6567
- [Updated Dependencies](#updated-dependencies-5)
6668
- [Changes by Package](#changes-by-package-3)
6769
- [v2.11.2](#v2112)
68-
- [Patch Changes](#patch-changes-15)
70+
- [Patch Changes](#patch-changes-16)
6971
- [Updated Dependencies](#updated-dependencies-6)
7072
- [Changes by Package](#changes-by-package-4)
7173
- [v2.11.1](#v2111)
72-
- [Patch Changes](#patch-changes-16)
74+
- [Patch Changes](#patch-changes-17)
7375
- [Changes by Package](#changes-by-package-5)
7476
- [v2.11.0](#v2110)
7577
- [What's Changed](#whats-changed-2)
7678
- [Renamed `unstable_fogOfWar` future flag to `unstable_lazyRouteDiscovery` (unstable)](#renamed-unstable_fogofwar-future-flag-to-unstable_lazyroutediscovery-unstable)
7779
- [Removed `response` stub in Single Fetch (unstable)](#removed-response-stub-in-single-fetch-unstable)
7880
- [Minor Changes](#minor-changes-4)
79-
- [Patch Changes](#patch-changes-17)
81+
- [Patch Changes](#patch-changes-18)
8082
- [Updated Dependencies](#updated-dependencies-7)
8183
- [Changes by Package](#changes-by-package-6)
8284
- [v2.10.3](#v2103)
83-
- [Patch Changes](#patch-changes-18)
85+
- [Patch Changes](#patch-changes-19)
8486
- [Updated Dependencies](#updated-dependencies-8)
8587
- [Changes by Package](#changes-by-package-7)
8688
- [v2.10.2](#v2102)
87-
- [Patch Changes](#patch-changes-19)
89+
- [Patch Changes](#patch-changes-20)
8890
- [Changes by Package](#changes-by-package-8)
8991
- [v2.10.1](#v2101)
90-
- [Patch Changes](#patch-changes-20)
92+
- [Patch Changes](#patch-changes-21)
9193
- [Updated Dependencies](#updated-dependencies-9)
9294
- [Changes by Package](#changes-by-package-9)
9395
- [v2.10.0](#v2100)
9496
- [What's Changed](#whats-changed-3)
9597
- [Lazy Route Discovery (a.k.a. "Fog of War")](#lazy-route-discovery-aka-fog-of-war)
9698
- [Minor Changes](#minor-changes-5)
97-
- [Patch Changes](#patch-changes-21)
99+
- [Patch Changes](#patch-changes-22)
98100
- [Updated Dependencies](#updated-dependencies-10)
99101
- [Changes by Package](#changes-by-package-10)
100102
- [v2.9.2](#v292)
101103
- [What's Changed](#whats-changed-4)
102104
- [Updated Type-Safety for Single Fetch](#updated-type-safety-for-single-fetch)
103-
- [Patch Changes](#patch-changes-22)
105+
- [Patch Changes](#patch-changes-23)
104106
- [Updated Dependencies](#updated-dependencies-11)
105107
- [Changes by Package](#changes-by-package-11)
106108
- [v2.9.1](#v291)
107-
- [Patch Changes](#patch-changes-23)
109+
- [Patch Changes](#patch-changes-24)
108110
- [Changes by Package](#changes-by-package-12)
109111
- [v2.9.0](#v290)
110112
- [What's Changed](#whats-changed-5)
111113
- [Single Fetch (unstable)](#single-fetch-unstable)
112114
- [Undici](#undici)
113115
- [Minor Changes](#minor-changes-6)
114-
- [Patch Changes](#patch-changes-24)
116+
- [Patch Changes](#patch-changes-25)
115117
- [Updated Dependencies](#updated-dependencies-12)
116118
- [Changes by Package](#changes-by-package-13)
117119
- [v2.8.1](#v281)
118-
- [Patch Changes](#patch-changes-25)
120+
- [Patch Changes](#patch-changes-26)
119121
- [Updated Dependencies](#updated-dependencies-13)
120122
- [Changes by Package](#changes-by-package-14)
121123
- [v2.8.0](#v280)
122124
- [Minor Changes](#minor-changes-7)
123-
- [Patch Changes](#patch-changes-26)
125+
- [Patch Changes](#patch-changes-27)
124126
- [Updated Dependencies](#updated-dependencies-14)
125127
- [Changes by Package](#changes-by-package-15)
126128
- [2.7.2](#272)
127-
- [Patch Changes](#patch-changes-27)
128-
- [2.7.1](#271)
129129
- [Patch Changes](#patch-changes-28)
130+
- [2.7.1](#271)
131+
- [Patch Changes](#patch-changes-29)
130132
- [v2.7.0](#v270)
131133
- [What's Changed](#whats-changed-6)
132134
- [Stabilized Vite Plugin](#stabilized-vite-plugin)
133135
- [New `Layout` Export](#new-layout-export)
134136
- [Basename support](#basename-support)
135137
- [Cloudflare Proxy as a Vite Plugin](#cloudflare-proxy-as-a-vite-plugin)
136138
- [Minor Changes](#minor-changes-8)
137-
- [Patch Changes](#patch-changes-29)
139+
- [Patch Changes](#patch-changes-30)
138140
- [Updated Dependencies](#updated-dependencies-15)
139141
- [Changes by Package](#changes-by-package-16)
140142
- [v2.6.0](#v260)
141143
- [What's Changed](#whats-changed-7)
142144
- [Unstable Vite Plugin updates](#unstable-vite-plugin-updates)
143145
- [Minor Changes](#minor-changes-9)
144-
- [Patch Changes](#patch-changes-30)
146+
- [Patch Changes](#patch-changes-31)
145147
- [Updated Dependencies](#updated-dependencies-16)
146148
- [Changes by Package](#changes-by-package-17)
147149
- [v2.5.1](#v251)
148-
- [Patch Changes](#patch-changes-31)
150+
- [Patch Changes](#patch-changes-32)
149151
- [Updated Dependencies](#updated-dependencies-17)
150152
- [Changes by Package](#changes-by-package-18)
151153
- [v2.5.0](#v250)
152154
- [What's Changed](#whats-changed-8)
153155
- [SPA Mode (unstable)](#spa-mode-unstable)
154156
- [Server Bundles (unstable)](#server-bundles-unstable)
155157
- [Minor Changes](#minor-changes-10)
156-
- [Patch Changes](#patch-changes-32)
158+
- [Patch Changes](#patch-changes-33)
157159
- [Updated Dependencies](#updated-dependencies-18)
158160
- [Changes by Package](#changes-by-package-19)
159161
- [v2.4.1](#v241)
160-
- [Patch Changes](#patch-changes-33)
162+
- [Patch Changes](#patch-changes-34)
161163
- [Updated Dependencies](#updated-dependencies-19)
162164
- [Changes by Package](#changes-by-package-20)
163165
- [v2.4.0](#v240)
@@ -166,19 +168,19 @@ We manage release notes in this file instead of the paginated Github Releases Pa
166168
- [`future.v3_relativeSplatPath`](#futurev3_relativesplatpath)
167169
- [Vite Updates (Unstable)](#vite-updates-unstable)
168170
- [Minor Changes](#minor-changes-11)
169-
- [Patch Changes](#patch-changes-34)
171+
- [Patch Changes](#patch-changes-35)
170172
- [Updated Dependencies](#updated-dependencies-20)
171173
- [Changes by Package](#changes-by-package-21)
172174
- [v2.3.1](#v231)
173-
- [Patch Changes](#patch-changes-35)
175+
- [Patch Changes](#patch-changes-36)
174176
- [Updated Dependencies](#updated-dependencies-21)
175177
- [Changes by Package](#changes-by-package-22)
176178
- [v2.3.0](#v230)
177179
- [What's Changed](#whats-changed-10)
178180
- [Stabilized `useBlocker`](#stabilized-useblocker)
179181
- [`unstable_flushSync` API](#unstable_flushsync-api)
180182
- [Minor Changes](#minor-changes-12)
181-
- [Patch Changes](#patch-changes-36)
183+
- [Patch Changes](#patch-changes-37)
182184
- [Updated Dependencies](#updated-dependencies-22)
183185
- [Changes by Package](#changes-by-package-23)
184186
- [v2.2.0](#v220)
@@ -187,19 +189,19 @@ We manage release notes in this file instead of the paginated Github Releases Pa
187189
- [New Fetcher APIs](#new-fetcher-apis)
188190
- [Persistence Future Flag](#persistence-future-flag)
189191
- [Minor Changes](#minor-changes-13)
190-
- [Patch Changes](#patch-changes-37)
192+
- [Patch Changes](#patch-changes-38)
191193
- [Updated Dependencies](#updated-dependencies-23)
192194
- [Changes by Package](#changes-by-package-24)
193195
- [v2.1.0](#v210)
194196
- [What's Changed](#whats-changed-12)
195197
- [View Transitions](#view-transitions)
196198
- [Stable `createRemixStub`](#stable-createremixstub)
197199
- [Minor Changes](#minor-changes-14)
198-
- [Patch Changes](#patch-changes-38)
200+
- [Patch Changes](#patch-changes-39)
199201
- [Updated Dependencies](#updated-dependencies-24)
200202
- [Changes by Package](#changes-by-package-25)
201203
- [v2.0.1](#v201)
202-
- [Patch Changes](#patch-changes-39)
204+
- [Patch Changes](#patch-changes-40)
203205
- [Changes by Package 🔗](#changes-by-package-)
204206
- [v2.0.0](#v200)
205207
- [Breaking Changes](#breaking-changes)
@@ -263,6 +265,18 @@ Date: YYYY-MM-DD
263265
264266
-->
265267

268+
## v2.16.6
269+
270+
Date: 2025-05-08
271+
272+
### Patch Changes
273+
274+
- `@remix-run/react` - Upgrade `turbo-stream` to `2.4.1` ([#9973](https://github.com/remix-run/remix/pull/9973))
275+
- `@remix-run/react` - Fix `window is not defined` error in Single Fetch when server-rendering `<PrefetchPageLinks>` ([#10601](https://github.com/remix-run/remix/pull/10601))
276+
- `@remix-run/serve` - Remove redundant `@remix-run/node/install` import from `remix-serve` because it manually calls `installGlobals` separately ([#10306](https://github.com/remix-run/remix/pull/10306))
277+
278+
**Full Changelog**: [`v2.16.5...v2.16.6`](https://github.com/remix-run/remix/compare/[email protected]@2.16.6)
279+
266280
## v2.16.5
267281

268282
Date: 2025-04-09

contributors.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
- aaronadamsCA
12
- aaronpowell96
23
- aaronshaf
34
- AbePlays
@@ -71,6 +72,7 @@
7172
- atesgoral
7273
- athongsavath
7374
- AustinGil
75+
- avindra
7476
- awthwathje
7577
- axel-habermaier
7678
- baby230211
@@ -176,6 +178,7 @@
176178
- dunglas
177179
- dvargas92495
178180
- dwightwatson
181+
- dwjohnston
179182
- dwt47
180183
- dylanplayer
181184
- eastlondoner
@@ -198,6 +201,7 @@
198201
- evanwinter
199202
- everdimension
200203
- exegeteio
204+
- ezekeal
201205
- F3n67u
202206
- FAL-coffee
203207
- fayez-nazzal
@@ -441,6 +445,7 @@
441445
- marshallwalker
442446
- martensonbj
443447
- marvinwu
448+
- masious
444449
- matchai
445450
- mathieusteele
446451
- matt-l-w
@@ -503,6 +508,7 @@
503508
- n8agrin
504509
- na2hiro
505510
- nareshbhatia
511+
- nathggns
506512
- nauvalazhar
507513
- naveed-fida
508514
- navid-kalaei
@@ -558,6 +564,7 @@
558564
- ptitFicus
559565
- pwbriggs
560566
- pyr0gan
567+
- rachaelmcq
561568
- ramiroazar
562569
- RATIU5
563570
- raulfdm

docs/guides/gotchas.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ if (typeof window === "undefined") {
2020
}
2121
```
2222

23-
This works fine in a Node.js environment, however, Deno actually supports `window`! So if you really want to check whether you're running in the browser, it's better to check for `document` instead:
23+
This works fine in a Node.js environment, however, some environments might actually support `window` (like Deno v1), so if you really want to check whether you're running in the browser, it's better to check for `document` instead:
2424

2525
```ts good
2626
if (typeof document === "undefined") {

docs/guides/mdx.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,12 @@ exports.mdx = async (filename) => {
204204
};
205205
```
206206

207+
The above configuration parses the markdown to insert [highlight.js][highlightjs] friendly DOM elements. To have the syntax highlighting appear, you will also need to include the highlight.js css file. See also [surfacing styles][surfacing-styles].
208+
207209
[mdx-plugin]: https://mdxjs.com/packages/rollup
208210
[mdx]: https://mdxjs.com
209211
[yaml]: https://yaml.org
210212
[mdx-bundler]: https://github.com/kentcdodds/mdx-bundler
211213
[classic-remix-compiler]: ./vite#classic-remix-compiler-vs-remix-vite
214+
[surfacing-styles]: ../styling#surfacing-styles
215+
[highlightjs]: https://highlightjs.org/

docs/hooks/use-fetcher.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ fetcher.submit(
112112

113113
Loads data from a route loader. While multiple nested routes can match a URL, only the leaf route will be called.
114114

115+
Note that when calling `load` on an index route's loader, you must include an [`?index` query param][index-query-param] in order to disambiguate between the `index.tsx` layout and the `root.tsx` route.
116+
115117
```ts
116118
fetcher.load("/some/route");
117119
fetcher.load("/some/route?foo=bar");
@@ -180,3 +182,4 @@ The form method of the submission.
180182
[use-submit]: ./use-submit
181183
[userevalidator]: ./use-revalidator
182184
[shouldrevalidate]: ../route/should-revalidate#shouldrevalidate
185+
[index-query-param]: ../guides/index-query-param

docs/hooks/use-revalidator.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,17 @@ Initiates a revalidation.
4040
```tsx
4141
function useLivePageData() {
4242
const revalidator = useRevalidator();
43-
const interval = useInterval(5000);
4443

45-
useEffect(() => {
44+
useInterval(() => {
4645
if (revalidator.state === "idle") {
4746
revalidator.revalidate();
4847
}
49-
}, [interval, revalidator]);
48+
}, 5000);
5049
}
5150
```
5251

52+
See [here][here] for a sample `useInterval` implementation.
53+
5354
## Notes
5455

5556
While you can render multiple occurrences of `useRevalidator` at the same time, underneath it is a singleton. This means when one `revalidator.revalidate()` is called, all instances go into the `"loading"` state together (or rather, they all update to report the singleton state).
@@ -61,3 +62,4 @@ If a navigation happens while a revalidation is in flight, the revalidation will
6162
[form-component]: ../components/form
6263
[use-fetcher]: ./use-fetcher
6364
[use-submit]: ./use-submit
65+
[here]: https://overreacted.io/making-setinterval-declarative-with-react-hooks

0 commit comments

Comments
 (0)