Hi folks and thanks for those that came with input on this in the other thread. Good input! There are advantages and disadvantages as well as expectations that vary from person to person. So I have decided to go with the following solution for now:
- master branch is the bug-fix, stable-as-possible branch. This is what newcomers check out and what Docker images as well as future PyPi packages (which don't yet exist) will be based off. This is not a "stale" branch - most active bugs and issues will be fixed against this branch. For now we won't up the version string on bug fixes (so no 0.7.1 etc). This will make it important to keep updated with fixes using GIT.
- develop branch is the branch for new features and API changes. Bug-fixes from master will be merged into develop as needed. When we feel develop is in a good place, we will merge the new stuff back into master - this will mean a version update (such as 0.7 to 0.8). I feel this will make it easier to know exactly what has changed from version to version and keep a Changelog updated. Same as now, we don't plan (nor do we have the resources to) offer support for older versions - users are expected to update their code to follow the latest core changes.
- For contributors: Bug fix PRs should predominantly be made against master branch, unless it's specifically a fix for something only on develop. New features or contrib PRs should always be made against develop.
Let's try this for a version or two, see how it goes. If it feels weird or clunky we'll just change things around.
.
Griatch