Re:macOS Containers v0.0.1
by crabbone on Tuesday September 26, 2023 @08:31AM
(#37658320)
Unrelated to containers themselves: how do you make a patch when no version was released? I mean, people call this "semantic" versioning, but then spit in the face of those semantics...
[ Parent
| on HN ]
Re:macOS Containers v0.0.1
by slonopotamus on Tuesday September 26, 2023 @08:39AM
(#37658421)
Original author here. I wanted to clearly indicate early-prealpha-unstable-not-for-production-yet state of this software. Using "1.0.0" would give false expectations.
This was more of a stab at "semantic" part of the semantic versioning (which similar to <div> in semantic Web... found its own semantics that don't follow from its definitions). You are definitely not the only one using it like this.
I believe this is the problem with the format of semantic version which seem to assume that releases only happen to software ready to be... released :)
My preferred course of action in such situations is not specify a version at all.
Re:macOS Containers v0.0.1
by slonopotamus on Tuesday September 26, 2023 @02:16PM
(#37663553)
> My preferred course of action in such situations is not specify a version at all.
This doesn't work because, well, I do make releases and they need some numbers)
That's a contradiction. You cannot release a software that you didn't release. :)
If you release it, it has to start with version one. Zero is for non-released versions.
Re:macOS Containers v0.0.1
by slonopotamus on Wednesday September 27, 2023 @10:00AM
(#37674777)
Okay, call it "labeled code snapshots")
Re:macOS Containers v0.0.1
by servercobra on Tuesday September 26, 2023 @08:36AM
(#37658384)
[delayed]
Version 0?
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.
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.
Re:macOS Containers v0.0.1
by slonopotamus on Wednesday September 27, 2023 @03:46AM
(#37671439)
Haha, what a mess)