We're Growing Our Team!Apply Today

Versioning by Date, Timestamps, and other Datetimes

Calendar Versioning

Est Reading Time: 1 min

Devon Bleibtrey

Jul 16, 2020

We’re big advocates of semantic versioning; we believe using semver provides the right mix of readability, scalability, and ease of use. There are other versioning options out there though, and I thought it would be worthwhile to discuss calendar-based versioning a bit.

Calendar versioning, aka calver, as the name implies, is a versioning release schema based on some form of datetime. Some examples of this form of versioning are:

  • YYYY.Minor.Micro
  • YYYY.Minor
  • YYYY-MM-DDThh:mm:ss,ns

Using calendar versioning tends to lend itself to waterfall methodologies or strict release cycles where releases are cut on a specific date, and individuals or teams are not empowered to make modifications in real-time. Many organizations use calendar versioning for customer relations while maintaining a semantic version under the hood to enable rapid iterations internally and abstracting end-users from what can appear as untethered numbers.

Taking a dual approach has some additional overhead but can ease communication with customers, align releases with longer deployment cycles, and enable teams to push updates in real-time to non-production environments and still know which versions they’re operating with. If you only use a calendar versioning approach, you’ll probably run into scalability issues where multiple releases are created in a single day or potentially even simultaneously, resulting in the need to expand your versioning schema.

If you’d like additional information on calendar versioning or other schemas you can utilize, feel free to reach out to us :).

Automatic Release Notes. Zero Effort.

Sign up today with instant, no-hassle setup. No credit card required!

Sign Up Now