mimaison commented on code in PR #578: URL: https://github.com/apache/kafka-site/pull/578#discussion_r1448691656
########## blog.html: ########## @@ -22,6 +22,119 @@ <!--#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> + TODO: January 2024 - Stanislav Kozlovski (<a href="https://twitter.com/0xeed">@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. + This release, 3.7, we are shipping support for 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> + <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">KIP-858</a>: + Handle JBOD broker disk failure in KRaft: </b><br>Adds 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</a>: + Client metrics and observability: </b><br>Introduces a standardized interface to receive client metrics on the broker for better monitoring. + </li> + <li><b><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-1000%3A+List+Client+Metrics+Configuration+Resources">KIP-1000</a>: + List Client Metrics Configuration Resources: </b><br>Introduces a new AdminAPI to list out the client’s metric resources that are available in the cluster. + </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</a>: + The Next Generation of the Consumer Rebalance Protocol: </b><br>The new simplified Consumer Rebalance Protocol moves complexity away from the consumer and into the Group Coordinator broker and completely revamps the protocol to be incremental in nature. + </li> + <li><b><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-951%3A+Leader+discovery+optimisations+for+the+client">KIP-951</a>: + Leader discovery optimisations for the client: </b><br> 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</a>: + Docker Image for Apache Kafka: </b><br>Introduces an official 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</a>: + Exponential Backoff for Kafka Clients: </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</a>: + Additional metrics in Tiered Storage: </b><br>Introduces new metrics for Tiered Storage, allow you to better monitor the performance of the Early Access feature + </li> + <li><b><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-979%3A+Allow+independently+stop+KRaft+processes">KIP-979</a>: + Allow independently stop KRaft processes: </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 had to stop both. + </li> + <li><b><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-890%3A+Transactions+Server-Side+Defense">KIP-890</a>: + Transactions Server-Side Defense: </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</a>: + Remove old client protocol API versions in Kafka 4.0: </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</a>: + Allow AdminClient to Talk Directly with the KRaft Controller Quorum and add Controller Registration: </b><br>Allows the AdminClient to talk directly with the KRaft Controller Quorum, helping 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</a>: + Allow dynamic reloading of certificates with different DN / SANs: </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</a>: + Add CurrentControllerId Metric: </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</a>: + Add more metrics for measuring KRaft performance: </b><br>Adds 11 new metrics for measuring KRaft-mode performance. + </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</a>: + Rack aware task assignment in Kafka Streams: </b><br>Completes the KIP by finishing part 2 - introducing the second rack-aware assignment strategy to Kafka streams - 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</a>: + Expand default DSL store configuration to custom types: </b><br>Builds on KIP-951, allowing users to provide a custom state store provider with a new interface. By default, RocksDB and in-memory state stores are supported. + </li> + <li><b><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-988%3A+Streams+Standby+Update+Listener">KIP-988</a>: + Streams Standby Update Listener: </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>: + Support single-key_single-timestamp interactive queries (IQv2) for versioned state stores: </b><br>Adds single-key / single-timestamp interactive queries for versioned state stores. + </li> + <li><b><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>: + Support single-key_multi-timestamp interactive queries (IQv2) for versioned state stores: </b><br>Adds single-key / multi-timestamp interactive queries for versioned state stores. + </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</a>: + Add reverseRange and reverseAll query over kv-store in IQv2: </b><br>Adds reverseRange and reverseAll interactive queries for versioned state stores. + </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</a>: + Proposal to introduce IQv2 Query Types: TimestampedKeyQuery and TimestampedRangeQuery: </b><br>Adds new timestamped-key and timestamped-range interactive queries for versioned state stores. + </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</a>: + Cluster-wide dynamic log adjustment for Kafka Connect: </b><br>Allows adjusting every Connect Worker’s log levels dynamically in a single broadcast. + </li> + <li><b><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-980%3A+Allow+creating+connectors+in+a+stopped+state">KIP-980</a>: + Allow creating connectors in a stopped state: </b><br>Allows creating new Connectors in a STOPPED or PAUSED state, enabling use cases like migrating connectors. + </li> + <li><b><a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-959%3A+Add+BooleanConverter+to+Kafka+Connect">KIP-959</a>: + Add BooleanConverter to Kafka Connect: </b><br>Adds a BooleanConverter to Connect, supporting serializing and deserializing the boolean primitive in a Kafka Connect schema. + </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</a>: + Deprecate and remove Connect's redundant task configurations endpoint: </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> + + <p>This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 157 contributors: <br> + A. Sophie Blee-Goldman, Abhijeet Kumar, Akhilesh Chaganti, Alieh, Alieh Saeedi, Almog Gavra, Alok Thatikunta, Alyssa Huang, Aman Singh, Andras Katona, Andrew Schofield, Anna Sophie Blee-Goldman, Anton Agestam, Apoorv Mittal, Arnout Engelen, Arpit Goyal, Artem Livshits, Ashwin Pankaj, ashwinpankaj, atu-sharm, bachmanity1, Bob Barrett, Bruno Cadonna, Calvin Liu, Cerchie, chern, Chris Egerton, Christo Lolov, Colin P. McCabe, Colin Patrick McCabe, Colt McNealy, Crispin Bernier, David Arthur, David Jacot, David Mao, dengziming, Deqi Hu, Dimitar Dimitrov, Divij Vaidya, Dongnuo Lyu, Eaugene Thomas, Eduwer Camacaro, Eike Thaden, Federico Valeri, Federico Valeri fedeval...@gmail.com, Ziming Deng dengziming1...@gmail.com, Mickael Maison mimai...@apache.org., Florin Akermann, Gantigmaa Selenge, Gaurav Narula, gongzhongqiang, Greg Harris, Guozhang Wang, Gyeongwon, Do, Hailey Ni, Hanyu Zheng, Hao Li, Hector Geraldino, hudeqi, Ian McDonald, Iblis Lin, Igor Soarez, iit2009060, Ismael Juma, Jakub Scholz, James Cheng, Jason Gustafson, Jay Wang, Jeff Kim, Jim Galasyn, John Roesler, Jorge Esteban Quilcate Otoya, Josep Prat, José Armando García Sancio, Jotaniya Jeel, Jouni Tenhunen, Jun Rao, Justine Olshan, Kamal Chandraprakash, Kirk True, kpatelatwork, kumarpritam863, Laglangyue, laglangyue, Levani Kokhreidze, Lianet Magrans, Liu Zeyu, Lucas Brutschy, Lucia Cerchie, Luke Chen, maniekes, Manikumar Reddy, mannoopj, Maros Orsak, Matthew de Detrich, Matthias J. Sax, Max Riedel, Mayank Shekhar Narula, Mehari Beyene, Michael Westerby, Mickael Maison, Nick Telford, Nikhil Ramakrishnan, Nikolay, Okada Haruki, olalamichelle, Omnia G H Ibrahim, Omnia G.H Ibrahim, Omnia Ibrahim, Owen Leung, Paolo Patierno, Philip Nee, Phuc-Hong-Tran, phuchong.tran, Proven Provenzano, Purshotam Chauhan, Qichao Chu, Qichao Chu (@ex172000), Matthias J. Sax, Rajini Sivaram, Renaldo Baur Filho, Reviewers: David Jacot, Reviewers: Divij Vaidya, Ritika Reddy, Robert Wagner, Rohan, Ron Dagosti no, Roon, runom, Ruslan Krivoshein, rykovsi, Sagar Rao, Said Boudjelda, Satish Duggana, shuoer86, Stanislav, Stanislav Kozlovski, Taher Ghaleb, Tang Yunzi, TapDang, Taras Ledkov, tkuramoto33, Tyler Bertrand, vamossagar12, Vedarth Sharma, Viktor Somogyi-Vass, Vincent Jiang, Walker Carlson, Wuzhengyu97, Xavier Léauté, Xiaobing Fang, yangy0000, Ritika Reddy, Yanming Zhou, Yash Mayya, yuyli, zhaohaidao, Zihao Lin, Ziming Deng, Ziming Deng dengziming1...@gmail.com, Ziming Deng dengziming1...@gmail.com. Review Comment: The script that generates that list is a bit naive so you usually want to do some manual cleanups (and adjust the count above). - Ziming Deng appears at least 5 times `dengziming`, `Ziming Deng dengziming1...@gmail.co`, `Ziming Deng, Ziming Deng dengziming1...@gmail.com`, `Ziming Deng dengziming1...@gmail.com` - `Federico Valeri fedeval...@gmail.com, Ziming Deng dengziming1...@gmail.com, Mickael Maison mimai...@apache.org.` can be removed as each appear also in the list - `A. Sophie Blee-Goldman`, `Anna Sophie Blee-Goldman` - `Colin P. McCabe`, `Colin Patrick McCabe` - `Reviewers: David Jacot, Reviewers: Divij Vaidya` can be removed, they also appear earlier in the list - `Omnia G H Ibrahim`, `Omnia G.H Ibrahim`, `Omnia Ibrahim` You don't want to spend much time to double check all names but a quick clean up is nice -- 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