This is an automated email from the ASF dual-hosted git repository.

dajac pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/kafka-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 97e4e7e6a Update doc for 4.0.0 RC3
97e4e7e6a is described below

commit 97e4e7e6ac29245569a5475492b1429b730497cb
Author: David Jacot <[email protected]>
AuthorDate: Wed Mar 12 15:05:03 2025 +0100

    Update doc for 4.0.0 RC3
---
 40/compatibility-summary.html        |  27 +++++
 40/documentation.html                |   6 +-
 40/documentation/compatibility.html  | 201 +++++++++++++++++++++++++++++++++++
 40/{ => documentation}/zk2kraft.html |  12 +--
 40/generated/connect_rest.yaml       |   2 +-
 40/streams/upgrade-guide.html        |  50 +--------
 40/toc.html                          |   5 +-
 40/upgrade.html                      |  58 ++++++----
 40/zk2kraft-summary.html             |  27 +++++
 9 files changed, 314 insertions(+), 74 deletions(-)

diff --git a/40/compatibility-summary.html b/40/compatibility-summary.html
new file mode 100644
index 000000000..bb6f2d581
--- /dev/null
+++ b/40/compatibility-summary.html
@@ -0,0 +1,27 @@
+<!--
+ 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.
+-->
+
+<script><!--#include virtual="js/templateData.js" --></script>
+
+<script id="compatibility-summary-template" type="text/x-handlebars-template">
+<p>
+    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
+    <a href="/{{version}}/documentation/compatibility.html">compatibility 
matrix</a> has been prepared.
+</p>
+</script>
+<div class="p-compatibility-summary"></div>
diff --git a/40/documentation.html b/40/documentation.html
index d95777dc1..b142263ac 100644
--- a/40/documentation.html
+++ b/40/documentation.html
@@ -76,7 +76,11 @@
       <!--#include virtual="ecosystem.html" -->
       <h3 class="anchor-heading"><a id="upgrade" class="anchor-link"></a><a 
href="#upgrade">1.5 Upgrading From Previous Versions</a></h3>
       <!--#include virtual="upgrade.html" -->
-      <h3 class="anchor-heading"><a id="docker" class="anchor-link"></a><a 
href="#docker">1.6 Docker</a></h3>
+      <h3 class="anchor-heading"><a id="zk2kraft-summary" 
class="anchor-link"></a><a href="#zk2kraft-summary">1.6 KRaft vs 
ZooKeeper</a></h3>
+      <!--#include virtual="zk2kraft-summary.html" -->
+      <h3 class="anchor-heading"><a id="compatibility-summary" 
class="anchor-link"></a><a href="#compatibility-summary">1.7 
Compatibility</a></h3>
+      <!--#include virtual="compatibility-summary.html" -->
+      <h3 class="anchor-heading"><a id="docker" class="anchor-link"></a><a 
href="#docker">1.8 Docker</a></h3>
       <!--#include virtual="docker.html" -->
 
     <h2 class="anchor-heading"><a id="api" class="anchor-link"></a><a 
href="#api">2. APIs</a></h2>
diff --git a/40/documentation/compatibility.html 
b/40/documentation/compatibility.html
new file mode 100644
index 000000000..e1b5134ea
--- /dev/null
+++ b/40/documentation/compatibility.html
@@ -0,0 +1,201 @@
+<!--
+ 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>
\ No newline at end of file
diff --git a/40/zk2kraft.html b/40/documentation/zk2kraft.html
similarity index 98%
rename from 40/zk2kraft.html
rename to 40/documentation/zk2kraft.html
index ae7c7ff1b..69e322bb0 100644
--- a/40/zk2kraft.html
+++ b/40/documentation/zk2kraft.html
@@ -15,8 +15,8 @@
  limitations under the License.
 -->
 
-<!--#include virtual="../includes/_header.htm" -->
-<!--#include virtual="../includes/_top.htm" -->
+<!--#include virtual="../../includes/_header.htm" -->
+<!--#include virtual="../../includes/_top.htm" -->
 <div class="content">
 <div class="p-zk2kraft">
     <h1>Differences Between KRaft mode and ZooKeeper mode</h1>
@@ -32,8 +32,8 @@
         <li>
             <p>
                 Removed password encoder-related configurations. These 
configurations were used in
-                ZooKeeper mode to define the key and backup key for encrypting 
sensitive data (e.g., passwords), 
-                specify the algorithm and key generation method for password 
encryption (e.g., AES, RSA), and control 
+                ZooKeeper mode to define the key and backup key for encrypting 
sensitive data (e.g., passwords),
+                specify the algorithm and key generation method for password 
encryption (e.g., AES, RSA), and control
                 the key length and encryption strength.
             </p>
             <ul>
