Hi everyone,

Please let me know if there is any further feedback or ways I can improve
this KIP. As I haven't been able to secure enough votes in the voting
thread yet, I would appreciate any guidance on the next steps to move this
proposal forward.

Thanks,
Ashwin

On Thu, Feb 12, 2026 at 9:19 PM Ashwin <[email protected]> wrote:

> Hello Folks,
>
> I am reviving this thread since I did not receive any votes in the voting
> thread - https://lists.apache.org/thread/9wwrx3m7s5k05hxkqd4ygdfpv0n50f0r
> .
> I request everyone to please share your feedback on how I can improve the
> KIP, so that I can get more engagement in the voting thread.
> I believe that I have incorporated all the feedback which I have received
> so far.
>
> Cheers,
> Ashwin
>
> On Fri, Jan 23, 2026 at 8:46 AM Ashwin <[email protected]> wrote:
>
>> Hello folks,
>>
>> I have created a draft PR to demonstrate the changes involved:
>> https://github.com/apache/kafka/pull/21337/files .
>>
>> In this PR, I have annotated the KafkaProducer class with @PublicApi. Any
>> "un-annotated" classes present in the Javadoc jar will be reported,
>> causing the final docsJar step to fail. This public API checker will
>> also check the public methods, args and exception types - to avoid
>> unintentional exposure of internal classes.
>>
>> For the plugin developer's reference, I have created a test repository
>> using the new Gradle and Maven checkers:
>>
>> - Gradle:
>> https://github.com/ashwinpankaj/kip1265test/blob/58d4f88f54d8324fb76656f24ad4334e483cdd55/gradle-test/my-simple-app/build.gradle#L60-L64
>>
>> - Maven:
>> https://github.com/ashwinpankaj/kip1265test/blob/58d4f88f54d8324fb76656f24ad4334e483cdd55/maven-test/my-simple-app/pom.xml#L44-L71
>>
>>
>> Both builds in this repository pass for KafkaProducer but fail for other
>> imports from org.apache.kafka.*.
>>
>> Please let me know your thoughts, as I plan to start the vote for this
>> KIP next week.
>>
>> Thanks,
>> Ashwin
>>
>> On Tue, Jan 20, 2026 at 6:52 PM Ashwin <[email protected]> wrote:
>>
>>> 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