4 ms·
Does vgo miss a nuance in the semantic versioning of 0.x.x branches in that any bump to minor or patch allows a breaking change? Specifically point 4 of the spe
by pests 8y ago
Does vgo miss a nuance in the semantic versioning of 0.x.x branches in that any bump to minor or patch allows a breaking change? Specifically point 4 of the spec. Some projects or libraries have a huge psychological barrier to releasing a 1.0.0. React comes to mind when they finally went from 0.14.x to 15.0.0.
---
4. Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.
https://semver.org/#spec-item-4 https://semver.org/#spec-item-4
- cube2222 8y agoNo, you're supposed to stop breaking when you're in 1.x.x
- fpoling 8y agoGo developers made a reasonable choice. Unstable API is just another way to say that there is no API. And with zero API any change is compatible and cannot break anything. So there is no need for v0.
- cesarb 8y agoIf there is no API, how can the library be used? Every function a library exposes is part of the library's API, so for a library to have no API, it cannot expose any function.
- deleted 8y ago[deleted]
- TheDong 8y ago> Unstable API is just another way to say that there is no API No, it doesn't mean there is no API, it means there is no compatibility promise; it means there is an API per version, and the relationship between them i s not known. > And with zero API any change is compatible and cannot break anything That would be true, but this isn't "zero API", it's "zero promise of API compatibility" That makes your statement "With zero API compatibility any change is compatible"... That's very obviously wrong. Please don't jump through these bizarre logic hoops to try and justify what go does here.
- throwaway34241 8y agoIf I remember right, in vgo v0.x is supported and breaking changes are allowed during that time, and v0 can be graduated to v1 without an import path change. So that seems to be in agreement with the semver spec.