@@ -57,7 +57,7 @@
             <p>
                 In KRaft mode, Kafka eliminates its dependency on ZooKeeper, 
and the control plane functionality is
                 fully integrated into Kafka itself. The process roles are 
clearly separated: brokers handle data-related
-                requests, while the controllers (a.k.a., quorum controller) 
manages metadata-related requests. The controllers 
+                requests, while the controllers (a.k.a., quorum controller) 
manages metadata-related requests. The controllers
                 use the Raft protocol for internal communication, which 
operates differently from the ZooKeeper model. Use the
                 following parameters to configure the control plane listener:
             </p>
@@ -316,5 +316,5 @@
         </li>
     </ul>
 </div>
-<!--#include virtual="../includes/_footer.htm" -->
+<!--#include virtual="../../includes/_footer.htm" -->
 </div>
diff --git a/40/generated/connect_rest.yaml b/40/generated/connect_rest.yaml
index 69639ddb3..c2f837f29 100644
--- a/40/generated/connect_rest.yaml
+++ b/40/generated/connect_rest.yaml
@@ -8,7 +8,7 @@ info:
     name: Apache 2.0
     url: https://www.apache.org/licenses/LICENSE-2.0.html
   title: Kafka Connect REST API
-  version: 4.0.0
+  version: 4.0.0-SNAPSHOT
 paths:
   /:
     get:
diff --git a/40/streams/upgrade-guide.html b/40/streams/upgrade-guide.html
index 89fd62fd9..1c6de66ab 100644
--- a/40/streams/upgrade-guide.html
+++ b/40/streams/upgrade-guide.html
@@ -1725,73 +1725,33 @@
 
     <h3 class="anchor-heading"><a id="streams_api_broker_compat" 
class="anchor-link"></a><a href="#streams_api_broker_compat">Streams API broker 
compatibility</a></h3>
 
-    <p>The following table shows which versions of the Kafka Streams API are 
compatible with various Kafka broker versions.</p>
+    <p>The following table shows which versions of the Kafka Streams API are 
compatible with various Kafka broker versions. For Kafka Stream version older 
than 2.4.x, please check <a href="/39/documentation/streams/upgrade-guide">3.9 
upgrade document</a>.</p>
 
     <table border="1" class="non-scrolling-table docutils">
         <thead>
           <tr>
             <th></th>
-            <th colspan="5">Kafka Broker (columns)</th>
+            <th colspan="2">Kafka Broker (columns)</th>
           </tr>
         </thead>
         <tbody>
           <tr>
             <td>Kafka Streams API (rows)</td>
-            <td>0.10.0.x</td>
-            <td>0.10.1.x and 0.10.2.x</td>
-            <td>0.11.0.x and<br>1.0.x and<br>1.1.x and<br>2.0.x</td>
             <td>2.1.x and<br>2.2.x and<br>2.3.x and<br>2.4.x and<br>2.5.x 
and<br>2.6.x and<br>2.7.x and<br>2.8.x and<br>3.0.x and<br>3.1.x and<br>3.2.x 
and<br>3.3.x and<br>3.4.x and<br>3.5.x and<br>3.6.x and<br>3.7.x and<br>3.8.x 
and<br>3.9.x</td>
             <td>4.0.x</td>
           </tr>
           <tr>
-            <td>0.10.0.x</td>
+            <td>2.4.x and<br>2.5.x</td>
             <td>compatible</td>
             <td>compatible</td>
-            <td>compatible</td>
-            <td>compatible</td>
-            <td></td>
           </tr>
           <tr>
