divijvaidya commented on code in PR #578:
URL: https://github.com/apache/kafka-site/pull/578#discussion_r1495858647


##########
blog.html:
##########
@@ -22,6 +22,125 @@
         <!--#include virtual="includes/_nav.htm" -->
         <div class="right">
             <h1 class="content-title">Blog</h1>
+            <article>
+                <h2 class="bullet">
+                    <a id="apache_kafka_370_release_announcement"></a>
+                    <a href="#apache_kafka_370_release_announcement">Apache 
Kafka 3.7.0 Release Announcement</a>
+                </h2>
+                February 2024 - Stanislav Kozlovski (<a 
href="https://twitter.com/BdKozlovski";>@BdKozlovski</a>)
+                <p>We are proud to announce the release of Apache Kafka 3.7.0. 
This release contains many new features and improvements. This blog post will 
highlight some of the more prominent features. For a full list of changes, be 
sure to check the <a 
href="https://downloads.apache.org/kafka/3.7.0/RELEASE_NOTES.html";>release 
notes</a>.</p>
+                <p>See the <a 
href="https://kafka.apache.org/36/documentation.html#upgrade_3_7_0";>Upgrading 
to 3.7.0 from any version 0.8.x through 3.6.x</a> section in the documentation 
for the list of notable changes and detailed upgrade steps.</p>
+                <p>
+                    In the last release, 3.6,
+                    <a 
href="https://kafka.apache.org/documentation/#kraft_zk_migration";>the ability 
to migrate Kafka clusters from a ZooKeeper metadata system</a>
+                    to a KRaft metadata system was ready for usage in 
production environments with one caveat -- JBOD was not yet available for KRaft 
clusters.
+                    In this release, we are shipping an early access release 
of JBOD in KRaft. (See <a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-858%3A+Handle+JBOD+broker+disk+failure+in+KRaft";>KIP-858</a>
 for details)
+                </p>
+                <p>
+                    Additionally, client APIs released prior to Apache Kafka 
2.1 are now marked deprecated in 3.7 and will be removed in Apache Kafka 4.0. 
See <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 details and RPC versions that are now deprecated.
+                </p>
+                <p>
+                    Java 11 support for the Kafka broker is also marked 
deprecated in 3.7, and is planned to be removed in Kafka 4.0. See <a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=284789510";>KIP-1013</a>
 for more details
+                </p>
+                <p>
+                    <i>Note: ZooKeeper is marked as deprecated since the 3.5.0 
release. ZooKeeper is planned to be removed in Apache Kafka 4.0. For more 
information, please see the documentation for <a 
href="https://kafka.apache.org/documentation/#zk_depr";>ZooKeeper 
Deprecation</a></i>.
+                </p>
+
+                <h3>Kafka Broker, Controller, Producer, Consumer and Admin 
Client</h3>
+                <ul>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-858%3A+Handle+JBOD+broker+disk+failure+in+KRaft";>(Early
 Access) KIP-858 Handle JBOD broker disk failure in KRaft</a>:
+                        </b><br>This update closes the gap on one of the last 
major missing features in KRaft by adding JBOD support in KRaft-based clusters.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-714%3A+Client+metrics+and+observability";>KIP-714
 Client metrics and observability</a>:
+                        </b><br>With KIP-714, operators get better visibility 
into the clients connecting to their cluster with broker-side support of 
client-level metrics via a standardized telemetry interface.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-1000%3A+List+Client+Metrics+Configuration+Resources";>KIP-1000
 List Client Metrics Configuration Resources</a>:
+                        </b><br>KIP-1000 supports KIP-714 by introducing a way 
to create, read, update, and delete the client metrics configuration resources 
using the existing RPCs and the kafka-configs.sh tool.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol";>(Early
 Access) KIP-848 The Next Generation of the Consumer Rebalance Protocol</a>:
+                        </b><br>The new simplified Consumer Rebalance Protocol 
moves complexity away from the consumer and into the Group Coordinator within 
the broker and completely revamps the protocol to be incremental in nature. It 
provides the same guarantee as the current protocol––but better and more 
efficient, including no longer relying on a global synchronization barrier. <a 
href="https://cwiki.apache.org/confluence/display/KAFKA/The+Next+Generation+of+the+Consumer+Rebalance+Protocol+%28KIP-848%29+-+Early+Access+Release+Notes";>See
 the early access release notes for more information.</a>
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-951%3A+Leader+discovery+optimisations+for+the+client";>KIP-951
 Leader discovery optimisations for the client</a>:
