For providing better long-term support and communication, OpenSwoole Group has investigated the two most common versioning schemes—SemVer (semantic versioning) and CalVer (calendar versioning). OpenSwoole will use a kind of CalVer and respect SemVer.
The rules of strict SemVer:
Given a version number MAJOR.MINOR.PATCH, increment the:
SemVer is the most widely-used versioning scheme, so developers know they can upgrade minor versions without breaking anything. There are incompatible API changes when upgrading the MAJOR version.
Calendar Versioning gained more and more adoption during the past few years.
"CalVer is a versioning convention based on your project's release calendar, instead of arbitrary numbers." - Calver.org
You can quickly spot if the library or software is outdated and how old the software version is from the version number. You can also see the release time of future versions.
"C language" uses Calendar Versioning such as C89, C99, C11. The well knows "Microsoft Windows" also uses Calendar Versioning systems, such as 95, 98, 2000. The other software using Calendar Versioning:
Ubuntu is one of the most popular Linux OS, and uses a three-segment CalVer scheme, with a short year and zero-padded month. It has done so from the very start, in October 2004, making 4.10 the first general release of Ubuntu.
Unity is one of the most popular cross-platform game engines and uses CalVer with the format YYYY.MINOR.MICRO
.
PyCharm is a commercial Python IDE which is created by software company JetBrains and uses CalVer. The version looks like Version: 2022.2.2
.
And many more.
After consulting from OpenSwoole community at the Slack channel and Discord channel, we have decided to move to a versioning system mixed with Calendar Versioning and SemVer:
⚡️ To provide better version support, openswoole will use a kind of CalVer and respect SemVer in the next release. The major version uses year numbers and we will release the major version including break changes once per year. The next version number will be v22.0.0 (2022 Edinburgh). pic.twitter.com/Mq0XuXIsoY
— Openswoole (@openswoole) August 29, 2022
The next major release version will be 22.0.0. We will post a series of articles introducing new features, changes and use cases of OpenSwoole v22 during the next month. Stay tuned.
Join 4,000+ others and never miss out on new tips, tutorials, and more.