Versions and Branching a Library
At work Andrew Cavanagh and I had to, using many examples on of libraries we use, to finalize how to branch and version our libraries. There should be one branch for each major version (1.0, 2.0, etc). These should be the only branches besides master. Releases within these versions should be tagged following semantic versioning guidlines (v1.2.3 for example). In general, all work should be done via pr from the master branch and then merged into whatever the current branch is.