DEV Community

Discussion on: When is it right to change the version number of a project?

Collapse
belinde profile image
Franco Traversaro

The first number, in my opinion, changes when a backward incompatible change happens. The second, when you introduce new features. The third, when you're just fixing a bug.

Collapse
ghost profile image
Ghost Author

That's a really good way of thinking about it, I feel. I might give that a test run for a while, and see see how it goes.

Collapse
groogs profile image
Greg MacLellan

This is a pretty non-technical-user-friendly scheme. The first number may also change for marketing reasons, eg: make a big splash about a really major new feature (or often, a new feature that replaces an older feature).

I also like to have a 4th number on the end which is just a build number, incremented every build by your CI system. You might end up with versions looking like:

1.0.0.142
1.0.1.156
1.1.0.205
1.2.0.432
1.1.1.446
1.2.1.447

Along the way there were builds like 1.0.0.138, 1.0.0.139, 1.0.0.140 but those were not final, and never saw the light of day outside dev/QA.

Using that it's trivially easy to see the difference between 1.0.0.140 (which had that one tiny mistake) and the actual release version of 1.0.0.141. There's literally never a conversation that involves a question like "is this the actual 1.0.0??"