-
Notifications
You must be signed in to change notification settings - Fork 57
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
Clarify MSRV policy #39
Comments
Oh shoot indeed, i should've been more careful releasing the 0.4.1 as i didn't think about the used Rust's version (only thought about the API stability as per semver requirements, which is okay but not always enough indeed) :x As the breaking stuff seems to be easily fixable, i think i'll release a non-breaking corrective version (0.4.2) and yank the 0.4.1 version (to avoid other broken stuff), and stating in the README.md a MSRV for at least an old enough Rust version (maybe 1.36.0 actually) as this lib should be mostly simple and thus wouldn't require an "edging" Rust version (but not too old either) PS: also if it's okay for you, i'll gladly do with some feedback about this plan of doing as i never dealt with yank[ed/ing] stuff before, so any tip or comment on this would be greatly valuable for me ^-^ |
Yeah, unfortunately there is no builtin way to force MSRV right now (yet), so at least you can utilize matrix builds to check both for Also I'm in no position to ask about some specific Rust version, but considering the amount of the dependant crates and repositories, there is be a chance that sticking with Rust 1.36 will break compatibility to someone. Crates yanking is pretty easy, the following command should do the thing:
Note that |
I just wanted to follow up on this issue. I checked your package using this library https://github.com/foresterre/cargo-msrv Here are the results for your package. To get each result, I ran
|
I'd like to express my wish for MSRV to be no newer than 1.41.1 (~2 years old Rust; present in Debian 10 - oldstable). Given that |
Latest
0.4.1
release broke support for older Rust versions compared to0.4.0
, for example, accessing enum variants viaSelf
were not available for Rust 1.36.0:rust-hex/src/error.rs
Lines 26 to 30 in 78359a8
In my case this version of
hex
were used as a dependency in theCargo.toml
,and after the new release, cargo automatically started using
0.4.1
as they are assumed to be compatible.Generally it seems unexpected to update MSRV (Minimal Supported Rust Version) in the patch versions, so it would be nice to clarify your policy on the compiler versions support.
Usual options are either to test specific Rust version in the CI workflow or to put a note in the README file that this project is compatible only with the latest stable Rust version.
EDIT: this discussion might be interesting too.
The text was updated successfully, but these errors were encountered: