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 Thu, 15 Jan 2026 at 04:45, PoAn Yang <[email protected]> wrote:

> Hello Kafka users, developers and client-developers,
>
> This is the RC0 candidate for release of Apache Kafka 3.9.2.
>
> This is a bug-fix & CVE-fix release like CVE-2024-29371, CVE-2025-58057,
> and CVE-2025-48734. In this version, we have a KIP-1252 to align
> AlterConfigPolicy behavior between ZK and Kraft.
>
> Release notes for the 3.9.2 release:
> https://dist.apache.org/repos/dist/dev/kafka/3.9.2-rc0/RELEASE_NOTES.html
>
> Please download, test and vote by *Wednesday, January 21, 9:00 PM PT*
>
> 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/3.9.2-rc0/
>
> * Docker release artifacts to be voted upon:
> apache/kafka:3.9.2-rc0
> apache/kafka-native:3.9.2-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/3.9.2-rc0/javadoc/
>
> * Tag to be voted upon (off 3.9 branch) is the 3.9.2 tag:
> https://github.com/apache/kafka/releases/tag/3.9.2-rc0
>
> * Documentation:
> https://kafka.apache.org/39/documentation.html
>
> * Protocol:
> https://kafka.apache.org/39/protocol.html
>
> * Successful CI builds for the 3.9 branch:
> Unit/integration tests (There are some flaky tests):
> https://ci-builds.apache.org/job/Kafka/job/kafka/job/3.9/258/
> System tests: https://jenkins.opensource4you.tw/job/kafka-e2e/629/
> For failed tests, they can pass in another run, so the result is green:
> https://drive.google.com/drive/folders/1GXoTYEUu8PjuJYoVvUbAm9LCJotDRfJ-?usp=sharing
>
> * Successful Docker Image Github Actions Pipeline for 3.9 branch:
> Docker Build Test Pipeline (JVM):
> https://github.com/apache/kafka/actions/runs/20997657980
> Docker Build Test Pipeline (Native):
> https://github.com/apache/kafka/actions/runs/20997669079
>
> Thanks,
> PoAn



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