chia7712 commented on code in PR #928:
URL: https://github.com/apache/kafka-site/pull/928#discussion_r4351034539


##########
content/en/blog/releases/ak-4.4.0.md:
##########
@@ -0,0 +1,104 @@
+---
+date: 2026-10-22
+title: Apache Kafka 4.4.0 Release Announcement
+linkTitle: AK 4.4.0
+author: Omnia Ibrahim
+aliases:
+  - /blog/2026/10/22/apache-kafka-4.4.0-release-announcement/
+---
+
+<!--
+ 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.
+-->
+
+We are proud to announce the release of Apache Kafka® 4.4.0. This release 
contains many new features and improvements. This blog post will highlight some 
of the more prominent ones. For a full list of changes, be sure to check the 
[release notes](https://archive.apache.org/dist/kafka/4.4.0/RELEASE_NOTES.html).
+
+With 19 KIPs and over 963 commits since 4.3.0, this release introduces many 
new features, improvements and bug fixes to all the components.
+
+See the [Upgrading to 
4.4](https://kafka.apache.org/documentation.html#upgrade_4_4_0) section in the 
documentation for the list of notable changes and detailed upgrade steps.
+
+## Deprecation Notices
+* [KIP-1232: Deprecate broker.id 
config](https://cwiki.apache.org/confluence/spaces/KAFKA/pages/393677342/KIP-1232+Deprecate+broker.id+config)
+  Deprecates the `broker.id` broker configuration.
+
+* [KIP-1200: Deprecate 
ClientQuotaCallback#updateClusterMetadata](https://cwiki.apache.org/confluence/spaces/KAFKA/pages/373887083/KIP-1200+Deprecate+ClientQuotaCallback+updateClusterMetadata)
+  Deprecates the `ClientQuotaCallback#updateClusterMetadata` method and will 
be removed in Kafka 5.0. Custom implementations of `ClientQuotaCallback` no 
longer need to override this method, as a default no-op implementation is now 
provided.
+
+* [KIP-1301: Deprecate Yammer-based metrics in 
GroupCoordinatorMetrics](https://cwiki.apache.org/confluence/spaces/KAFKA/pages/406623591/KIP-1301+Deprecate+Yammer-based+metrics+in+GroupCoordinatorMetrics)
+  Deprecates the remaining Yammer-based classic-group metrics in 
`GroupCoordinatorMetrics` (NumGroups, NumOffsets, NumGroupsPreparingRebalance, 
NumGroupsCompletingRebalance, NumGroupsStable, NumGroupsDead), replacing them 
with equivalent Kafka Metrics gauges registered under the 
`kafka.server:type=group-coordinator-metrics` MBean.
+
+## Kafka Broker, Controller, Producer, Consumer and Admin Client
+* [KIP-1170: Unify cluster metadata 
bootstrapping](https://cwiki.apache.org/confluence/x/ZYoEFQ)
+  Storage directories formatted by the `kafka-storage` tool are no longer 
forward-compatible: a broker must now be the same version as, or newer than, 
the `kafka-storage` tool that formatted its directory, regardless of the 
`--release-version` chosen at format time.
+
+* [KIP-1191: Dead-letter queues for share 
groups](https://cwiki.apache.org/confluence/x/fApJFg)
+  Share groups now support dead-letter queues. Records that are released 
beyond the max delivery count, or rejected by the share consumer, become 
eligible for the DLQ once the `share.version` feature is upgraded to 2. DLQ 
behavior is configured dynamically via `errors.deadletterqueue.topic.name`, 
`errors.deadletterqueue.auto.create.topics.enable`, 
`errors.deadletterqueue.group.enable`, 
`errors.deadletterqueue.topic.name.prefix`, and 
`errors.deadletterqueue.copy.record.enable`.
+
+* [KIP-909: Allow Clients to Rebootstrap Upon Failed DNS 
Resolution](https://cwiki.apache.org/confluence/x/MJtbDg)
+  Adds a new client configuration, `bootstrap.resolve.timeout.ms`, controlling 
how DNS resolution of `bootstrap.servers` is performed. The default of `0` 
preserves the historical synchronous behavior; a positive value opts into 
asynchronous bootstrap resolution, where the client constructor returns 
immediately and failures surface later as `BootstrapResolutionException`. This 
is an evolving feature and may change in a minor release. Kafka Streams and 
Kafka Connect do not yet support asynchronous bootstrap resolution.
+
+* [KIP-1265: Mechanism for automatic detection of internal API 
usage](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1265%3A+Mechanism+for+automatic+detection+of+internal+API+usage)
+  Introduces a build-time `api-checker` mechanism, based on explicit 
`@InterfaceAudience` annotations, that fails the build if an internal class is 
imported by or exposed through a public API — preventing internal classes from 
unintentionally leaking into Kafka's public surface.
+
+* [KIP-1319: Align TxnOffsetCommit API with OffsetCommit 
API](https://cwiki.apache.org/confluence/spaces/KAFKA/pages/406622772/KIP-1319+Align+TxnOffsetCommit+API+with+OffsetCommit+API)
+  Introduces `TxnOffsetCommit` v6, bringing the transactional offset commit 
API to parity with `OffsetCommit`: it now carries topic IDs instead of topic 
names, renames `GenerationId` to `GenerationIdOrMemberEpoch`, and surfaces 
granular error codes such as `GROUP_ID_NOT_FOUND`, `STALE_MEMBER_EPOCH`, and 
`UNKNOWN_TOPIC_ID` instead of collapsing them into `ILLEGAL_GENERATION`.
+
+* [KIP-1312: Support unregistering 
controllers](https://cwiki.apache.org/confluence/spaces/KAFKA/pages/406623954/KIP-1312+Support+unregistering+controllers)
+  Controllers can now be unregistered from the cluster metadata. A new 
`kafka-cluster.sh unregister-controller` command and a `--unregister` flag on 
`kafka-metadata-quorum.sh remove-controller` are provided, backed by the new 
`Admin#unregisterController` API and `UnregisterController` RPC. This 
introduces the error code `CONTROLLER_ID_NOT_REGISTERED` (136) and requires 
metadata version `4.4-IV2`.
+
+* [KIP-1220: Add an api-versions command to 
kafka-cluster.sh](https://cwiki.apache.org/confluence/x/-QkbFw)
+  The `kafka-cluster.sh` tool now provides an `api-versions` command to 
display the API versions supported by the brokers or controllers, accepting 
both `--bootstrap-server` and `--bootstrap-controller`. As a result, 
`kafka-broker-api-versions.sh` is deprecated and will be removed in the next 
major release; use `kafka-cluster.sh api-versions` instead.
+
+* [KIP-1241: Reduce tiered storage redundancy with delayed 
upload](https://cwiki.apache.org/confluence/x/A4LMFw)
+  Introduces the `remote.copy.lag.bytes` and `remote.copy.lag.ms` configs, 
with corresponding broker-level configurations, allowing tiered storage 
redundancy to be reduced with delayed upload.
+
+* [KIP-1242: Detect and handle misrouted client 
connections](https://cwiki.apache.org/confluence/x/W4LMFw)
+  When clients connect to the cluster, they now include cluster and node 
information to enable detection and handling of misrouted connections.
+
+* [KIP-1291: Expose additional Linux I/O metrics via 
JMX](https://cwiki.apache.org/confluence/x/co48G)
+  The Linux I/O metrics collector now exposes all 7 fields from 
`/proc/self/io` via JMX, adding `linux-disk-rchar`, `linux-disk-wchar`, 
`linux-disk-syscr`, `linux-disk-syscw`, and `linux-disk-cancelled-write-bytes` 
alongside the existing read/write byte metrics. These let operators calculate 
page-cache hit ratios, detect write amplification, identify inefficient syscall 
patterns, and monitor log-compaction I/O activity.
+
+* [KIP-1299: Control key distribution in 
kafka-producer-perf-test](https://cwiki.apache.org/confluence/x/XpQ8G)
+  The `kafka-producer-perf-test.sh` tool now supports `--record-key-range`, 
`--key-distribution`, and `--random-seed` options to control the distribution 
of record keys. Use `--key-distribution range` for sequential (round-robin) key 
assignment or `random` for random key selection, with `--random-seed` enabling 
reproducible benchmark runs.
+
+* [KIP-1323: Initialize share group offsets from a 
file](https://cwiki.apache.org/confluence/x/vY0mGQ)
+  The `kafka-share-groups.sh` tool can now be used to initialize share group 
offsets from a file, enabling a share group to be initialized from the 
committed offsets of a consumer group.
+
+## Kafka Streams
+* [KIP-1340: Expose Both Mapped Key and Stream Key in Streams-GlobalKTable 
Joins](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1340%3A+Expose+Both+Mapped+Key+and+Stream+Key+in+Streams-GlobalKTable+Joins)
+  Adds a new `ValueJoinerWithStreamAndMappedKey` joiner interface and new 
`KStream#join`/`leftJoin` overloads for KStream-GlobalKTable joins, giving 
users access to both the mapped join key and the original stream record key 
without having to recompute it. The existing `ValueJoinerWithKey`-based 
overloads are deprecated but unchanged in behavior.
+
+* [KIP-1331: Streams Group Topology Description 
Plugin](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1331%3A+Streams+Group+Topology+Description+Plugin)
+  Lets brokers record a human-readable description of a Streams group's 
processing topology via a pluggable backend. When 
`group.streams.topology.description.plugin.class` is set, Kafka Streams clients 
automatically push a description equivalent to `Topology#describe()` to the 
group coordinator, retrievable via `Admin#describeStreamsGroups` or 
`kafka-streams-groups.sh --describe --topology` — without access to the 
application's source code.
+
+* [KIP-1357: Broker-side custom task assignors for Streams 
groups](https://cwiki.apache.org/confluence/x/NoSnGQ)
+  Streams groups now support broker-side custom task assignors, registered via 
the new broker configuration `group.streams.assignors` and selected per group 
with the new group configuration `streams.assignor.name`.
+
+## Kafka Connect
+* [KIP-1209: Add configuration to control internal topic creation in Kafka 
Connect](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1209%3A+Add+configuration+to+control+internal+topic+creation+in+Kafka+Connect)
+  Kafka Connect distributed workers now support the 
`internal.topics.automatic.creation.enable` configuration (default `true`). 
When set to `false`, Connect will not automatically create its internal topics 
(offset, config, status, and connector-specific offset topics) and instead 
fails at startup if any are missing. A new `connect-internal-topics.sh` tool is 
provided for creating these topics manually.
+
+## Summary
+
+Ready to get started with Apache Kafka 4.4.0? Check out all the details in the 
[upgrade notes](https://kafka.apache.org/documentation.html#upgrade_4_4_0) and 
the [release 
notes](https://archive.apache.org/dist/kafka/4.4.0/RELEASE_NOTES.html), and 
[download](https://kafka.apache.org/downloads) Apache Kafka 4.4.0.
+
+<!-- TODO: Confirm the contributor list below. It is the RAW `git shortlog -sn 
4.3.0..4.4.0`
+     output (152 names) and still contains duplicate identities (e.g. Jiayao 
Sun / Jiayáo Sun,
+     gabriellafu / gabriellefu / gabriellefu, OmniaGM / Omnia Ibrahim, 
email-only handles like
+     majialong, and dependabot[bot]). `release.py release-email` normalises 
these — run it and
+     reconcile the two lists before publishing. Update the count and the "(and 
N AIs)" tally. -->
+This was a community effort, so thank you to everyone who contributed to this 
release, including all our users and our 152 contributors:

Review Comment:
   My AI generated another list that includes the reviewers and AIs :)
   
   ```
   This was a community effort, so thank you to everyone who contributed to 
this release, including all our users and our 171 contributors (and 8 AIs):
   조형준, Abhijeet Kumar, Abhinav Dixit, Adam Horky, Adam Souquières, Aditya 
Kousik, akhil-sabu-ibm, Alan Lau, Alieh Saeedi, Alyssa Huang, amandayclee, Amir 
Sarabadani, Anastasia Vela, Andrew Schofield, Andy Huang, Angelo R., Anton 
Liauchuk, Apoorv Mittal, Aravind Reveendran, Arnab Nandy, Arpit Goyal, Arpit 
Jain, ashwinpankaj, Atharv Chavan, averemee-si, Avishek Das, Bill Bejeck, Bolin 
Lin, Brian Sang, Chang-Chi Hsu, Charlie Zhang, Chia-Ping Tsai, Chia-Yi Chiu, 
ChickenchickenLove, Chih-Yuan Chien, Chris Egerton, Christo Lolov, Claude Fable 
5, Claude Opus 4.6, Claude Opus 4.7, Claude Opus 4.8, Claude Opus 5.5, Claude 
Sonnet 4.6, Claude Sonnet 5, CoderBruis, Copilot, Daeho Kwon, Daniel Tschinder, 
David Jacot, David Simon, Davide Armand, Dejan Stojadinović, Derek Ko, Diya 
Hussein, Dmitry Werner, dongjiao, Dongnuo Lyu, Dpk376, Edoardo Comar, Eduwer 
Camacaro, Eric Chang, Evan Zhou, Fatorin, Federico Valeri, Gabriel Dutra, 
gabriellefu, Ganesh Manchi, Gaurav Narula, Gavin Wang, Gergel
 y Harmadas, Gimin Kim, gomudayya, Greg Harris, Gyeongwon Do, Hana, Hari Mohan, 
Hector Geraldino, Igor Soarez, Ivan Malutin, Ivan Yurchenko, Izzy Harker, Jakub 
Scholz, Jess668, Jian, Jiayao Sun, Joanna-D, Jonah Hooper, Jose Ignacio Gil 
Jaldo, José Armando García Sancio, Julien Brunet, Jun Rao, junvelop, Justine 
Olshan, Kai Jay Tu, Kamal Chandraprakash, Kartikay Dubey, KC.H, Ken Huang, 
Kenan Adel, Kevin Wu, Kirk True, kkgounder95-code, Kondrat Bertalan, Kuan-Po 
Tseng, Lan Ding, LeiXiaoGao, Lianet Magrans, Lucas Brutschy, Lucas Ma, Lucy 
Liu, Luke Chen, majialong, Manikumar Reddy, mannoopj, Marie-Laure Momplot, 
MarkLee131, Maros Orsak, Matthias J. Sax, Mickael Maison, Ming-Yen Chung, Mingi 
Cho, minjcho, Mirko Alicastro, Murali Basani, Nandini Singhal, Nick Guo, Nick 
Telford, Nikita Shupletsov, Nikolaus Schuetz, Nilesh Kumar, Nishant Kumar, 
Omnia Ibrahim, Paolo Patierno, Park Jiwon, Parker Chang, PoAn Yang, Prabhash 
Kumar, Prakash Tanaji, Pratyaksh Sharma, Rajarshi Misra, red-flames, R
 ion Williams, Ritika Reddy, Ritikj55, RonGamzu, Russole Chen, S.Y. Wang, Sahil 
Devgon, Sanskar Jhajharia, Sean Quah, Sebastien Viale, Sepuri Sai Krishna, Shay 
Elkin, Shekhar Prasad Rajak, Shivsundar R, Siddhartha Devineni, Srinivas Akhil 
Mallela, sstremler, stroller.fu, subbudvk, Sushant Mahajan, Taeik Lim, TaiJuWu, 
Tamas Kornai, TengYao Chi, Tommi Vainikainen, Truc Nguyen, Uladzislau Blok, 
varunv-cflt, Viktor Somogyi-Vass, winfriedgerlach, Xi, YANG-SYUAN CHOU, 
yangxuze, Yu-Chia Ma, Yunchi Pang, Zheguang Zhao, Zhiyan Tang, zoo-code
   ```



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to