+1

On Thu, Apr 17, 2025, at 11:58 AM, Josh McKenzie wrote:
> [DISCUSS] thread: 
> https://lists.apache.org/thread/jy6vodbkh64plhdfwqz3l3364gsmh2lq
> 
> The proposed new versioning mechanism:
>  1. We no longer use semver .MINOR
>  2. Online upgrades are supported for all GA supported releases at time of 
> new .MAJOR
>  3. T-1 releases are guaranteed API compatible for non-deprecated features
>  4. We use a deprecate-then-remove strategy for API breaking changes 
> (deprecate in release N, then remove in N+1)
> This would translate into the following for our upcoming releases (assuming 3 
> supported majors at all times):
>  • 6.0: 5.0, 4.1, 4.0 online upgrades are supported (grandfather window). We 
> drop support for 4.0. API compatibility is guaranteed w/5.0
>  • 7.0: 6.0, 5.0, 4.1 online upgrades are supported (grandfather window). We 
> drop support for 4.1. API compatibility is guaranteed w/6.0
>  • 8.0: 7.0, 6.0, 5.0 online upgrades are supported (fully on new paradigm). 
> We drop support for 5.0. API compatibility guaranteed w/7.0
> David asked the question:
>> Does this imply that each release is allowed to make breaking changes 
>> (assuming they followed the “correct” deprecation process)? My first 
>> instinct is to not like this
> Each release *would* be allowed to make breaking changes but only for 
> features that have already been deprecated for one major release cycle.
> 
> This is a process change so as per our governance: 
> https://cwiki.apache.org/confluence/display/CASSANDRA/Cassandra+Project+Governance,
>  it'll require a super majority of 50% of the roll called PMC in favor. 
> Current roll call is 21 so we need 11 pmc members to participate, 8 of which 
> are in favor of the change.
> 
> I'll plan to leave the vote open until we hit enough participation to pass or 
> fail it up to probably a couple weeks.

Reply via email to