Doing versions numbers right SemVar

I had never thought much about it, but has. This is a way to think about creating version numbers of your projects. That is to give real meaning to 1.2.1 and there are some great ideas here all based about what is stable in the API set. For an Excel spreadsheet you can think about that as what variables you can reliable export from it, so some ideas:

  1. 0.*.* means that nothing is stable
  2. Version 1.* is the first time that the public API is available and it has to be stable.
  3. You use the minor version update live Version 1.2 to mean that you have added to the API set, but it still has the same old APIs in it. That is you are just adding features say to a model.
  4. You did a big update like to Version 2.0, if you add incompatible changes, that is you are making a breaking change.
  5. When you are doing testing, you can have Version 2.0-alpha for instance before you go stable.
  6. Finally, if you want to have build data, like a build number then follow it with a + like V1.0.0+

Finally, someone did a parse tree in Backus-Naur form for geeks which is nerdy but shows you how to parse it:

<semver> ::= <version> | <version> "-" <pre-release> | <version> "+" <build> | <version > "-" <pre-release> "+" <build>

<version> ::= <major> "." <minor> "." <patch>

Well you get the idea. Nicely thought out!

I’m Rich & Co.

Welcome to Tongfamily, our cozy corner of the internet dedicated to all things technology and interesting. Here, we invite you to join us on a journey of tips, tricks, and traps. Let’s get geeky!

Let’s connect