- Bugs/minor/doc changes: any maintainer can merge without approval
- Features: at least one other maintainer should approve
- All commits to the primary branch(es) should be done via PRs
- Aside from merge commits, any commits made on the primary branch(es) should use the Conventional Commit specification with the following supported prefixes:
feature:new featuresfix:bug fixesminor:code typos, etcchore:ci/sca/csdocs:documentation updates/fixes
- Use "Squash and merge" if the PR does one thing
- When using this, there is the option to edit the commit message, ensure one of the above prefixes is added
- Use "Create a merge commit" if there are multiple commits that make sense to be added to the changelog as separate items
- Ensure all PR commit messages have the above prefixes (you may have to rebase the PR and adjust the commit messages)
Semantic Versioning (MAJOR.MINOR.PATCH) should be used with the following adjustments/clarifications based on the Merging Process prefixes:
- If any of the commits ready to be released are features, create as MINOR release
- If all pending commits are only fix/minor/doc/chore, create as PATCH release
- TODO - MAJOR releases
Use zenstruck/changelog to create the releases and auto-update the changelog... WIP