First, I agree, updating that list would be a good idea. It's likely it will always be a little divergent from any new additions -- the last update was probably when the KIP page was originally created, before either Connect or Streams existed.
However, note that we also document the exact set of public APIs, or at least try to, in the user-facing javadocs http://kafka.apache.org/20/javadoc/index.html?overview-summary.html If its not in there, it likely is not public API. In the case of Connect, the only public Java APIs are in their own module, connect-api. Everything in the other connect modules are considered internal implementation details. -Ewen On Fri, Jul 27, 2018 at 7:15 PM Chia-Ping Tsai <chia7...@apache.org> wrote: > hi Kafka > > There is a section[1] listing the packages which have public interfaces. > However, it doesn't include any connect-related packages. It would be > better to have a list used to highlight the public interfaces for > connector. Otherwise, connector user may misuse the internal interface in > their code base. For example, TopicAdmin[2] is a nice wrap of > AdminClient[3] so I have applied TopicAdmin in production code. However, > I'm not sure whether TopicAdmin is a public interface. It implies that I > should remove it from code base since the SC of TopicAdmin may be broken in > minor release. > > Not familiar with the rule of updating "Kafka Improvement Proposals" so I > start this thread. All suggestions are welcome! > > [1] > https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals#KafkaImprovementProposals-Whatisconsidereda%22majorchange%22thatneedsaKIP > ? > > [2] > https://github.com/apache/kafka/blob/trunk/connect/runtime/src/main/java/org/apache/kafka/connect/util/TopicAdmin.java > > [3] > https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/admin/AdminClient.java > > -- > Chia-Ping >