From c13a31f6396ea5c035926d99243b314bc414ed9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophane=20Hufschmitt?= Date: Fri, 22 Mar 2024 11:40:29 +0100 Subject: [PATCH 1/3] Update the release cycle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Align the “frequent” release cycle with the calendar - The 6-month release cycle is hard to keep track of. A monthly release will make it much easier to remember the release date. - Officialise the support for a stable version maintained for as long as NixOS stable - This is already the case in practice, it just happens that the “stable” Nixpkgs version is whichever version was deemed stable-enough at the time of the NixOS release. Officialise that by cutting a new major release alongside each NixOS one. Note that this breaks whatever semver compatibility Nix might pretend to have, but I don't think it makes sense any way. --- doc/manual/src/SUMMARY.md.in | 2 +- doc/manual/src/release-notes/index.md | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/doc/manual/src/SUMMARY.md.in b/doc/manual/src/SUMMARY.md.in index 1149fc7b422..43b9e925f59 100644 --- a/doc/manual/src/SUMMARY.md.in +++ b/doc/manual/src/SUMMARY.md.in @@ -119,7 +119,7 @@ - [Experimental Features](contributing/experimental-features.md) - [CLI guideline](contributing/cli-guideline.md) - [C++ style guide](contributing/cxx.md) -- [Release Notes](release-notes/index.md) +- [Releases](release-notes/index.md) {{#include ./SUMMARY-rl-next.md}} - [Release 2.21 (2024-03-11)](release-notes/rl-2.21.md) - [Release 2.20 (2024-01-29)](release-notes/rl-2.20.md) diff --git a/doc/manual/src/release-notes/index.md b/doc/manual/src/release-notes/index.md index cc805e63116..150253baabd 100644 --- a/doc/manual/src/release-notes/index.md +++ b/doc/manual/src/release-notes/index.md @@ -1,12 +1,15 @@ # Nix Release Notes -Nix has a release cycle of roughly 6 weeks. -Notable changes and additions are announced in the release notes for each version. +The Nix release cycle is calendar-based as follows: + +- A new minor version (`XX.YY+1.0`) is published every month and supported for two months; +- A new major version (`XX+1.1.0`) is published twice a year, in April and October, and supported for eight months. -Bugfixes can be backported on request to previous Nix releases. -We typically backport only as far back as the Nix version used in the latest NixOS release, which is announced in the [NixOS release notes](https://nixos.org/manual/nixos/stable/release-notes.html#ch-release-notes). +The rationale behind that cycle is that +- Minor versions stay close to master and bring early access to new features for the user who need them; +- Major versions are aligned with the NixOS releases (released one month before NixOS and supported for as long at it). -Backports never skip releases. -If a feature is backported to version `x.y`, it must also be available in version `x.(y+1)`. -This ensures that upgrading from an older version with backports is still safe and no backported functionality will go missing. +Bugfixes and security issues are backported to every supported version. +Patch releases are published as needed. +Notable changes and additions are announced in the release notes for each version. From f78161bb8e87a79e0cdeff0c55266b58e45071d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophane=20Hufschmitt?= <7226587+thufschmitt@users.noreply.github.com> Date: Mon, 25 Mar 2024 10:47:19 +0100 Subject: [PATCH 2/3] Adress feedback from the PR Trim down the proposal quite a bit, making it much closer to the previous text, just more explicit about what we support. --- doc/manual/src/release-notes/index.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/manual/src/release-notes/index.md b/doc/manual/src/release-notes/index.md index 150253baabd..331ddf6856d 100644 --- a/doc/manual/src/release-notes/index.md +++ b/doc/manual/src/release-notes/index.md @@ -2,14 +2,15 @@ The Nix release cycle is calendar-based as follows: -- A new minor version (`XX.YY+1.0`) is published every month and supported for two months; -- A new major version (`XX+1.1.0`) is published twice a year, in April and October, and supported for eight months. +Nix has a release cycle of roughly 6 weeks. +Notable changes and additions are announced in the release notes for each version. -The rationale behind that cycle is that -- Minor versions stay close to master and bring early access to new features for the user who need them; -- Major versions are aligned with the NixOS releases (released one month before NixOS and supported for as long at it). +The supported Nix versions are: +- The latest release +- The version used in the stable NixOS release, which is announced in the [NixOS release notes](https://nixos.org/manual/nixos/stable/release-notes.html#ch-release-notes). Bugfixes and security issues are backported to every supported version. Patch releases are published as needed. Notable changes and additions are announced in the release notes for each version. + From 45001c332d99a1decacfc128fc7f0578c95f3ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophane=20Hufschmitt?= <7226587+thufschmitt@users.noreply.github.com> Date: Mon, 25 Mar 2024 10:48:22 +0100 Subject: [PATCH 3/3] Remove accidental duplicate --- doc/manual/src/release-notes/index.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/doc/manual/src/release-notes/index.md b/doc/manual/src/release-notes/index.md index 331ddf6856d..d4e6292a62d 100644 --- a/doc/manual/src/release-notes/index.md +++ b/doc/manual/src/release-notes/index.md @@ -11,6 +11,3 @@ The supported Nix versions are: Bugfixes and security issues are backported to every supported version. Patch releases are published as needed. - -Notable changes and additions are announced in the release notes for each version. -