Hi Siddhartha, Thanks for the KIP! I'm okay making `Bytes` public. However, the `Time` interface is a bit of a dumping ground for time-related things and I would not be in favor of making it public in its current state. Is it possible to exclude the streams constructors accepting `Time`s from the public API instead?
Kind regards, Sean Quah On Sun, Dec 7, 2025 at 1:53 PM Siddhartha Devineni < [email protected]> wrote: > Hello Kafka Community, > > I would like to start a discussion on KIP-1247, which proposes to > officially make the "Bytes" and "Time" utils classes part of Kafka's public > API. > > *KIP Link:* > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1247%3A+Make+Bytes+and+Time+utils+classes+part+of+the+public+API > > *Background:* > > Currently, "org.apache.kafka.common.utils.Bytes" and > "org.apache.kafka.common.utils.Time" are exposed through numerous public > API interfaces in Kafka Streams and other components, yet they are not > officially designated as public API since the utils package is not included > in Javadoc generation. > > This creates confusion for users who cannot determine if these classes are > officially supported, and causes broken Javadoc references. > > *Proposal:* > > This KIP proposes to: > > 1. Include "Bytes" and "Time" in Javadoc generation, officially making > them part of the public API > 2. Move other internal utility classes to an "internals" subpackage to > prevent similar issues in the future > > > > *Impact:*This change has no compatibility impact - all classes remain in > their current locations and no user code changes are required. > > You can find more details in the attached KIP link. > Looking forward to your thoughts. > > Thank you. > > Best regards. > Siddhartha >
