Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is 0.0.1 valid semver?

A colleague got into a casual argument about the first version of a module. We're wondering if 0.0.1 should be the initial release. I think 0.1.0 is the proper first version, as 0.0.1 implies an increment of a patch, and a patch implies a prior release. So from my understanding, there would have to be a 0.0.0.

I skimmed http://semver.org docs, which do say that 0.1.0 is usually the initial release, but I didn't see any rule against having a minor number set to 0 when the major version is also 0.

Does anyone know if 0.1.0 being the lowest possible version is a formal rule, or just a convention?

like image 451
M Miller Avatar asked Jul 07 '16 18:07

M Miller


People also ask

Does semantic versioning start 0 or 1?

But it turns out that the semantic versioning spec does recommend to start initial development at 0.1. 0.

What does Release 1.0 mean?

As a side note, a 1.0 version does indeed mean the software is very fresh. It's new, and people who have experience in software realize that. All software has bugs.

What is SemVer in NPM?

SemVer stands for Semantic Versioning. NPM stands for Node Package Manager. Because there can be different versions of a module that is installable, and the need to install various versions can differ, there exists what we call SemVer. NPM is used to install packages or modules in NodeJS.

What means SemVer?

SemVer is a popular versioning scheme that is used by a vast amount of open-source projects to communicate the changes included in a version release. As developers, it's important for us to understand how to use SemVer in our own projects and also how to interpret a specific version change.


2 Answers

The semver 2.0.0 specification doesn't preclude it. The FAQ does recommend starting at 0.1.0 though.

How should I deal with revisions in the 0.y.z initial development phase?

The simplest thing to do is start your initial development release at 0.1.0 and then increment the minor version for each subsequent release.

like image 175
A. Garcia-Raboso Avatar answered Sep 20 '22 14:09

A. Garcia-Raboso


There are no rules here and conventions are loose.

When the initial major number is zero, all that is guaranteed is that higher numbers come after lower ones. All the semantic versioning guarantees about "this is a bug fix" or "old functionality still works" only apply to version one or later.

While there is a loose convention of 0.1.0 being the lowest version number, there are those that would argue it the first version one shares with others. The specification of semantic versioning simply sees the leading zero and washes its hands.

like image 35
Charles Merriam Avatar answered Sep 21 '22 14:09

Charles Merriam