-
Notifications
You must be signed in to change notification settings - Fork 97
Description
Situation
We've decided to freeze 2.10.x and no new features will be added to this version (except security and severe bugfixes). As we are going towards 3.0.0, master will contain the new version soon.
However, we still haven't thought about how to deal/manage both versions, old and new, so they can live peacefully together.
Proposed Solution
Probably we should open a maintenance branch for the 2.10.x line. The open questions are:
- When should we open the maintenance branch? Now or in the not so far future?
- How should we deal with upcoming 2.10.x versions?
Here is my idea that I would like to discuss with you:
- Make sure we have a clean, good state (should be already the case; but it doesn't hurt to look a bit deeper).
- Branch off from current master and create a
maint/2.10.0
branch. We could also usestable/2.10.0
. Any better name? 😉 - Change version in master to 3.0.0+alpha1 (just an example).
- Optionally indicate it in the README as "work in progress".
- Now we can start implementing code for 3.0.0 only.
After these steps, we have the new version in master and the old version in a maintenance branch. If and how we want to create a new release for the 2.10.x line, it's a matter of taste. One way to do it could be like this:
- Add the changes to the 2.10.0 maintenance branch.
- Raise version to 2.10.x.
- Tag the release.
- Publish the 2.10.x release.
It could be helpful to protect the maintenance branch like we did with master.
Anything else we need to cover? Comments? 😉
Update: Changed 2.9.x -> 2.10.0