Compatibility
With the release of Kafka 4.0, significant changes have been introduced that impact compatibility across various components. To assist users in planning upgrades and ensuring seamless interoperability, a comprehensive compatibility matrix has been prepared.JDK Compatibility Across Kafka Versions
Module | Kafka Version | Java 11 | Java 17 | Java 23 |
---|---|---|---|---|
Clients | 4.0.0 | ✅ | ✅ | ✅ |
Streams | 4.0.0 | ✅ | ✅ | ✅ |
Connect | 4.0.0 | ❌ | ✅ | ✅ |
Server | 4.0.0 | ❌ | ✅ | ✅ |
Note: Java 8 is removed in Kafka 4.0 and is no longer supported.
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 to dynamic voter, see KAFKA-16538.
Client/Broker Forward Compatibility
Kafka Version | Module | Compatibility with Kafka 4.0 | Key Differences/Limitations |
---|---|---|---|
0.x, 1.x, 2.0 | Client | ❌ Not Compatible | Pre-0.10.x protocols are fully removed in Kafka 4.0 (KIP-896). |
Streams | ❌ Not Compatible | Pre-0.10.x protocols are fully removed in Kafka 4.0 (KIP-896). | |
Connect | ❌ Not Compatible | Pre-0.10.x protocols are fully removed in Kafka 4.0 (KIP-896). | |
2.1 ~ 2.8 | Client | ⚠️ Partially Compatible | More details in the Consumer, Producer, and Admin Client section. |
Streams | ⚠️ Limited Compatibility | More details in the Kafka Streams section. | |
Connect | ⚠️ Limited Compatibility | More details in the Connect section. | |
3.x | Client | ✅ Fully Compatible | |
Streams | ✅ Fully Compatible | ||
Connect | ✅ Fully Compatible |
Note: Starting with Kafka 4.0, the --zookeeper
option in AdminClient commands has been removed. Users must
use the --bootstrap-server
option to interact with the Kafka cluster. This change aligns with the transition
to KRaft mode.