Define a better MSRV policy
asomers opened this issue · 2 comments
Ztop's current MSRV policy is basically "The oldest possible, and never raise it without considering it a breaking change". That's a reasonable policy for a library crate, but not for a binary crate. Instead, since Ztop's consumers are OS package managers, Ztop should define its MSRV to be the oldest Rust compiler in any supported OS. Currently, that's:
- 1.55.0 for FreeBSD. https://www.freshports.org/lang/rust/
But if we gain Linux support, we should track a few others. @guygastineau what should ztop assume about the lowest Rust version in common Linux distros?
It looks like Debian's stable branch includes 1.41.1, but they provide a rustc as new as 1.55 for the unstable branch (which I think is rolling release). I don't know much about debian and their process, but I think their stable releases will have roughly the oldest packages in use by any considerable margin of the community.
I just use rustup on arch. I currently have the repo pinned to 1.53. because that was referenced as the oldest supported version in the readme.
It looks like ubuntu provides 1.55 for all releases going back to 18.04 except 20.10 which has 1.47 as the newest. https://packages.ubuntu.com/search?keywords=rustc IKD, I am also not very familiar with ubuntu, but they ship with ZFS by default now, so I figure we would want to support their versions of rust. Hmm, nevermind, I just realized that 20.10 is not LTS, and it reached EoL already, so I think we can safely assume a rustc 1.55 built binary will work on any supported ubuntu even if the user is using 1.4* for their projects. I guess they wouldn't be able to build it then without installing the other rustc package for themself. Hopefully this is all some useful information here.
Where do you see 1.55.0 available for Ubuntu? On that link, the newest I see is 1.51.0.