Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Gravitating towards Calendar Versioning 1This is not a technical deep-dive on choosing a versioning scheme

Reading time: 16 minutes.

After almost a decade of being a software develoeper - I’ve noticed that my personal preference towards versioning in software gravitates towards Calendric Versioning2Technically specified CalVer, semantically meaningful SemVer, and on-the-nose PrideVer 🤣. Although there are multitudes of reasonings for that, I’d like to observe a few worth noting for my own posterity.

Reason 1: Philosophical

Anybody who’s known me throughout my formative years3Higher secondary education through college. Or in other words, throughout my twenties would easily point to the fact that I’ve been exploring too many (schools of) philosophies too early4Based on who you talk to, I suppose in life. Maybe that’s why I’m naturally leaning towards the only thing that matters for “comparing” 5A better word would be observing the change of entropy the progress of anything that’s describable by human means.

And this reasoning permeats all the other reasoning because as you’re probably aware, everything eventually leads back to philosophy6For those who don’t know about XKCD: 903 (Read the caption on image hover) and if you wanna visualize this, check this one out!

Reason 2: Need for pause

I’m sure I’ll be writing more about my spiritual standpoint in life - both personal and professsional, but for now I’ll limit it to the entity - time.

We don’t really have control over time7To be frank, I’m not even sure we understand time clearly. The fact that most people can’t even comprehend that spacetime is a continuum. That it’s not two words as space and time 🤷. It proceeds forwards.

And unfortunately, we’ve lost track of perceiving time. To be precise - perceiving of worthy time8Kairos vs Chronos. Why do we rush everything these days? It makes no sense - given that the more we know, the more we should slow down to process the surplus of the information9at least so far as to filter the noise from the signal. Here’s how I believe we should slow down. We’ve somehow narrowed down on this globally recognized and acknowledge Gregorian calendar. And here’s where my intuition ripens - We’ve spent a good number of centuries training ourselves subconsciously to follow and create patterns acknowledging this cycle. So why not use it so we simplify and offload the cognitive overload of “progressing” to the existing cycles and patterns?

Modern software engineering has come a long way. (Especially given that I’m writing this in 2026) And agentic engineering has kickstarted a new era of “superfast” development. We’ve already been plagued with the so-called agile engineering, and being pushed constantly to churn out feature after feature, fix after fix, and versions after versions. It’s not sustainable. Oftentimes we software engineers are expected to churn too many items in a typical two-week sprint. Why build on a two week cycle in the first place? Especially in this agentic era? So sticking to the calendar sounds the perfect approach to versioning to me. There’s much more to life than incrementing multiple numbers per day.

As Mario Zechner (the creator of Pi coding agent) would like to reiterate, Let’s slow the fuck down. Let’s just stick to the basic years of “cyclic” memory of our biological clocks. Let’s keep it simple. We live by the day, month, and year. So let’s synchronize our produce10Also produce as in agriculture, which has always been synchronized to seasonal cycles until recent advancements of gene editing! to the calendar.

Antithesis: Critical software

Here’s a reason why any of the above shouldn’t matter at all: For any critical piece of software or library with frequent changes or where you have to maintain multiple versions and backwards compatibility11Ever heard of the neat hyrum’s law?.

Semantic version serves better for those situations. It’s much more intuitive to understand breaking changes, compatibility concerns, security implications in semantic versions over other versioning schemes.








Last updated: 2026-06-02