+1 to both yearly release and periodic snapshots. As far as timing goes, I would like to avoid picking a specific date for release, and instead choose something like "the first Wednesday of May" or something.
On Fri, Feb 5, 2021 at 10:20 AM Sam Tunnicliffe <s...@beobal.com> wrote: > > +1 to both the yearly cadence and the periodic publishing of bleeding edge > snapshots. > > > On 5 Feb 2021, at 16:14, Benedict Elliott Smith <bened...@apache.org> wrote: > > > > +1 > > > > +1 also to mixing this with an experiment on regular "releasable" (without > > API stability) snapshots from trunk. > > > > On 05/02/2021, 16:07, "Joshua McKenzie" <jmcken...@apache.org> wrote: > > > > +1 from me on the yearly cadence fwiw. The space this project is in > > (infra > > software) is directly at odds for many users' preferred release cadence > > (preferably never or bugfix only for existing / stable projects) compared > > to how fast the NoSQL / database ecosystem is evolving; once a year seems > > to strike a reasonable balance between the various constituents. > > > > On Fri, Feb 5, 2021 at 9:58 AM Benjamin Lerer > > <benjamin.le...@datastax.com> > > wrote: > > > >> Thanks for your responses. > >> > >> I had some offline discussions with different persons to gather more > >> feedback on the current discussion. > >> The people I talked to appeared to be in favor of one supported release > >> every year as Benedict initially suggested. > >> The advantages mentioned were: > >> * it is long enough to allow us to have a significant amount of work done > >> * if some work slip to the next release it will only be delayed for one > >> year > >> * it does not create too much burden in term of release maintenance > >> * it provides some certainty to the community > >> > >> I believe that there is an appetite for the bleeding edge snapshots where > >> we do not guarantee stability and that the semver discussion is not > >> finished yet but I would like us to let those discussions go for some > >> follow up threads. > >> My goal with this thread was to reach an agreement on a release cadence for > >> the version we will officially support after 4.0. > >> > >> My impression is that most people agree with *one release every year* so I > >> would like to propose it as our future release cadence. > >> > >> Your feedback is welcome. > >> > >> > >> On Thu, Jan 28, 2021 at 6:45 PM Jeremiah D Jordan < > >> jeremiah.jor...@gmail.com> > >> wrote: > >> > >>> I think we are confusing things between minor vs patch. Can we talk > >> about > >>> branch names? > >>> > >>> I think we can agree on the following statements? > >>> > >>> Releases made from stable maintenance branches, > >>> cassandra-3.0/cassandra-3.11/cassandra-4.0 (once created), will limit > >>> features being added to them and should be mostly bug fix only. > >>> > >>> New features will be developed in trunk. > >>> > >>> Now I think the thing under discussion here is “how often will we cut new > >>> maintenance branches from trunk” and also “how long will we maintain > >> those > >>> branches" > >>> > >>> I would definitely like to see the project able to release binaries from > >>> trunk more often then once a year. As long as we keep our quality goals > >> in > >>> line post 4.0 GA I think this is possible. > >>> > >>>> I'd like to see us have three branches: life support (critical fixes), > >>> stable (fixes), and development. Minors don't fit very well into that > >> IMO. > >>> > >>> If we want to go with semver ideas, then minors fit perfectly well. > >>> Server doesn’t meant you make patch releases for every version you have > >>> ever released, it is just a way of versioning the releases so people can > >>> understand what the upgrade semantics are for that release. If you > >> dropped > >>> support for some existing thing, you need to bump the major version, if > >> you > >>> added something new you bump the minor version, if you only fixed bugs > >> with > >>> no user visible changes you bump the patch version. > >>> > >>>> I suppose in practice all this wouldn't be too different to tick-tock, > >>> just with a better state of QA, a higher bar to merge and (perhaps) no > >>> fixed release cadence. This realisation makes me less keen on it, for > >> some > >>> reason. > >>> > >>> I was thinking something along these lines might be useful as well. > >>> > >>> I could see a process where we cut new maintenance branches every X time, > >>> ~1 year?, 6 months?, we would fix bugs and make patch releases from those > >>> maintenance branches. > >>> We would also cut releases from the development branch (trunk) more > >>> often. The version number in trunk would be updated based on what had > >>> changed since the last release made from trunk. If we dropped support > >> for > >>> something since the last release, bump major. If we added new features > >>> (most likely thing), bump minor. > >>> > >>> So when we release 4.0 we cut the cassandra-4.0 maintenance branch. We > >>> make future 4.0.1 4.0.2 4.0.3 releases from this branch. > >>> > >>> Trunk continues development, some new features are added there. After a > >>> few months we release 4.1.0 from trunk, we do not cut a cassandra-4.1 > >>> branch. Development continues along on trunk, some new features get in > >> so > >>> we bump the version in the branch to 4.2.0. A few months go by we > >> release > >>> 4.2.0 from trunk. Some bug fixes go into trunk with no new features, the > >>> version on the branch bumps to 4.2.1, we decide to make a release from > >>> trunk, and only fixes have gone into trunk since the last release, so we > >>> release 4.2.1 from trunk. > >>> > >>> We continue on this way releasing 4.3.0, 4.4.0, 4.4.1 …. We decide it is > >>> time for a new maintenance branch to be cut. So with the release of > >> 4.5.0 > >>> we also cut the cassandra-4.5 branch. This branch will get patch > >> releases > >>> made from it 4.5.1 4.5.2 4.5.3. > >>> > >>> Trunk continues on as 4.6.0, 4.7.0, 4.8.0 …. At some point the project > >>> decides it wants to drop support for some deprecated feature, trunk gets > >>> bumped to 5.0.0. More releases happen from trunk 5.0.0, 5.1.0, 5.2.0, > >> 5.2.1 > >>> development on trunk continues on. Time for a new maintenance branch > >> with > >>> 5.3.0 so cassandra-5.3 gets cut... > >>> > >>> This does kind of look like what we tried for tick/tock, but it is not > >> the > >>> same. If we wanted to name this something, I would call it something > >> like > >>> "releasable trunk+periodic maintenance branching”. This is what many > >>> projects that release from trunk look like. > >>> > >>> -Jeremiah > >>> > >>> > >>>> On Jan 28, 2021, at 10:31 AM, Benedict Elliott Smith < > >>> bened...@apache.org> wrote: > >>>> > >>>> But, as discussed, we previously agreed limit features in a minor > >>> version, as per the release lifecycle (and I continue to endorse this > >>> decision) > >>>> > >>>> On 28/01/2021, 16:04, "Mick Semb Wever" <m...@apache.org> wrote: > >>>> > >>>>> if there's no such features, or anything breaking compatibility > >>>>> > >>>>> What do you envisage being delivered in such a release, besides bug > >>>>> fixes? Do we have the capacity as a project for releases dedicated to > >>>>> whatever falls between those two gaps? > >>>>> > >>>> > >>>> > >>>> All releases that don't break any compatibilities as our documented > >>>> guidelines dictate (wrt. upgrades, api, cql, native protocol, etc). > >>> Even > >>>> new features can be introduced without compatibility breakages (and > >>> should > >>>> be as often as possible). > >>>> > >>>> Honouring semver does not imply more releases, to the contrary it is > >>> just > >>>> that a number of those existing releases will be minor instead of > >>> major. > >>>> That is, it is an opportunity cost to not recognise minor releases. > >>>> > >>>> > >>>> > >>>> --------------------------------------------------------------------- > >>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org > >>>> For additional commands, e-mail: dev-h...@cassandra.apache.org > >>>> > >>> > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org > >>> For additional commands, e-mail: dev-h...@cassandra.apache.org > >>> > >>> > >> > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org > > For additional commands, e-mail: dev-h...@cassandra.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org > For additional commands, e-mail: dev-h...@cassandra.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org For additional commands, e-mail: dev-h...@cassandra.apache.org