|
| 1 | +# Release 3.16.0 (2026-02-12) |
| 2 | + |
| 3 | +* Based on [upstream Nix 2.33.3](../release-notes/rl-2.33.md). |
| 4 | + |
| 5 | +## Support `.gitattributes` in subdirectories |
| 6 | + |
| 7 | +For performance, the Git backwards compatibility hack was only applied to repositories that had a `.gitattributes` in the root directory. |
| 8 | +However, it is possible to have a `.gitattributes` file in a subdirectory, and there are real-world repos that do this, so we have dropped that restriction. |
| 9 | + |
| 10 | +PR: [DeterminateSystems/nix-src#335](https://github.com/DeterminateSystems/nix-src/pull/335) |
| 11 | + |
| 12 | +## Fix hung downloads when `http-connections = 0` |
| 13 | + |
| 14 | +When we started limiting the number of active cURL handles in [DeterminateSystems/nix-src#315](https://github.com/DeterminateSystems/nix-src/pull/315), we did not take into account that `http-connections = 0` is a special value that means, roughly "as many connections as possible" (the exact behavior is up to cURL). |
| 15 | + |
| 16 | +This should now be fixed. |
| 17 | + |
| 18 | +PR: [DeterminateSystems/nix-src#327](https://github.com/DeterminateSystems/nix-src/pull/327) |
| 19 | + |
| 20 | +## `builtins.getFlake` now supports relative paths |
| 21 | + |
| 22 | +`builtins.getFlake` now supports using relative paths, like: |
| 23 | + |
| 24 | +```nix |
| 25 | +builtins.getFlake ./.. |
| 26 | +``` |
| 27 | + |
| 28 | +instead of the hacky |
| 29 | + |
| 30 | +```nix |
| 31 | +builtins.getFlake (builtins.flakeRefToString { type = "path"; path = self.sourceInfo.outPath; narHash = self.narHash; }); |
| 32 | +``` |
| 33 | + |
| 34 | +Note that allowing `builtins.getFlake` to fetch from store paths is probably a bad idea, since it's ambiguous when using chroot stores, so a warning will be printed when this is encountered. |
| 35 | + |
| 36 | +PRs: |
| 37 | +* [DeterminateSystems/nix-src#337](https://github.com/DeterminateSystems/nix-src/pull/337) |
| 38 | +* [DeterminateSystems/nix-src#338](https://github.com/DeterminateSystems/nix-src/pull/338) |
| 39 | + |
| 40 | +## Fixed a bug with too many open files |
| 41 | + |
| 42 | +Recently, some users have reported seeing errors like: |
| 43 | + |
| 44 | +``` |
| 45 | +error: creating git packfile indexer: failed to create temporary file '/Users/anon/.cache/nix/tarball-cache-v2/objects/pack/pack_git2_56d617039ac17c2b': Too many open files |
| 46 | +``` |
| 47 | + |
| 48 | +This should now be fixed. |
| 49 | + |
| 50 | +PR: [DeterminateSystems/nix-src#347](https://github.com/DeterminateSystems/nix-src/pull/347) |
| 51 | + |
| 52 | + |
| 53 | +**Full Changelog**: [v3.15.2...v3.16.0](https://github.com/DeterminateSystems/nix-src/compare/v3.15.2...v3.16.0) |
0 commit comments