Hi all, With 3.0.0 GA around the corner (tx for the push, Andrew!), 2.9.0 RC out (tx Arun / Subru!) and 2.8.2 (tx Junping!), I think it's high time we have a discussion on how we manage our developmental bandwidth between 2.x line and 3.x lines.
Once 3.0 GA goes out, we will have two parallel and major release lines. The last time we were in this situation was back when we did 1.x -> 2.x jump. The parallel releases implies overhead of decisions, branch-merges and back-ports. Right now we already do backports for 2.7.5, 2.8.2, 2.9.1, 3.0.1 and potentially a 3.1.0 in a few months after 3.0.0 GA. And many of these lines - for e.g 2.8, 2.9 - are going to be used for a while at a bunch of large sites! At the same time, our users won't migrate to 3.0 GA overnight - so we do have to support two parallel lines. I propose we start thinking of the fate of branch-2. The idea is to have one final release that helps our users migrate from 2.x to 3.x. This includes any changes on the older line to bridge compatibility issues, upgrade issues, layout changes, tooling etc. We have a few options I think (A) -- Make 2.9.x the last minor release off branch-2 -- Have a maintenance release that bridges 2.9 to 3.x -- Continue to make more maintenance releases on 2.8 and 2.9 as necessary -- All new features obviously only go into the 3.x line as no features can go into the maint line. (B) -- Create a new 2.10 release which doesn't have any new features, but as a bridging release -- Continue to make more maintenance releases on 2.8, 2.9 and 2.10 as necessary -- All new features, other than the bridging changes, go into the 3.x line (C) -- Continue making branch-2 releases and postpone this discussion for later I'm leaning towards (A) or to a lesser extent (B). Willing to hear otherwise. Now, this obviously doesn't mean blocking of any more minor releases on branch-2. Obviously, any interested committer / PMC can roll up his/her sleeves, create a release plan and release, but we all need to acknowledge that versions are not cheap and figure out how the community bandwidth is split overall. Thanks +Vinod PS: The proposal is obviously not to force everyone to go in one direction but more of a nudging the community to figure out if we can focus a major part of of our bandwidth on one line. I had a similar concern when we were doing 2.8 and 3.0 in parallel, but the impending possibility of spreading too thin is much worse IMO. PPS: (C) is a bad choice. With 2.8 and 2.9 we are already seeing user adoption splintering between two lines. With 2.10, 2.11 etc coexisting with 3.0, 3.1 etc, we will revisit the mad phase years ago when we had 0.20.x, 0.20-security coexisting with 0.21, 0.22 etc.