[
https://issues.apache.org/jira/browse/KAFKA-18074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17902095#comment-17902095
]
黃竣陽 commented on KAFKA-18074:
-----------------------------
JDK Compatibility Across Kafka Versions
||*Module*||*Kafka Version*||*Java 8*||*Java 11*||*Java 17*||*Java 23*||
|*Client*|4.0.0|❌|✅|✅|✅|
|*Streams*|4.0.0|❌|✅|✅|✅|
|*Connect*|4.0.0|❌|❌|✅|✅|
|*Server*|4.0.0|❌|❌|✅|✅|
Server Compatibility
||*KRaft Cluster Version*||*Compatibility 4.0 Server (dynamic
voter)*||*Compatibility 4.0 Server (static voter)*||
|*before 3.2.x*|❌|❌|
|*3.3.x*|❌|✅|
|*3.4.x*|❌|✅|
|*3.5.x*|❌|✅|
|*3.6.x*|❌|✅|
|*3.7.x*|❌|✅|
|*3.8.x*|❌|✅|
|*3.9.x*|✅|✅|
|*4.0.x*|✅|✅|
note: Can’t upgrade server from static voter from dynamic voter, see
[KAFKA-16538](https://issues.apache.org/jira/browse/KAFKA-16538)
||*Kafka Version*||*Module*||*Compatibility with Kafka 4.0*||*Key
Differences/Limitations*||
|*0.x*|*Client*|❌ Not Compatible|- Pre-0.10.x protocols are fully removed in
Kafka 4.0
([KIP-896|https://cwiki.apache.org/confluence/display/KAFKA/KIP-896]).|
| |*Streams*|❌ Not Available|- Kafka Streams introduced in Kafka 0.10.x.|
| |*Connect*|⚠️ Limited Compatibility|- Connect introduced in Kafka 0.9.x but
lacks support for modern features like IncrementalAlterConfigs and dynamic
configs.|
|*1.x*|*Client*|⚠️ Limited Compatibility|- Supports brokers >= 0.10.x.
- Does not support newer features like idempotent producer or transactional
API.|
| |*Streams*|⚠️ Limited Compatibility|- Basic Streams features available.
- Exactly-once semantics unavailable (requires Kafka 2.4.x or later).|
| |*Connect*|⚠️ Limited Compatibility|- IncrementalAlterConfigs not supported
before Kafka 2.3.x.|
|*2.x*|*Client*|⚠️ Partially Compatible|- Compatible with brokers >= 0.10.x but
lacks optimizations for Kafka 4.0.
- Pre-0.10.x protocols removed in 4.0.|
| |*Streams*|⚠️ Limited Compatibility|- Exactly-once semantics unavailable
(requires Kafka 2.4.x or later).
- Pre-2.4.x brokers lack key Streams features.|
| |*Connect*|⚠️ Limited Compatibility|- MirrorMaker 1 supported in 2.x but
removed in 4.0.
- IncrementalAlterConfigs unsupported before Kafka 2.3.x.|
|*3.x*|*Client*|✅ Fully Compatible|- Fully compatible with Kafka 4.0 brokers.
- Lacks access to optimizations introduced in Kafka 4.0.|
| |*Streams*|✅ Fully Compatible|- Supports exactly-once semantics (introduced
in Kafka 2.4.x).
- Topic IDs introduced in Kafka 3.0.|
| |*Connect*|✅ Fully Compatible|- MirrorMaker 2 fully supported.
- Dynamic configuration updates available from Kafka 3.x.|
> Add kafka client compatibility matrix
> -------------------------------------
>
> Key: KAFKA-18074
> URL: https://issues.apache.org/jira/browse/KAFKA-18074
> Project: Kafka
> Issue Type: Sub-task
> Reporter: Chia-Ping Tsai
> Assignee: 黃竣陽
> Priority: Major
>
> in 4.0 we have many major breaking changes - JDK upgrade and protocol cleanup
> - that may confuse users in rolling upgrade and setup env. Hence, we should
> add a matrix for all our client modules - client, streams, and connect
> the matrix consists of following item.
> 1. supported JDKs
> 2. supported broker versions
--
This message was sent by Atlassian Jira
(v8.20.10#820010)