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 > > > > > > > > > > > > > > > > > > > > > >
