Background
- we keep the practice of developing on feature branches
- the master branch holds only code that PASSED QA
- major releases are staged and maintained each on their own branch
- release branches are branched off master
- minor versions are released from the corresponding major release branch
- releases are marked with tags of the form 'v<major>.<minor>'