3 ms·
0.x does not mean "unstable" in semantic versioning. If you don't have any stable interface, not using a version would maybe semantic. With semantic versioning
by jkrems 13y ago
0.x does not mean "unstable" in semantic versioning. If you don't have any stable interface, not using a version would maybe semantic. With semantic versioning they should rather be at Scala 11.x or 23.x (each breaking change bumps the major).
- nonchalance 13y agohttp://semver.org/ http://semver.org/ > Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable. major version 0 was specifically designed for this use case
- ssmoot 13y agoThe public API at the source level is very stable. I mean, my major touchstone is Ruby-land, and over there there's nothing like it. Even point releases of libraries or the language itself can and will routinely break your code. I've never seen that happen with Scala. Not saying it definitively hasn't, but I certainly haven't experienced it, and that's not because I'm using less of Scala than I did of Ruby... It feels like shifting the goal posts to say that binary compatibility should be a bigger factor in versioning (and it's already represented in the minor version) when you've already arguably got better stability guarantees than many of it's contemporaries. Unless we really are limiting the conversation to Java. But how do you compete with "we never break compatibility at the cost of never evolving"?