-
Notifications
You must be signed in to change notification settings - Fork 161
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
New release (v1.1.0) changes MSRV to 1.60 #300
Comments
Thanks for reporting this and apologies that it caused some issues in your CI. There are differing opinions on whether MSRV bumps are breaking changes and a lot of crates have different approaches. From briefly reading through some discussions, it seems like many are of the opinion that MSRV bumps don't necessitate a major version bump, with a fair number of people settling that this can be deserving of a minor version bump. Some of the things I was looking at include:
which i just picked up from a quick google search. I don't think we want to be so strict as to pin our MSRV for an entire major version but the very least we can do is formalize what our policy is regarding MSRV and document it clearly in the create README/documentation. Many crates have a policy that says any change that supports the last If there are any specific things that block you from upgrading the rust version used in CI or any insight in to your cadence of rust version upgrades, that'd be insightful to help us come up with a balanced policy |
Thank you for the thoughtful answer! I can always just put =1.0.0 if ever I can't change the compiler version after all! |
It's for sure a tricky issue. I've had a look at some other crates, and there isn't much consensus in the ecosystem about what the "standard MSRV" should be. It's also complicated by the fact that it doesn't really matter what "most" crates do, it only matters what "the most aggressive crate in your dep graph" does. Looks like that was us this time 😅 So I'd be curious to know "how broken" your CI was. If the fix was as simple as bumping the number in We're currently reviewing what our policy should be, so any insight from users is much appreciated 🙏 But I agree, whatever we agree on, we should put it in the readme so people don't have to hunt through the code to find the version they need to get it to build |
Honestly I've had semi regular breakage in regards to MSRV, sometimes it's one crate sometimes another 😆 In my case I have a docker image built with a specific version of the compiler, and that image is used in CI, so upgrading version would mean upgrading the image, and that upgrades the compiler across multiple projects. The compiler isn't pinned to a specific version for stability, but rather to make the CI faster, so upgrading isn't a blocking issue, but as you said it's a chore more than just Personally I think all library crates should document their policy, but yeah the ecosystem isn't clear... Even cargo-semver-checks hasn't defined yet what MSRV bump should entail... |
We try to implement lints only after community consensus has been reached 😅 And indeed, MSRV hasn't achieved a clear consensus, though the majority seems to be on the "not major" side as far as I can tell. Btw, if the maintainers of this repo are interested in adopting |
I'm going to close this issue out as there aren't actionable items for us. If you run in to any problems in the future please open a new issue |
The new minor release changes the MSRV to 1.60 due to the use of
unarray
which uses MaybeUninit::assume_init_drop, stabilized on 1.60.I know it might not make sense to support a compiler "that" old, but ultimately this broke my ci :(
I tried searching in the repo other than that issue and it doesn't seem explicit if the MSRV bump is supposed to be breaking or not...
Thank you for your time!
The text was updated successfully, but these errors were encountered: