My small brain can't understand this. Why developers shipping the version of their software starting with 0.0.0 whywouldnt you start with 1,2,3 and so on. There are a lot of numbers in existence

Reply to this note

Please Login to reply.

Discussion

Semantic versioning. Helps keep track of major + minor releases and bug fixes

Yeah but it can be really much more simplified.

As nabismo said, there’s a standard called ā€œSemantic Versioningā€ that defines what each part means and when they should change based on what’s included in each release.

Oh! So its a standard! Okay okay!

The idea is that the x.0.0 is the start of a new, backward-incompatible feature-/function-set, while the numbers after '.' have less impact.

Some schemes have this system with a possible '-2', to indicate the 2nd revision for e.g. packaging the same version of the software. It has become fairly standard although it differs how strict the meaning of the positions is respected.

Yee. It’s described well here: https://semver.org/

You can take it a step further by using what are called ā€œconventional commitsā€ where your git commit message contains the scope of the changed code. Then a GitHub Action can automatically make the version changes that reflect your code changes.

My Nostr relay implementation, Memorelay, works this way.

I don't know anything, but from what I have observed, beta/test releases are 0.x.x while production releases start at 1.x.x

The standard! Makes sense šŸ˜…

Exactly. But personally I'd start with 0.0.1 rather than 0.0.0 which just sounds like it's nothing. 🤷

In computers we always start with 0