Maybe we could use a simple convention, on head, version numbers are development, and on branch: alpha, beta and/or final. That way, implies more work to change version numbers on branching or merging, but it could be clear to make an script from 0.5d5 to 0.5d6 and from 0.5d5 to 0.5a2 (or whatever 0.5a*)