-
-
Notifications
You must be signed in to change notification settings - Fork 15
Respect SemVer as Cargo understands it #18
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
Comments
Ummm... okay... Can you please say what the specific incompatibility is? If you're going to say that I broke semver then please tell me what I did. Because it's not obvious to me. You linked to issues, but none of them obviously point to |
So, I'd like to apologize for this. I was juggling a lot of details at once so I wasn't as thorough with this as I should've been. I was able to solve the type mismatch users started reporting by pinning After giving it yet more inspection, it turns out that I... will be frank and say I didn't know this was an issue that could even happen. A crate relying upon features that it doesn't have enabled because a downstream dependency happens to enable them is scary. I'm going to open an issue for Notify, since it's really their fault. I'm very sorry for the inconvenience this caused. |
Ah yeah, that makes sense. The same thing happened when I put out a new release of
|
Howdy,
A project I maintain uses
notify
v4.0, which depends upon bothwinapi
v0.3 and (through a dependency)winapi-util
v0.1. You can see a rough graph here:During dependency resolution, Cargo "uses the convention that only changes in the left-most non-zero component are considered incompatible" as defined here. So since this crate is in
0.1.Z
, any change toZ
is considered compatible as long as the minor version remains1
.Despite this convention though, v0.1.7 and v0.1.8 were breaking because they altered compatibility. This violates Cargo's SemVer usage, which impacted our project. Based on some searching, I believe this also impacted
cargo-watch
. One must imagine it is similarly impacting every crate that usesnotify
v4.0, but I haven't checked.While you're very much allowed to do whatever you want pre-1.0.0, I would very much appreciate not having to catch changes like this. Please respect Semver as Cargo uses it.
The text was updated successfully, but these errors were encountered: