And if it's the best practice that first digit should be "0" why not apply the same logic and also make the 2nd digit "0"? And 3rd?
What INFORMATION does the 1st digit being "0" convey, if it is always 0?
And if it's the best practice that first digit should be "0" why not apply the same logic and also make the 2nd digit "0"? And 3rd?
What INFORMATION does the 1st digit being "0" convey, if it is always 0?
Based on the observation that many software maintainers do not like to apply semantic versioning as it was meant to be used. Meaning as long as the major version (x.0.0) doesn't change you give your users certain guarantees regarding the stability of interfaces etc.
But what does it mean if you always stay on zero? Do you give those guarantees or not? Traditionally it was the latter as zero releases were still considered prototypes.
There’s a special rule in SemVer that states when the leading major version is 0, every minor version bump is considered breaking.
https://semver.org/#spec-item-4
NPM handles 0.x.y versions of packages differently from 1+.x.y
https://github.com/npm/node-semver#caret-ranges-123-025-004
Several major packages are still on 0.x.y and (ab)use this feature when updating without "committing" to a major version.