-            <td>0.10.1.x and 0.10.2.x</td>
-            <td></td>
-            <td>compatible</td>
-            <td>compatible</td>
-            <td>compatible</td>
-            <td></td>
-          </tr>
-          <tr>
-            <td>0.11.0.x</td>
-            <td></td>
-            <td>compatible with exactly-once turned off<br>(requires broker 
version 0.11.0.x or higher)</td>
-            <td>compatible</td>
-            <td></td>
-          </tr>
-          <tr>
-            <td>1.0.x and<br>1.1.x and<br>2.0.x and<br>2.1.x and<br>2.2.0 
and<br>2.2.0</td>
-            <td></td>
-            <td>compatible with exactly-once turned off<br>(requires broker 
version 0.11.0.x or higher);<br>requires message format 0.10 or 
higher;<br>message headers are not supported<br>(requires broker version 
0.11.0.x or higher<br>with message format 0.11 or higher)</td>
-            <td>compatible; requires message format 0.10 or higher;<br>if 
message headers are used, message format 0.11<br>or higher required</td>
-            <td>compatible</td>
-            <td></td>
-          </tr>
-          <tr>
-            <td>2.2.1 and<br>2.3.x and<br>2.4.x and<br>2.5.x and<br>2.6.x 
and<br>2.7.x and<br>2.8.x and<br>3.0.x and<br>3.1.x and<br>3.2.x and<br>3.3.x 
and<br>3.4.x and<br>3.5.x and<br>3.6.x and<br>3.7.x and<br>3.8.x 
and<br>3.9.x</td>
-            <td></td>
-            <td></td>
-            <td>compatible; requires message format 0.11 or 
higher;<br>enabling exactly-once v2 requires 2.5.x or higher</td>
-            <td>compatible</td>
-            <td></td>
-          </tr>
-          <tr>
-            <td>4.0.x</td>
-            <td></td>
-            <td></td>
-            <td></td>
+            <td>2.6.x and<br>2.7.x and<br>2.8.x and<br>3.0.x and<br>3.1.x 
and<br>3.2.x and<br>3.3.x and<br>3.4.x and<br>3.5.x and<br>3.6.x and<br>3.7.x 
and<br>3.8.x and<br>3.9.x and<br>4.0.x</td>
             <td>compatible; enabling exactly-once v2 requires broker version 
2.5.x or higher</td>
             <td>compatible</td>
           </tr>
         </tbody>
-        </table>
+    </table>
 
     <div class="pagination">
         <a 
href="/{{version}}/documentation/streams/developer-guide/app-reset-tool" 
class="pagination__btn pagination__btn__prev">Previous</a>
diff --git a/40/toc.html b/40/toc.html
index 906860b93..c42961cf7 100644
--- a/40/toc.html
+++ b/40/toc.html
@@ -27,8 +27,9 @@
                 <li><a href="#quickstart">1.3 Quick Start</a>
                 <li><a href="#ecosystem">1.4 Ecosystem</a>
                 <li><a href="#upgrade">1.5 Upgrading</a>
-                <li><a href="/{{version}}/zk2kraft">1.6 Differences Between 
KRaft mode and ZooKeeper mode</a>
-                <li><a href="#docker">1.7 Docker</a>
+                <li><a href="#zk2kraft-summary">1.6 KRaft vs ZooKeeper</a>
+                <li><a href="#compatibility-summary">1.7 Compatibility</a>
+                <li><a href="#docker">1.8 Docker</a>
             </ul>
         
         <li><a href="#api">2. APIs</a>
diff --git a/40/upgrade.html b/40/upgrade.html
index 5d3d6caec..eba558f39 100644
--- a/40/upgrade.html
+++ b/40/upgrade.html
@@ -19,7 +19,32 @@
 
 <script id="upgrade-template" type="text/x-handlebars-template">
 
-<h4><a id="upgrade_4_0_0" href="#upgrade_4_0_0">Upgrading to 4.0.0 from any 
version 0.8.x through 3.9.x</a></h4>
+<h4><a id="upgrade_4_0_0" href="#upgrade_4_0_0">Upgrading to 4.0.0</a></h4>
+
+<h5><a id="upgrade_clients_4_0_0" href="#upgrade_clients_4_0_0">Upgrading 
Clients to 4.0.0</a></h5>
+
+<p><b>For a rolling upgrade:</b></p>
+
+<ol>
+    <li>Upgrade the clients one at a time: shut down the client, update the 
code, and restart it.</li>
+    <li>Clients (including Streams and Connect) must be on version 2.1 or 
higher before upgrading to 4.0. Many deprecated APIs were removed in Kafka 4.0.
+        For more information about the compatibility, please refer to the <a 
href="/{{version}}/documentation/compatibility.html">compatibility matrix</a>
+        or <a 
href="https://cwiki.apache.org/confluence/x/y4kgF";>KIP-1124</a>.</li>
+</ol>
+
+<h6><a id="upgrade_clients_400_notable" 
href="#upgrade_clients_400_notable">Notable changes in 4.0.0</a></h6>
+
+<ul>
+    <li>Please see notable changes in the server section.</li>
+</ul>
+
+<h5><a id="upgrade_servers_4_0_0" href="#upgrade_servers_4_0_0">Upgrading 
Servers to 4.0.0 from any version 3.3.x through 3.9.x</a></h5>
+
+<p>Note: Apache Kafka 4.0 only supports KRaft mode - ZooKeeper mode has been 
removed. As such, <b>broker upgrades to 4.0.0 (and higher) require KRaft mode 
and
+    the software and metadata versions must be at least 3.3.x</b> (the first 
version when KRaft mode was deemed production ready). For clusters in KRaft mode
+    with versions older than 3.3.x, we recommend upgrading to 3.9.x before 
upgrading to 4.0.x. Clusters in ZooKeeper mode
+    have to be <a 
href="/{{version}}/documentation.html#kraft_zk_migration">migrated to KRaft 
mode</a> before they can be upgraded to 4.0.x.
+</p>
 
 <p><b>For a rolling upgrade:</b></p>
 
