5 ms·
So I assume 1.x.x won't break features from 1.0? Is Rust using proper semantic versioning?
by worklogin 11y ago
So I assume 1.x.x won't break features from 1.0? Is Rust using proper semantic versioning?
- barosl 11y agoBasically, no, it won't. Rust still reserves some rights to break the existing code if the found issue is considered to be "severe" (e.g. type system soundness issues), but those cases should be extremely low. In most cases workarounds will be introduced rather than breaking changes. More details at https://github.com/rust-lang/rfcs/blob/master/text/1122-language-semver.md https://github.com/rust-lang/rfcs/blob/master/text/1122-lang... Also note that the Rust team tests all the crates before making a (minor) breaking change to see the impact of the breakage to the ecosystem. (possibly "popular crates only", when the ecosystem grows huge in the future)
- MetaCosm 11y agoRust core team has taken the approach of breakage without major version increments being acceptable as long as they deem the breakage "minor" (based on crates.io and companies they have close relationships to).
- kibwen 11y agoQualifying with "close relationships to" is misleading, as every company using Rust is welcome to sign up to receive new versions of the compiler to run against their codebases to test for regressions. See the email address in my profile if you'd like to add your company to our list!
- MetaCosm 11y agoOK -- replace "close relationships to" to "have emailed kibwen at his gmail address to get on a list". If I could go back and edit I would -- but it has been too long.
- pcwalton 11y agoI don't want to relitigate this issue again, but that's not an accurate description of the policy. If you tell us that one of the changes in a point release broke your code, then appropriate action will be taken, regardless of who you are. No organization is given special privileges regarding breaking changes based on "close relationships" to the developers. It is true that Rust, like all actively-maintained languages, can make changes that are theoretically breaking if all evidence strongly suggests that no code is actually going to break.