Skip to content

Commit 377fc95

Browse files
committed
release notes: 2.33.3
1 parent 48bbd96 commit 377fc95

File tree

2 files changed

+32
-32
lines changed

2 files changed

+32
-32
lines changed

doc/manual/rl-next/s3-virtual-hosted-style.md

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

doc/manual/source/release-notes/rl-2.33.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,3 +279,35 @@ This release was made possible by the following 33 contributors:
279279
- Henry [**(@cootshk)**](https://github.com/cootshk)
280280
- Martin Joerg [**(@mjoerg)**](https://github.com/mjoerg)
281281
- Farid Zakaria [**(@fzakaria)**](https://github.com/fzakaria)
282+
# Release 2.33.3 (2026-02-13)
283+
284+
- S3 binary caches now use virtual-hosted-style addressing by default [#15208](https://github.com/NixOS/nix/issues/15208)
285+
286+
S3 binary caches now use virtual-hosted-style URLs
287+
(`https://bucket.s3.region.amazonaws.com/key`) instead of path-style URLs
288+
(`https://s3.region.amazonaws.com/bucket/key`) when connecting to standard AWS
289+
S3 endpoints. This enables HTTP/2 multiplexing and fixes TCP connection
290+
exhaustion (TIME_WAIT socket accumulation) under high-concurrency workloads.
291+
292+
A new `addressing-style` store option controls this behavior:
293+
294+
- `auto` (default): virtual-hosted-style for standard AWS endpoints, path-style
295+
for custom endpoints.
296+
- `path`: forces path-style addressing (deprecated by AWS).
297+
- `virtual`: forces virtual-hosted-style addressing (bucket names must not
298+
contain dots).
299+
300+
Bucket names containing dots (e.g., `my.bucket.name`) automatically fall back
301+
to path-style addressing in `auto` mode, because dotted names create
302+
multi-level subdomains that break TLS wildcard certificate validation.
303+
304+
Example using path-style for backwards compatibility:
305+
306+
```
307+
s3://my-bucket/key?region=us-east-1&addressing-style=path
308+
```
309+
310+
Additionally, TCP keep-alive is now enabled on all HTTP connections, preventing
311+
idle connections from being silently dropped by intermediate network devices
312+
(NATs, firewalls, load balancers).
313+

0 commit comments

Comments
 (0)