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

Reply via email to