I just moved around the github structure.
I renamed the old "master" to "1.7" which will now carry on possible patches for the 1.7.x tree, if there ever is a need (probably/hopefully not, as we will promote upgrading to 2.0).
The old branch "2.0" was then moved into "master", keeping the history of 2.0 development (and earlier) intact. The "2.0" branch was kept, and similar to 1.7 and 1.6 will provide patches for the 2.0.x line, whereas we will continue developing a future 2.1.x series with newer unstable patches.
To rephrase, we now have these branches to commit:
* 1.7 - this will get any major security-related bugfixes for the 1.7.x series
* 2.0 - this will get any bugfixes (security related or not) for the 2.0.x series
* master - this will get bugfixes and possible new, experimental changes which are basically tested and the developer feels good for users to test. It's the next 2.1.x series.
I want to encourage the use of feature branches for larger commits that are untested and would possibly "break" master. Each major feature should best get its own feature branch, so as soon as patches work, they can be merged back into master. I'd like to first discuss on what should be a feature branch or not on a per-feature basis, so that we can all weigh in on whether to create a new feature branch, use an existing one, or whatever. This is so that we do not get too many branches which make testing the whole set of features too hard.
For developers, if you commit something, this should be your decision tree:

What do you think, is this agreeable?