Skip to content

Commit 2a94f4d

Browse files
committed
Add more release notes
1 parent 16f92c6 commit 2a94f4d

1 file changed

Lines changed: 48 additions & 0 deletions

File tree

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

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,24 @@
7373

7474
The defaults may change in future versions.
7575

76+
- Improved parser error messages [#15092](https://github.com/NixOS/nix/pull/15092)
77+
78+
Parser error messages now use legible strings for tokens instead of internal names. For example, malformed expression `a ++ ++ b` now produces the following error:
79+
```
80+
error: syntax error, unexpected '++'
81+
at «string»:1:6:
82+
1| a ++ ++ b
83+
| ^
84+
```
85+
86+
Instead of:
87+
```
88+
error: syntax error, unexpected CONCAT
89+
at «string»:1:6:
90+
1| a ++ ++ b
91+
| ^
92+
```
93+
7694
## New features
7795

7896
- `nix repl` now supports `inherit` and multiple bindings [#15082](https://github.com/NixOS/nix/pull/15082)
@@ -127,6 +145,21 @@
127145

128146
When these options are configured, Nix will use this certificate/private key pair to authenticate to the server.
129147

148+
## Performance improvements
149+
150+
- Unpacking tarballs to `~/.cache/nix/tarball-cache-v2` is now multithreaded [#12087](https://github.com/NixOS/nix/pull/12087)
151+
152+
Content-addressed cache for `builtins.fetchTarball` and tarball-based flake inputs (e.g. `github:NixOS/nixpkgs`, `https://channels.nixos.org/nixos-25.11/nixexprs.tar.xz`) now writes git blobs (files) to the `tarball-cache-v2` repository concurrently, which significantly reduces the wall time for tarball unpacking (up to ~1.8x faster unpacking for `https://channels.nixos.org/nixos-25.11/nixexprs.tar.xz` in our testing).
153+
154+
Currently, Nix doesn't perform any maintenance on the `~/.cache/nix/tarball-cache-v2` repository, which will be addressed in future versions. Users that wish to reclaim disk space used by the tarball cache may want to run:
155+
156+
```
157+
rm -rf ~/.cache/nix/tarball-cache # Historical tarball-cache, not used by Nix >= 2.33
158+
cd ~/.cache/nix/tarball-cache-v2 && git multi-pack-index write && git multi-pack-index repack && git multi-pack-index expire
159+
```
160+
161+
- `nix nar ls` and other NAR listing operations have been optimised further [#15163](https://github.com/NixOS/nix/pull/15163)
162+
130163
## C API Changes
131164

132165
- New store API methods [#14766](https://github.com/NixOS/nix/pull/14766)
@@ -159,6 +192,10 @@
159192

160193
## Bug fixes
161194

195+
- Avoid dropping ssh connections with `ssh-ng://` stores for store path copying [#14998](https://github.com/NixOS/nix/pull/14998) [#6950](https://github.com/NixOS/nix/issues/6950)
196+
197+
Due to a bug in how Nix handled Boost.Coroutine2 suspension and resumption, copying from `ssh-ng://` stores would drop the SSH connection for each copied path. This issue has been fixed, which improves performance by avoiding multiple SSH/Nix Worker Protocol handshakes.
198+
162199
- S3 binary caches now use virtual-hosted-style addressing by default [#15208](https://github.com/NixOS/nix/issues/15208)
163200

164201
S3 binary caches now use virtual-hosted-style URLs
@@ -189,6 +226,15 @@
189226
idle connections from being silently dropped by intermediate network devices
190227
(NATs, firewalls, load balancers).
191228

229+
- `nix-prefetch-url --unpack` now properly checks for empty archives [#15242](https://github.com/NixOS/nix/pull/15242)
230+
231+
Prior versions failed to check for empty archives and would crash with a `nullptr` dereference when unpacking empty archives.
232+
This is now fixed.
233+
234+
- Prevent runaway processes when Nix is killed with `SIGKILL` when building in a local store with build users [#15193](https://github.com/NixOS/nix/pull/15193)
235+
236+
When run as root, Nix doesn't run builds via the daemon and is a parent of the forked build processes. Prior versions of Nix failed to preserve the `PR_SET_PDEATHSIG` parent-death signal across `setuid` calls. This could lead to build processes being reparented and continue running in the background. This has been fixed.
237+
192238
## Miscellaneous changes
193239

194240
- Content-Encoding decompression is now handled by libcurl [#14324](https://github.com/NixOS/nix/issues/14324) [#15336](https://github.com/NixOS/nix/pull/15336)
@@ -198,6 +244,8 @@
198244

199245
`br`, `zstd`, `gzip` continue to be supported. Distro packaging should ensure that the `libcurl` dependency is linked against required libraries to support these encodings. By default, the build system now requires libcurl >= 8.17.0, which is not known to have issues around [pausing and decompression](https://github.com/curl/curl/issues/16280).
200246

247+
- Static builds now support S3 features (`libstore:s3-aws-auth` meson option) [#15076](https://github.com/NixOS/nix/pull/15076)
248+
201249
## Contributors
202250

203251
This release was made possible by the following 43 contributors:

0 commit comments

Comments
 (0)