mirror of
https://github.com/NixOS/nix.git
synced 2025-11-10 20:46:01 +01:00
Merge pull request #133 from DeterminateSystems/release-v3.7.0/e7308877-4039-4616-be6c-4613680cf30f
Release v3.7.0
This commit is contained in:
commit
81672fee2a
4 changed files with 74 additions and 2 deletions
|
|
@ -1 +1 @@
|
|||
3.6.8
|
||||
3.7.0
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@
|
|||
- [Contributing](development/contributing.md)
|
||||
- [Determinate Nix Release Notes](release-notes-determinate/index.md)
|
||||
- [Changes between Nix and Determinate Nix](release-notes-determinate/changes.md)<!-- next -->
|
||||
- [Release 3.7.0 (2025-07-03)](release-notes-determinate/rl-3.7.0.md)
|
||||
- [Release 3.6.8 (2025-06-25)](release-notes-determinate/rl-3.6.8.md)
|
||||
- [Release 3.6.7 (2025-06-24)](release-notes-determinate/rl-3.6.7.md)
|
||||
- [Release 3.6.6 (2025-06-17)](release-notes-determinate/rl-3.6.6.md)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Changes between Nix and Determinate Nix
|
||||
|
||||
This section lists the differences between upstream Nix 2.29 and Determinate Nix 3.6.8.<!-- differences -->
|
||||
This section lists the differences between upstream Nix 2.29 and Determinate Nix 3.7.0.<!-- differences -->
|
||||
|
||||
* In Determinate Nix, flakes are stable. You no longer need to enable the `flakes` experimental feature.
|
||||
|
||||
|
|
@ -86,3 +86,11 @@ This section lists the differences between upstream Nix 2.29 and Determinate Nix
|
|||
* Sync 2.29.1 by @edolstra in [DeterminateSystems/nix-src#124](https://github.com/DeterminateSystems/nix-src/pull/124)
|
||||
|
||||
* Release v3.6.7 by @github-actions in [DeterminateSystems/nix-src#126](https://github.com/DeterminateSystems/nix-src/pull/126)
|
||||
|
||||
<!-- Determinate Nix version 3.7.0 -->
|
||||
|
||||
* Overriding deeply-nested transitive flake inputs now works, by @edolstra in [DeterminateSystems/nix-src#108](https://github.com/DeterminateSystems/nix-src/pull/108)
|
||||
|
||||
* `nix store delete` now explains why deletion fails by @edolstra in [DeterminateSystems/nix-src#130](https://github.com/DeterminateSystems/nix-src/pull/130)
|
||||
|
||||
* New command: `nix flake prefetch-inputs` for improved CI performance, by @edolstra in [DeterminateSystems/nix-src#127](https://github.com/DeterminateSystems/nix-src/pull/127)
|
||||
|
|
|
|||
63
doc/manual/source/release-notes-determinate/rl-3.7.0.md
Normal file
63
doc/manual/source/release-notes-determinate/rl-3.7.0.md
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Release 3.7.0 (2025-07-03)
|
||||
|
||||
- Based on [upstream Nix 2.29.1](../release-notes/rl-2.29.md).
|
||||
|
||||
## What's Changed
|
||||
|
||||
### Prefetch flake inputs in parallel
|
||||
|
||||
By @edolstra in [DeterminateSystems/nix-src#127](https://github.com/DeterminateSystems/nix-src/pull/127)
|
||||
|
||||
This release brings the command `nix flake prefetch-inputs`.
|
||||
|
||||
Flake inputs are typically fetched "just in time."
|
||||
That means Nix fetches a flake input when the evaluator needs it, and not before.
|
||||
When the evaluator needs an input, evaluation is paused until the source is available.
|
||||
|
||||
This causes a significant slow-down on projects with lots of flake inputs.
|
||||
|
||||
The new command `nix flake prefetch-inputs` fetches all flake inputs in parallel.
|
||||
We expect running this new command before building will dramatically improve evaluation performance for most projects, especially in CI.
|
||||
Note that projects which with many unused flake inputs may not benefit from this change, since the new command fetches every input whether they're used or not.
|
||||
|
||||
### Deep flake input overrides now work as expected
|
||||
|
||||
By @edolstra in [DeterminateSystems/nix-src#108](https://github.com/DeterminateSystems/nix-src/pull/108)
|
||||
|
||||
An override like:
|
||||
|
||||
```
|
||||
inputs.foo.inputs.bar.inputs.nixpkgs.follows = "nixpkgs";
|
||||
```
|
||||
|
||||
implicitly set `inputs.foo.inputs.bar` to `flake:bar`, which led to an unexpected error like:
|
||||
|
||||
```
|
||||
error: cannot find flake 'flake:bar' in the flake registries
|
||||
```
|
||||
|
||||
We now no longer create a parent override (like for `foo.bar` in the example above) if it doesn't set an explicit ref or follows attribute.
|
||||
We only recursively apply its child overrides.
|
||||
|
||||
### `nix store delete` now shows you why deletion was not possible
|
||||
|
||||
By @edolstra in [DeterminateSystems/nix-src#130](https://github.com/DeterminateSystems/nix-src/pull/130)
|
||||
|
||||
For example:
|
||||
|
||||
```
|
||||
error: Cannot delete path '/nix/store/6fcrjgfjip2ww3sx51rrmmghfsf60jvi-patchelf-0.14.3'
|
||||
because it's referenced by the GC root '/home/eelco/Dev/nix-master/build/result'.
|
||||
|
||||
error: Cannot delete path '/nix/store/rn0qyn3kmky26xgpr2n10vr787g57lff-cowsay-3.8.4'
|
||||
because it's referenced by the GC root '/proc/3600568/environ'.
|
||||
|
||||
error: Cannot delete path '/nix/store/klyng5rpdkwi5kbxkncy4gjwb490dlhb-foo.drv'
|
||||
because it's in use by '{nix-process:3605324}'.
|
||||
```
|
||||
|
||||
### Lazy-tree improvements
|
||||
|
||||
- Improved lazy-tree evaluation caching for flakes accessed with a `path` flakeref by @edolstra in [DeterminateSystems/nix-src#131](https://github.com/DeterminateSystems/nix-src/pull/131)
|
||||
|
||||
**Full Changelog**: [v3.6.8...v3.7.0](https://github.com/DeterminateSystems/nix-src/compare/v3.6.8...v3.7.0)
|
||||
Loading…
Add table
Add a link
Reference in a new issue