mirror of https://github.com/apache/kafka.git
201 lines
7.1 KiB
HTML
201 lines
7.1 KiB
HTML
<!--
|
||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||
contributor license agreements. See the NOTICE file distributed with
|
||
this work for additional information regarding copyright ownership.
|
||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||
(the "License"); you may not use this file except in compliance with
|
||
the License. You may obtain a copy of the License at
|
||
|
||
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
||
Unless required by applicable law or agreed to in writing, software
|
||
distributed under the License is distributed on an "AS IS" BASIS,
|
||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
See the License for the specific language governing permissions and
|
||
limitations under the License.
|
||
-->
|
||
|
||
<!--#include virtual="../../includes/_header.htm" -->
|
||
<!--#include virtual="../../includes/_top.htm" -->
|
||
<div class="content">
|
||
<div class="p-compatibility">
|
||
<h1>Compatibility</h1>
|
||
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.
|
||
<h2 class="anchor-heading">JDK Compatibility Across Kafka Versions</h2>
|
||
<table>
|
||
<tr>
|
||
<th>Module</th>
|
||
<th>Kafka Version</th>
|
||
<th>Java 11</th>
|
||
<th>Java 17</th>
|
||
<th>Java 23</th>
|
||
</tr>
|
||
<tr>
|
||
<td>Clients</td>
|
||
<td>4.0.0</td>
|
||
<td>✅</td>
|
||
<td>✅</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Streams</td>
|
||
<td>4.0.0</td>
|
||
<td>✅</td>
|
||
<td>✅</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Connect</td>
|
||
<td>4.0.0</td>
|
||
<td>❌</td>
|
||
<td>✅</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Server</td>
|
||
<td>4.0.0</td>
|
||
<td>❌</td>
|
||
<td>✅</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
</table>
|
||
<p><strong>Note: Java 8 is removed in Kafka 4.0 and is no longer supported.</strong></p>
|
||
|
||
<h2 class="anchor-heading">Server Compatibility</h2>
|
||
<table>
|
||
<tr>
|
||
<th>KRaft Cluster Version</th>
|
||
<th>Compatibility 4.0 Server (dynamic voter)</th>
|
||
<th>Compatibility 4.0 Server (static voter)</th>
|
||
</tr>
|
||
<tr>
|
||
<td>before 3.2.x</td>
|
||
<td>❌</td>
|
||
<td>❌</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3.3.x</td>
|
||
<td>❌</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3.4.x</td>
|
||
<td>❌</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3.5.x</td>
|
||
<td>❌</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3.6.x</td>
|
||
<td>❌</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3.7.x</td>
|
||
<td>❌</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3.8.x</td>
|
||
<td>❌</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3.9.x</td>
|
||
<td>✅</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
<tr>
|
||
<td>4.0.x</td>
|
||
<td>✅</td>
|
||
<td>✅</td>
|
||
</tr>
|
||
</table>
|
||
<p><strong>Note: Can’t upgrade server from static voter to dynamic
|
||
voter, see <a href="https://issues.apache.org/jira/browse/KAFKA-16538">KAFKA-16538</a>.</strong></p>
|
||
|
||
<h4>Client/Broker Forward Compatibility</h4>
|
||
<table>
|
||
<tr>
|
||
<th>Kafka Version</th>
|
||
<th>Module</th>
|
||
<th>Compatibility with Kafka 4.0</th>
|
||
<th>Key Differences/Limitations</th>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="3">0.x, 1.x, 2.0</td>
|
||
<td>Client</td>
|
||
<td>❌ Not Compatible</td>
|
||
<td>Pre-0.10.x protocols are fully removed in Kafka 4.0 (<a
|
||
href="https://cwiki.apache.org/confluence/x/K5sODg">KIP-896</a>).
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Streams</td>
|
||
<td>❌ Not Compatible</td>
|
||
<td>Pre-0.10.x protocols are fully removed in Kafka 4.0 (<a
|
||
href="https://cwiki.apache.org/confluence/x/K5sODg">KIP-896</a>).
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Connect</td>
|
||
<td>❌ Not Compatible</td>
|
||
<td>Pre-0.10.x protocols are fully removed in Kafka 4.0 (<a
|
||
href="https://cwiki.apache.org/confluence/x/K5sODg">KIP-896</a>).
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="3">2.1 ~ 2.8</td>
|
||
<td>Client</td>
|
||
<td>⚠️ Partially Compatible</td>
|
||
<td>
|
||
More details in the <a href="/40/documentation.html#upgrade_400_notable_consumer">Consumer</a>,
|
||
<a href="/40/documentation.html#upgrade_400_notable_producer">Producer</a>, and
|
||
<a href="/40/documentation.html#upgrade_400_notable_admin_client">Admin Client</a> section.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Streams</td>
|
||
<td>⚠️ Limited Compatibility</td>
|
||
<td>
|
||
More details in the <a href="/40/documentation.html#upgrade_400_notable_kafka_streams">Kafka Streams</a> section.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Connect</td>
|
||
<td>⚠️ Limited Compatibility</td>
|
||
<td>
|
||
More details in the <a href="/40/documentation.html#upgrade_400_notable_connect">Connect</a> section.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="3">3.x</td>
|
||
<td>Client</td>
|
||
<td>✅ Fully Compatible</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Streams</td>
|
||
<td>✅ Fully Compatible</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Connect</td>
|
||
<td>✅ Fully Compatible</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
Note: Starting with Kafka 4.0, the <code>--zookeeper</code> option in AdminClient commands has been removed. Users must
|
||
use the <code>--bootstrap-server</code> option to interact with the Kafka cluster. This change aligns with the transition
|
||
to KRaft mode.
|
||
</p>
|
||
|
||
</div>
|
||
<!--#include virtual="../../includes/_footer.htm" -->
|
||
</div> |