From 39d10229e5c61b68981ef126b913b7875b624ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 22:45:35 +0200 Subject: [PATCH 01/24] doc/rl-next: add github-host-attr --- doc/manual/rl-next/github-host-attr.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/manual/rl-next/github-host-attr.md diff --git a/doc/manual/rl-next/github-host-attr.md b/doc/manual/rl-next/github-host-attr.md new file mode 100644 index 000000000..330f00074 --- /dev/null +++ b/doc/manual/rl-next/github-host-attr.md @@ -0,0 +1,7 @@ +--- +synopsis: "Add host attribute of github/gitlab flakerefs to URL serialization" +issues: +prs: [12580] +--- + +Resolved an issue where `github:` or `gitlab:` URLs lost their `host` attribute when written to a lockfile, resulting in invalid URLs. From cbdd0c10358d923f7ecb46fac4a64dbbfd250fbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 22:45:57 +0200 Subject: [PATCH 02/24] doc/rl-next: add nix-flake-show --- doc/manual/rl-next/nix-flake-show.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/manual/rl-next/nix-flake-show.md diff --git a/doc/manual/rl-next/nix-flake-show.md b/doc/manual/rl-next/nix-flake-show.md new file mode 100644 index 000000000..c5cf4d93b --- /dev/null +++ b/doc/manual/rl-next/nix-flake-show.md @@ -0,0 +1,8 @@ +--- +synopsis: "nix flake show now skips over import-from-derivation" +issues: 4265 +prs: [12583] +--- + +Previously, if a flake contained outputs relying on import-from-derivation during evaluation, `nix flake show` would fail to display the rest of the flake. The updated behavior skips such outputs, allowing the rest of the flake to be shown. + From 13dafac24317a2273a03643421ae63314717902d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 22:46:08 +0200 Subject: [PATCH 03/24] doc/rl-next: add substituter-timeout --- doc/manual/rl-next/substituter-timeout.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/manual/rl-next/substituter-timeout.md diff --git a/doc/manual/rl-next/substituter-timeout.md b/doc/manual/rl-next/substituter-timeout.md new file mode 100644 index 000000000..78f59590b --- /dev/null +++ b/doc/manual/rl-next/substituter-timeout.md @@ -0,0 +1,7 @@ +--- +synopsis: "Reduce connect timeout for http substituter" +issues: +prs: [12876] +--- + +Previously, the Nix setting `connect-timeout` had no limit. It is now set to `5s`, offering a more practical default for users self-hosting binary caches, which may occasionally become unavailable, such as during updates. From 7f07a94b641d8a4d0a371f37ebae764743f6e87d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 22:49:05 +0200 Subject: [PATCH 04/24] doc/rl-next: add repl-continuation --- doc/manual/rl-next/repl-continuation.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/manual/rl-next/repl-continuation.md diff --git a/doc/manual/rl-next/repl-continuation.md b/doc/manual/rl-next/repl-continuation.md new file mode 100644 index 000000000..2d9fd43c0 --- /dev/null +++ b/doc/manual/rl-next/repl-continuation.md @@ -0,0 +1,7 @@ +--- +synopsis: "Repl: improve continuation prompt for incomplete expressions" +issues: +prs: [12846] +--- + +Improved REPL user experience by updating the continuation prompt from invisible blank spaces to a visible `" > "`, enhancing clarity when entering multi-line expressions. From 721b09a69f289f5b542bda848b865773d042b4c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 22:57:07 +0200 Subject: [PATCH 05/24] doc/rl-next: add better-flake-git-errors --- doc/manual/rl-next/better-flake-git-errors.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doc/manual/rl-next/better-flake-git-errors.md diff --git a/doc/manual/rl-next/better-flake-git-errors.md b/doc/manual/rl-next/better-flake-git-errors.md new file mode 100644 index 000000000..b10fa1253 --- /dev/null +++ b/doc/manual/rl-next/better-flake-git-errors.md @@ -0,0 +1,15 @@ +--- +synopsis: "Improve error message for untracked files in git-based flakes" +issues: +prs: [12870] +--- + +If Nix cannot access a file in a flake because it is not tracked by Git, it now provides clear instructions to resolve the issue: + +``` +error: The path 'foo/bar' in the repository "/path/to/repo" is not tracked by Git. + + To make it accessible to Nix, you need to add it to Git by running: + + git -C "/path/to/repo" add "foo/bar" +``` From db76487f41ba74a09edbad3560cbdb850f427be7 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 16:56:56 -0400 Subject: [PATCH 06/24] doc/rl-next: Add repl-and-logging --- doc/manual/rl-next/repl-and-logging.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/manual/rl-next/repl-and-logging.md diff --git a/doc/manual/rl-next/repl-and-logging.md b/doc/manual/rl-next/repl-and-logging.md new file mode 100644 index 000000000..a943e59e3 --- /dev/null +++ b/doc/manual/rl-next/repl-and-logging.md @@ -0,0 +1,9 @@ +--- +synopsis: "Fix chopped up repl output" +issues: [12599] +prs: [12604] +--- + +The REPL and logger now contend for standard output in a much more systematic manner. +In particular, the synchronisation mechanism is more error-tolerant, by virtue of now using [RAII](https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization). +REPL output should no longer interrupt or be interrupted by the logger mid-message, From 14b4a208c7855a55a23cf8f6a11568a6b9d890c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 23:00:58 +0200 Subject: [PATCH 07/24] doc/rl-next: add fixed-s3-progress-bar --- doc/manual/rl-next/fixed-s3-progress-bar.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/manual/rl-next/fixed-s3-progress-bar.md diff --git a/doc/manual/rl-next/fixed-s3-progress-bar.md b/doc/manual/rl-next/fixed-s3-progress-bar.md new file mode 100644 index 000000000..d710ae258 --- /dev/null +++ b/doc/manual/rl-next/fixed-s3-progress-bar.md @@ -0,0 +1,7 @@ +--- +synopsis: "Fix progress bar for S3 binary caches and make file transfers interruptible" +issues: [12877, 13098] +prs: [12538] +--- + +S3 progress bar now correctly display upload/download progress. S3 uploads are now interruptible. From cdb332990eb905c3106de67645aa3de250a70c06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 23:05:46 +0200 Subject: [PATCH 08/24] doc/rl-next: add s3-sts-authentication --- doc/manual/rl-next/s3-sts-authentication.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/manual/rl-next/s3-sts-authentication.md diff --git a/doc/manual/rl-next/s3-sts-authentication.md b/doc/manual/rl-next/s3-sts-authentication.md new file mode 100644 index 000000000..8dcc84c1b --- /dev/null +++ b/doc/manual/rl-next/s3-sts-authentication.md @@ -0,0 +1,7 @@ +--- +synopsis: "C API: functions for locking and loading a flake" +issues: +prs: [12646] +--- + +Added support for STS-based authentication for S3-based binary caches, i.e. enabling seamless integration with `aws sso login`. From 5ca242018de10ac12916808938b3c80a3323eaaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 23:16:59 +0200 Subject: [PATCH 09/24] doc/rl-next: add multiple-signatures --- doc/manual/rl-next/multiple-signatures.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doc/manual/rl-next/multiple-signatures.md diff --git a/doc/manual/rl-next/multiple-signatures.md b/doc/manual/rl-next/multiple-signatures.md new file mode 100644 index 000000000..4493f4262 --- /dev/null +++ b/doc/manual/rl-next/multiple-signatures.md @@ -0,0 +1,15 @@ +--- +synopsis: "Multiple signatures support in store urls" +issues: +prs: [12976] +--- + +Added support for a `secretKeyFiles` URI parameter in Nix store URIs, allowing multiple signing key files to be specified as a comma-separated list. +This enables signing paths with multiple keys. This helps with [RFC #149](https://github.com/NixOS/rfcs/pull/149) to enable binary cache key rotation in the NixOS infra. + +Example usage: + +```bash +nix copy --to "file:///tmp/store?secret-keys=/tmp/key1,/tmp/key2" \ + "$(nix build --print-out-paths nixpkgs#hello)" +``` From 1d23d883ad51574bae40eb2f3b87308e1f093b24 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 17:20:37 -0400 Subject: [PATCH 10/24] Revert "doc/rl-next: Add repl-and-logging" It is already released on 2.28.0 This reverts commit db76487f41ba74a09edbad3560cbdb850f427be7. --- doc/manual/rl-next/repl-and-logging.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 doc/manual/rl-next/repl-and-logging.md diff --git a/doc/manual/rl-next/repl-and-logging.md b/doc/manual/rl-next/repl-and-logging.md deleted file mode 100644 index a943e59e3..000000000 --- a/doc/manual/rl-next/repl-and-logging.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -synopsis: "Fix chopped up repl output" -issues: [12599] -prs: [12604] ---- - -The REPL and logger now contend for standard output in a much more systematic manner. -In particular, the synchronisation mechanism is more error-tolerant, by virtue of now using [RAII](https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization). -REPL output should no longer interrupt or be interrupted by the logger mid-message, From eca100eb7dc620812fc7cafda6a69934074b7e5d Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 17:22:24 -0400 Subject: [PATCH 11/24] Revert "doc/rl-next: add better-flake-git-errors" This was already released on 2.28.0 This reverts commit 721b09a69f289f5b542bda848b865773d042b4c6. --- doc/manual/rl-next/better-flake-git-errors.md | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 doc/manual/rl-next/better-flake-git-errors.md diff --git a/doc/manual/rl-next/better-flake-git-errors.md b/doc/manual/rl-next/better-flake-git-errors.md deleted file mode 100644 index b10fa1253..000000000 --- a/doc/manual/rl-next/better-flake-git-errors.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -synopsis: "Improve error message for untracked files in git-based flakes" -issues: -prs: [12870] ---- - -If Nix cannot access a file in a flake because it is not tracked by Git, it now provides clear instructions to resolve the issue: - -``` -error: The path 'foo/bar' in the repository "/path/to/repo" is not tracked by Git. - - To make it accessible to Nix, you need to add it to Git by running: - - git -C "/path/to/repo" add "foo/bar" -``` From 121f7ca5fd4417ccbff4ecc964d035a25514ac44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 23:24:35 +0200 Subject: [PATCH 12/24] doc/rl-next: add duplicate-copy --- doc/manual/rl-next/duplicate-copy.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/manual/rl-next/duplicate-copy.md diff --git a/doc/manual/rl-next/duplicate-copy.md b/doc/manual/rl-next/duplicate-copy.md new file mode 100644 index 000000000..884d8d8e1 --- /dev/null +++ b/doc/manual/rl-next/duplicate-copy.md @@ -0,0 +1,8 @@ +--- +synopsis: "No longer copy flakes that are in the nix store" +issues: 10435 +prs: [12877, 13098] +--- + +Previously, we would duplicate entries like `path:/nix/store/*` back into the Nix store. +This was prominently visible for pinned system flake registry entries in NixOS, e.g., when running `nix run nixpkgs#hello`. From c3684efa95993db6aa1e404c1c1bda9dc826a63c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 23:29:49 +0200 Subject: [PATCH 13/24] doc/rl-next: faster-blake3 --- doc/manual/rl-next/faster-blake3.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/manual/rl-next/faster-blake3.md diff --git a/doc/manual/rl-next/faster-blake3.md b/doc/manual/rl-next/faster-blake3.md new file mode 100644 index 000000000..edd10bf75 --- /dev/null +++ b/doc/manual/rl-next/faster-blake3.md @@ -0,0 +1,8 @@ +--- +synopsis: "Faster blake3 hashing" +issues: +prs: [12676] +--- + +The implementation fro blake3 hashing is now multi-threaded and used memory-mapped IO. +Benchmark results can be found the [pull request](https://github.com/NixOS/nix/pull/12676). From 44ca04b9447b9237f8e9edeb36723d6c12075ec1 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 17:41:50 -0400 Subject: [PATCH 14/24] doc/rl-next: nix-formatter --- doc/manual/rl-next/nix-formatter.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 doc/manual/rl-next/nix-formatter.md diff --git a/doc/manual/rl-next/nix-formatter.md b/doc/manual/rl-next/nix-formatter.md new file mode 100644 index 000000000..56bdd7c19 --- /dev/null +++ b/doc/manual/rl-next/nix-formatter.md @@ -0,0 +1,16 @@ +--- +synopsis: "Add `nix formatter build` and `nix formatter run` commands" +issues: +prs: [13063] +--- + +`nix formatter run` is an alias for `nix fmt`. Nothing new there. + +`nix formatter build` is sort of like `nix build`: it builds, links, and prints a path to the formatter program: + +``` +$ nix formatter build +/nix/store/cb9w44vkhk2x4adfxwgdkkf5gjmm856j-treefmt/bin/treefmt +``` + +Note that unlike `nix build`, this prints the full path to the program, not just the store path (in the example above that would be `/nix/store/cb9w44vkhk2x4adfxwgdkkf5gjmm856j-treefmt`). From bfecd13e9b14a1ad5dac47e696fec61a8ca06aaf Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Wed, 14 May 2025 23:43:18 +0200 Subject: [PATCH 15/24] doc/rl-next; add pretty-json --- doc/manual/rl-next/pretty-json.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/manual/rl-next/pretty-json.md diff --git a/doc/manual/rl-next/pretty-json.md b/doc/manual/rl-next/pretty-json.md new file mode 100644 index 000000000..3007ccfeb --- /dev/null +++ b/doc/manual/rl-next/pretty-json.md @@ -0,0 +1,10 @@ +--- +synopsis: "Prettified JSON output on the terminal" +issues: 12555 +prs: [12652] +--- + +Scripts are mostly unaffected because for those, stdout will be a file or a pipe, not a terminal, and for those, the old single-line behavior applies. + +`--json --pretty` can be passed to enable it even if the output is not a terminal. +If your script creates a pseudoterminal for Nix's stdout, you can pass `--no-pretty` to disable the new behavior. From bc774d4365282aa30f643333ababee007e4e4b13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 May 2025 23:51:16 +0200 Subject: [PATCH 16/24] doc/rl-next: retry-on-http-429 --- doc/manual/rl-next/retry-on-http-429.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/manual/rl-next/retry-on-http-429.md diff --git a/doc/manual/rl-next/retry-on-http-429.md b/doc/manual/rl-next/retry-on-http-429.md new file mode 100644 index 000000000..f539cea9e --- /dev/null +++ b/doc/manual/rl-next/retry-on-http-429.md @@ -0,0 +1,8 @@ +--- +synopsis: "Increase retry delays on Http 429" +issues: +prs: [13052] +--- + +When downloading Nix, the retry delay was previously set to 0.25 seconds. It has now been increased to 1 minute to better handle transient CI errors, particularly on GitHub. + From 3bc6bf3659779203a7236650ff5f832efe5222f0 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 17:48:39 -0400 Subject: [PATCH 17/24] doc/rl-next: add osc-8-xterm-style-fix --- doc/manual/rl-next/osc-8-xterm-style-fix.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/manual/rl-next/osc-8-xterm-style-fix.md diff --git a/doc/manual/rl-next/osc-8-xterm-style-fix.md b/doc/manual/rl-next/osc-8-xterm-style-fix.md new file mode 100644 index 000000000..335d7850b --- /dev/null +++ b/doc/manual/rl-next/osc-8-xterm-style-fix.md @@ -0,0 +1,8 @@ +--- +synopsis: "Amend OSC 8 escape stripping for xterm-style separator" +issues: +prs: [13109] +--- + +Improve terminal escape code filtering to understand a second type of hyperlink escape codes. +This in particular prevents parts of GCC 14's diagnostics from being improperly filtered away. From e056cdc2a923d52795399aac1f996265d1b912cc Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 18:03:31 -0400 Subject: [PATCH 18/24] doc/rl-next: Add eval-cache-errors --- doc/manual/rl-next/eval-cache-errors.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/manual/rl-next/eval-cache-errors.md diff --git a/doc/manual/rl-next/eval-cache-errors.md b/doc/manual/rl-next/eval-cache-errors.md new file mode 100644 index 000000000..8e20512d2 --- /dev/null +++ b/doc/manual/rl-next/eval-cache-errors.md @@ -0,0 +1,9 @@ +--- +synopsis: "Consistently preserve error messages from cached evaluation" +issues: [12762] +prs: [12809] +--- + +In one code path, we are not returning the errors cached from prior evaluation, but instead throwing generic errors stemming from the lack of value (due to the error). +These generic error messages were far less informative. +Now we consistently return the original error message. From b7b1ca9a3fa63a2ab57e9a5eb4ec1442a3e3393c Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 18:11:51 -0400 Subject: [PATCH 19/24] doc/rl-next: Add repl-reload-flakes --- doc/manual/rl-next/repl-reload-flakes.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/manual/rl-next/repl-reload-flakes.md diff --git a/doc/manual/rl-next/repl-reload-flakes.md b/doc/manual/rl-next/repl-reload-flakes.md new file mode 100644 index 000000000..c4ffc8bac --- /dev/null +++ b/doc/manual/rl-next/repl-reload-flakes.md @@ -0,0 +1,9 @@ +--- +synopsis: "REPL `:load-flake` and `:reload` now work together" +issues: [8753] +prs: [13180] +--- + +Previously, `:reload` only reloaded the files specified with `:load` (or on the command line). +Now, it also works with the flakes specified with `:load-flake` (or on the command line). +This makes it correctly reload everything that was previously loaded, regardless of what sort of thing (plain file or flake) each item is. From 2df638fd388cb27475490a91d71bce73f6249354 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 15 May 2025 00:12:42 +0200 Subject: [PATCH 20/24] doc/rl-next: Edit --- doc/manual/rl-next/faster-blake3.md | 2 +- doc/manual/rl-next/fixed-s3-progress-bar.md | 2 +- doc/manual/rl-next/nix-flake-show.md | 2 +- doc/manual/rl-next/pretty-json.md | 2 ++ doc/manual/rl-next/retry-on-http-429.md | 2 +- doc/manual/rl-next/s3-sts-authentication.md | 2 +- 6 files changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/manual/rl-next/faster-blake3.md b/doc/manual/rl-next/faster-blake3.md index edd10bf75..be6f80bae 100644 --- a/doc/manual/rl-next/faster-blake3.md +++ b/doc/manual/rl-next/faster-blake3.md @@ -4,5 +4,5 @@ issues: prs: [12676] --- -The implementation fro blake3 hashing is now multi-threaded and used memory-mapped IO. +The implementation for blake3 hashing is now multi-threaded and used memory-mapped IO. Benchmark results can be found the [pull request](https://github.com/NixOS/nix/pull/12676). diff --git a/doc/manual/rl-next/fixed-s3-progress-bar.md b/doc/manual/rl-next/fixed-s3-progress-bar.md index d710ae258..cb29151a2 100644 --- a/doc/manual/rl-next/fixed-s3-progress-bar.md +++ b/doc/manual/rl-next/fixed-s3-progress-bar.md @@ -4,4 +4,4 @@ issues: [12877, 13098] prs: [12538] --- -S3 progress bar now correctly display upload/download progress. S3 uploads are now interruptible. +The progress bar now correctly display upload/download progress for S3 up/downloads. S3 uploads are now interruptible. diff --git a/doc/manual/rl-next/nix-flake-show.md b/doc/manual/rl-next/nix-flake-show.md index c5cf4d93b..70f96f10f 100644 --- a/doc/manual/rl-next/nix-flake-show.md +++ b/doc/manual/rl-next/nix-flake-show.md @@ -4,5 +4,5 @@ issues: 4265 prs: [12583] --- -Previously, if a flake contained outputs relying on import-from-derivation during evaluation, `nix flake show` would fail to display the rest of the flake. The updated behavior skips such outputs, allowing the rest of the flake to be shown. +Previously, if a flake contained outputs relying on [import from derivation](@docroot@/language/import-from-derivation.md) during evaluation, `nix flake show` would fail to display the rest of the flake. The updated behavior skips such outputs, allowing the rest of the flake to be shown. diff --git a/doc/manual/rl-next/pretty-json.md b/doc/manual/rl-next/pretty-json.md index 3007ccfeb..98c0155d1 100644 --- a/doc/manual/rl-next/pretty-json.md +++ b/doc/manual/rl-next/pretty-json.md @@ -4,6 +4,8 @@ issues: 12555 prs: [12652] --- +This makes the output easier to read. + Scripts are mostly unaffected because for those, stdout will be a file or a pipe, not a terminal, and for those, the old single-line behavior applies. `--json --pretty` can be passed to enable it even if the output is not a terminal. diff --git a/doc/manual/rl-next/retry-on-http-429.md b/doc/manual/rl-next/retry-on-http-429.md index f539cea9e..c5872356e 100644 --- a/doc/manual/rl-next/retry-on-http-429.md +++ b/doc/manual/rl-next/retry-on-http-429.md @@ -1,5 +1,5 @@ --- -synopsis: "Increase retry delays on Http 429" +synopsis: "Increase retry delays on HTTP 429 Too Many Requests" issues: prs: [13052] --- diff --git a/doc/manual/rl-next/s3-sts-authentication.md b/doc/manual/rl-next/s3-sts-authentication.md index 8dcc84c1b..470202b16 100644 --- a/doc/manual/rl-next/s3-sts-authentication.md +++ b/doc/manual/rl-next/s3-sts-authentication.md @@ -1,5 +1,5 @@ --- -synopsis: "C API: functions for locking and loading a flake" +synopsis: "S3: opt-in the STSProfileCredentialsProvider" issues: prs: [12646] --- From d5e7359155e4c89225a833300383ed184cc90175 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 18:43:53 -0400 Subject: [PATCH 21/24] release notes: 2.29.0 --- doc/manual/rl-next/c-api.md | 19 --- doc/manual/rl-next/duplicate-copy.md | 8 - doc/manual/rl-next/eval-cache-errors.md | 9 -- doc/manual/rl-next/faster-blake3.md | 8 - doc/manual/rl-next/fixed-s3-progress-bar.md | 7 - doc/manual/rl-next/github-host-attr.md | 7 - doc/manual/rl-next/multiple-signatures.md | 15 -- doc/manual/rl-next/nix-flake-show.md | 8 - doc/manual/rl-next/nix-formatter.md | 16 -- doc/manual/rl-next/osc-8-xterm-style-fix.md | 8 - doc/manual/rl-next/pretty-json.md | 12 -- doc/manual/rl-next/repl-continuation.md | 7 - doc/manual/rl-next/repl-reload-flakes.md | 9 -- doc/manual/rl-next/retry-on-http-429.md | 8 - doc/manual/rl-next/s3-sts-authentication.md | 7 - doc/manual/rl-next/substituter-timeout.md | 7 - doc/manual/source/SUMMARY.md.in | 1 + doc/manual/source/release-notes/rl-2.29.md | 155 ++++++++++++++++++++ 18 files changed, 156 insertions(+), 155 deletions(-) delete mode 100644 doc/manual/rl-next/c-api.md delete mode 100644 doc/manual/rl-next/duplicate-copy.md delete mode 100644 doc/manual/rl-next/eval-cache-errors.md delete mode 100644 doc/manual/rl-next/faster-blake3.md delete mode 100644 doc/manual/rl-next/fixed-s3-progress-bar.md delete mode 100644 doc/manual/rl-next/github-host-attr.md delete mode 100644 doc/manual/rl-next/multiple-signatures.md delete mode 100644 doc/manual/rl-next/nix-flake-show.md delete mode 100644 doc/manual/rl-next/nix-formatter.md delete mode 100644 doc/manual/rl-next/osc-8-xterm-style-fix.md delete mode 100644 doc/manual/rl-next/pretty-json.md delete mode 100644 doc/manual/rl-next/repl-continuation.md delete mode 100644 doc/manual/rl-next/repl-reload-flakes.md delete mode 100644 doc/manual/rl-next/retry-on-http-429.md delete mode 100644 doc/manual/rl-next/s3-sts-authentication.md delete mode 100644 doc/manual/rl-next/substituter-timeout.md create mode 100644 doc/manual/source/release-notes/rl-2.29.md diff --git a/doc/manual/rl-next/c-api.md b/doc/manual/rl-next/c-api.md deleted file mode 100644 index 3b2abfda5..000000000 --- a/doc/manual/rl-next/c-api.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -synopsis: "C API: functions for locking and loading a flake" -issues: 10435 -prs: [12877, 13098] ---- - -This release adds functions to the C API for handling the loading of flakes. Previously, this had to be worked around by using `builtins.getFlake`. -C API consumers and language bindings now have access to basic locking functionality. - -It does not expose the full locking API, so that the implementation can evolve more freely. -Locking is controlled with the functions, which cover the common use cases for consuming a flake: -- `nix_flake_lock_flags_set_mode_check` -- `nix_flake_lock_flags_set_mode_virtual` -- `nix_flake_lock_flags_set_mode_write_as_needed` -- `nix_flake_lock_flags_add_input_override`, which also enables `virtual` - -This change also introduces the new `nix-fetchers-c` library, whose single purpose for now is to manage the (`nix.conf`) settings for the built-in fetchers. - -More details can be found in the [C API documentation](@docroot@/c-api.md). diff --git a/doc/manual/rl-next/duplicate-copy.md b/doc/manual/rl-next/duplicate-copy.md deleted file mode 100644 index 884d8d8e1..000000000 --- a/doc/manual/rl-next/duplicate-copy.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -synopsis: "No longer copy flakes that are in the nix store" -issues: 10435 -prs: [12877, 13098] ---- - -Previously, we would duplicate entries like `path:/nix/store/*` back into the Nix store. -This was prominently visible for pinned system flake registry entries in NixOS, e.g., when running `nix run nixpkgs#hello`. diff --git a/doc/manual/rl-next/eval-cache-errors.md b/doc/manual/rl-next/eval-cache-errors.md deleted file mode 100644 index 8e20512d2..000000000 --- a/doc/manual/rl-next/eval-cache-errors.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -synopsis: "Consistently preserve error messages from cached evaluation" -issues: [12762] -prs: [12809] ---- - -In one code path, we are not returning the errors cached from prior evaluation, but instead throwing generic errors stemming from the lack of value (due to the error). -These generic error messages were far less informative. -Now we consistently return the original error message. diff --git a/doc/manual/rl-next/faster-blake3.md b/doc/manual/rl-next/faster-blake3.md deleted file mode 100644 index be6f80bae..000000000 --- a/doc/manual/rl-next/faster-blake3.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -synopsis: "Faster blake3 hashing" -issues: -prs: [12676] ---- - -The implementation for blake3 hashing is now multi-threaded and used memory-mapped IO. -Benchmark results can be found the [pull request](https://github.com/NixOS/nix/pull/12676). diff --git a/doc/manual/rl-next/fixed-s3-progress-bar.md b/doc/manual/rl-next/fixed-s3-progress-bar.md deleted file mode 100644 index cb29151a2..000000000 --- a/doc/manual/rl-next/fixed-s3-progress-bar.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -synopsis: "Fix progress bar for S3 binary caches and make file transfers interruptible" -issues: [12877, 13098] -prs: [12538] ---- - -The progress bar now correctly display upload/download progress for S3 up/downloads. S3 uploads are now interruptible. diff --git a/doc/manual/rl-next/github-host-attr.md b/doc/manual/rl-next/github-host-attr.md deleted file mode 100644 index 330f00074..000000000 --- a/doc/manual/rl-next/github-host-attr.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -synopsis: "Add host attribute of github/gitlab flakerefs to URL serialization" -issues: -prs: [12580] ---- - -Resolved an issue where `github:` or `gitlab:` URLs lost their `host` attribute when written to a lockfile, resulting in invalid URLs. diff --git a/doc/manual/rl-next/multiple-signatures.md b/doc/manual/rl-next/multiple-signatures.md deleted file mode 100644 index 4493f4262..000000000 --- a/doc/manual/rl-next/multiple-signatures.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -synopsis: "Multiple signatures support in store urls" -issues: -prs: [12976] ---- - -Added support for a `secretKeyFiles` URI parameter in Nix store URIs, allowing multiple signing key files to be specified as a comma-separated list. -This enables signing paths with multiple keys. This helps with [RFC #149](https://github.com/NixOS/rfcs/pull/149) to enable binary cache key rotation in the NixOS infra. - -Example usage: - -```bash -nix copy --to "file:///tmp/store?secret-keys=/tmp/key1,/tmp/key2" \ - "$(nix build --print-out-paths nixpkgs#hello)" -``` diff --git a/doc/manual/rl-next/nix-flake-show.md b/doc/manual/rl-next/nix-flake-show.md deleted file mode 100644 index 70f96f10f..000000000 --- a/doc/manual/rl-next/nix-flake-show.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -synopsis: "nix flake show now skips over import-from-derivation" -issues: 4265 -prs: [12583] ---- - -Previously, if a flake contained outputs relying on [import from derivation](@docroot@/language/import-from-derivation.md) during evaluation, `nix flake show` would fail to display the rest of the flake. The updated behavior skips such outputs, allowing the rest of the flake to be shown. - diff --git a/doc/manual/rl-next/nix-formatter.md b/doc/manual/rl-next/nix-formatter.md deleted file mode 100644 index 56bdd7c19..000000000 --- a/doc/manual/rl-next/nix-formatter.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -synopsis: "Add `nix formatter build` and `nix formatter run` commands" -issues: -prs: [13063] ---- - -`nix formatter run` is an alias for `nix fmt`. Nothing new there. - -`nix formatter build` is sort of like `nix build`: it builds, links, and prints a path to the formatter program: - -``` -$ nix formatter build -/nix/store/cb9w44vkhk2x4adfxwgdkkf5gjmm856j-treefmt/bin/treefmt -``` - -Note that unlike `nix build`, this prints the full path to the program, not just the store path (in the example above that would be `/nix/store/cb9w44vkhk2x4adfxwgdkkf5gjmm856j-treefmt`). diff --git a/doc/manual/rl-next/osc-8-xterm-style-fix.md b/doc/manual/rl-next/osc-8-xterm-style-fix.md deleted file mode 100644 index 335d7850b..000000000 --- a/doc/manual/rl-next/osc-8-xterm-style-fix.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -synopsis: "Amend OSC 8 escape stripping for xterm-style separator" -issues: -prs: [13109] ---- - -Improve terminal escape code filtering to understand a second type of hyperlink escape codes. -This in particular prevents parts of GCC 14's diagnostics from being improperly filtered away. diff --git a/doc/manual/rl-next/pretty-json.md b/doc/manual/rl-next/pretty-json.md deleted file mode 100644 index 98c0155d1..000000000 --- a/doc/manual/rl-next/pretty-json.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -synopsis: "Prettified JSON output on the terminal" -issues: 12555 -prs: [12652] ---- - -This makes the output easier to read. - -Scripts are mostly unaffected because for those, stdout will be a file or a pipe, not a terminal, and for those, the old single-line behavior applies. - -`--json --pretty` can be passed to enable it even if the output is not a terminal. -If your script creates a pseudoterminal for Nix's stdout, you can pass `--no-pretty` to disable the new behavior. diff --git a/doc/manual/rl-next/repl-continuation.md b/doc/manual/rl-next/repl-continuation.md deleted file mode 100644 index 2d9fd43c0..000000000 --- a/doc/manual/rl-next/repl-continuation.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -synopsis: "Repl: improve continuation prompt for incomplete expressions" -issues: -prs: [12846] ---- - -Improved REPL user experience by updating the continuation prompt from invisible blank spaces to a visible `" > "`, enhancing clarity when entering multi-line expressions. diff --git a/doc/manual/rl-next/repl-reload-flakes.md b/doc/manual/rl-next/repl-reload-flakes.md deleted file mode 100644 index c4ffc8bac..000000000 --- a/doc/manual/rl-next/repl-reload-flakes.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -synopsis: "REPL `:load-flake` and `:reload` now work together" -issues: [8753] -prs: [13180] ---- - -Previously, `:reload` only reloaded the files specified with `:load` (or on the command line). -Now, it also works with the flakes specified with `:load-flake` (or on the command line). -This makes it correctly reload everything that was previously loaded, regardless of what sort of thing (plain file or flake) each item is. diff --git a/doc/manual/rl-next/retry-on-http-429.md b/doc/manual/rl-next/retry-on-http-429.md deleted file mode 100644 index c5872356e..000000000 --- a/doc/manual/rl-next/retry-on-http-429.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -synopsis: "Increase retry delays on HTTP 429 Too Many Requests" -issues: -prs: [13052] ---- - -When downloading Nix, the retry delay was previously set to 0.25 seconds. It has now been increased to 1 minute to better handle transient CI errors, particularly on GitHub. - diff --git a/doc/manual/rl-next/s3-sts-authentication.md b/doc/manual/rl-next/s3-sts-authentication.md deleted file mode 100644 index 470202b16..000000000 --- a/doc/manual/rl-next/s3-sts-authentication.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -synopsis: "S3: opt-in the STSProfileCredentialsProvider" -issues: -prs: [12646] ---- - -Added support for STS-based authentication for S3-based binary caches, i.e. enabling seamless integration with `aws sso login`. diff --git a/doc/manual/rl-next/substituter-timeout.md b/doc/manual/rl-next/substituter-timeout.md deleted file mode 100644 index 78f59590b..000000000 --- a/doc/manual/rl-next/substituter-timeout.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -synopsis: "Reduce connect timeout for http substituter" -issues: -prs: [12876] ---- - -Previously, the Nix setting `connect-timeout` had no limit. It is now set to `5s`, offering a more practical default for users self-hosting binary caches, which may occasionally become unavailable, such as during updates. diff --git a/doc/manual/source/SUMMARY.md.in b/doc/manual/source/SUMMARY.md.in index 140be98ad..6711bd4be 100644 --- a/doc/manual/source/SUMMARY.md.in +++ b/doc/manual/source/SUMMARY.md.in @@ -136,6 +136,7 @@ - [Contributing](development/contributing.md) - [Releases](release-notes/index.md) {{#include ./SUMMARY-rl-next.md}} + - [Release 2.29 (2025-05-14)](release-notes/rl-2.29.md) - [Release 2.28 (2025-04-02)](release-notes/rl-2.28.md) - [Release 2.27 (2025-03-03)](release-notes/rl-2.27.md) - [Release 2.26 (2025-01-22)](release-notes/rl-2.26.md) diff --git a/doc/manual/source/release-notes/rl-2.29.md b/doc/manual/source/release-notes/rl-2.29.md new file mode 100644 index 000000000..c74f1ad5d --- /dev/null +++ b/doc/manual/source/release-notes/rl-2.29.md @@ -0,0 +1,155 @@ +# Release 2.29.0 (2025-05-14) + +- C API: functions for locking and loading a flake [#10435](https://github.com/NixOS/nix/issues/10435) [#12877](https://github.com/NixOS/nix/pull/12877) [#13098](https://github.com/NixOS/nix/pull/13098) + + This release adds functions to the C API for handling the loading of flakes. Previously, this had to be worked around by using `builtins.getFlake`. + C API consumers and language bindings now have access to basic locking functionality. + + It does not expose the full locking API, so that the implementation can evolve more freely. + Locking is controlled with the functions, which cover the common use cases for consuming a flake: + - `nix_flake_lock_flags_set_mode_check` + - `nix_flake_lock_flags_set_mode_virtual` + - `nix_flake_lock_flags_set_mode_write_as_needed` + - `nix_flake_lock_flags_add_input_override`, which also enables `virtual` + + This change also introduces the new `nix-fetchers-c` library, whose single purpose for now is to manage the (`nix.conf`) settings for the built-in fetchers. + + More details can be found in the [C API documentation](@docroot@/c-api.md). + +- No longer copy flakes that are in the nix store [#10435](https://github.com/NixOS/nix/issues/10435) [#12877](https://github.com/NixOS/nix/pull/12877) [#13098](https://github.com/NixOS/nix/pull/13098) + + Previously, we would duplicate entries like `path:/nix/store/*` back into the Nix store. + This was prominently visible for pinned system flake registry entries in NixOS, e.g., when running `nix run nixpkgs#hello`. + +- Consistently preserve error messages from cached evaluation [#12762](https://github.com/NixOS/nix/issues/12762) [#12809](https://github.com/NixOS/nix/pull/12809) + + In one code path, we are not returning the errors cached from prior evaluation, but instead throwing generic errors stemming from the lack of value (due to the error). + These generic error messages were far less informative. + Now we consistently return the original error message. + +- Faster blake3 hashing [#12676](https://github.com/NixOS/nix/pull/12676) + + The implementation for blake3 hashing is now multi-threaded and used memory-mapped IO. + Benchmark results can be found the [pull request](https://github.com/NixOS/nix/pull/12676). + +- Fix progress bar for S3 binary caches and make file transfers interruptible [#12877](https://github.com/NixOS/nix/issues/12877) [#13098](https://github.com/NixOS/nix/issues/13098) [#12538](https://github.com/NixOS/nix/pull/12538) + + The progress bar now correctly display upload/download progress for S3 up/downloads. S3 uploads are now interruptible. + +- Add host attribute of github/gitlab flakerefs to URL serialization [#12580](https://github.com/NixOS/nix/pull/12580) + + Resolved an issue where `github:` or `gitlab:` URLs lost their `host` attribute when written to a lockfile, resulting in invalid URLs. + +- Multiple signatures support in store urls [#12976](https://github.com/NixOS/nix/pull/12976) + + Added support for a `secretKeyFiles` URI parameter in Nix store URIs, allowing multiple signing key files to be specified as a comma-separated list. + This enables signing paths with multiple keys. This helps with [RFC #149](https://github.com/NixOS/rfcs/pull/149) to enable binary cache key rotation in the NixOS infra. + + Example usage: + + ```bash + nix copy --to "file:///tmp/store?secret-keys=/tmp/key1,/tmp/key2" \ + "$(nix build --print-out-paths nixpkgs#hello)" + ``` + +- nix flake show now skips over import-from-derivation [#4265](https://github.com/NixOS/nix/issues/4265) [#12583](https://github.com/NixOS/nix/pull/12583) + + Previously, if a flake contained outputs relying on [import from derivation](@docroot@/language/import-from-derivation.md) during evaluation, `nix flake show` would fail to display the rest of the flake. The updated behavior skips such outputs, allowing the rest of the flake to be shown. + +- Add `nix formatter build` and `nix formatter run` commands [#13063](https://github.com/NixOS/nix/pull/13063) + + `nix formatter run` is an alias for `nix fmt`. Nothing new there. + + `nix formatter build` is sort of like `nix build`: it builds, links, and prints a path to the formatter program: + + ``` + $ nix formatter build + /nix/store/cb9w44vkhk2x4adfxwgdkkf5gjmm856j-treefmt/bin/treefmt + ``` + + Note that unlike `nix build`, this prints the full path to the program, not just the store path (in the example above that would be `/nix/store/cb9w44vkhk2x4adfxwgdkkf5gjmm856j-treefmt`). + +- Amend OSC 8 escape stripping for xterm-style separator [#13109](https://github.com/NixOS/nix/pull/13109) + + Improve terminal escape code filtering to understand a second type of hyperlink escape codes. + This in particular prevents parts of GCC 14's diagnostics from being improperly filtered away. + +- Prettified JSON output on the terminal [#12555](https://github.com/NixOS/nix/issues/12555) [#12652](https://github.com/NixOS/nix/pull/12652) + + This makes the output easier to read. + + Scripts are mostly unaffected because for those, stdout will be a file or a pipe, not a terminal, and for those, the old single-line behavior applies. + + `--json --pretty` can be passed to enable it even if the output is not a terminal. + If your script creates a pseudoterminal for Nix's stdout, you can pass `--no-pretty` to disable the new behavior. + +- Repl: improve continuation prompt for incomplete expressions [#12846](https://github.com/NixOS/nix/pull/12846) + + Improved REPL user experience by updating the continuation prompt from invisible blank spaces to a visible `" > "`, enhancing clarity when entering multi-line expressions. + +- REPL `:load-flake` and `:reload` now work together [#8753](https://github.com/NixOS/nix/issues/8753) [#13180](https://github.com/NixOS/nix/pull/13180) + + Previously, `:reload` only reloaded the files specified with `:load` (or on the command line). + Now, it also works with the flakes specified with `:load-flake` (or on the command line). + This makes it correctly reload everything that was previously loaded, regardless of what sort of thing (plain file or flake) each item is. + +- Increase retry delays on HTTP 429 Too Many Requests [#13052](https://github.com/NixOS/nix/pull/13052) + + When downloading Nix, the retry delay was previously set to 0.25 seconds. It has now been increased to 1 minute to better handle transient CI errors, particularly on GitHub. + +- S3: opt-in the STSProfileCredentialsProvider [#12646](https://github.com/NixOS/nix/pull/12646) + + Added support for STS-based authentication for S3-based binary caches, i.e. enabling seamless integration with `aws sso login`. + +- Reduce connect timeout for http substituter [#12876](https://github.com/NixOS/nix/pull/12876) + + Previously, the Nix setting `connect-timeout` had no limit. It is now set to `5s`, offering a more practical default for users self-hosting binary caches, which may occasionally become unavailable, such as during updates. + + +# Contributors + + +This release was made possible by the following 40 contributors: + +- Farid Zakaria [**(@fzakaria)**](https://github.com/fzakaria) +- The Tumultuous Unicorn Of Darkness [**(@TheTumultuousUnicornOfDarkness)**](https://github.com/TheTumultuousUnicornOfDarkness) +- Robert Hensing [**(@roberth)**](https://github.com/roberth) +- Félix [**(@picnoir)**](https://github.com/picnoir) +- Valentin Gagarin [**(@fricklerhandwerk)**](https://github.com/fricklerhandwerk) +- Eelco Dolstra [**(@edolstra)**](https://github.com/edolstra) +- Vincent Breitmoser [**(@Valodim)**](https://github.com/Valodim) +- Brian McKenna [**(@puffnfresh)**](https://github.com/puffnfresh) +- ulucs [**(@ulucs)**](https://github.com/ulucs) +- John Ericson [**(@Ericson2314)**](https://github.com/Ericson2314) +- Andrey Butirsky [**(@bam80)**](https://github.com/bam80) +- Dean De Leo [**(@whatsthecraic)**](https://github.com/whatsthecraic) +- Las Safin [**(@L-as)**](https://github.com/L-as) +- Sergei Zimmerman [**(@xokdvium)**](https://github.com/xokdvium) +- Shahar "Dawn" Or [**(@mightyiam)**](https://github.com/mightyiam) +- Ryan Hendrickson [**(@rhendric)**](https://github.com/rhendric) +- Rodney Lorrimar [**(@rvl)**](https://github.com/rvl) +- Erik Nygren [**(@Kirens)**](https://github.com/Kirens) +- Cole Helbling [**(@cole-h)**](https://github.com/cole-h) +- Martin Fischer [**(@not-my-profile)**](https://github.com/not-my-profile) +- Graham Christensen [**(@grahamc)**](https://github.com/grahamc) +- Vit Gottwald [**(@VitGottwald)**](https://github.com/VitGottwald) +- silvanshade [**(@silvanshade)**](https://github.com/silvanshade) +- Illia Bobyr [**(@ilya-bobyr)**](https://github.com/ilya-bobyr) +- Jeremy Fleischman [**(@jfly)**](https://github.com/jfly) +- Ruby Rose [**(@oldshensheep)**](https://github.com/oldshensheep) +- Sergei Trofimovich [**(@trofi)**](https://github.com/trofi) +- Tim [**(@Jaculabilis)**](https://github.com/Jaculabilis) +- Anthony Wang [**(@anthowan)**](https://github.com/anthowan) +- Jörg Thalheim [**(@Mic92)**](https://github.com/Mic92) +- Sandro [**(@SuperSandro2000)**](https://github.com/SuperSandro2000) +- tomberek [**(@tomberek)**](https://github.com/tomberek) +- Dmitry Bogatov [**(@KAction)**](https://github.com/KAction) +- Sizhe Zhao [**(@Prince213)**](https://github.com/Prince213) +- jade [**(@lf-)**](https://github.com/lf-) +- Pierre-Etienne Meunier [**(@P-E-Meunier)**](https://github.com/P-E-Meunier) +- Alexander Romanov [**(@ajlekcahdp4)**](https://github.com/ajlekcahdp4) +- Domagoj Mišković [**(@allrealmsoflife)**](https://github.com/allrealmsoflife) +- Thomas Miedema [**(@thomie)**](https://github.com/thomie) +- Yannik Sander [**(@ysndr)**](https://github.com/ysndr) +- Philipp Otterbein +- Dmitry Bogatov From 646f3064a310a1de02dcd9c11080230cc3fa443e Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 18:44:39 -0400 Subject: [PATCH 22/24] Cache more contributors --- .../data/release-credits-email-to-handle.json | 16 +++++++++++++++- .../data/release-credits-handle-to-name.json | 15 ++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/maintainers/data/release-credits-email-to-handle.json b/maintainers/data/release-credits-email-to-handle.json index 977555278..c77fe4684 100644 --- a/maintainers/data/release-credits-email-to-handle.json +++ b/maintainers/data/release-credits-email-to-handle.json @@ -152,5 +152,19 @@ "kaction@disroot.org": "KAction", "serenity@kaction.cc": null, "dev@erik.work": "Kirens", - "felix@alternativebit.fr": "picnoir" + "felix@alternativebit.fr": "picnoir", + "butirsky@gmail.com": "bam80", + "look@my.amazin.horse": "Valodim", + "jeremyfleischman@gmail.com": "jfly", + "vit.gottwald@gmail.com": "VitGottwald", + "a@unnamed.website": "anthowan", + "hello@whatsthecraic.net": "whatsthecraic", + "alex.rom23@mail.ru": "ajlekcahdp4", + "domagoj@tuta.com": "allrealmsoflife", + "uluc.sengil@gmail.com": "ulucs", + "prc.zhao@outlook.com": "Prince213", + "the-tumultuous-unicorn-of-darkness@gmx.com": "TheTumultuousUnicornOfDarkness", + "dev@rodney.id.au": "rvl", + "pe@pijul.org": "P-E-Meunier", + "yannik@floxdev.com": "ysndr" } \ No newline at end of file diff --git a/maintainers/data/release-credits-handle-to-name.json b/maintainers/data/release-credits-handle-to-name.json index a03a811d4..734476078 100644 --- a/maintainers/data/release-credits-handle-to-name.json +++ b/maintainers/data/release-credits-handle-to-name.json @@ -133,5 +133,18 @@ "oldshensheep": "Ruby Rose", "KAction": "Dmitry Bogatov", "thomie": "Thomas Miedema", - "Kirens": "Erik Nygren" + "Kirens": "Erik Nygren", + "Prince213": "Sizhe Zhao", + "anthowan": "Anthony Wang", + "jfly": "Jeremy Fleischman", + "VitGottwald": "Vit Gottwald", + "bam80": "Andrey Butirsky", + "ulucs": null, + "P-E-Meunier": "Pierre-Etienne Meunier", + "ysndr": "Yannik Sander", + "TheTumultuousUnicornOfDarkness": "The Tumultuous Unicorn Of Darkness", + "ajlekcahdp4": "Alexander Romanov", + "Valodim": "Vincent Breitmoser", + "rvl": "Rodney Lorrimar", + "whatsthecraic": "Dean De Leo" } \ No newline at end of file From 29e78faa596721d4d5f424d5d2f7bc515adbced1 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 18:46:35 -0400 Subject: [PATCH 23/24] Slightly sort 2.29 release notes --- doc/manual/source/release-notes/rl-2.29.md | 63 +++++++++++----------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/doc/manual/source/release-notes/rl-2.29.md b/doc/manual/source/release-notes/rl-2.29.md index c74f1ad5d..7686d7c11 100644 --- a/doc/manual/source/release-notes/rl-2.29.md +++ b/doc/manual/source/release-notes/rl-2.29.md @@ -1,5 +1,37 @@ # Release 2.29.0 (2025-05-14) +- Prettified JSON output on the terminal [#12555](https://github.com/NixOS/nix/issues/12555) [#12652](https://github.com/NixOS/nix/pull/12652) + + This makes the output easier to read. + + Scripts are mostly unaffected because for those, stdout will be a file or a pipe, not a terminal, and for those, the old single-line behavior applies. + + `--json --pretty` can be passed to enable it even if the output is not a terminal. + If your script creates a pseudoterminal for Nix's stdout, you can pass `--no-pretty` to disable the new behavior. + +- Repl: improve continuation prompt for incomplete expressions [#12846](https://github.com/NixOS/nix/pull/12846) + + Improved REPL user experience by updating the continuation prompt from invisible blank spaces to a visible `" > "`, enhancing clarity when entering multi-line expressions. + +- REPL `:load-flake` and `:reload` now work together [#8753](https://github.com/NixOS/nix/issues/8753) [#13180](https://github.com/NixOS/nix/pull/13180) + + Previously, `:reload` only reloaded the files specified with `:load` (or on the command line). + Now, it also works with the flakes specified with `:load-flake` (or on the command line). + This makes it correctly reload everything that was previously loaded, regardless of what sort of thing (plain file or flake) each item is. + +- Increase retry delays on HTTP 429 Too Many Requests [#13052](https://github.com/NixOS/nix/pull/13052) + + When downloading Nix, the retry delay was previously set to 0.25 seconds. It has now been increased to 1 minute to better handle transient CI errors, particularly on GitHub. + +- S3: opt-in the STSProfileCredentialsProvider [#12646](https://github.com/NixOS/nix/pull/12646) + + Added support for STS-based authentication for S3-based binary caches, i.e. enabling seamless integration with `aws sso login`. + +- Reduce connect timeout for http substituter [#12876](https://github.com/NixOS/nix/pull/12876) + + Previously, the Nix setting `connect-timeout` had no limit. It is now set to `5s`, offering a more practical default for users self-hosting binary caches, which may occasionally become unavailable, such as during updates. + + - C API: functions for locking and loading a flake [#10435](https://github.com/NixOS/nix/issues/10435) [#12877](https://github.com/NixOS/nix/pull/12877) [#13098](https://github.com/NixOS/nix/pull/13098) This release adds functions to the C API for handling the loading of flakes. Previously, this had to be worked around by using `builtins.getFlake`. @@ -74,37 +106,6 @@ Improve terminal escape code filtering to understand a second type of hyperlink escape codes. This in particular prevents parts of GCC 14's diagnostics from being improperly filtered away. -- Prettified JSON output on the terminal [#12555](https://github.com/NixOS/nix/issues/12555) [#12652](https://github.com/NixOS/nix/pull/12652) - - This makes the output easier to read. - - Scripts are mostly unaffected because for those, stdout will be a file or a pipe, not a terminal, and for those, the old single-line behavior applies. - - `--json --pretty` can be passed to enable it even if the output is not a terminal. - If your script creates a pseudoterminal for Nix's stdout, you can pass `--no-pretty` to disable the new behavior. - -- Repl: improve continuation prompt for incomplete expressions [#12846](https://github.com/NixOS/nix/pull/12846) - - Improved REPL user experience by updating the continuation prompt from invisible blank spaces to a visible `" > "`, enhancing clarity when entering multi-line expressions. - -- REPL `:load-flake` and `:reload` now work together [#8753](https://github.com/NixOS/nix/issues/8753) [#13180](https://github.com/NixOS/nix/pull/13180) - - Previously, `:reload` only reloaded the files specified with `:load` (or on the command line). - Now, it also works with the flakes specified with `:load-flake` (or on the command line). - This makes it correctly reload everything that was previously loaded, regardless of what sort of thing (plain file or flake) each item is. - -- Increase retry delays on HTTP 429 Too Many Requests [#13052](https://github.com/NixOS/nix/pull/13052) - - When downloading Nix, the retry delay was previously set to 0.25 seconds. It has now been increased to 1 minute to better handle transient CI errors, particularly on GitHub. - -- S3: opt-in the STSProfileCredentialsProvider [#12646](https://github.com/NixOS/nix/pull/12646) - - Added support for STS-based authentication for S3-based binary caches, i.e. enabling seamless integration with `aws sso login`. - -- Reduce connect timeout for http substituter [#12876](https://github.com/NixOS/nix/pull/12876) - - Previously, the Nix setting `connect-timeout` had no limit. It is now set to `5s`, offering a more practical default for users self-hosting binary caches, which may occasionally become unavailable, such as during updates. - # Contributors From 6e9350d53feb4e215f1985b3437c49f86957cee2 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 14 May 2025 19:05:27 -0400 Subject: [PATCH 24/24] Add little blurb at the top of 2.29 release notes --- doc/manual/source/release-notes/rl-2.29.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/manual/source/release-notes/rl-2.29.md b/doc/manual/source/release-notes/rl-2.29.md index 7686d7c11..ad63fff2f 100644 --- a/doc/manual/source/release-notes/rl-2.29.md +++ b/doc/manual/source/release-notes/rl-2.29.md @@ -1,5 +1,9 @@ # Release 2.29.0 (2025-05-14) +After the special backport-based release of Nix 2.28 (timed to coincide with Nixpkgs 25.05), the release process is back to normal with 2.29. +As such, we have slightly more weeks of work from `master` (since 2.28 was branched from 2.27) than usual. +This fact is counterbalanced by the fact that most of those changes are bug fixes rather than larger new features. + - Prettified JSON output on the terminal [#12555](https://github.com/NixOS/nix/issues/12555) [#12652](https://github.com/NixOS/nix/pull/12652) This makes the output easier to read.