doc/manual/source/release-notes/rl-2.27.md
inputs.self.submodules flake attribute #12421
Flakes in Git repositories can now declare that they need Git submodules to be enabled:
{
inputs.self.submodules = true;
}
Thus, it's no longer needed for the caller of the flake to pass submodules = true.
The Git fetcher now supports Large File Storage (LFS). This can be enabled by passing the attribute lfs = true to the fetcher, e.g.
nix flake prefetch 'git+ssh://[email protected]/Apress/repo-with-large-file-storage.git?lfs=1'
A flake can also declare that it requires LFS to be enabled:
{
inputs.self.lfs = true;
}
Author: @b-camacho, @kip93
Handle the case where a chroot store is used and some inputs are in the "host" /nix/store #12512
The evaluator now presents a "union" filesystem view of the /nix/store in the host and the chroot.
This change also removes some hacks that broke builtins.{path,filterSource} in chroot stores #11503.
nix flake prefetch now has a --out-link option #12443
Set FD_CLOEXEC on sockets created by curl #12439
Curl created sockets without setting FD_CLOEXEC/SOCK_CLOEXEC. This could previously cause connections to remain open forever when using commands like nix shell. This change sets the FD_CLOEXEC flag using a CURLOPT_SOCKOPTFUNCTION callback.
Add BLAKE3 hash algorithm #12379
Nix now supports the BLAKE3 hash algorithm as an experimental feature (blake3-hashes):
# nix hash file ./file --type blake3 --extra-experimental-features blake3-hashes
blake3-34P4p+iZXcbbyB1i4uoF7eWCGcZHjmaRn6Y7QdynLwU=
This release was made possible by the following 21 contributors: