Closed
Description
I think we can learn Golang's version management.
On master, all the version numbers will be gave on build and the version number is the commit hash. Since the hash is too long, we can use the first 7 characters. i.e. tip+2b445c7
On release branch, all the version number will be gave on build and the version number is branch name plus git hash. i.e. 1.0+2b445c7
For a tag version i.e. 1.0.0, the version number could be static and we can give it a special number not a git hash.
So that, when a user report an issue, we can know the question is from which version quickly.