From 80020b684f305e181964b5e3609f1433cc982a66 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Feb 2025 21:57:30 +0100 Subject: [PATCH 1/5] release notes: 2.27.0 --- doc/manual/rl-next/curl-cloexec.md | 10 ------ doc/manual/rl-next/git-lfs-support.md | 18 ---------- doc/manual/rl-next/self-submodules-attr.md | 12 ------- doc/manual/source/SUMMARY.md.in | 1 + doc/manual/source/release-notes/rl-2.27.md | 38 ++++++++++++++++++++++ 5 files changed, 39 insertions(+), 40 deletions(-) delete mode 100644 doc/manual/rl-next/curl-cloexec.md delete mode 100644 doc/manual/rl-next/git-lfs-support.md delete mode 100644 doc/manual/rl-next/self-submodules-attr.md create mode 100644 doc/manual/source/release-notes/rl-2.27.md diff --git a/doc/manual/rl-next/curl-cloexec.md b/doc/manual/rl-next/curl-cloexec.md deleted file mode 100644 index 2fcdfb0d101..00000000000 --- a/doc/manual/rl-next/curl-cloexec.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -synopsis: Set FD_CLOEXEC on sockets created by curl -issues: [] -prs: [12439] ---- - - -Curl creates sockets without setting FD_CLOEXEC/SOCK_CLOEXEC, this can cause connections to remain open forever when using commands like `nix shell` - -This change sets the FD_CLOEXEC flag using a CURLOPT_SOCKOPTFUNCTION callback. diff --git a/doc/manual/rl-next/git-lfs-support.md b/doc/manual/rl-next/git-lfs-support.md deleted file mode 100644 index 4b6e0ca86d5..00000000000 --- a/doc/manual/rl-next/git-lfs-support.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -synopsis: "Git LFS support" -prs: [10153, 12468] ---- - -The Git fetcher now supports Large File Storage (LFS). This can be enabled by passing the attribute `lfs = true` to the fetcher, e.g. -```console -nix flake prefetch 'git+ssh://git@github.com/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**](https://github.com/b-camacho), [**@kip93**](https://github.com/kip93) diff --git a/doc/manual/rl-next/self-submodules-attr.md b/doc/manual/rl-next/self-submodules-attr.md deleted file mode 100644 index 0eb7e1602e2..00000000000 --- a/doc/manual/rl-next/self-submodules-attr.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -synopsis: "`inputs.self.submodules` flake attribute" -prs: [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`. diff --git a/doc/manual/source/SUMMARY.md.in b/doc/manual/source/SUMMARY.md.in index 0abe691cc25..90c004b636d 100644 --- a/doc/manual/source/SUMMARY.md.in +++ b/doc/manual/source/SUMMARY.md.in @@ -132,6 +132,7 @@ - [Contributing](development/contributing.md) - [Releases](release-notes/index.md) {{#include ./SUMMARY-rl-next.md}} + - [Release 2.27 (2025-02-26)](release-notes/rl-2.27.md) - [Release 2.26 (2025-01-22)](release-notes/rl-2.26.md) - [Release 2.25 (2024-11-07)](release-notes/rl-2.25.md) - [Release 2.24 (2024-07-31)](release-notes/rl-2.24.md) diff --git a/doc/manual/source/release-notes/rl-2.27.md b/doc/manual/source/release-notes/rl-2.27.md new file mode 100644 index 00000000000..312b3926173 --- /dev/null +++ b/doc/manual/source/release-notes/rl-2.27.md @@ -0,0 +1,38 @@ +# Release 2.27.0 (2025-02-26) + +- Set FD_CLOEXEC on sockets created by curl [#12439](https://github.com/NixOS/nix/pull/12439) + + Curl creates sockets without setting FD_CLOEXEC/SOCK_CLOEXEC, this can cause connections to remain open forever when using commands like `nix shell` + + This change sets the FD_CLOEXEC flag using a CURLOPT_SOCKOPTFUNCTION callback. + +- Git LFS support [#10153](https://github.com/NixOS/nix/pull/10153) [#12468](https://github.com/NixOS/nix/pull/12468) + + The Git fetcher now supports Large File Storage (LFS). This can be enabled by passing the attribute `lfs = true` to the fetcher, e.g. + ```console + nix flake prefetch 'git+ssh://git@github.com/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**](https://github.com/b-camacho), [**@kip93**](https://github.com/kip93) + +- `inputs.self.submodules` flake attribute [#12421](https://github.com/NixOS/nix/pull/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`. + + +# Contributors + +Querying GitHub API for 5cf9e18167b86f39864e39e5fe129e5f6c1a15e0, to get handle for fabianm88@gmail.com From 4a7bdddc8ba43f837032f1b8b845e58e46bd74ff Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Feb 2025 21:59:41 +0100 Subject: [PATCH 2/5] Edit release notes --- doc/manual/source/release-notes/rl-2.27.md | 27 ++++++++++------------ 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/doc/manual/source/release-notes/rl-2.27.md b/doc/manual/source/release-notes/rl-2.27.md index 312b3926173..201ce211575 100644 --- a/doc/manual/source/release-notes/rl-2.27.md +++ b/doc/manual/source/release-notes/rl-2.27.md @@ -1,10 +1,14 @@ -# Release 2.27.0 (2025-02-26) +# Release 2.27.0 (2025-03-03) -- Set FD_CLOEXEC on sockets created by curl [#12439](https://github.com/NixOS/nix/pull/12439) - - Curl creates sockets without setting FD_CLOEXEC/SOCK_CLOEXEC, this can cause connections to remain open forever when using commands like `nix shell` +- `inputs.self.submodules` flake attribute [#12421](https://github.com/NixOS/nix/pull/12421) - This change sets the FD_CLOEXEC flag using a CURLOPT_SOCKOPTFUNCTION callback. + 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`. - Git LFS support [#10153](https://github.com/NixOS/nix/pull/10153) [#12468](https://github.com/NixOS/nix/pull/12468) @@ -13,7 +17,7 @@ nix flake prefetch 'git+ssh://git@github.com/Apress/repo-with-large-file-storage.git?lfs=1' ``` - A flake can also declare that it requires lfs to be enabled: + A flake can also declare that it requires LFS to be enabled: ``` { inputs.self.lfs = true; @@ -22,16 +26,9 @@ Author: [**@b-camacho**](https://github.com/b-camacho), [**@kip93**](https://github.com/kip93) -- `inputs.self.submodules` flake attribute [#12421](https://github.com/NixOS/nix/pull/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`. +- Set `FD_CLOEXEC` on sockets created by curl [#12439](https://github.com/NixOS/nix/pull/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. # Contributors From c5a64aefac6accc5fca00bb3b3e0e8a92c34403b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Feb 2025 22:01:24 +0100 Subject: [PATCH 3/5] Add contributors --- doc/manual/source/release-notes/rl-2.27.md | 25 ++++++++++++++++++- .../data/release-credits-email-to-handle.json | 15 ++++++++++- .../data/release-credits-handle-to-name.json | 13 +++++++++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/doc/manual/source/release-notes/rl-2.27.md b/doc/manual/source/release-notes/rl-2.27.md index 201ce211575..675d4a1d708 100644 --- a/doc/manual/source/release-notes/rl-2.27.md +++ b/doc/manual/source/release-notes/rl-2.27.md @@ -32,4 +32,27 @@ # Contributors -Querying GitHub API for 5cf9e18167b86f39864e39e5fe129e5f6c1a15e0, to get handle for fabianm88@gmail.com +This release was made possible by the following 21 contributors: + +- Aiden Fox Ivey [**(@aidenfoxivey)**](https://github.com/aidenfoxivey) +- Ben Millwood [**(@bmillwood)**](https://github.com/bmillwood) +- Brian Camacho [**(@b-camacho)**](https://github.com/b-camacho) +- Brian McKenna [**(@puffnfresh)**](https://github.com/puffnfresh) +- Eelco Dolstra [**(@edolstra)**](https://github.com/edolstra) +- Fabian Möller [**(@B4dM4n)**](https://github.com/B4dM4n) +- Illia Bobyr [**(@ilya-bobyr)**](https://github.com/ilya-bobyr) +- Ivan Trubach [**(@tie)**](https://github.com/tie) +- John Ericson [**(@Ericson2314)**](https://github.com/Ericson2314) +- Jörg Thalheim [**(@Mic92)**](https://github.com/Mic92) +- Leandro Emmanuel Reina Kiperman [**(@kip93)**](https://github.com/kip93) +- MaxHearnden [**(@MaxHearnden)**](https://github.com/MaxHearnden) +- Philipp Otterbein +- Robert Hensing [**(@roberth)**](https://github.com/roberth) +- Sandro [**(@SuperSandro2000)**](https://github.com/SuperSandro2000) +- Sergei Zimmerman [**(@xokdvium)**](https://github.com/xokdvium) +- Silvan Mosberger [**(@infinisil)**](https://github.com/infinisil) +- Someone [**(@SomeoneSerge)**](https://github.com/SomeoneSerge) +- Steve Walker [**(@stevalkr)**](https://github.com/stevalkr) +- bcamacho2 [**(@bcamacho2)**](https://github.com/bcamacho2) +- silvanshade [**(@silvanshade)**](https://github.com/silvanshade) +- tomberek [**(@tomberek)**](https://github.com/tomberek) diff --git a/maintainers/data/release-credits-email-to-handle.json b/maintainers/data/release-credits-email-to-handle.json index 85f61f7e391..8f503147486 100644 --- a/maintainers/data/release-credits-email-to-handle.json +++ b/maintainers/data/release-credits-email-to-handle.json @@ -132,5 +132,18 @@ "140354451+myclevorname@users.noreply.github.com": "myclevorname", "bonniot@gmail.com": "dbdr", "jack@wilsdon.me": "jackwilsdon", - "143541718+WxNzEMof@users.noreply.github.com": "the-sun-will-rise-tomorrow" + "143541718+WxNzEMof@users.noreply.github.com": "the-sun-will-rise-tomorrow", + "fabianm88@gmail.com": "B4dM4n", + "silvan.mosberger@moduscreate.com": "infinisil", + "leandro.reina@ororatech.com": "kip93", + "else@someonex.net": "SomeoneSerge", + "aiden@aidenfoxivey.com": "aidenfoxivey", + "maxoscarhearnden@gmail.com": "MaxHearnden", + "silvanshade@users.noreply.github.com": "silvanshade", + "illia.bobyr@gmail.com": "ilya-bobyr", + "65963536+etherswangel@users.noreply.github.com": "stevalkr", + "thebenmachine+git@gmail.com": "bmillwood", + "leandro@kip93.net": "kip93", + "hello@briancamacho.me": "b-camacho", + "bcamacho@anduril.com": "bcamacho2" } \ 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 c517933ebad..7149149c045 100644 --- a/maintainers/data/release-credits-handle-to-name.json +++ b/maintainers/data/release-credits-handle-to-name.json @@ -118,5 +118,16 @@ "wh0": null, "mupdt": "Matej Urbas", "momeemt": "Mutsuha Asada", - "dwt": "\u202erekc\u00e4H nitraM\u202e" + "dwt": "\u202erekc\u00e4H nitraM\u202e", + "aidenfoxivey": "Aiden Fox Ivey", + "ilya-bobyr": "Illia Bobyr", + "B4dM4n": "Fabian M\u00f6ller", + "silvanshade": null, + "bcamacho2": null, + "bmillwood": "Ben Millwood", + "stevalkr": "Steve Walker", + "SomeoneSerge": "Someone", + "b-camacho": "Brian Camacho", + "MaxHearnden": null, + "kip93": "Leandro Emmanuel Reina Kiperman" } \ No newline at end of file From 1d89507656d8bf78920a0a3377587851c6ef6bad Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Feb 2025 22:05:50 +0100 Subject: [PATCH 4/5] Fix date --- doc/manual/source/SUMMARY.md.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/manual/source/SUMMARY.md.in b/doc/manual/source/SUMMARY.md.in index 90c004b636d..6dff2c206b6 100644 --- a/doc/manual/source/SUMMARY.md.in +++ b/doc/manual/source/SUMMARY.md.in @@ -132,7 +132,7 @@ - [Contributing](development/contributing.md) - [Releases](release-notes/index.md) {{#include ./SUMMARY-rl-next.md}} - - [Release 2.27 (2025-02-26)](release-notes/rl-2.27.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) - [Release 2.25 (2024-11-07)](release-notes/rl-2.25.md) - [Release 2.24 (2024-07-31)](release-notes/rl-2.24.md) From ed294a31f52ca84e1243834aff01ffccaf16bfe0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Feb 2025 22:23:44 +0100 Subject: [PATCH 5/5] Add more release notes --- doc/manual/source/release-notes/rl-2.27.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/manual/source/release-notes/rl-2.27.md b/doc/manual/source/release-notes/rl-2.27.md index 675d4a1d708..1c8e39795a7 100644 --- a/doc/manual/source/release-notes/rl-2.27.md +++ b/doc/manual/source/release-notes/rl-2.27.md @@ -26,6 +26,14 @@ Author: [**@b-camacho**](https://github.com/b-camacho), [**@kip93**](https://github.com/kip93) +- Handle the case where a chroot store is used and some inputs are in the "host" `/nix/store` [#12512](https://github.com/NixOS/nix/pull/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](https://github.com/NixOS/nix/issue/11503). + +- `nix flake prefetch` now has a `--out-link` option [#12443](https://github.com/NixOS/nix/issue/12443) + - Set `FD_CLOEXEC` on sockets created by curl [#12439](https://github.com/NixOS/nix/pull/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.