Heya Paolo,

Thanks for catching this and providing a fix! It makes sense to me
that since this is part of Kafka Connect's REST API it is public and
therefore we can't change the output without a corresponding KIP. I
have reviewed the PR and I am happy to cherry-pick it once it has made
it into trunk and include it in RC1.

Best,
Christo

On Fri, 16 Jan 2026 at 10:33, Paolo Patierno <[email protected]> wrote:
>
> FYI I opened https://issues.apache.org/jira/browse/KAFKA-20076 and also a
> corresponding PR to fix the issue here
> https://github.com/apache/kafka/pull/21318
> It's against trunk but I think we should (if/when approved) cherry-pick to
> 4.2.0.
>
> Thanks,
> Paolo
>
> On Thu, 15 Jan 2026 at 17:01, Paolo Patierno <[email protected]>
> wrote:
>
> > Hello,
> > I think I have found a regression.
> > When running Kafka Connect and submitting an HTTP GET request to the
> > /connector-plugins endpoint, the JSON serialized "type" filed in the body
> > response is now uppercase instead of being lowercase as in the past.
> > Following a comparison between Apache Kafka 4.1 ...
> >
> >
> > [{"class":"org.apache.kafka.connect.mirror.MirrorCheckpointConnector","type":"source","version":"4.1.1"},{"class":"org.apache.kafka.connect.mirror.MirrorHeartbeatConnector","type":"source","version":"4.1.1"},{"class":"org.apache.kafka.connect.mirror.MirrorSourceConnector","type":"source","version":"4.1.1"}]
> >
> > ... and the current Apache Kafka 4.2 RC0
> >
> >
> > [{"class":"org.apache.kafka.connect.mirror.MirrorCheckpointConnector","type":"SOURCE","version":"4.2.0"},{"class":"org.apache.kafka.connect.mirror.MirrorHeartbeatConnector","type":"SOURCE","version":"4.2.0"},{"class":"org.apache.kafka.connect.mirror.MirrorSourceConnector","type":"SOURCE","version":"4.2.0"}]
> >
> > As you can see it's "source" vs "SOURCE". I had same result with "sink" vs
> > "SINK".
> >
> > I think this is due to the last change from converting the PluginInfo from
> > being a class to a record which had an impact together with the JSON
> > serialization.
> > When it was a class, a dedicated type.toString() was used which explicitly
> > does a lower case transformation.
> > As a record, the "type" field is directly serialized by JSON by using the
> > enum values from PluginType which are all uppercase of course.
> > It means that this issue affects all the other values as well the way they
> > are serialized (not just SINK, SOURCE but also CONVERTER, TRANSFORMATION,
> > and so on).
> >
> > If you like I could provide a contribution for that.
> >
> > Thanks,
> > Paolo.
> >
> > On Tue, 13 Jan 2026 at 17:04, Christo Lolov <[email protected]>
> > wrote:
> >
> >> Hello Kafka users, developers and client-developers,
> >>
> >> This is the RC0 candidate for release of Apache Kafka 4.2.0.
> >>
> >> This release has many exciting changes such as Kafka Queues being
> >> marked as production-ready, dead letter queues in Kafka Streams, a
> >> preview of the new Kafka Streams rebalance protocol, improved
> >> consistency across Kafka CLI arguments and metrics!
> >>
> >> I will raise a PR with a new blog post to the kafka-site repository in
> >> the next 24 hours and share the link as a reply to this thread.
> >>
> >> Release notes for the 4.2.0 release:
> >> https://dist.apache.org/repos/dist/dev/kafka/4.2.0-rc0/RELEASE_NOTES.html
> >>
> >> *** Please download, test and vote by Wednesday, January 21, 10am UTC
> >>
> >> Kafka's KEYS file containing PGP keys we use to sign the release:
> >> https://kafka.apache.org/KEYS
> >>
> >> * Release artifacts to be voted upon (source and binary):
> >> https://dist.apache.org/repos/dist/dev/kafka/4.2.0-rc0/
> >>
> >> * Docker release artifacts to be voted upon:
> >> apache/kafka:4.2.0-rc0
> >> apache/kafka-native:4.2.0-rc0
> >>
> >> * Maven artifacts to be voted upon:
> >> https://repository.apache.org/content/groups/staging/org/apache/kafka/
> >>
> >> * Javadoc:
> >> https://dist.apache.org/repos/dist/dev/kafka/4.2.0-rc0/javadoc/index.html
> >>
> >> * Tag to be voted upon (off 4.2 branch) is the 4.2.0 tag:
> >> https://github.com/apache/kafka/releases/tag/4.2.0-rc0
> >>
> >> * Documentation:
> >> I will raise a PR with the changes to the kafka-site repository in the
> >> next 24 hours and share the link as a reply to this thread.
> >>
> >> * Protocol:
> >> I will raise a PR with the changes to the kafka-site repository in the
> >> next 24 hours and share the link as a reply to this thread.
> >>
> >> * Successful CI builds for the 4.2 branch:
> >> Unit/integration tests:
> >> https://github.com/apache/kafka/actions/runs/20953445348/job/60245258542
> >> System tests: My environment needs to be recreated before I can share
> >> results from my end, so any results shared by voters would be greatly
> >> appreciated!
> >>
> >> * Successful Docker Image Github Actions Pipeline for 4.2 branch:
> >> Docker Build Test Pipeline (JVM):
> >> https://github.com/apache/kafka/actions/runs/20962291986
> >> Docker Build Test Pipeline (Native):
> >> https://github.com/apache/kafka/actions/runs/20958037429
> >>
> >> Note - when I run the quickstart against the JVM Docker image I need
> >> to specify the process.roles. I do not seem to need to specify the
> >> process.roles if I run the 4.1.1 image. I will run this once again
> >> tomorrow in another clean environment, but if somebody else can
> >> confirm/deny whether they can reproduce this beforehand this would
> >> also be greatly appreciated!
> >>
> >> Thanks,
> >> Christo
> >>
> >
> >
> > --
> > Paolo Patierno
> >
> > *Senior Principal Software Engineer @ IBM**CNCF Ambassador*
> >
> > Twitter : @ppatierno <http://twitter.com/ppatierno>
> > Linkedin : paolopatierno <http://it.linkedin.com/in/paolopatierno>
> > GitHub : ppatierno <https://github.com/ppatierno>
> >
>
>
> --
> Paolo Patierno
>
> *Senior Principal Software Engineer @ IBM**CNCF Ambassador*
>
> Twitter : @ppatierno <http://twitter.com/ppatierno>
> Linkedin : paolopatierno <http://it.linkedin.com/in/paolopatierno>
> GitHub : ppatierno <https://github.com/ppatierno>

Reply via email to