A few days ago, I wrote about how HubSpot has changed its API versioning. Instead of a rather uninformative number, they now use the date and month.
I think this is great. More companies should prioritize readability and clarity when versioning their applications. In my view, there is actually a compelling reason for this: for several months now, I have been seeing an increasing number of reports in the media about newly discovered security vulnerabilities.
Sometimes it is Linux and its kernel that are affected; other times, it is the Microsoft Authenticator, or perhaps a different product entirely. It is striking just how frequently new security vulnerabilities are reported – partly because the subject is of such importance, and partly, of course, because it garners attention.
Ultimately, the long-awaited patch to close the security gap eventually arrives. Naturally, in one instance or another, one might wish to compare the version numbers before and after the patch. Or perhaps one wants to determine whether they are running an older version of a piece of software and are in urgent need of patching. However, with version numbers like 8.2609.2345, doing so is not quite so simple.
I personally prefer it when the version number either incorporates a date reference directly or when the date is provided as additional information. An example would be “8.2609.2345 (2026-05-18, 00).”
If multiple patches are released on the same day which has happened before one could simply increment the number at the end; for instance, “8.2609.2345 (2026-05-18, 01).”
In any case, the version number should include some form of time reference. I find this makes it much more intuitive for humans to understand. For version control systems, however, a numerical format like “8.2609.2345” is likely more practical.
Charming everyday terms, much like those used for Android versions in years gone by, are nice, but they convey very little substantive information. Who remembers today whether Android Oreo came before or after Android Marshmallow? These make for excellent product marketing names, but they are impractical when it comes to quickly identifying and categorizing a specific version.
