There are many different version schemes, and it seems like every major software company uses a different scheme, but I would like to know which scheme is best for mISV.
Also, if you can, I would like you to write which scheme do you use in your company, pros and cons of such scheme, and why you have chosen that scheme.
Related Questions
Deciding on version numbers
How to do version numbers?
How do you know what version number to use?
What is your preferred style of product version number and why? (this answers my second question)
Versioning Style Guide
Semantic Versioning (this is probably the best versioning scheme for components, not sure about applications for end-users)
Hints
This is a list of hints I’ve found on the internet:
- Use at least three-part version numbers (2.9.0, 2.10.0) so it is obvious they are not decimals.
- Use date/time based versiong (source)
- Method to extract compile time from .NET automatic version scheme
- Automatic versioning using MSBuild.Community.Tasks
mISV programs can be characterize by a high release rate, and at least by a high build rate (up to several builds a day).
In that context, it can be interesting to monitor:
For the team, you can communicate in term of build id, while in term of release management for the client, a more classic version schemes is in order.