Hi All,

Since we have 3 binding votes, KIP-1265 has been approved - Thank
you Matthias, Manikumar and Andrew !!


During implementation, I found that inner classes were added to public
documentation because JavaDoc was enabled for the outer class. I have added
the following section to the KIP to clarify these cases -


   - A class's effective audience is its own direct @InterfaceAudience
   annotation if present, otherwise the audience of its nearest annotated
   enclosing class. Default everywhere is @Private per the KIP. A  nested
   class can override an inherited @Public with an explicit
   @InterfaceAudience.Private. This matches Hadoop's model and aligns with how
   javadoc treats nested classes — they're documented under the outer's page,
   so requiring a separate annotation on every public nested class would be
   redundant noise. Inheritance also handles protected and package-private
   nested classes correctly: they show up in javadoc only as part of the
   outer's docs, so the checker only enforces direct @Public for the
   MISSING_JAVADOC check, while cascade reference checks accept inherited
   @Public for any nested type.


Implementation will be tracked by
https://issues.apache.org/jira/browse/KAFKA-20032.

Cheers,
Ashwin


On Mon, Jun 15, 2026 at 3:53 PM Andrew Schofield <[email protected]>
wrote:

> +1 (binding)
>
> On 2026/06/14 06:19:15 Manikumar wrote:
> > Hi Ashwin,
> >
> > Thanks for the KIP
> >
> > +1 (binding)
> >
> > We should make sure to update the release scripts/docs to publish the new
> > artifacts and usage documentation.
> >
> > Thanks
> > Manikumar
> >
> > On Tue, Feb 10, 2026 at 9:52 AM Ashwin via dev <[email protected]>
> wrote:
> >
> > > Hello Folks,
> > >
> > > Just a gentle reminder to vote for KIP-1265 : Mechanism for automatic
> > > detection of internal API usage
> > > <
> > >
> https://urldefense.com/v3/__https://cwiki.apache.org/confluence/display/KAFKA/KIP-1265*3A*Mechanism*for*automatic*detection*of*internal*API*usage__;JSsrKysrKysr!!Ayb5sqE7!vflnjJ-DilpB-CUvc77bG2OHaY7cjrPsjS3c5CfJSt99XmY5nDy2pqvxDfxlUud7do_wou8cco7vuSbFJ0jQyZE$
> > > >
> > >
> > >
> > >
> > > - Discussion thread :
> > >
> https://urldefense.com/v3/__https://lists.apache.org/thread/0lptz5bm4nxsynk2d6vjwmjdn77d2o5w__;!!Ayb5sqE7!vflnjJ-DilpB-CUvc77bG2OHaY7cjrPsjS3c5CfJSt99XmY5nDy2pqvxDfxlUud7do_wou8cco7vuSbFW53DAug$
> > >
> > > Cheers,
> > >
> > > Ashwin
> > >
> > >
> > > On Tue, Feb 3, 2026 at 3:18 PM Ashwin <[email protected]> wrote:
> > >
> > > > Hello folks,
> > > >
> > > > I would like to start a vote for the KIP:
> > > >
> > > > - KIP:
> > >
> https://urldefense.com/v3/__https://cwiki.apache.org/confluence/display/KAFKA/KIP-1265*3A*Mechanism*for*automatic*detection*of*internal*API*usage__;JSsrKysrKysr!!Ayb5sqE7!vflnjJ-DilpB-CUvc77bG2OHaY7cjrPsjS3c5CfJSt99XmY5nDy2pqvxDfxlUud7do_wou8cco7vuSbFJ0jQyZE$
> > > > - Discussion thread :
> > >
> https://urldefense.com/v3/__https://lists.apache.org/thread/0lptz5bm4nxsynk2d6vjwmjdn77d2o5w__;!!Ayb5sqE7!vflnjJ-DilpB-CUvc77bG2OHaY7cjrPsjS3c5CfJSt99XmY5nDy2pqvxDfxlUud7do_wou8cco7vuSbFW53DAug$
> > > > - Draft PR:
> https://urldefense.com/v3/__https://github.com/apache/kafka/pull/21337/files__;!!Ayb5sqE7!vflnjJ-DilpB-CUvc77bG2OHaY7cjrPsjS3c5CfJSt99XmY5nDy2pqvxDfxlUud7do_wou8cco7vuSbFMq6HjMw$
> ,
> > >
> https://urldefense.com/v3/__https://github.com/ashwinpankaj/kip1265test/blob/58d4f88f54d8324fb76656f24ad4334e483cdd55/gradle-test/my-simple-app/build.gradle*L60-L64__;Iw!!Ayb5sqE7!vflnjJ-DilpB-CUvc77bG2OHaY7cjrPsjS3c5CfJSt99XmY5nDy2pqvxDfxlUud7do_wou8cco7vuSbFWeLETHE$
> > > >
> > > >
> > > > Summary:
> > > >
> > > > This KIP proposes to introduce a mechanism that
> > > >
> > > >    -
> > > >
> > > >    *Explicitly declares* Public APIs.
> > > >    -
> > > >
> > > >    *Restricts* *the unintentional exposure* of internal interfaces.
> > > >    -
> > > >
> > > >    *Enables* *automated detection *of internal API usage for plugin
> > > >    developers.
> > > >
> > > >
> > > > Thanks,
> > > > Ashwin
> > > >
> > > >
> > > >
> > > >
> > >
> >
>

Reply via email to