5 ms·
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
by crabbone 3y ago
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...
- timcobb 3y agoVersion 0?
- crabbone 3y agoI 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.
- crabbone 3y agoOh, it was easier than I thought: https://semver.org/#spec-item-2 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.
- slonopotamus 3y agoHaha, what a mess)
- joshgachnang 3y ago0.1.0 might make more sense, but still not completely (backwards compatible with what?). Then again, it doesn't really matter. It's not like someone's going to accidentally install 0.0.1 because of semantic versioning not being 100% correct.
- slonopotamus 3y agoOriginal author here. I wanted to clearly indicate early-prealpha-unstable-not-for-production-yet state of this software. Using "1.0.0" and even "1.0.0-alpha" would give false expectations about maturity of this project.
- crabbone 3y agoThis 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.
- slonopotamus 3y ago> 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)
- crabbone 3y agoThat'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.
- slonopotamus 3y agoOkay, let's call them "labeled code snapshots")