The discussion came up on https://issues.apache.org/jira/browse/CASSANDRA-16873 concerning where we land different diff types and it was clear the conversation should come to the ML and the outcome be codified for the future.
Some useful pre-reading on the Release Lifecycle on our wiki: https://cwiki.apache.org/confluence/display/CASSANDRA/Release+Lifecycle For context if it's not clear in the wiki article, the three release types we have currently: 1. Patch: N.M.x 2. Minor: N.x 3. Major: N Currently the wiki articulates the following under General Availability: * Incremental fixes for post-GA issues identified will be included in patchlevel releases. * A new branch is created for the release with the new major version, limiting any new feature addition to the new release branch, with new feature development will continue to happen only on trunk. The question that came up discussing C-16873: What qualifies as an "Incremental fix" for purposes of inclusion in a patch release? * Do all bugs qualify? Only some? * What if a bugfix breaks an API? Where does that land? * Do small improvements that are not API mutating qualify? * If improvements, who decides? Lazy consensus w/2 committers? I'm personally pretty neutral; there's a cost-benefit to this and no clear optimal answer to me at face value. Lastly, I also advocate for a clear definition of expectations on these releases in the wiki, something like: Major: API changes, feature deprecation, protocol changes Minor: New features, changes in default behavior Patches: Whatever we decide in this thread What do we think? ~Josh