As it has been loosely defined by precedent, here is the update policy for the kernels in the stable branches:
The first point is important for users using a previous or current LTS, and especially important considering the default kernel is always the latest LTS. I don't think there is anything to discuss about this point here.
The second point is important for a specific use case. Sometimes it happens that a release uses a year old LTS, and this creates issues for some new hardware setups that are often better in the latest releases. This is even more true with the (still unpublished) new-kernel variant of the iso, as it allows those users to start the installer, where sometimes the default release won't start.
It is important that the latest release never downgrades to a previous version (LTS or not). It could end up being several releases behind, and considered a breaking change. It is also important that the version stays fresh and maintained, so it shouldn't be a version that will be EOL'd, and especially not stay the version that is EOL'd.
The current (upcoming) release branch (20.03) currently has the following:
# pkgs/top-level/all-packages.nix
16712 linuxPackages_latest = linuxPackages_5_5;
There is no linuxPackages_5_6 upgrade as would be expected.
The current stable branch (19.09) seems to have suffered a similar fate,
# pkgs/top-level/all-packages.nix
15776 linux_latest = callPackage ../os-specific/linux/kernel/linux-5.4.nix {
I would have expected to see linux-5.6 here.
Additionally, for 19.09 we did the following, which I am still ambivalent about:
The versioned attribute names for non-LTS versions are dropped (to respect this release step.
So let's say 5.6 is the latest, we wouldn't see a linuxPackages_5_6 attribute, but linuxPackages_latest would be 5.6.
Though that's not exactly relevant to kernel update policy, and a release management step.
For previous discussions, see #70202, #50412
@NeQuissimus, has there been a change since our previous discussions? Is there an issue I'm not seeing here that prevents updating to the latest kernel release in the stable NixOS releases?
Thanks.
You are absolutely correct in everything you've said.
I usually wait a bit to update latest until some of the kernel modules have come out with updates. Since I don't keep track of all of them, I generally wait until x.y.2. The specific reason 20.03 is behind is that I have not had the time to make the changes in the release branch.
The reason 19.09 is behind is that I was under the impression the "wandering latest release" thing was new to 20.03; I guess I was incorrect there.
If anybody would like to pick the right commits, please go ahead.
Commits have been picked, closing.
Most helpful comment
You are absolutely correct in everything you've said.
I usually wait a bit to update latest until some of the kernel modules have come out with updates. Since I don't keep track of all of them, I generally wait until
x.y.2. The specific reason 20.03 is behind is that I have not had the time to make the changes in the release branch.The reason 19.09 is behind is that I was under the impression the "wandering latest release" thing was new to 20.03; I guess I was incorrect there.
If anybody would like to pick the right commits, please go ahead.