Closed
Description
Proposed Changes
We currently maintain three persistent branches within the project:
master
- Contains the latest stable releasedevelop
- Any work intended for the next patch releasefeature
- Feature work & breaking changes intended for the next minor release (e.g. v3.6)
The master
branch is essentially a clone of develop
, which gets merged every time a new release is to be published. We can remove this branch and create a new release
branch which contains only a single squashed commit for each release.
Justification
Our current approach can be confusing as many newcomers expect master
to function as the repo's default branch (ours is develop
). And introducing a new release
branch which is limited to only squashed commits provides a much more efficient mechanism for checking out the latest stable release using git (e.g. git checkout release
).