# Release Branches
A Release Branch is a branch of the codebase intended for preparing the current
state of the staging branch for "release" into the master branch. Only
documentation and minor bug fixes should be performed within a Release Branch.
New features should never be committed to these branches. Naming for a Release
Branch should follow the format: release/{version}, such as release/3.4.2
for release v3.4.2.
Tip: Release Branches can be created with the Gitflow Plugin command git flow release start {version} and merged/tagged with git flow release finish {version} .
# Determining Release Branch Version
Prior to creating a new release branch you should check theversion attribute
of package.json to determine the current version number.
To derive the new release version number you should increment the "major" version number for complete architecture changes (ex. v3.5.5 -> v4.0.0), the "minor" version number for feature additions/enhancements (ex. v3.5.5 -> v3.6.0) or the "patch" version for bug fixes (ex. v3.5.5 -> v3.5.6). This approach is meant to roughly correspond to the Semantic Versioning 2.0 (opens new window) spec.
# Additional Resources
See Bitbucket's Gitflow Workflow (opens new window) resource for additional information about Release Branches.