Hacker News new | ask | show | jobs
by Amelorate 2686 days ago
Rust sort of already has this, though implemented in a worse way. They use 0.[major/minor].[minor/patch]. When the library author wants to indicate that their library is stable, they go to 1.0.0 and promise that they'll never make a breaking change.

The problem with that approach is that you never know if a change is major or minor, since many projects use the 0.A.B differently. Even if projects were standardized, you're missing some information compated to A.B.C or A.B.C.D.

1 comments

This is an additional thing I'd really like to gain clarity on in the spec itself. Given that ranges have no definition currently....

Oh, also

> they go to 1.0.0 and promise that they'll never make a breaking change.

That's not what 1.0 means; 2.0 can be produced with breaking changes.

I think GP means that as a cultural thing, the Rust/Cargo ecosystem has a strong aversion to breaking changes, and as a result tends not to do anything that would require a bump to 2.0.