Branch and version are completely separate concepts. Versioning is labelling of source code state for revision control. Branches are part of a mechanism to facilitate simultaneous distinct development efforts on the same source code; i.e. branches themselves do not have versions and versions do not imply branches. Code labelled with any version is static, does not change and if does it enters new version; you always have the exact same code for the same version. Conversely, code under any branch is expected to change as it is the very purpose of having a branch.