logoalt Hacker News

65yesterday at 2:56 AM2 repliesview on HN

I always found semantic versioning a little too verbose. Particularly when deciding when to release major versions. OSX was on version 10 for many years but of course released a new "major" version every year.

Semantic versioning is just something everyone does in software development, but is is really that necessary?


Replies

rswailyesterday at 11:23 AM

Semantic versioning is for APIs, not for functionality. So it's for developers consuming that API (whether a library, or a service).

For releases in production, use a calendar version. v2025-11-02 is a clear release tag. Add preciseness as required. There should be a SBOM/Manifest (Bill Of Materials) of the versioned major components and configuration for that overall release.

For users, it depends on the type of user and what they expect. Their focus is on functionality. So when there's a new feature, bump the number.

It's a bit like the car model. It can be random extension letters like "-X", or "6Si".

show 2 replies
necovekyesterday at 11:39 AM

Versioning is a tool to communicate changes and backwards compatibility to the users. SemVer makes sense in a lot of cases, but it neither covers everything (eg. compare with Debian/Ubuntu packaging versions), nor is it always needed (think of REST API versions which usually only go with major versions, and commonly multiple major versions from the same codebase).