Reintroduction of semantic versioning
Begin 2022 we started with a short cycle CI/CD pipeline with YEAR.WEEK based versioning. This was not a success. We have therefore stopped this versioning scheme and have switched back to semantic versioning.
What is semantic versioning?
With semantic versioning, version numbers typically use the MAJOR.MINOR.PATCH format. For example, the string "3.2.5" holds a semantic version with "3" being the major version number, and "2" and "5" the minor and patch version numbers. If the major major version is incremented, it usually means that there was a fundamental change in the software and that upgrading requires special attention. A change to the minor version means that features were added, but in a compatible manner so that upgrading can be done easily. A change in the patch version typically means that no functional changes were made, but that one or more bugs were solved.
Feedback from users
We have used the semantic version format for a long time, until MailerQ 5.13.4 that was brought out in the end of 2021. We then switched to date based version numbers using the YEAR.WEEK format. In this format version numbers used the format "23.21", which stood for "week 21 of year 2023". Although these date based versions worked well in our automated release process, we learned from users that the old versioning scheme worked better for them. We have thefore decided to move back to the old system.
The new version numbers
To ensure that new version numbers only go up we use a slightly different versioning scheme than before. The next MailerQ release will have version "5.14.0" to indicate that it comes after "5.13.4". However, the software package is published in our software repository with a "1:" prefix as version "1:5.14.0". This allows automatic upgrade tools to recognize that the 5.14.0 version is newer than the 23.17.1 version that we brought out in between 5.13.4 and 5.14.0.