Because we branched off v3 and later made that the default branch, some PRs sneaked into master when they shouldn't have. We also did a release off master and not v3 so they got further out of sync.
In order to release everything and get the branches in a good state again I suggest we do the following:
master into v3, this will be a small easy to understand PR that's easy to sign off on and that we know is in a good state as it's based on v3.v3 into master, this diff will contain everything in the release so it can't really be reviewedmaster as the default branchmaster to 3.0.0master (@parisk to sign commit)release/3.0 from `masterHEAD of release/3.0 as 3.0.0master branchIf we need to release 3.0.1+ then we can add the commits to master, cherry pick them to release/3.0 and release again. We can then continue this process for 3.1 with release/3.1 and so on to avoid these sorts of problems in the future; the master branch will always be the latest and we branch off stabilization branches for release.
Yep, sounds great.
My only counter proposal would be releasing 3.0.0 from master and then branch it out.
I think that major and minor releases should be made on the master branch and bugfix releases on the "stabilization" brances.
@parisk branch then release should be the same as release then branch as the commits should have the same hashes. One of the important thing around the branching is that all changes go on master and fixes are cherry picked over, only in exceptional circumstances should changes be made directly to the release branch (if master has diverged too much).
I am on board.
@parisk if you're free atm can you get on Slack so we can coordinate the release?
And it's out!
Congratulations on this major milestone! 馃 馃弳馃嵕馃帀
Most helpful comment
And it's out!