+                        </b><br>KIP-951 optimizes the time it takes for a 
client to discover the new leader of a partition, leading to reduced end-to-end 
latency of produce/fetch requests in the presence of leadership changes (broker 
restarts, partition reassignments, etc.).
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-975%3A+Docker+Image+for+Apache+Kafka";>KIP-975
 Docker Image for Apache Kafka</a>:
+                        </b><br>Introduces a <a 
href="https://docs.docker.com/trusted-content/dsos-program/";>Sponsored OSS</a> 
Apache Kafka Docker image, enabling quicker testing and deployment, as well as 
onboarding of developers.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-580%3A+Exponential+Backoff+for+Kafka+Clients";>KIP-580
 Exponential Backoff for Kafka Clients</a>:
+                        </b><br>Changes the client’s retry backoff time used 
for retrying failed requests from a static one to an exponentially-increasing 
one. This should help reduce slow metadata convergence after broker failure due 
to overload.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-963%3A+Additional+metrics+in+Tiered+Storage";>KIP-963
 Additional metrics in Tiered Storage</a>:
+                        </b><br>KIP-405 brought the early access of Tiered 
Storage, and with this update we’re introducing new metrics for the feature, 
allowing you to better monitor performance, troubleshoot, and prevent issues.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-979%3A+Allow+independently+stop+KRaft+processes";>KIP-979
 Allow independently stop KRaft processes</a>:
+                        </b><br>Adds a way to independently stop KRaft 
processes in cases where operators are running in combined mode (a controller 
and broker in the same node). Previously, you could only stop both. The command 
line for stopping Kafka nodes now includes a pair of optional and mutually 
exclusive parameters "[--process-role]" OR "[--node-id]" to use with 
./bin/kafka-server-stop.sh.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-890%3A+Transactions+Server-Side+Defense";>KIP-890
 Transactions Server-Side Defense</a>:
+                        </b><br>Another part of this KIP shipped, this time 
adding transaction verification preventing hanging transactions for consumer 
offset partitions.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-896%3A+Remove+old+client+protocol+API+versions+in+Kafka+4.0";>KIP-896
 Remove old client protocol API versions in Kafka 4.0</a>:
+                        </b><br>Remove old client protocol API versions in 
Kafka 4.0.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-919%3A+Allow+AdminClient+to+Talk+Directly+with+the+KRaft+Controller+Quorum+and+add+Controller+Registration";>KIP-919
 Allow AdminClient to Talk Directly with the KRaft Controller Quorum and add 
Controller Registration</a>:
+                        </b><br>Allows the AdminClient to talk directly with 
the KRaft Controller Quorum, which allows us to support operations like 
DESCRIBE_QUORUM and INCREMENTAL_ALTER_CONFIGS to dynamically change the log4j 
levels on a KRaft controller. This helps with debugging scenarios where other 
parts of the system are down.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=263429128";>KIP-978
 Allow dynamic reloading of certificates with different DN / SANs</a>:
+                        </b><br>Allows configurability to prevent checks that 
ensure DN (Distinguished Name) and SAN (Subject Alternative Names) are the same 
between old and new keystores when they’re being reload. This ultimately allows 
dynamic reloading of certificates that have different DN/SANs.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-1001%3A+Add+CurrentControllerId+Metric";>KIP-1001
 Add CurrentControllerId Metric</a>:
+                        </b><br>Adds a CurrentControllerId metric, allowing 
users to find the current controller by looking at the metrics of any Kafka 
broker/controller.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-938%3A+Add+more+metrics+for+measuring+KRaft+performance";>KIP-938
 Add more metrics for measuring KRaft performance</a>:
+                        </b><br>We’ve added 11 new metrics for measuring 
KRaft-mode performance, including ActiveControllersCount, 
CurrentMetadataVersion and TimedOutBrokerHeartbeatCount.
+                    </li>
+                </ul>
+                <h3>Kafka Streams</h3>
+                <ul>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-925%3A+Rack+aware+task+assignment+in+Kafka+Streams";>KIP-925
 Rack aware task assignment in Kafka Streams</a>:
+                        </b><br>In part one of KIP-925, the min_traffic 
assignment strategy for Kafka Streams was added. Part two finishes the KIP by 
introducing the second rack-aware assignment strategy: balanced_subtopology.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-954%3A+expand+default+DSL+store+configuration+to+custom+types";>KIP-954
 Expand default DSL store configuration to custom types</a>:
+                        </b><br>KIP-954 builds on KIP-591 and allows users to 
provide a default state store provider for their custom stores. As part of this 
change, a new interface has been provided along with default support for 
RocksDB and in-memory state stores.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-962%3A+Relax+non-null+key+requirement+in+Kafka+Streams";>KIP-962
 Relax non-null key requirement in Kafka Streams</a>:
