Skip to content

Commit 234f790

Browse files
authored
Merge pull request #39 from DeterminateSystems/release-v3.4.0/3dffc8a4-b1ae-48d8-aac3-ae109dc93cda
Release v3.4.0
2 parents bbde3da + 173c742 commit 234f790

File tree

4 files changed

+59
-2
lines changed

4 files changed

+59
-2
lines changed

.version-determinate

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.3.1
1+
3.4.0

doc/manual/source/SUMMARY.md.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
- [Contributing](development/contributing.md)
129129
- [Determinate Nix Release Notes](release-notes-determinate/index.md)
130130
- [Changes between Nix and Determinate Nix](release-notes-determinate/changes.md)
131+
- [Release 3.4.0 (2025-04-25)](release-notes-determinate/rl-3.4.0.md)
131132
- [Release 3.3.0 (2025-04-11)](release-notes-determinate/rl-3.3.0.md)
132133
- [Release 3.1.0 (2025-03-27)](release-notes-determinate/rl-3.1.0.md)
133134
- [Release 3.0.0 (2025-03-04)](release-notes-determinate/rl-3.0.0.md)
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Changes between Nix and Determinate Nix
22

3-
This section lists the differences between upstream Nix 2.24 and Determinate Nix 3.3.0.
3+
This section lists the differences between upstream Nix 2.24 and Determinate Nix 3.4.0.
44

55
* In Determinate Nix, flakes are stable. You no longer need to enable the `flakes` experimental feature.
66

@@ -9,3 +9,9 @@ This section lists the differences between upstream Nix 2.24 and Determinate Nix
99
* Determinate Nix has a setting [`json-log-path`](@docroot@/command-ref/conf-file.md#conf-json-log-path) to send a copy of all Nix log messages (in JSON format) to a file or Unix domain socket.
1010

1111
* Determinate Nix has made `nix profile install` an alias to `nix profile add`, a more symmetrical antonym of `nix profile remove`.
12+
13+
* `nix-channel` and `channel:` url syntax (like `channel:nixos-24.11`) is deprecated, see: https://github.com/DeterminateSystems/nix-src/issues/34
14+
15+
* Using indirect flake references and implicit inputs is deprecated, see: https://github.com/DeterminateSystems/nix-src/issues/37
16+
17+
* Warnings around "dirty trees" are updated to reduce "dirty" jargon, and now refers to "uncommitted changes".
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Release 3.4.0 (2025-04-25)
2+
3+
* Based on [upstream Nix 2.28.2](../release-notes/rl-2.28.md).
4+
5+
* **Warn users that `nix-channel` is deprecated.**
6+
7+
This is the first change accomplishing our roadmap item of deprecating Nix channels: https://github.com/DeterminateSystems/nix-src/issues/34
8+
9+
This is due to user confusion and surprising behavior of channels, especially in the context of user vs. root channels.
10+
11+
The goal of this change is to make the user experience of Nix more predictable.
12+
In particular, these changes are to support users with lower levels of experience who are following guides that focus on channels as the mechanism of distribution.
13+
14+
Users will now see this message:
15+
16+
> nix-channel is deprecated in favor of flakes in Determinate Nix. For a guide on Nix flakes, see: https://zero-to-nix.com/. or details and to offer feedback on the deprecation process, see: https://github.com/DeterminateSystems/nix-src/issues/34.
17+
18+
19+
* **Warn users that `channel:` URLs are deprecated.**
20+
21+
This is the second change regarding our deprecation of Nix channels.
22+
Using a `channel:` URL (like `channel:nixos-24.11`) will yield a warning like this:
23+
24+
> Channels are deprecated in favor of flakes in Determinate Nix. Instead of 'channel:nixos-24.11', use 'https://nixos.org/channels/nixos-24.11/nixexprs.tar.xz'. For a guide on Nix flakes, see: https://zero-to-nix.com/. For details and to offer feedback on the deprecation process, see: https://github.com/DeterminateSystems/nix-src/issues/34.
25+
26+
* **Warn users against indirect flake references in `flake.nix` inputs**
27+
28+
This is the first change accomplishing our roadmap item of deprecating implicit and indirect flake inputs: https://github.com/DeterminateSystems/nix-src/issues/37
29+
30+
The flake registry provides an important UX affordance for using Nix flakes and remote sources in command line uses.
31+
For that reason, the registry is not being deprecated entirely and will still be used for command-line incantations, like nix run.
32+
33+
This move will eliminate user confusion and surprising behavior around global and local registries during flake input resolution.
34+
35+
The goal of this change is to make the user experience of Nix more predictable.
36+
We have seen a pattern of confusion when using automatic flake inputs and local registries.
37+
Specifically, users' flake inputs resolving and locking inconsistently depending on the configuration of the host system.
38+
39+
Users will now see the following warning if their flake.nix uses an implicit or indirect Flake reference input:
40+
41+
> Flake input 'nixpkgs' uses the flake registry. Using the registry in flake inputs is deprecated in Determinate Nix. To make your flake future-proof, add the following to 'xxx/flake.nix':
42+
>
43+
> inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
44+
>
45+
> For more information, see: https://github.com/DeterminateSystems/nix-src/issues/37
46+
47+
48+
### Other updates:
49+
* Improve the "dirty tree" message. Determinate Nix will now say `Git tree '...' has uncommitted changes` instead of `Git tree '...' is dirty`
50+
* Stop warning about uncommitted changes in a Git repository when using `nix develop`

0 commit comments

Comments
 (0)