@@ -36,12 +61,9 @@
         Every <a 
href="https://github.com/apache/kafka/blob/trunk/server-common/src/main/java/org/apache/kafka/server/common/MetadataVersion.java";>MetadataVersion</a>
         has a boolean parameter that indicates if there are metadata changes 
(i.e. <code>IBP_4_0_IV1(23, "4.0", "IV1", true)</code> means this version has 
metadata changes).
         Given your current and target versions, a downgrade is only possible 
if there are no metadata changes in the versions between.</li>
-    <li>For the Kafka client upgrade path, note that many deprecated APIs were 
removed in Kafka 4.0. Additionally, upgrading directly to 4.x from certain 
versions is not feasible.
-        For more information, please refer to <a 
href="https://cwiki.apache.org/confluence/x/y4kgF";>KIP-1124</a>.
-    </li>
 </ol>
 
-    <h5><a id="upgrade_400_notable" href="#upgrade_400_notable">Notable 
changes in 4.0.0</a></h5>
+    <h5><a id="upgrade_servers_400_notable" 
href="#upgrade_servers_400_notable">Notable changes in 4.0.0</a></h5>
     <ul>
         <li>
             Old protocol API versions have been removed. Users should ensure 
brokers are version 2.1 or higher before upgrading Java clients
@@ -51,13 +73,11 @@
             <a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-896%3A+Remove+old+client+protocol+API+versions+in+Kafka+4.0";>KIP-896</a>
 for the details.
         </li>
         <li>
-            Apache Kafka 4.0 only supports KRaft mode - ZooKeeper mode has 
been removed. As such, broker upgrades to 4.0.x (and higher) require KRaft mode 
and
-            the software and metadata versions must be at least 3.3.x (the 
first version when KRaft mode was deemed production ready). For clusters in 
KRaft mode
-            with versions older than 3.3.x, we recommend upgrading to 3.9.x 
before upgrading to 4.0.x. Clusters in ZooKeeper mode
-            have to be <a 
href="/39/documentation.html#kraft_zk_migration">migrated to KRaft mode</a> 
before they can be upgraded to 4.0.x.
+            Apache Kafka 4.0 only supports KRaft mode - ZooKeeper mode has 
been removed. About version upgrade,
+            check <a 
href="/{{version}}/documentation.html#upgrade_4_0_0">Upgrading to 4.0.0 from 
any version 3.3.x through 3.9.x</a> for more info.
         </li>
         <li>
