Why Would You Want An Always-Increasing Version Number?

This is a follow up to my last post about version numbers.

There’s a very practical reason for having a monotonically increasing Version Number as a function of time: upgrading installers. If your daily build produces an executable including an upgrading installer, then you definitely want an increasing build number for every daily build. The example in the last post did not have this requirement, but that doesn’t negate that it’s a very good, practical reason to add complexity to the build process.

The benefit you get from an upgrading installer is that when installing the latest and greatest daily build, you don’t have to uninstall the last version. That’s about the extent of my installer knowledge (and the wording I used is probably grossly inaccurate, but who’s going to correct me?).

This requirement is probably only valid if you release an installer. I don’t have much experience with web apps, but my guess is that they are updated in a far less formal manner; the requirement for version numbers for daily builds is not as important. For component developers, released components should definitely have version numbers – that’s just about the only way to determine which one you have. But internal daily builds for components? I’m not convinced you need them.

Now playing: Headstones – Whatchagonnado