Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Version 0?


Oh, it was easier than I thought: https://semver.org/#spec-item-2

    A normal version number MUST take the form X.Y.Z where X, Y, and Z are
    non-negative integers, and MUST NOT contain leading zeroes. X is the
    major version, Y is the minor version, and Z is the patch
    version. Each element MUST increase numerically. For instance: 1.9.0
    -> 1.10.0 -> 1.11.0.
So, no leading zeros, ta-da!

Oh, wait. The spec was written by some... big brain:

    Major version zero (0.y.z) is for initial development. Anything MAY
    change at any time. The public API SHOULD NOT be considered stable.
So... my reading of this "definition" is that there's really no need for three digits, if major is zero... Then why on earth would you have two digits? Also, if no pubic API at this point, then why have versions at all? I mean, you clearly shouldn't be specifying anything with zero major version as a dependency because it should be illegal to depend on a library w/o public API... Then, again, why have versions in this situation? And if the argument is that its for internal use, then why standardize it for external use?

Just two paragraphs below. How lovely.


Haha, what a mess)


I believe at least some semantic version parsers would not accept version zero. I'd need to find the definition though. I could be wrong of course.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: