3 ms·
It should be noted that Cargo (the Rust package manager) has slightly stricter requirements here: https://doc.rust-lang.org/cargo/reference/semver.html https://
by ChrisSD 5y ago
It should be noted that Cargo (the Rust package manager) has slightly stricter requirements here: https://doc.rust-lang.org/cargo/reference/semver.html https://doc.rust-lang.org/cargo/reference/semver.html
> Initial development releases starting with "0.y.z" can treat changes in "y" as a major release, and "z" as a minor release. "0.0.z" releases are always major changes. This is because Cargo uses the convention that only changes in the left-most non-zero component are considered incompatible.
This makes it more useful for OSS that never seem to reach 1.0.
- ReleaseCandidat 5y agoBut `can treat` is not a requirement but a suggestion. This is exactly the same as semver's 'all bets are off'.
- pornel 5y agoIn Cargo it's not merely a suggestion, but actual implemented behavior. Cargo takes the first non-zero number as the major incompatible version, and this influences dependency resolution.