+                        </b><br>Kafka Streams treated records with null-keys 
as invalid input for joins and dropped them on the floor. KIP-962 relaxes this 
behavior for various left-joins and thus allows null-key records to be 
processed successfully.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-988%3A+Streams+Standby+Update+Listener";>KIP-988
 Streams Standby Update Listener</a>:
+                        </b><br>Adds a new interface for handling cases where 
standby tasks have their a) state stores registered, b) load a batch of records 
and c) stop updates.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-960%3A+Support+single-key_single-timestamp+interactive+queries+%28IQv2%29+for+versioned+state+stores";>KIP-960</a>
 / <a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-968%3A+Support+single-key_multi-timestamp+interactive+queries+%28IQv2%29+for+versioned+state+stores";>KIP-968</a>
 IQ support for Versioned State Stores:
+                        </b><br>Version state stores got added in Apache Kafka 
3.5 release (KIP-889), but it was not possible so far to query the new stores. 
KIP-960 and KIP-968 close this gap by adding new query types for IQv2 namely 
VersionedKeyQuery and MultiVersionedKeyQuery, respectively. Both queries allow 
you to do lookups for a single key, to ask for the most recent value, a 
historic value, or a range of historic values for the provided key.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-985%3A+Add+reverseRange+and+reverseAll+query+over+kv-store+in+IQv2";>KIP-985
 Add reverseRange and reverseAll query over kv-store in IQv2</a>:
+                        </b><br>IQv2 supports RangeQueries which allow you to 
query for a range of keys. However, the API did not provide any guarantee about 
the ordering of the returned result. With KIP-985 it’s now possible to request 
the result to be ordered (per partition) in either ascending or descending 
order, or leave the order unspecified.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-992%3A+Proposal+to+introduce+IQv2+Query+Types%3A+TimestampedKeyQuery+and+TimestampedRangeQuery";>KIP-992
 Introduce IQv2 Query Types: TimestampedKeyQuery and TimestampedRangeQuery</a>:
+                        </b><br>Finally, KIP-992 adds new timestamped-key and 
timestamped-range interactive queries for timestamped key-value state stores. 
This change improves the type safety of the IQv2 API. The existing RangeQuery 
now always returns only the value if issued against a timestamped key-value 
store.
+                    </li>
+                </ul>
+                <h3>Kafka Connect</h3>
+                <ul>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-976%3A+Cluster-wide+dynamic+log+adjustment+for+Kafka+Connect";>KIP-976
 Cluster-wide dynamic log adjustment for Kafka Connect</a>:
+                        </b><br>KIP-495 introduced the ability for users to 
dynamically change the log level of individual workers in their connect 
cluster. To address situations when it is not possible to target an individual 
worker, KIP-976 allows for dynamic log-level changes to be broadcast to all 
workers across the cluster in a single update.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-980%3A+Allow+creating+connectors+in+a+stopped+state";>KIP-980
 Allow creating connectors in a stopped state</a>:
+                        </b><br>This update allows users to create new 
Connectors in a STOPPED or PAUSED state, enabling use cases like migrating 
connectors. There is now a new optional "initial_state" field during connector 
creation.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-959%3A+Add+BooleanConverter+to+Kafka+Connect";>KIP-959
 Add BooleanConverter to Kafka Connect</a>:
+                        </b><br>KIP-959 adds a BooleanConverter to Connect, 
supporting serializing and deserializing the boolean primitive in a Kafka 
Connect schema. This implements both org.apache.kafka.connect.storage.Converter 
and org.apache.kafka.connect.storage.HeaderConverter.
+                    </li>
+                    <li><b><a 
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-970%3A+Deprecate+and+remove+Connect%27s+redundant+task+configurations+endpoint";>KIP-970
 Deprecate and remove Connect's redundant task configurations endpoint</a>:
+                        </b><br>Deprecates a redundant endpoint for fetching 
task configurations, eventually to be removed in Apache Kafka 4.0.
+                    </li>
+
+                </ul>
+                <h3>Summary</h3>
+                <p>Ready to get started with Apache Kafka 3.7.0? Check out all 
the details in the <a 
href="https://archive.apache.org/dist/kafka/3.7.0/RELEASE_NOTES.html";>release 
notes</a> and <a href="https://kafka.apache.org/downloads";>download</a> Apache 
Kafka 3.7.0.</p>

Review Comment:
   @stanislavkozlovski 3.6.0 links should point to archive & 3.7.0 (and 3.6.1) 
links should point to download as per 
https://www.apache.org/legal/release-policy.html#when-to-archive 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to