-            Apache Kafka 4.0 ships with a brand-new group coordinator 
implementation (See <a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=217387038#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-GroupCoordinator";>here</a>.
+            Apache Kafka 4.0 ships with a brand-new group coordinator 
implementation (See <a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=217387038#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-GroupCoordinator";>here</a>).
             Functionally speaking, it implements all the same APIs. There are 
reasonable defaults, but the behavior of the new
             group coordinator can be tuned by setting the configurations with 
prefix <code>group.coordinator</code>.
         </li>
@@ -87,7 +107,7 @@
         </li>
         <li>A number of deprecated classes, methods, configurations and tools 
have been removed.
             <ul>
-                <li><b>Common</b>
+                <li><a id="upgrade_400_notable_common" 
href="#upgrade_400_notable_common"><b>Common</b></a>
                     <ul>
                         <li>The <code>metrics.jmx.blacklist</code> and 
<code>metrics.jmx.whitelist</code> configurations were removed from the 
<code>org.apache.kafka.common.metrics.JmxReporter</code>
                             Please use <code>metrics.jmx.exclude</code> and 
<code>metrics.jmx.include</code> respectively instead.
@@ -130,7 +150,7 @@
                         </li>
                     </ul>
                 </li>
-                <li><b>Broker</b>
+                <li><a id="upgrade_400_notable_broker" 
href="#upgrade_400_notable_broker"><b>Broker</b></a>
                     <ul>
                         <li>The <code>delegation.token.master.key</code> 
configuration was removed.
                             Please use 
<code>delegation.token.secret.key</code> instead.
@@ -163,7 +183,7 @@
                         </li>
                     </ul>
                 </li>
-                <li><b>MirrorMaker</b>
+                <li><a id="upgrade_400_notable_MirrorMaker" 
href="#upgrade_400_notable_MirrorMaker"><b>MirrorMaker</b></a>
                     <ul>
                         <li>The original MirrorMaker (MM1) and related classes 
were removed. Please use the Connect-based
                             MirrorMaker (MM2), as described in the <a 
href="/{{version}}/documentation/#georeplication">Geo-Replication section.</a>.
@@ -185,7 +205,7 @@
                         </li>
                     </ul>
                 </li>
-                <li><b>Tools</b>
+                <li><a id="upgrade_400_notable_tools" 
href="#upgrade_400_notable_tools"><b>Tools</b></a>
                     <ul>
                         <li>The <code>kafka.common.MessageReader</code> class 
was removed. Please use the
                             <a 
href="/{{version}}/javadoc/org/apache/kafka/tools/api/RecordReader.html"><code>org.apache.kafka.tools.api.RecordReader</code></a>
@@ -236,7 +256,7 @@
                         </li>
                     </ul>
                 </li>
-                <li><b>Connect</b>
+                <li><a id="upgrade_400_notable_connect" 
href="#upgrade_400_notable_connect"><b>Connect</b></a>
                     <ul>
                         <li>The <code>whitelist</code> and 
<code>blacklist</code> configurations were removed from the 
<code>org.apache.kafka.connect.transforms.ReplaceField</code> transformation.
                             Please use <code>include</code> and 
<code>exclude</code> respectively instead.
@@ -248,7 +268,7 @@
                         </li>
                     </ul>
                 </li>
-                <li><b>Consumer</b>
+                <li><a id="upgrade_400_notable_consumer" 
href="#upgrade_400_notable_consumer"><b>Consumer</b></a>
                     <ul>
                         <li>The <code>poll(long)</code> method was removed 
from the consumer. Please use <code>poll(Duration)</code> instead. Note that 
there is
                             a difference in behavior between the two methods. 
The <code>poll(Duration)</code> method does not block beyond the timeout 
awaiting
@@ -263,7 +283,7 @@
                         </li>
                     </ul>
                 </li>
-                <li><b>Producer</b>
+                <li><a id="upgrade_400_notable_producer" 
href="#upgrade_400_notable_producer"><b>Producer</b></a>
                     <ul>
                         <li>The <code>enable.idempotence</code> configuration 
will no longer automatically fall back when the 
<code>max.in.flight.requests.per.connection</code> value exceeds 5.
                         </li>
@@ -274,7 +294,7 @@
                         </li>
                     </ul>
                 </li>
-                <li><b>Admin client</b>
+                <li><a id="upgrade_400_notable_admin_client" 
href="#upgrade_400_notable_admin_client"><b>Admin client</b></a>
                     <ul>
                         <li>
                             The <code>alterConfigs</code> method was removed 
from the <code>org.apache.kafka.clients.admin.Admin</code>.
@@ -318,7 +338,7 @@
                         </li>
                     </ul>
                 </li>
-                <li><b>Kafka Streams</b>
+                <li><a id="upgrade_400_notable_kafka_streams" 
href="#upgrade_400_notable_kafka_streams"><b>Kafka Streams</b></a>
                     <ul>
                         <li>
                            All public API, deprecated in Apache Kafka 3.6 or 
an earlier release, have been removed, with the exception of 
<code>JoinWindows.of()</code> and <code>JoinWindows#grace()</code>.
diff --git a/40/zk2kraft-summary.html b/40/zk2kraft-summary.html
new file mode 100644
index 000000000..9ed9c2a54
--- /dev/null
+++ b/40/zk2kraft-summary.html
@@ -0,0 +1,27 @@
+<!--
+ 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.
+-->
+
+<script><!--#include virtual="js/templateData.js" --></script>
+
+<script id="zk2kraft-summary-template" type="text/x-handlebars-template">
+<p>
+    There are many differences between ZooKeeper mode and KRaft mode.
+    The <a href="/{{version}}/documentation/zk2kraft.html">Differences Between 
KRaft mode and ZooKeeper mode</a> page lists all of these differences,
+    including configurations, metrics, and behavioral changes.
+</p>
+</script>
+<div class="p-zk2kraft-summary"></div>

Reply via email to