Ask Reuben

Semantic Versioning

Why is this new Genero version, version 5.00? 

What is Semantic Versioning?

With this new release, a decision has been made to move to a version numbering scheme that is more in line with the principles of Semantic Versioning.  Hence the release of Genero in early 2024 will be version 5.00, it will not be version 4.10.

In the past with our X.YY.ZZ numbering scheme, a change in X was used to indicate a significant change.  So you had …

  • 1.00 – Initial Genero release
  • 2.00 – Shared Libraries – no need to build a runner anymore
  • 3.00 – Dynamic Dialogs – a lot of internal changes in the GUI code
  • 4.00 – Universal Rendering – move from native rendering to universal rendering

… and without ever saying it out too loud, you had to do a little more QA and analysis when moving to these X.00 versions than you would as you moved  from a X.00 version to an X.10 version, and from a X.10 version to an X.20 version etc.

This release in early 2024 will be 5.00 and not 4.10 which might have been expected under our previous strategy.  Similarly the next major release in approximately 2 years time is expected to be 6.00 and not 4.20.  Releases that would previously increment YY by 10 should now increment XX by 1.

This change will also make it easier to communicate what versions are covered by our “current plus two previous” supported version strategy.  At the moment with 4.01 the current version, 3.10 and 3.21 are also supported.  Out of support are 3.00 and any 2.YY and 1.YY version, but in order to remember that you have to know what versions came before the current version.  With Semantic Versioning, once we hit version 6, then it will be easy to determine that versions 4 and 5 are those that are supported, once we hit version 7.00 then versions 5 and 6  are supported.  In the transition where version 5.00 is the latest version, then version 4.01 and 3.21 are what is supported.

Out of interest I put this table together to illustrate what version numbers might have been if we had adopted Semantic Versioning from day 1 of Genero (dates are approximate) …


Semantic Versioning Comparison
Actual Version NumberHypothetical Version Number if Semantic Versioning Scheme Used From the BeginningApproximate Date of Release
1.00.000.1.0
1.10.001.0.0
1.20.002.0.0September 2003
1.30.003.0.0May 2004
1.31.003.1.0
1.32.003.2.0
1.33.003.3.0
2.00.004.0.0October 2006
2.01.004.1.0
2.02.004.2.0
2.10.005.0.0November 2007
2.11.005.1.0
2.20.006.0.0April 2009
2.21.006.1.0
2.30.007.0.0October 2010
2.31.007.1.0
2.32.007.2.0
2.40.008.0.0January 2012
2.41.008.1.0
2.50.009.0.0November 2013
2.51.009.1.0
3.00.0010.0.0December 2015
3.10.0011.0.0September 2017
3.20.0012.0.0June 2019
4.00.0013.0.0September 2021
4.01.0013.1.0April 2022
5.00.0014.0.0March 2024

… deep down version 5.0.0 is our 14th major release!

So moral of the story, don’t be too alarmed and think that because the next major release after 4.01 is 5.00 and not 4.10 that there is some big changes that have gone into this release.