The SemVer Trap

I think semantic versioning is used by far too many projects simply because it is an inoffensive default. It has mechanical sympathy with a variety of toolchains (lookin at you go modules), and the things that it is supposed to help with sound nice in theory. As a result, and because considering other options would take time and effort which is already in short supply when starting a new project, it gets picked even when it’s a terrible fit.

I think more people should consider the tenets of samver. I have recently been giving it a shot. My personal projects do not generally have hordes of users who are in need of a predictable mechanical upgrade strategy. Having some stable release tag is convenient for pipelines but the concepts semver is dealing with are pretty much meaningless for projects like my blog (breaking change: I fixed a typo).

My main gripe with samver is simply that it is ugly. It’s too long. So I made a nice little script to make cute samver-style versions. Instead of timestamps, you get dates with an incrementing count if you release multiple times per day. It’s been a pleasure to use thus far, and I encourage anybody who is interested to steal it.


Blog

Home