==========
== Lura ==
==========
Complaining website for complaining

Aesthetic Versioning

Table of Contents

Aesthetic Versioning is a new type of software versioning scheme that stops pretending version numbers are meaningful, and just lets you put numbers you like instead.

Overview

In Aesthetic Versioning, the version number is made up of three numbers:

  • The first number is a number you like, such as 7, 25, or 39.
  • The second number changes whenever you feel like the third number is too big.
  • The third number increases randomly.

Projects using Aesthetic Versioning should not have any of those annoying suffixes (like post, dev, or rc) added to the version number, as they don’t convey any information that the third number doesn’t.

A Comparison

Here’s a quick table comparing some common versioning schemes to Aesthetic Versioning:

# Semantic Versioning Zero Versioning Calendar Versioning Aesthetic Versioning
Major number Changes randomly Always zero Changes every year Never changes!
Minor number Changes randomly more often Changes randomly more often Changes randomly more often Changes randomly
Patch version Might as well be useless Might as well be useless Might as well be useless Changes randomly

Why?

Trolling people who don’t set their requirements version to =version.

Why, but for real?

Version numbers don’t mean anything. Upgrading one of your dependency’s versions has about a 20% chance of causing everything to explode no matter what versioning scheme the dependency uses. The chance increases significantly when upgrading between minor versions, where some people evidently have a different definition of “breaking change” to you.

“Breaking changes” as a concept is nebulous and undefined anyway; every versioning scheme has its own escape hatch for when you want to break things and still stay within the rules-based order of your self-imposed conditions:

  • SemVer: Reclassify it as a bug. Or just bump your major version number every six months, thus removing any hope of being able to update.
  • CalVer: Just wait a year and you can annoy everyone all over again.
  • ZeroVer: Just break it!

Aesthetic Versioning just makes it explicit that you don’t do any hand-wringing about removing or rewriting terrible APIs.

Is this a joke?

No, this is serious. This isn’t a parody, or a satire.