Thanks Mickeal,

I guess the question is, if we think we need to revert these removals, or if it's more reasonable to make an exception from the rule?

I cannot really judge it, as I am not familiar with the details for Connect. Any suggestions from your side?


-Matthias

On 3/3/25 7:44 AM, Mickael Maison wrote:
Hi,

Another example is
https://github.com/apache/kafka/commit/a753172ad3e0927f412fb56e468c95a9a81ba3ad
We deprecated our log4j1 appender in 3.8.0 and it's been removed in
4.0.0. Kafka 3.8.0 released in May 2024, so it's less than 1 year.

Thanks,
Mickael

On Mon, Mar 3, 2025 at 4:40 PM Matthias J. Sax <mj...@apache.org> wrote:

  From
https://cwiki.apache.org/confluence/display/KAFKA/Time+Based+Release+Plan

We break compatibility (i.e. remove deprecated public methods after a 
reasonable period, and typically wait 1 year after deprecation).

To me, given that we do 3 releases per year, "1 year" as stated above
and 3 releases, is just the same thing.

I am also happy to follow Ismael's proposal and say "at least 3 releases
_and_ a minimum of 12 months".


-Matthias


On 3/3/25 6:48 AM, Ismael Juma wrote:
Hi Chia-Ping and Bruno,

Right. Matthias stated that the 3 releases rule is the source of truth and
I don't recall that being the case. The source of truth is 12 months - I
was one of the people who was part of that discussion when the Scala
consumer was removed. I also disagree that the 3 releases rule is strictly
better since we can sometimes have shorter release cycles (like the intent
with the 3.9 release). I am ok with adjusting the rule to be "at least 3
releases _and_ a minimum of 12 months" as part of this KIP, but we should
be clear that we're proposing a change as part of this KIP (vs following an
existing rule).

Ismael

On Mon, Mar 3, 2025 at 1:24 AM Bruno Cadonna <cado...@apache.org> wrote:

Hi,

I suspect that the three-release-rule was a derivation from the
1-year-rule since we usually have three releases in one year.

IMO, a three-release rule is easier to reason about, because you don't
need to know when the release took place.

However, I recognize that the 1-year-rule seems to be the official rule.

Best,
Bruno

On 03.03.25 09:58, Chia-Ping Tsai wrote:
hi Ismael

The thread[0] contains a brief discussion about the one-year rule. I've
also updated the KIP page[1] to highlight this rule. However, declaring
[3.7-3.9] as API compatible with 4.0 can be unrelated to the one-year
rule.
We can do this for consistency, ensuring clients, Streams, and Connect
have
the same version range. Additionally, we can address this by reverting a
minor commit. If we don't agree on consistency, we can update the KIP to
include different API compatibility versions for Connect.

[0] https://lists.apache.org/thread/j7n4qqsvxz84f5cg89kdm9foby36j28n
[1]

https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=65867320&selectedPageVersions=9&selectedPageVersions=8

Best,
Chia-Ping






Reply via email to