Thanks for providing feedback Stan ! Sorry I couldn't reply earlier .

I too was having second thoughts about Plugin development support which I
proposed earlier . I now feel that we should publish Gradle and Maven
plugins from Apache Kafka. Developers can then use these plugins in their
build config.

I have published the proposal at
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406618601#KIP1265:MechanismforautomaticdetectionofinternalAPIusage-GuardrailsforPlugindevelopers
.

Please have a look and let me know what you think.

Cheers,
Ashwin

On Wed, Jan 14, 2026 at 1:53 AM Stanislav Kozlovski <
[email protected]> wrote:

> Thanks for working on this! It's much needed, I remember many times where
> I'd catch similar misses in PR reviews in the last minute.
>
> As for helping Plugin devs, how do we precisely plan to "provide a sample
> configuration" and "publish a sample APILyzer configuration". Do we expect
> people to know where to find these things from the docs and copy them to
> their own repos?
>
> Can you think of any ways to warn Kafka users, i.e people who import
> `org.apache.kafka.Something`, of the fact they're depending on an unstable
> API too?
>
> Best,
> Stan
>
> On 2026/01/08 07:21:23 Ashwin via dev wrote:
> > Thanks for your feedback Ismael ! I was not aware of the
> InterfaceStability
> > annotation !
> > I have updated the KIP based on your suggestions
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1265%3A+Mechanism+for+automatic+detection+of+internal+API+usage
> > and hope that all your points have been added to it.
> >
> > Team - Please do let me know your thoughts.
> > Thanks,
> > Ashwin
> >
> > On Tue, Jan 6, 2026 at 6:10 AM Ismael Juma <[email protected]> wrote:
> >
> > > Hi Ashwin,
> > >
> > > Improving how we specify public API and providing a mechanism for
> > > automatic detection of internal api usage would be great. That said,
> it's
> > > incorrect that there is no mechanism for that today. We should update
> the
> > > KIP to specify the current situation correctly and the problems with
> it.
> > >
> > > A summary of items to consider for the KIP:
> > > 1. As a user, the way to know the public API is to consult the
> project's
> > > published javadoc: this is a "concrete, centralized definition of what
> > > constitutes a public API".
> > > 2. As a Kafka developer, you specify it via a block like this:
> > > https://github.com/apache/kafka/blob/trunk/build.gradle#L2026
> > > 3. There is no tooling that automatically detects if a public method
> > > exposes an internal class (there was a recent KIP that was introduced
> > > because we accidentally exposed an internal class)
> > > 4. There is no simple mechanism for users of Kafka to configure their
> > > build system so that usage of Kafka internal apis are flagged.
> > > 5. There are already annotations to specify whether a class or method
> is
> > > stable, evolving or unstable:
> > >
> https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/common/annotation/InterfaceStability.java
> > >
> > > Thanks,
> > > Ismael
> > >
> > > On Sun, Jan 4, 2026 at 8:21 PM Ashwin via dev <[email protected]>
> > > wrote:
> > >
> > >> Hello folks,
> > >>
> > >> Reviving this old thread
> > >> https://lists.apache.org/thread/ly5ddkobr1wc07gvhwc1p0jg94qg8cxc to
> > >> discuss
> > >> KIP-1265.
> > >>
> > >> Apache Kafka lacks a concrete, centralized definition of what
> constitutes
> > >> a
> > >> public API. The most relevant information currently available is found
> > >> here:
> > >>
> > >> Kafka Improvement
> > >> Proposals#Whatisconsidereda%22majorchange%22thatneedsaKIP
> > >> <
> > >>
> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals#KafkaImprovementProposals-Whatisconsidereda%22majorchange%22thatneedsaKIP
> > >> >
> > >>
> > >> Without formal definition or guardrails, there is a risk that
> builders may
> > >> inadvertently import internal classes leading to possible build
> breakages
> > >> when they compile against a newer Kafka version
> > >>
> > >>
> > >> Please let me know your thoughts for
> > >>
> > >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1265%3A+Public+API+needs+to+be+explicitly+declared
> > >>
> > >> Cheers,
> > >> Ashwin
> > >>
> > >
> >
>

Reply via email to