New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[18.09] set min version back to 1.11 #46401
Conversation
No attempt on x86_64-darwin (full log) The following builds were skipped because they don't evaluate on x86_64-darwin: rpcbind Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: rpcbind Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: rpcbind Partial log (click to expand)
|
For reference: The 2 IRC users that had trouble updating to Nix 2.0:
Also: A Nix 2.0 nix.conf apparently isn't backwards compatible with one for Nix 1.x. The second user received an additional error because of that when they tried to use the Nix 2.0 client on their NixOS 17.09 system. Inlined pastebin of their error:
Yes, I think that's the error you get when you try to use The whole daemon/client mismatch confusion should really be dealt with better in general if we're forcing people to upgrade. |
I don't think we should do this. How many users do we think this is relevant for? I would assume a big majority do not skip a version, and #46387 lists 3 viable (not even complicated) workarounds that just need to be well documented. Forcing ourselves to generally support upgrades from two versions back will result in a 1.5 year delay in fully using major nix updates (with beneficial new language features like placeholders) and phasing out old stuff, like deprecated options etc. It also increases the complexity of maintenance ("this cannot be cherry-picked to stable, it uses a placeholder, not allowed in 18.09...") and is likely to generate more bugs. |
From where did you get this impression? |
One of the teams at my company has a fairly large Nix codebase, and they generally do not try to keep up with the 6 month release cycle of NixOS. I try to push them to stay within a year, e.g. the most recent upgrade was from 17.03 to 18.03. But generally I think NixOS's lack of support for things beyond 6 months is pretty bad for large companies. I would advocate for either year long support windows or occasional LTS releases. |
Maybe it was a misunderstanding, but part of the idea to wait so long to up minver.nix was so that the change happened immediately after the 18.09 branch off, not immediately before it. It's not a huge deal either way - I think everyone agrees that we should be switching to 2.0 soon, I just thought we could provide compat in 18.09. |
@matthewbauer I see, thanks for explaining. :) |
@ElvishJerricco we don't really have the manpower to support releases longer than we currently do. And you should be aware that there generally are no security months after 7 months. I guess to have an extended support cycle companies would have to start being willing to pay for that at least in some form, otherwise I think it won't be sustainable. |
Bummer, but okay. |
Mmm 17.09 includes a |
I was just trying to upgrade from a really old installer image (nixos-unstable circa 17.03 or 17.09) and I hit an issue where the nixos-18.03 channel did not evaluate without Nix 2.0. So even going to 18.03 required a Nix upgrade. [When I am less tired I'll try to reproduce this and make a proper issue.] |
@Ericson2314 I've noted elsewhere that at least going to 18.03 with nixos-rebuild works fine from pretty old NixOSes, because nixos-rebuild takes the Nix from the channel being installed and builds the rest of the system with that. |
Motivation for this change
This reverts the minver.nix change as well as commits that introduced 2.0 language features. Need more feedback on whether this is okay. My impression was that this was the original intention, to make things easier on users. As a rule, we should make sure it is always be possible to upgrade yearly, so 17.03 -> 18.03 should work and 17.09 -> 18.09 should also work. Eventually we may want to make one of the biyearly releases a LTS.
Fixes #46387
Note: this just effects the release-18.09 branch. The minver is still 2.0 in master.
For reference, if you ever need to check for nix 1.0 support, just do
nix-shell -p nix1 --run 'nix-env -qaP -f.'
.