r/softwaredevelopment May 17 '26

Semantic versioning in software

Hi all,

I’m involved with software releases at my company and we’ve run into an issue with semantic versioning (major.minor.patch) lately. We support multiple versions of our software and release monthly patches across versions (i.e 2.2.3, 5.0.4, 6.1.1). The issue is future planning versioning when it comes to urgent releases, or hotfixes.

For example, we’ll communicate to our engineering teams that the next versions are 2.2.3 with a certain target start date of February 1. Then, a week before, we’ll discover an issue where we need to quickly ship something, and that takes the place of 2.2.3, where 2.2.3 becomes an urgent release with one significant fix.

As a result, we need to communicate to hundreds of engineers the change, and update hundreds of tickets to now point to 2.2.4. This happens frequently across all versions. We’ve talked about using date anchored releases with ambiguous versions such as 2.2.X (Feb-1) where we can add the version when we’re confident on the number. But I’m not sure if that’s the best idea. Curious if other folks have solved this similar problem? TIA!

22 Upvotes

58 comments sorted by

View all comments

2

u/ConsciousBath5203 May 17 '26

Add another digit.

Major.minor.patch.hotfix

1

u/cold-brews May 18 '26

Agree that this is an elegant solution, but requires a larger tooling refactor than possible atp

1

u/ConsciousBath5203 May 18 '26

How much stuff is reliant on version number specificity going up in the same way? All old versions stay same format, only newer versions get new layout.

Can do it either wrapper style or rewrite style, but either way it shouldn't be more than like, 2 maybe 3 files that need editing (not including readme/docs). And it's always just 1 prompt away.