4 ms·
To be clear, you're saying moving from 0.x.y to 0.(x+1).z is valid to be a breaking change, right? (For other readers, Rust/Cargo uses a---more useful---varian
by dbaupp 10y ago
To be clear, you're saying moving from 0.x.y to 0.(x+1).z is valid to be a breaking change, right?
(For other readers, Rust/Cargo uses a---more useful---variant of SemVer where an upgrade from one version to another from assumed to work if the most-significant non-zero numbers are identical, whereas SemVer says that any version number change pre-1.0 could be a breaking change, even 0.1.0 to 0.1.1.)
- steveklabnik 10y agoSemver says that for x.y.z, x == 0 means no guarantees about anything. Cargo currently treats x == 0 as the same as x == 1. I disagree that this is more useful, personally, for exactly this reason.
- dbaupp 10y agoHm, I'm interested to hear why you think 0.1.0 -> 0.1.1 being considered just as dangerous as 0.1.0 -> 0.2.0 is more useful than treating 0.1.0 -> 0.1.1 as "semver-safe" and having only 0.1.0 -> 0.2.0 be breaking.