For every new project, one of the first questions to answer when planning release system is «How to define a product versions?». Now I know the default answer for this question: «Just look at the Semantic Versioning Specification!.

It looks very natural: X.Y.Z where X is major version, Y is minor version and Z is the patch (hotfix) version of the product. X,Y,Z are non-negative numbers. See full specification for details, it is not big, just 12 points.