aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/release-notes
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/src/release-notes')
-rw-r--r--doc/manual/src/release-notes/rl-2.4.md56
-rw-r--r--doc/manual/src/release-notes/rl-2.5.md16
-rw-r--r--doc/manual/src/release-notes/rl-2.6.md21
-rw-r--r--doc/manual/src/release-notes/rl-2.7.md33
-rw-r--r--doc/manual/src/release-notes/rl-next.md1
5 files changed, 121 insertions, 6 deletions
diff --git a/doc/manual/src/release-notes/rl-2.4.md b/doc/manual/src/release-notes/rl-2.4.md
index def4a7b66..8b566fc7b 100644
--- a/doc/manual/src/release-notes/rl-2.4.md
+++ b/doc/manual/src/release-notes/rl-2.4.md
@@ -1,4 +1,4 @@
-# Release 2.4 (2021-10-XX)
+# Release 2.4 (2021-11-01)
This is the first release in more than two years and is the result of
more than 2800 commits from 195 contributors since release 2.3.
@@ -276,18 +276,62 @@ more than 2800 commits from 195 contributors since release 2.3.
* Plugins can now register `nix` subcommands.
+* The `--indirect` flag to `nix-store --add-root` has become a no-op.
+ `--add-root` will always generate indirect GC roots from now on.
+
## Incompatible changes
* The `nix` command is now marked as an experimental feature. This
means that you need to add
- > experimental-features = nix-command
+ ```
+ experimental-features = nix-command
+ ```
to your `nix.conf` if you want to use it, or pass
`--extra-experimental-features nix-command` on the command line.
-* The old `nix run` has been renamed to `nix shell` (and there is a
- new `nix run` that does something else, as described above).
+* The `nix` command no longer has a syntax for referring to packages
+ in a channel. This means that the following no longer works:
+
+ ```console
+ nix build nixpkgs.hello # Nix 2.3
+ ```
+
+ Instead, you can either use the `#` syntax to select a package from
+ a flake, e.g.
+
+ ```console
+ nix build nixpkgs#hello
+ ```
+
+ Or, if you want to use the `nixpkgs` channel in the `NIX_PATH`
+ environment variable:
+
+ ```console
+ nix build -f '<nixpkgs>' hello
+ ```
+
+* The old `nix run` has been renamed to `nix shell`, while there is a
+ new `nix run` that runs a default command. So instead of
+
+ ```console
+ nix run nixpkgs.hello -c hello # Nix 2.3
+ ```
+
+ you should use
+
+ ```console
+ nix shell nixpkgs#hello -c hello
+ ```
+
+ or just
+
+ ```console
+ nix run nixpkgs#hello
+ ```
+
+ if the command you want to run has the same name as the package.
* It is now an error to modify the `plugin-files` setting via a
command-line flag that appears after the first non-flag argument to
@@ -354,6 +398,7 @@ dramforever,
Dustin DeWeese,
edef,
Eelco Dolstra,
+Ellie Hermaszewska,
Emilio Karakey,
Emily,
Eric Culp,
@@ -364,7 +409,7 @@ Federico Pellegrin,
Finn Behrens,
Florian Franzen,
Félix Baylac-Jacqué,
-Gabriel Gonzalez,
+Gabriella Gonzalez,
Geoff Reedy,
Georges Dubus,
Graham Christensen,
@@ -387,7 +432,6 @@ Jaroslavas Pocepko,
Jarrett Keifer,
Jeremy Schlatter,
Joachim Breitner,
-Joe Hermaszewski,
Joe Pea,
John Ericson,
Jonathan Ringer,
diff --git a/doc/manual/src/release-notes/rl-2.5.md b/doc/manual/src/release-notes/rl-2.5.md
new file mode 100644
index 000000000..dd6fd3b0f
--- /dev/null
+++ b/doc/manual/src/release-notes/rl-2.5.md
@@ -0,0 +1,16 @@
+# Release 2.5 (2021-12-13)
+
+* The garbage collector no longer blocks new builds, so the message
+ `waiting for the big garbage collector lock...` is a thing of the
+ past.
+
+* Binary cache stores now have a setting `compression-level`.
+
+* `nix develop` now has a flag `--unpack` to run `unpackPhase`.
+
+* Lists can now be compared lexicographically using the `<` operator.
+
+* New built-in function: `builtins.groupBy`, with the same functionality as
+ Nixpkgs' `lib.groupBy`, but faster.
+
+* `nix repl` now has a `:log` command.
diff --git a/doc/manual/src/release-notes/rl-2.6.md b/doc/manual/src/release-notes/rl-2.6.md
new file mode 100644
index 000000000..280faead1
--- /dev/null
+++ b/doc/manual/src/release-notes/rl-2.6.md
@@ -0,0 +1,21 @@
+# Release 2.6 (2022-01-24)
+
+* The Nix CLI now searches for a `flake.nix` up until the root of the current
+ Git repository or a filesystem boundary rather than just in the current
+ directory.
+* The TOML parser used by `builtins.fromTOML` has been replaced by [a
+ more compliant one](https://github.com/ToruNiina/toml11).
+* Added `:st`/`:show-trace` commands to `nix repl`, which are used to
+ set or toggle display of error traces.
+* New builtin function `builtins.zipAttrsWith` with the same
+ functionality as `lib.zipAttrsWith` from Nixpkgs, but much more
+ efficient.
+* New command `nix store copy-log` to copy build logs from one store
+ to another.
+* The `commit-lockfile-summary` option can be set to a non-empty
+ string to override the commit summary used when commiting an updated
+ lockfile. This may be used in conjunction with the `nixConfig`
+ attribute in `flake.nix` to better conform to repository
+ conventions.
+* `docker run -ti nixos/nix:master` will place you in the Docker
+ container with the latest version of Nix from the `master` branch.
diff --git a/doc/manual/src/release-notes/rl-2.7.md b/doc/manual/src/release-notes/rl-2.7.md
new file mode 100644
index 000000000..dc92a9cde
--- /dev/null
+++ b/doc/manual/src/release-notes/rl-2.7.md
@@ -0,0 +1,33 @@
+# Release X.Y (2022-03-07)
+
+* Nix will now make some helpful suggestions when you mistype
+ something on the command line. For instance, if you type `nix build
+ nixpkgs#thunderbrd`, it will suggest `thunderbird`.
+
+* A number of "default" flake output attributes have been
+ renamed. These are:
+
+ * `defaultPackage.<system>` → `packages.<system>.default`
+ * `defaultApps.<system>` → `apps.<system>.default`
+ * `defaultTemplate` → `templates.default`
+ * `defaultBundler.<system>` → `bundlers.<system>.default`
+ * `overlay` → `overlays.default`
+ * `devShell.<system>` → `devShells.<system>.default`
+
+ The old flake output attributes still work, but `nix flake check`
+ will warn about them.
+
+* Breaking API change: `nix bundle` now supports bundlers of the form
+ `bundler.<system>.<name>= derivation: another-derivation;`. This
+ supports additional functionality to inspect evaluation information
+ during bundling. A new
+ [repository](https://github.com/NixOS/bundlers) has various bundlers
+ implemented.
+
+* `nix store ping` now reports the version of the remote Nix daemon.
+
+* `nix flake {init,new}` now display information about which files have been
+ created.
+
+* Templates can now define a `welcomeText` attribute, which is printed out by
+ `nix flake {init,new} --template <template>`.
diff --git a/doc/manual/src/release-notes/rl-next.md b/doc/manual/src/release-notes/rl-next.md
new file mode 100644
index 000000000..c869b5e2f
--- /dev/null
+++ b/doc/manual/src/release-notes/rl-next.md
@@ -0,0 +1 @@
+# Release X.Y (202?-??-??)