Verbose Guacamole Version Numbers Explained

October 23, 2021 by Benjamin Hollon

Most software uses Semantic Versioning, or SemVer, to create versions for its projects that reflect how many versions there have been in the past. Some example SemVer numbers are v0.3.5, v1.2.0, and v2.0.1. Verbose Guacamole, on the other hand, uses Calendar Versioning—CalVer for short—to name its versions. The first version, for example, was v21.10 (technically v21.10.0). What does this mean?

What is CalVer

Take another look at that version number. If you look closely, you'll realize that it's really a date: October 2021, the month the first Verbose Guacamole version came out.

Calendar Versioning means that each version is really the date it came out. While this takes different forms (unlike the rigorously defined SemVer), CalVer is extremely intuitive once explained.

Why CalVer

If most software uses SemVer, why did I decide to use Calendar Versioning?

In my mind, the most important reason is that it's a commitment. On the one hand, I am committing to avoid swamping you with multiple feature updates in a month. On the other, I'm committing to provide regular updates (though they might not be every month) because if I drop the project, that will be very evident in the version.

I mentioned that I'll only give one "feature update" per month; what did I mean by that?

Feature updates are ones that add new functionality or change the user experience. The alternative would be bug fixes which bring the reality of the program up to spec with the expectation users have.

In other words, though there may be mid-month updates to fix bugs, updating the documentation should not be necessary because there will be no new features.

Update Schedule

One unique idea that Calendar Versioning lets me play out is that of providing updates on a schedule based on writing events during the year. In this case, I've decided to base the update schedule around NaNoWriMo, or National Novel Writing Month, which I participate in each November.

In it, writers are challenged to write 50k words in only 30 days—no simple feat!

Here's how that schedule will likely play out:

Conclusion

I hope that was illuminating. I'm personally very excited to try a new method of releasing software, and I hope it'll work well for us. Here's to a successful project!


This article is licensed under CC BY-NC 4.0.