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 … … 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) …
Actual Version Number | Hypothetical Version Number if Semantic Versioning Scheme Used From the Beginning | Approximate Date of Release |
---|---|---|
1.00.00 | 0.1.0 | |
1.10.00 | 1.0.0 | |
1.20.00 | 2.0.0 | September 2003 |
1.30.00 | 3.0.0 | May 2004 |
1.31.00 | 3.1.0 | |
1.32.00 | 3.2.0 | |
1.33.00 | 3.3.0 | |
2.00.00 | 4.0.0 | October 2006 |
2.01.00 | 4.1.0 | |
2.02.00 | 4.2.0 | |
2.10.00 | 5.0.0 | November 2007 |
2.11.00 | 5.1.0 | |
2.20.00 | 6.0.0 | April 2009 |
2.21.00 | 6.1.0 | |
2.30.00 | 7.0.0 | October 2010 |
2.31.00 | 7.1.0 | |
2.32.00 | 7.2.0 | |
2.40.00 | 8.0.0 | January 2012 |
2.41.00 | 8.1.0 | |
2.50.00 | 9.0.0 | November 2013 |
2.51.00 | 9.1.0 | |
3.00.00 | 10.0.0 | December 2015 |
3.10.00 | 11.0.0 | September 2017 |
3.20.00 | 12.0.0 | June 2019 |
4.00.00 | 13.0.0 | September 2021 |
4.01.00 | 13.1.0 | April 2022 |
5.00.00 | 14.0.0 | March 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.