Kafka Updates & Release Notes

10 updates curated from 11 sources by the Releasebot Team. Last updated: May 23, 2026

Get this feed:
  • May 22, 2026
    • Date parsed from source:
      May 22, 2026
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 4.3.0 Release Announcement

    Kafka releases Apache Kafka 4.3 with broad improvements across Broker, Controller, Producer, Consumer, Admin Client, Streams, and Connect, adding new configs, metrics, API enhancements, OAuth support, and bug fixes while also deprecating some older features ahead of future removal.

    We are proud to announce the release of Apache Kafka® 4.3. 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.

    With 25 KIPs and over 600 commits since 4.2.0, this release introduces many new features, improvements and bug fixes to all the components.

    See the Upgrading to 4.3 section in the documentation for the list of notable changes and detailed upgrade steps.

    Deprecation Notices

    • KIP-1244 Drop support for streams-scala in Kafka 5.0 (deprecate in 4.3)
      Deprecates the streams-scala module. Marked for removal in Apache Kafka 5.0.

    • KIP-1237: Deprecate group.coordinator.rebalance.protocols config
      Deprecates the group.coordinator.rebalance.protocols broker configuration. Marked for removal in Apache Kafka 5.0.

    • KIP-1280: Update MirrorMaker to use KIP-877 to emit metrics
      Deprecates the existing MirrorMaker metrics. They are marked for removal in Apache Kafka 5.0. Users should transition to the new metric names.

    Kafka Broker, Controller, Producer, Consumer and Admin Client

    • KIP-1023: Follower fetch from tiered offset
      Adds a new broker configuration, follower.fetch.last.tiered.offset.enable (default: false). When enabled the last tiered offset is used as the start offset when bootstrapping a new follower.

    • KIP-1066: Mechanism to cordon brokers and log directories
      Introduces a new configuration, cordoned.log.dirs to cordon log directories. New partitions cannot be placed on a cordoned log directory. This can be used when scaling or decommissioning brokers or log directories.

    • KIP-1196: Introduce group.coordinator.append.max.buffer.size config
      Introduces the group.coordinator.append.max.buffer.size and share.coordinator.append.max.buffer.size configurations to set the maximum buffer size the coordinators can use. There are also metrics to track the buffer usage.

    • KIP-1208: Add prefix to TopicBasedRemoteLogMetadataManagerConfig to enable setting admin configs
      Introduces a new prefix remote.log.metadata.admin. for setting configurations for the admin client used by the tiered storage’s RemoteLogMetadataManager.

    • KIP-1211: Align the behavior of num.partitions and default.replication.factor for topic creation
      Fixes inconsistencies how num.partitions and default.replication.factor were applied when creating topics.

    • KIP-1219: Configurations for KRaft Fetch and FetchSnapshot Byte Size
      Adds new broker configurations, controller.quorum.fetch.snapshot.max.bytes and controller.quorum.fetch.max.bytes, to control the maximum amount of data Fetch and FetchSnapshot requests can retrieve.

    • KIP-1235: Correct the default min.insync.replicas to 2 for the __remote_log_metadata topic
      Adds a new broker configuration, remote.log.metadata.topic.min.isr, to set the minimum in-sync replicas for the internal topic used by tiered storage.

    • KIP-1240: Additional group configurations for share groups
      Adds a number of new broker and group configurations to control the behavior of share groups.

    • KIP-1251: Assignment epochs for consumer groups
      Improves the member epoch validation logic to avoid unnecessary fencing of group members.

    • KIP-1257: Partition Size Percentage Metrics for Storage Monitoring
      Introduces new metrics to track how much of the maximum retention each topic-partition currently uses.

    • KIP-1258: Add Support for OAuth Client Assertion to client_credentials Grant Type
      Adds support for client assertion authentication to client_credentials grant type with OAuth to enhance security and compatibility with OAuth providers.

    • KIP-1263: Group Coordinator Assignment Batching and Offload
      Improves the group coordinator assignment logic to avoid recomputing assignments when unnecessary.

    • KIP-1274: Deprecate and remove support for Classic rebalance protocol in KafkaConsumer (Phase 1)
      Logs a message when starting a consumer with the classic rebalance protocol recommending to use the new consumer rebalance protocol instead as the classic protocol will be deprecated in a future release.

    Kafka Streams

    • KIP-1035: StateStore managed changelog offsets
      Adds methods to the StateStore API to manage changelog offsets. This is an internal runtime change, and only relevant for custom StateStore implementations.

    • KIP-1247: Make Bytes utils class part of the public API
      Exposes the Bytes class as part of the public API so it appears in the javadoc.

    • KIP-1250: Add metric to track size of in-memory state stores
      Adds new metrics tracking the number of keys in the in-memory state stores.

    • KIP-1259: Add configuration to wipe Kafka Streams local state on startup
      Adds a new configuration, state.cleanup.dir.max.age.ms, to automatically delete state directories that have not been modified for that duration on startup.

    • KIP-1270: Extend ProcessingExceptionHandler for GlobalThread
      Adds a new configuration, processing.exception.handler.global.enabled, to enable ProcessingExceptionHandler to handle GlobalKTable exceptions.

    • KIP-1271: Allow to Store Headers in State Stores
      Extends the Processor API to support record headers in state stores.

    • KIP-1285: DSL Opt-in Support for Headers-Aware State Stores
      Exposes Headers-Aware State Stores (KIP-1271) to the DSL API.

    Kafka Connect

    • KIP-1239: Batch offset translation in RemoteClusterUtils
      Adds a new method RemoteClusterUtils.translateOffsets() to translate the committed offsets of several consumer groups at the same time.

    • KIP-1273: Improve Connect configurable components discoverability
      Introduces a new interface, ConnectPlugin, that all Kafka Connect plugins implement to ensure common methods across all plugin types.

    • KIP-1280: Update MirrorMaker to use KIP-877 to emit metrics
      Adds a new configuration, metric.names.formats, for MirrorSourceConnector and MirrorCheckpointConnector to opt-in to the new metric names.

    Summary

    Ready to get started with Apache Kafka 4.3.0? Check out all the details in the upgrade notes and the release notes, and download Apache Kafka 4.3.0.

    This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 147 contributors (and 3 AIs):
    高春晖, 조형준, Abhijeet Kumar, Abhinav Dixit, Alieh Saeedi, Alyssa Huang, Andrew Schofield, Aneesh Garg, Angelo R., Anton Vasanth, ANUSHREE BONDIA, Apoorv Mittal, Arpit Goyal, Artem Livshits, averemee-si, Bill Bejeck, Bolin Lin, Calvin Liu, Chang-Chi Hsu, Chang-Yu Huang, Chia-Ping Tsai, Chia-Yi Chiu, ChickenchickenLove, Chih-Yuan Chien, Chirag Wadhwa, Chris Egerton, Christo Lolov, Claude, Claude Sonnet 4.6, Copilot, cui, Dale Lane, David Arthur, David Jacot, Deepak Goyal, Dejan Stojadinović, dengziming, Ding, Dmitry Werner, Dongnuo Lyu, Donny Nadolny, Edoardo Comar, Eduwer Camacaro, Emanuele Rabino, Emmanuel Oppong, Eric Chang, Erik Anderson, Evan Zhou, Federico Valeri, Fiore Mario Vitale, gabriellefu, Gaurav Narula, Gianmarco, Giuseppe Lillo, gomudayya, Gyeongwon, Do, Harish Vishwanath, Hector Geraldino, high.lee, Himanshu Verma, Hong-Yi Chen, Hy (하이), hy-rice, Ibuki Kaji, Ilyas Toumlilt, Ismael Juma, Izzy Harker, J.V.S Aarathi, Jacob Montemayor, JeevanYewale, Jhen-Yung Hsu, Jian, Jiayao Sun, jimmy, Jinhe Zhang, Joanna-D, Jonah Hooper, José Armando García Sancio, Josep Prat, Jun Rao, Justine Olshan, k-apol, Kamal Chandraprakash, Ken Huang, Kevin Wu, khilesh Chaganti, Kirk True, Kuan-Po Tseng, Lan Ding, Levani Kokhreidze, Lianet Magrans, Lucas Brutschy, Lucy Liu, Luke Chen, Ma Jialong, Mahsa Seifikar, manan.gupta, Manikumar Reddy, mannoopj, Maros Orsak, Matthias J. Sax, Mickael Maison, Ming-Yen Chung, Moshe Blumberg, Murali Basani, Nandini Singhal, Nick Guo, Nick Telford, Nikita Shupletsov, Nilesh Kumar, Lan Ding, Paolo Patierno, Park Jiwon, Parker Chang, Philippus Baalman, PoAn Yang, Prabhash Kumar, Raghu Baddam, Rajarshi Misra, Rion Williams, Rion Williams,, Ritika Reddy, Robin Marechal, runom, S.Y. Wang, Saket Ranjan, Sanskar Jhajharia, Santhan3159, Sean Quah, Shashank, Shivsundar R, Siddhartha Devineni, sstremler, Steven Schlansker, Stig Døssing, Sushant Mahajan, TaiJuWu, TengYao Chi, Tirth, tison, Uladzislau Blok, Viktor Somogyi-Vass, Vincent Jiang, Vincent Potuček, Xuan-Zhang Gong, Zheguang Zhao, Zhiyan Tang, zoo-code

    Original source
  • Mar 17, 2026
    • Date parsed from source:
      Mar 17, 2026
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 4.1.2 Release Announcement

    Kafka releases Apache Kafka 4.1.2, a bugfix update with several critical fixes and upgraded guidance for users moving from older versions.

    We are proud to announce the release of Apache Kafka 4.1.2. This is a bugfix release that includes several critical fixes. For a full list of changes, be sure to check the release notes.

    See the Upgrading to 4.1.2 from any version 0.8.x through 4.0.x section in the documentation for the list of notable changes and detailed upgrade steps.

    Summary

    This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 39 contributors: Alex, Andrew Schofield, Anton Vasanth, Arpit Goyal, Bill Bejeck, Chia-Ping Tsai, Copilot, David Arthur, David Jacot, Dongnuo Lyu, Donny Nadolny, Eric Chang, Erik Anderson, Federico Valeri, Gaurav Narula, Genseric Ghiro, Harish Vishwanath, Hong-Yi Chen, Ilyas Toumlilt, Izzy Harker, Jian, jimmy, Jun Rao, Ken Huang, Kirk True, Kuan-Po Tseng, Lan Ding, Lianet Magrans, Lucas Brutschy, majialong, Manikumar Reddy, Matthias J. Sax, Matthias Sax, Mickael Maison, Ming-Yen Chung, Nikita Shupletsov, PoAn Yang, Rajini Sivaram, Sean Quah

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Apache and hundreds of other software products.

    Create account
  • Mar 16, 2026
    • Date parsed from source:
      Mar 16, 2026
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 4.0.2 Release Announcement

    Kafka releases Apache Kafka 4.0.2, a bugfix update with several critical fixes and upgrade guidance for users moving from older versions.

    We are proud to announce the release of Apache Kafka 4.0.2. This is a bugfix release that includes several critical fixes. For a full list of changes, be sure to check the release notes.

    See the Upgrading to 4.0.2 from any version 0.8.x through 4.0.x section in the documentation for the list of notable changes and detailed upgrade steps.

    Summary

    This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 32 contributors: Alieh Saeedi, Andrew Schofield, Apoorv Mittal, Arpit Goyal, Bill Bejeck, Chia-Ping Tsai, Christo Lolov, David Arthur, David Jacot, Dongnuo Lyu, Donny Nadolny, Eric Chang, Erik Anderson, Fatih, Gaurav Narula, Genseric Ghiro, Harish Vishwanath, Ilyas Toumlilt, Izzy Harker, Janindu Pathirana, Jian, jimmy, Jun Rao, Ken Huang, Kevin Wu, Kuan-Po Tseng, Lan Ding, Lucas Brutschy, Luke Chen, majialong, Manikumar Reddy, Masahiro Mori, Matthias J. Sax, Mickael Maison, Ming-Yen Chung, Nikita Shupletsov, PoAn Yang, Rajini Sivaram, Ritika Reddy, Sean Quah, Shashank, Sushant Mahajan, Viktor Somogyi-Vass

    Original source
  • Feb 21, 2026
    • Date parsed from source:
      Feb 21, 2026
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 3.9.2 Release Announcement

    Kafka releases Apache Kafka 3.9.2 as a bug-fix update with critical fixes and security updates, including KIP-1252 to align AlterConfigPolicy behavior between ZooKeeper and KRaft modes through a new opt-in compatibility setting.

    We are proud to announce the release of Apache Kafka 3.9.2. This bug-fix release contains several critical fixes and security updates. Notably, this release includes KIP-1252, which addresses inconsistent behavior between ZooKeeper and KRaft modes.

    For a full list of changes, be sure to check the release notes.

    Kafka Broker, Controller

    • KIP-1252: AlterConfigPolicy compatibility in legacy Zookeeper mode Addresses AlterConfigPolicy incompatibility between ZK and KRaft modes. A new server configuration alter.config.policy.kraft.compatibility.enable (default: false) allows operators to opt into KRaft-compatible behavior in ZooKeeper mode, ensuring consistent policy validation across both deployment modes.

    Summary

    This was a community effort, so thank you to everyone who contributed to this release: Alieh Saeedi, Alyssa Huang, Arpit Goyal, Bill Bejeck, Calvin Liu, Chang-Chi Hsu, Chia-Ping Tsai, ChickenchickenLove, Clemens Hutter, Colin Patrick McCabe, Dániel Urbán, David Arthur, David Jacot, Dongnuo Lyu, Donny Nadolny, Edoardo Comar, Erik Anderson, Fatih, Federico Valeri, Gaurav Narula, Genseric Ghiro, Gergely Harmadas, Harish Vishwanath, Ismael Juma, Janindu Pathirana, Jian, jimmy, José Armando García Sancio, Jun Rao, Justine Olshan, Kaushik Raina, Ken Huang, Kevin Wu, Kuan-Po Tseng, Lan Ding, Lianet Magrans, Lucas Brutschy, Luke Chen, majialong, Manikumar Reddy, Masahiro Mori, Matthias J. Sax, Mickael Maison, Ming-Yen Chung, Nikita Shupletsov, Okada Haruki, Oleksandr Luzhniy, Paolo Patierno, PoAn Yang, Rajini Sivaram, Ritika Reddy, Shashank, Shicheng Rao, shub-est, TengYao Chi, Viktor Somogyi-Vass, Vincent Jiang

    Original source
  • Feb 17, 2026
    • Date parsed from source:
      Feb 17, 2026
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 4.2.0 Release Announcement

    Kafka releases Apache Kafka 4.2 with production-ready Queues for share groups, GA Streams rebalance protocol, stronger observability and consistency, new security and thread-safety improvements, plus support for Java 25 and other usability upgrades across Broker, Connect, and Streams.

    We are proud to announce the release of Apache Kafka® 4.2. 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.

    Kafka Queues (Share Groups) is now production-ready with new features like the RENEW acknowledgement type for extended processing times, adaptive batching for share coordinators, soft and strict enforcements of quantity of fetched records, and comprehensive lag metrics.

    Kafka Streams brings the server-side rebalance protocol to GA with a limited feature set, adds dead letter queue support in exception handlers, introduces anchored wall-clock punctuation for deterministic scheduling, and gives users full control over whether to send a leave group request on closing.

    This release also delivers significant improvements to consistency and observability: CLI tools now feature standardized arguments like –bootstrap-server across all tools, metric naming has been corrected to follow the kafka.COMPONENT convention, and new idle ratio metrics provide better visibility into controller and MetadataLoader performance.

    Security is enhanced with a new allowlist connector client configuration override policy, while thread-safety improvements to RecordHeader eliminate concurrency risks.

    Additional highlights include support for Java 25, external schema support in JsonConverter for reduced message sizes, dynamic configuration for remote log manager thread pools, adaptive batching in group coordinators, and rack ID exposure in the Admin API for consumer and share group members.

    See the Upgrading to 4.2 section in the documentation for the list of notable changes and detailed upgrade steps.

    Deprecation Notices

    • KIP-1136: Make ConsumerGroupMetadata an interface
      Deprecates the constructors of ConsumerGroupMetadata. Marked for removal in Apache Kafka 5.0.

    • KIP-1193: Deprecate MX4j support
      Adds various deprecation warnings for MX4j. Marked for removal in Apache Kafka 5.0.

    • KIP-1195: deprecate and remove org.apache.kafka.streams.errors.BrokerNotFoundException
      Deprecates BrokerNotFoundException. Marked for removal in Apache Kafka 5.0.

    Kafka Broker, Controller, Producer, Consumer and Admin Client

    • KIP-932: Queues for Kafka
      Introduces share groups, a new cooperative consumption model where multiple consumers can concurrently process records from the same partitions with individual acknowledgment and delivery counting - enabling queue-like use cases without strict partition-to-consumer assignment.

    • KIP-1052: Enable warmup in producer performance test
      Adds an optional --warmup-records argument to the producer performance test, separating startup measurements from steady-state statistics for cleaner performance analysis.

    • KIP-1100: Rename org.apache.kafka.server:type=AssignmentsManager and org.apache.kafka.storage.internals.log.RemoteStorageThreadPool metrics
      Fixes inconsistent metric naming by deprecating metrics accidentally changed to org.apache.kafka.COMPONENT format and introducing new metrics using the correct kafka.COMPONENT convention.

    • KIP-1147: Improve consistency of command-line arguments
      Standardizes command-line tool arguments by introducing consistent options like --bootstrap-server and --command-config across all tools, deprecating inconsistent legacy options.

    • KIP-1157: Enforce KafkaPrincipalSerde Implementation for KafkaPrincipalBuilder
      Makes KafkaPrincipalBuilder extend KafkaPrincipalSerde to enforce serialization/deserialization support at compile-time rather than failing at runtime during KRaft broker-controller communication.

    • KIP-1160: Enable returning supported features from a specific broker
      Adds an optional --node-id argument to describeFeatures, allowing users to query supported features from a specific node to address version inconsistencies across nodes.

    • KIP-1161: Unifying LIST-Type Configuration Validation and Default Values
      Standardizes validation for comma-separated list configurations by rejecting null/empty values, ignoring duplicates, converting string configs to proper LIST types, and throwing ConfigExceptions during parsing rather than at runtime.

    • KIP-1172: Improve EndToEndLatency Tool with argument parser and message key/header support
      Improves the EndToEndLatency tool with robust named-argument parsing, new optional parameters for message keys and headers, and renamed arguments aligned with Kafka conventions.

    • KIP-1175: Fix the typo PARTITIONER_ADPATIVE_PARTITIONING_ENABLE in ProducerConfig
      Fixes a misspelling by introducing the correctly spelled PARTITIONER_ADAPTIVE_PARTITIONING_ENABLE_CONFIG constant while deprecating the misspelled version.

    • KIP-1179: Introduce remote.log.manager.follower.thread.pool.size config
      Introduces a new dynamic configuration remote.log.manager.follower.thread.pool.size with proper naming conventions and dynamic configuration support for the follower partition thread pool.

    • KIP-1180: Add generic feature level metrics
      Adds new metrics displaying finalized, minimum supported, and maximum supported feature levels for each production feature, improving visibility into upgrade/downgrade scenarios.

    • KIP-1186: Update AddRaftVoterRequest RPC to support auto-join
      Adds a boolean AckWhenCommitted flag to AddRaftVoterRequest that allows immediate response after locally writing the new voter set, preventing availability issues during auto-joining controller operations.

    • KIP-1190: Add a metric for controller thread idleness
      Adds a new AvgIdleRatio metric measuring the proportion of time the controller thread spends idle versus actively processing events, improving performance visibility.

    • KIP-1192: Add include argument to ConsumerPerformance tool
      Adds an --include argument to ConsumerPerformance for regex-based topic filtering, enabling multi-topic performance testing.

    • KIP-1197: Introduce new method to improve the TopicBasedRemoteLogMetadataManager’s initialization
      Fixes TopicBasedRemoteLogMetadataManager initialization failures by introducing a BrokerReadyCallback interface that delays initialization until the broker is fully ready.

    • KIP-1205: Improve RecordHeader to be Thread-Safe
      Addresses thread-safety issues in RecordHeader by implementing double-checked locking with volatile fields, eliminating NullPointerException risks during concurrent access with negligible overhead.

    • KIP-1206: Strict max fetch records in share fetch
      Introduces a new ShareAcquireMode configuration for shared fetch operations, offering “batch_optimized” (soft limit) and “record_limit” (strict enforcement) modes for different processing scenarios.

    • KIP-1207: Fix anomaly of JMX metrics RequestHandlerAvgIdlePercent in kraft combined mode
      Fixes the RequestHandlerAvgIdlePercent metric in KRaft combined mode by normalizing by combined thread count and introducing separate broker and controller metrics for per-pool visibility.

    • KIP-1217: Include push interval in ClientTelemetryReceiver context
      Addresses stale client telemetry metrics by introducing new interfaces that include push interval information, enabling proper metric lifecycle management.

    • KIP-1222: Acquisition lock timeout renewal in share consumer explicit mode
      Adds a new RENEW acknowledgement type for share consumers, allowing applications to extend acquisition lock timeouts on records requiring longer processing times.

    • KIP-1224: Adaptive append.linger.ms for the group coordinator and share coordinator
      Introduces adaptive batching mode for group and share coordinators that automatically adjusts batch linger times based on workload, eliminating the 5ms latency floor without manual tuning.

    • KIP-1226: Introducing Share Partition Lag Persistence and Retrieval
      Adds share partition lag metrics for share groups, enabling operators to monitor consumption progress, detect imbalances, and support future autoscaling capabilities.

    • KIP-1227: Expose Rack ID in MemberDescription and ShareMemberDescription
      Exposes rack ID information for consumer and share group members in the Admin API by adding a rackId field to member description classes.

    • KIP-1228: Add Transaction Version to WriteTxnMarkersRequest
      Adds a TransactionVersion field to WriteTxnMarkersRequest, enabling stricter epoch validation for Transaction Version 2 markers and strengthening exactly-once semantics guarantees.

    • KIP-1229: Add Idle Thread Ratio Metric to MetadataLoader
      Adds an AvgIdleRatio metric to the MetadataLoader component in KRaft clusters, improving visibility into event queue processing efficiency.

    Kafka Streams

    • KIP-1034: Dead letter queue in Kafka Streams
      Adds dead letter queue (DLQ) support to Kafka Streams exception handlers by introducing a new Response class with DLQ records, new handleError() methods, and raw source record bytes in error contexts.

    • KIP-1071: Streams Rebalance Protocol
      Introduces a new server-side group management protocol for Kafka Streams, enabling broker-side task assignment, centralized topology metadata storage, and improved observability through dedicated RPCs and admin tools.

    • KIP-1146: Anchored punctuation
      Introduces anchored wall-clock punctuation for Kafka Streams by adding an optional startTime parameter to schedule(), enabling callbacks at fixed, deterministic times (e.g., exactly at the start of every hour).

    • KIP-1153: Refactor Kafka Streams CloseOptions to Fluent API Style
      Gives users explicit control over whether KafkaStreams sends a leave-group request on shutdown via a new GroupMembershipOperation enum, wrapped in a fluent-style CloseOptions class that replaces the deprecated boolean-based API.

    • KIP-1216: Add rebalance listener metrics for Kafka Streams
      Adds thread-level latency metrics for tasks-revoked, tasks-assigned, and tasks-lost rebalance callbacks in Kafka Streams, restoring observability after the move to the dedicated streams rebalance protocol.

    • KIP-1221: Add application-id tag to Kafka Streams state metric
      Adds an application-id tag to the Kafka Streams client-state JMX metric, enabling operators to group multiple instances belonging to the same logical application.

    • KIP-1230: Add config for file system permissions
      Adds an opt-in allow.os.group.write.access configuration for Kafka Streams, allowing users to grant write access to their OS user-group for the local state directory.

    Kafka Connect

    • KIP-1054: Support external schemas in JSONConverter
      Adds an optional schema.content configuration to JsonConverter, allowing schemas to be specified externally rather than embedded in every JSON message - reducing message size and simplifying plain JSON integration.

    • KIP-1120: AppInfo metrics don’t contain the client-id
      Adds a client-id tag to AppInfo metrics for Kafka Worker and MirrorMaker 2 clients, improving monitoring and debugging consistency with other Kafka clients.

    • KIP-1188: New ConnectorClientConfigOverridePolicy with allowlist of configurations
      Introduces a new “Allowlist” connector client configuration override policy to address security vulnerabilities, allowing administrators to explicitly specify which client configurations connectors can override.

    Summary

    Ready to get started with Apache Kafka 4.2.0? Check out all the details in the upgrade notes and the release notes, and download Apache Kafka 4.2.0.

    This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 155 contributors:

    Abhi Tiwari, Abhijeet Kumar, Abhinav Dixit, Abhiram98, Alex, Alieh Saeedi, ally heev, Alyssa Huang, Andrew J Schofield, Anton Vasanth, Apoorv Mittal, Arpit Goyal, Artem Livshits, Bill Bejeck, Bolin Lin, Bruno Cadonna, Calvin Liu, Chang-Chi Hsu, Chang-Yu Huang, Chia-Ping Tsai, Chih-Yuan Chien, Chirag Wadhwa, Chris Egerton, Christo Lolov, Chuckame, Clemens Hutter, Colin Patrick McCabe, d00791190, Dave Troiano, David Arthur, David Jacot, Deep Golani, Dejan Stojadinović, devtrace404, Dmitry Werner, Dongnuo Lyu, Donny Nadolny, Eduwer Camacaro, Elizabeth Bennett, EME, Eric Chang, Erik Anderson, Evan Zhou, Evgeniy Kuvardin, farzan ghalami, Fatih, Federico Valeri, Gantigmaa Selenge, Gasparina Damien, Gaurav Narula, Genseric Ghiro, George Wu, Greg Harris, Harish Vishwanath, Herman Kolstad Jakobsen, Hong-Yi Chen, Ismael Juma, Izzy Harker, Jared Harley, Jhen-Yung Hsu, Jian, Jim Galasyn, Jimmy Wang, Jing-Jia Hung, Jinhe Zhang, Joel Hamill, Jonah Hooper, Josep Prat, José Armando García Sancio, Juha Mynttinen, Jun Rao, Justine Olshan, k-apol, Kamal Chandraprakash, Kaushik Raina, keemsisi, Ken Huang, Kevin Wu, Kirk True, knoxy5467, KTKTK-HZ, Kuan-Po Tseng, Lan Ding, Levani Kokhreidze, Liam Clarke-Hutchinson, Lianet Magrans, Linsiyuan9, Logan Zhu, lorcan, Lord of Abyss, Lucas Brutschy, Lucy Liu, Luke Chen, Mahsa Seifikar, majialong, Manikumar Reddy, Maros Orsak, Masahiro Mori, Mason Chen, Matt Welch, Matthias J. Sax, Michael Knox, Michael Morris, Mickael Maison, Ming-Yen Chung, NeatGuyCoding, Nick Guo, NICOLAS GUYOMAR, Nikita Shupletsov, Now, Okada Haruki, Omnia Ibrahim, Otmar Ertl, OuO, Paolo Patierno, Patrik Nagy, Pawel Szymczyk, PoAn Yang, Ken Huang, Priyanka K U, Rajani K, Rajini Sivaram, Ram, Ritika Reddy, Robert Young, Ryan Dielhenn, S.Y. Wang, samarth-ksolves, Sanskar Jhajharia, Satish Duggana, Sean Quah, Sebastien Viale, Shang-Hao Yang, Shashank, Shivsundar R, Siyang He, Sophie Blee-Goldman, Stig Døssing, stroller, Sushant Mahajan, TaiJuWu, TengYao Chi, Tsung-Han Ho (Miles Ho), Ubuntu, Uladzislau Blok, Vincent PÉRICART, Xiao Yang, xijiu, Xuan-Zhang Gong, yangxuze, Yeikel Santana, Yu-Syuan Jheng, YuChia Ma, Yunchi Pang, Yung

    Original source
  • Nov 12, 2025
    • Date parsed from source:
      Nov 12, 2025
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 4.1.1 Release Announcement

    Kafka releases Apache Kafka 4.1.1, a bugfix update with several critical fixes and upgraded guidance for users moving from older versions.

    We are proud to announce the release of Apache Kafka 4.1.1. This is a bugfix release that includes several critical fixes. For a full list of changes, be sure to check the release notes.

    See the Upgrading to 4.1.1 from any version 0.8.x through 4.0.x section in the documentation for the list of notable changes and detailed upgrade steps.

    Summary

    This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 32 contributors: Abhinav Dixit, Andrew Schofield, Apoorv Mittal, Bill Bejeck, Calvin Liu, Chia-Ping Tsai, Copilot, David Jacot, Dongnuo Lyu, Eduwer Camacaro, Fatih, Genseric Ghiro, Greg Harris, Izzy Harker, Jun Rao, Kevin Wu, Kuan-Po Tseng, Lan Ding, Lianet Magrans, Lucas Brutschy, Luke Chen, majialong, Manikumar Reddy, Masahiro Mori, Matthias J. Sax, Mickael Maison, Nikita Shupletsov, Ritika Reddy, Sean Quah, Shashank, Shivsundar R, Sushant Mahajan

    Original source
  • Oct 13, 2025
    • Date parsed from source:
      Oct 13, 2025
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 4.0.1 Release Announcement

    Kafka releases Apache Kafka 4.0.1, bringing the latest community-driven update with release notes and upgrade guidance for users moving from 0.8.x through 3.9.x.

    We are proud to announce the release of Apache Kafka 4.0.1. For a full list of changes, be sure to check the release notes.

    See the Upgrading to 4.0.1 from any version 0.8.x through 3.9.x section in the documentation for the list of notable changes and detailed upgrade steps.

    Summary

    This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 53 contributors: Alyssa Huang, Andrew Schofield, Andy Li, Anna Sophie Blee-Goldman, Apoorv Mittal, Ayoub Omari, Azhar Ahmed, Bill Bejeck, Calvin Liu, Chia-Ping Tsai, ChickenchickenLove, Christo, Clemens Hutter, Colin Patrick McCabe, David Arthur, David Jacot, Dmitry Werner, Dongnuo Lyu, Florian Hussonnois, Gaurav Narula, Hong-Yi Chen, Ismael Juma, Jared Harley, Jorge Esteban Quilcate Otoya, José Armando García Sancio, Jun Rao, Justine Olshan, Kamal Chandraprakash, Kaushik Raina, Kuan-Po Tseng, Lan Ding, Logan Zhu, Lucas Brutschy, Luke Chen, Manikumar Reddy, Matthias J. Sax, Mickael Maison, Ming-Yen Chung, mingdaoy, nilmadhab mondal, Okada Haruki, Omnia Ibrahim, Parker Chang, PoAn Yang, Rajini Sivaram, Ritika Reddy, Sean Quah, Shaan, Dongnuo Lyu, Shashank, TengYao Chi, Tsung-Han Ho (Miles Ho), Vincent PÉRICART, Xuan-Zhang Gong

    Original source
  • Sep 4, 2025
    • Date parsed from source:
      Sep 4, 2025
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 4.1.0 Release Announcement

    Kafka releases Apache Kafka 4.1.0 with major feature and stability improvements, including Queues for Kafka in preview, a new Streams Rebalance Protocol in early access, stronger metrics and transaction handling, OAuth jwt-bearer support, and Connect upgrades for multi-version plugins.

    We are proud to announce the release of Apache Kafka® 4.1.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.

    Queues for Kafka (KIP-932) is now in preview. It’s still not ready for production but you can start evaluating and testing it. See the preview release notes for more details.

    This release also introduces a new Streams Rebalance Protocol (KIP-1071) in early access. It is based on the new consumer group protocol (KIP-848).

    See the Upgrading to 4.1 section in the documentation for the list of notable changes and detailed upgrade steps.

    Kafka Broker, Controller, Producer, Consumer and Admin Client

    • KIP-877: Mechanism for plugins and connectors to register metrics
      Many client-side plugins can now implement the Monitorable interface to easily register their own metrics. Tags identifying the plugin are automatically injected and the metrics use the kafka.CLIENT:type=plugins naming where CLIENT is either producer, consumer or admin.

    • KIP-1050: Consistent error handling for Transactions
      This KIP updates the error handling logic and documentation of all the transaction APIs to make it simpler to build robust applications and build third-party Kafka clients that behave the same way as the Java client.

    • KIP-1092: Extend Consumer#close with an option to leave the group or not
      This adds a new Consumer.close(CloseOptions) method which indicates whether the consumer should explicitly leave its group when it’s shutting down. This enables Streams to control when to trigger group rebalances. The Consumer.close(Duration) method is now deprecated.

    • KIP-1101: Trigger rebalance on rack topology changes
      This KIP updates the rack-aware partition assignment from the consumer rebalance protocol and makes it a lot more memory efficient, allowing to have hundreds of members in a consumer group.

    • KIP-1109: Unifying Kafka Consumer Topic Metrics
      The consumer used to replace dots in topic names by underscore it its metric names. In this release, topic metrics are also emitted with the topic names unchanged. Users should transition to these new metrics. In 5.0, the metrics with the changed topic names will be removed.

    • KIP-1118: Add Deadlock Protection on Producer Network Thread
      From 4.1, if KafkaProducer.flush() is called from the KafkaProducer.send() callback, then an exception is raised. Previously this could lead to a deadlock in the producer.

    • KIP-1139: Add support for OAuth jwt-bearer grant type
      In addition to the client_credentials grant type, Kafka now supports the jwt-bearer grant type for OAuth. This grant type avoids putting secrets in clear in the configuration and is also supported by many OAuth providers.

    • KIP-1143: Deprecated Optional and return String from public Endpoint#listenerName
      This is a cleanup in the Endpoint class. The existing listenerName() method which returns Optional is now deprecated and users should transition to the new listenerName() method which returns String.

    • KIP-1152: Add transactional ID pattern filter to ListTransactions API
      When listing transactions you can now provide a pattern to filter based on the transactional ID. In environments with many transactional IDs, this avoids having to list all transactions and filter them on the client-side.

    Kafka Streams

    • KIP-1020: Move window.size.ms and windowed.inner.class.serde from StreamsConfig to TimeWindowedDe/Serializer and SessionWindowedDe/Serializer class
      The window.size.ms and windowed.inner.class.serde configurations are now defined in TimeWindowed and SessionWindowed SerDes.

    • KIP-1071: Streams Rebalance Protocol
      This builds on KIP-848 and makes Streams task assignment a first-class citizen in the Kafka protocol. A lot of logic also moves to the coordinator such a task assignments, internal topic creations. This is currently in early access and not ready for production use. See the upgrade guide for more details.

    • KIP-1111: Enforcing Explicit Naming for Kafka Streams Internal Topics
      Streams stores its state in internal topics whose names are generated. A new configuration, ensure.explicit.internal.resource.naming allows to enforce explicit naming of all internal resources to make topic names predictable and allow altering a topology and still conserve the existing topics.

    Kafka Connect

    • KIP-877: Mechanism for plugins and connectors to register metrics
      All worker and connector plugins can now register their own metrics. For connectors and tasks this is done via their context. Other plugins can implement the Monitorable interface to do so.

    • KIP-891: Running multiple versions of Connector plugins
      Connect now supports installing and running multiple versions of the same connector plugins (Connectors, Converters, Transformations and Predicates). This make it easier to upgrade, and downgrade in case of issues, plugins without needing to use separate Connect clusters.

    Summary

    Ready to get started with Apache Kafka 4.1.0? Check out all the details in the upgrade notes and the release notes, and download Apache Kafka 4.1.0.

    This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 167 contributors:

    陳昱霖(Yu-Lin Chen), A. Sophie Blee-Goldman, Abhinav Dixit, Albert, Alieh Saeedi, Almog Gavra, Alyssa Huang, Andrew Schofield, Andy Li, Ao Li, Apoorv Mittal, Artem Livshits, Ayoub Omari, Azhar Ahmed, Bill Bejeck, Bolin Lin, Bruno Cadonna, Calvin Liu, Cheryl Simmons, Chia-Ping Tsai, ChickenchickenLove, Chih-Yuan Chien, Chirag Wadhwa, Chris Flood, Christo Lolov, ClarkChen, Clay Johnson, co63oc, Colin P. McCabe, Colt McNealy, Damien Gasparina, Dániel Urbán, Dave Troiano, David Arthur, David Jacot, David Mao, Dejan Stojadinović, dengziming, Dimitar Dimitrov, Divij Vaidya, DL1231, Dmitry Werner, Dongnuo Lyu, Edoardo Comar, fangxiaobing, Federico Valeri, Florian Hussonnois, Fred Zheng, Gantigmaa Selenge, Gaurav Narula, Gerard Klijs-Nefkens, Goooler, grace, Greg Harris, Guang, Guozhang Wang, Gyeongwon, Do, Hailey Ni, hgh1472, Hong-Yi Chen, Iamoshione, Ismael Juma, Istvan Toth, Janindu Pathirana, Jared Harley, Jason Taylor, Jeff Kim, Jhen-Yung Hsu, Ji-Seung Ryu, jimmy, Jimmy Wang, Jing-Jia Hung, Joao Pedro Fonseca Dantas, John Huang, John Roesler, Jonah Hooper, Jorge Esteban Quilcate Otoya, Josep Prat, José Armando García Sancio, Jun Rao, Justine Olshan, Kamal Chandraprakash, Karsten Spang, Kaushik Raina, Ken Huang, Kevin Wu, Kirk True, Kondrat Bertalan, Kuan-Po Tseng, Lan Ding, leaf-soba, Liam Miller-Cushon, Lianet Magrans, Logan Zhu, Loïc GREFFIER, Lorcan, Lucas Brutschy, lucliu1108, Luke Chen, Mahsa Seifikar, Manikumar Reddy, Manoj, Martin Sillence, Matthias J. Sax, Mehari Beyene, Mickael Maison, Milly, Ming-Yen Chung, mingdaoy, Nick Guo, Nick Telford, NICOLAS GUYOMAR, nilmadhab mondal, Okada Haruki, Omnia Ibrahim, Parker Chang, Peter Lee, Piotr P. Karwasz, PoAn Yang, Pramithas Dhakal, qingbozhang, Rajini Sivaram, Rich Chen, Ritika Reddy, Rohan, S.Y. Wang, Sanskar Jhajharia, santhoshct, Satish Duggana, Sean Quah, Sebastien Viale, Shaan, Shahbaz Aamir, ShihYuan Lin, Shivsundar R, snehashisp, Stanislav Kozlovski, Steven Schlansker, Sushant Mahajan, Swikar Patel, TaiJuWu, Ted Yan, TengYao Chi, Thomas Gebert, Thomas Thornton, Tsung-Han Ho (Miles Ho), u0184996, Uladzislau Blok, Vadym Zhytkevych, Vedarth Sharma, Vikas Singh, Viktor Somogyi-Vass, Vincent PÉRICART, Xiaobing Fang, xijiu, Xuan-Zhang Gong, yangjf2019, Yaroslav Kutsela, Yu-Syuan Jheng, YuChia Ma, Yunchi Pang, Yung, YunKui Lu, yx9o, Zachary Hamilton, Zhihong Yu

    Original source
  • May 20, 2025
    • Date parsed from source:
      May 20, 2025
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 3.9.1 Release Announcement

    Kafka releases Apache Kafka 3.9.1 as a bug-fix update with several fixes and added Java 23 support, bringing smoother compatibility and a fresh upgrade path for users.

    We are proud to announce the release of Apache Kafka 3.9.1. This bug-fix release has several fixes, and most importantly, it adds Java 23 support. For a full list of changes, be sure to check the release notes.

    See the Upgrading to 3.9.1 from any version 0.8.x through 3.8.x section in the documentation for the list of notable changes and detailed upgrade steps.

    Summary

    This was a community effort, so thank you to everyone who contributed to this release: Alieh Saeedi, Almog Gavra, Alyssa Huang, Andrew Schofield, Anna Sophie Blee-Goldman, Ayoub Omari, Azhar Ahmed, Bill Bejeck, Bruno Cadonna, Chia-Ping Tsai, Colin Patrick McCabe, Colt McNealy, David Arthur, David Jacot, Dimitar Dimitrov, Divij Vaidya, Edoardo Comar, Federico Valeri, Florian Hussonnois, Greg Harris, Guozhang Wang, Hailey Ni, Ismael Juma, Jeff Kim, Jhen-Yung Hsu, Jonah Hooper, Jorge Esteban Quilcate Otoya, Josep Prat, José Armando García Sancio, Jun Rao, Justin Lee, Justine Olshan, Kamal Chandraprakash, Ken Huang, Kirk True, Kuan-Po Tseng, Laxman Ch, Lianet Magrans, Logan Zhu, Lucas Brutschy, Luke Chen, Manikumar Reddy, Martin Sillence, Matthias J. Sax, Mickael Maison, Ming-Yen Chung, Nick Telford, nilmadhab mondal, Parker Chang, PoAn Yang, Sean Quah, Sebastien Viale, ShivsundarR, Stig Døssing, TaiJuWu, TengYao Chi, Vedarth Sharma, Ziming Deng

    Original source
  • Mar 18, 2025
    • Date parsed from source:
      Mar 18, 2025
    • First seen by Releasebot:
      May 23, 2026
    Apache logo

    Kafka by Apache

    Apache Kafka 4.0.0 Release Announcement

    Kafka releases Apache Kafka 4.0 with a major shift to KRaft by default, dropping ZooKeeper and raising the bar for deployment simplicity and scale. It also brings next-generation consumer rebalance protocol, early access queues, stronger Streams and Connect features, and updated Java requirements.

    We are proud to announce the release of Apache Kafka® 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.

    Apache Kafka 4.0 is a significant milestone, marking the first major release to operate entirely without Apache ZooKeeper®. By running in KRaft mode by default, Kafka simplifies deployment and management, eliminating the complexity of maintaining a separate ZooKeeper ensemble. This change significantly reduces operational overhead, enhances scalability, and streamlines administrative tasks. We want to take this as an opportunity to express our gratitude to the ZooKeeper community and say thank you! ZooKeeper was the backbone of Kafka for more than 10 years, and it did serve Kafka very well. Kafka would most likely not be what it is today without it. We don’t take this for granted, and highly appreciate all of the hard work the community invested to build ZooKeeper. Thank you!

    Kafka 4.0 also brings the general availability of KIP-848, introducing a powerful new consumer group protocol designed to dramatically improve rebalance performance. This optimization significantly reduces downtime and latency, enhancing the reliability and responsiveness of consumer groups, especially in large-scale deployments.

    Additionally, we are excited to offer early access to Queues for Kafka (KIP-932), enabling Kafka to support traditional queue semantics directly. This feature extends Kafka’s versatility, making it an ideal messaging platform for a wider range of use cases, particularly those requiring point-to-point messaging patterns.

    Kafka’s major releases, such as version 4.0, remove APIs deprecated for at least 12 months to simplify the platform, and encourage the adoption of newer features. Notably, in Kafka 4.0, Kafka Clients and Kafka Streams require Java 11, while Kafka Brokers, Connect, and Tools, now require Java 17. This release also updates the minimum supported client and broker versions (KIP-896), and defines new baseline requirements for supported upgrade paths. Further details are provided in subsequent sections of this document.

    These highlights illustrate Kafka’s continued evolution to meet the demands of modern, scalable, and efficient data streaming and messaging architectures.

    See the Upgrading to 4.0 section in the documentation for the list of notable changes and detailed upgrade steps.

    Kafka Broker, Controller, Producer, Consumer and Admin Client

    • KIP-848: The Next Generation of the Consumer Rebalance Protocol
      Apache Kafka says goodbye to “stop-the-world” rebalances with the general availability of the next generation of the consumer rebalance protocol. It increases the stability and the performance of consumer groups while simplifying clients. The new protocol is enabled by default on the server side. Consumers must opt-in by setting group.protocol=consumer. See here for details.

    • KIP-890: Transactions Server-Side Defense
      The second phase of KIP-890 has been completed. It reduces the chances of “zombie transactions” during producer failures. See here for details.

    • KIP-932: Queues for Kafka (Early Access)
      This KIP introduces the concept of a share group as a way of enabling cooperative consumption using Kafka topics. It does not add the concept of a “queue” to Kafka per se, but rather introduces cooperative consumption to accommodate these queuing use-cases, using regular Kafka topics. Share groups make this possible. You can think of a share group as roughly equivalent to a “durable shared subscription” in existing systems. Please see the Early Access Release Notes for limitations and configurations.

    • KIP-966: Eligible Leader Replicas (Preview)
      KIP-966 introduces Eligible Leader Replicas (ELR) in preview in 4.0. ELR is a subset of the ISR replicas guaranteed to have complete data up to the high-watermark. ELRs are safe for leader election, preventing data loss. See here for details.

    • KIP-996: Pre-Vote
      KIP-996 introduces a “Pre-Vote” mechanism to reduce unnecessary KRaft leader elections in Apache Kafka clusters. By allowing nodes to check their eligibility for leadership before initiating an election, this approach minimizes disruptions caused by network partitions or transient issues.

    • KIP-1076: Metrics for client applications KIP-714 extension
      With KIP-714, cluster operators can now collect client metrics directly from brokers using a plugin. This makes it much easier to monitor client behavior. However, KIP-714 only gathers metrics from Kafka clients (admin, consumer, and producer), and doesn’t cover application-level metrics for embedded clients, such as Kafka Streams. To fully understand performance, it’s important to collect both client metrics and application-specific metrics. This KIP introduces a way for applications that use Kafka clients to include their own metrics alongside the existing client metrics.

    • KIP-1106: Add duration based offset reset option for consumer clients
      Kafka consumers support the auto.offset.reset config option, which is used when there is no initial offset in Kafka, or if the current offset does not exist any more on the server. This config currently supports earliest/latest/none options. Currently consumer resets might force applications to reprocess large amounts of data from earlier offsets. With infinite storage, it’s beneficial to have a duration based offset reset strategy. This KIP allows applications to consume/initialize from a fixed duration when there is no initial offset in Kafka.

    • KIP-1043: Administration of groups
      KIP-848 and KIP-932 introduce new group types, consumer and share, respectively. The Admin Client API has limitations when dealing with newer group types, sometimes returning errors or incorrectly stating that groups don’t exist. To address this challenge, a new command-line tool, kafka-groups.sh, and updates to existing command line tools, kafka-consumer-groups.sh and kafka-share-groups.sh, were made in Kafka 4.0 to enable users to view all groups in a cluster, along with their types and protocols —- providing accurate information even when the Admin Client API fails.

    • KIP-1099: Extend kafka-consumer-groups command line tool to support new consumer group
      This KIP extends the kafka-consumer-groups.sh and the kafka-share-groups.sh command line tools to provide more information related to consumer and share groups. This helps when it comes to troubleshooting consumer and share groups, respectively introduced by KIP-848 and KIP-932.

    • KIP-1102: Enable clients to rebootstrap based on timeout or error code
      KIP-1102 enhances Kafka client resilience by proactively triggering metadata rebootstrap when no updates occur within a timeout period, and allowing servers to explicitly signal clients to rebootstrap. This addresses previous limitations in KIP-899, where clients could become stuck with outdated metadata unless all brokers were unreachable.

    • KIP-896: Remove old client protocol API versions in Kafka 4.0
      For the first time, old protocol API versions have been removed. Users should ensure brokers are version 2.1 or higher before upgrading Java clients (including Connect and Streams) to 4.0. Similarly, users should ensure their Java client version is 2.1 or higher before upgrading brokers to 4.0.

    • KIP-1124: Providing a clear Kafka Client upgrade path for 4.x
      This KIP outlines the upgrade path for Kafka Clients, Streams and Connect to 4.0. It is a must read before upgrading your clusters and clients.

    • KIP-653: Upgrade log4j to log4j2
      The logging framework has been migrated from Log4j to Log4j2. Users can use the log4j-transform-cli tool to automatically convert their existing Log4j configuration files to Log4j2 format. Users can also keep using their Log4j configurations, but with certain limitations. Check the migration guide for details.

    • KIP-724: Drop support for message formats v0 and v1
      The message formats v0 and v1 were deprecated in Apache Kafka 3.0. They have been removed in 4.0.

    • KIP-750: Drop support for Java 8 in Kafka 4.0 (deprecate in 3.0) and KIP-1013: Drop broker and tools support for Java 11 in Kafka 4.0 (deprecate in 3.7)
      Kafka Clients and Kafka Streams require Java 11, while Kafka Brokers, Connect and Tools now require Java 17.

    • KIP-1030: Change constraints and default values for various configurations
      KIP-1030 has changed the default values of some configurations in order to provide better defaults to users starting out using Apache Kafka. Check out the KIP for the details.

    Kafka Streams

    • KIP-1104: Allow Foreign Key Extraction from Both Key and Value in KTable Joins
      KIP-1104 enhances Kafka Streams by allowing foreign keys to be extracted directly from both record keys and values, removing the need to duplicate keys into values for foreign-key joins. This improvement simplifies joins, reduces storage overhead, and provides a more intuitive developer experience.

    • KIP-1112: Allow custom processor wrapping
      KIP-1112 simplifies applying cross-cutting logic in Kafka Streams by introducing the ProcessorWrapper interface, enabling seamless injection of custom logic around Processor API and DSL processors. This eliminates previous redundancy and reduces the maintenance overhead caused by manually integrating logic into each processor individually.

    • KIP-1065: Add “retry” return-option to ProductionExceptionHandler
      KIP-1065 addresses persistent errors in Kafka Streams by allowing users to break retry loops via a new “RETRY” option in the ProductionExceptionHandler. This enhancement provides customizable error handling, enabling retries, graceful failures, or dropping problematic records to continue processing efficiently.

    • KIP-1091: Improved Kafka Streams operator metrics
      Kafka Streams exposes its metrics with KIP-1076. This KIP specifically adds a state metric for each StreamThread and the client instance itself. It also provides detailed visibility into application state.

    Kafka Connect

    • KIP-970: Deprecate and remove Connect’s redundant task configurations endpoint
      The endpoint GET /connectors/{connector}/tasks-config added in KIP-661 was deprecated in Apache Kafka 3.7 and is finally removed in 4.0. The endpoint GET /connectors/{connector}/tasks must be used as a replacement.

    • KIP-1074: Allow the replication of user internal topics
      Previously, MirrorMaker 2 automatically excluded topics whose names ended with .internal or -internal, incorrectly classifying them as internal topics. This behavior prevented legitimate business topics from being replicated unless users implemented a custom replication policy. This KIP introduces a configurable option that allows users to replicate such topics without requiring custom code.

    • KIP-1089: Allow disabling heartbeats replication in MirrorSourceConnector
      Previously, MirrorSourceConnector always replicated heartbeat topics, which could cause issues when multiple connectors with different configurations replicated topics between the same clusters, resulting in duplicate heartbeat replication. This KIP introduces a configurable option to disable heartbeat topic replication, providing users greater flexibility, particularly when using multiple connectors with distinct configurations.

    • KIP-1032: Upgrade to Jakarta and JavaEE 10 in Kafka 4.0
      Kafka Connect previously utilized outdated JavaEE APIs, restricting its compatibility with contemporary Jakarta EE frameworks and applications. KIP-1032 addresses this by upgrading Kafka 4.0 to Jakarta EE and JavaEE 10 APIs, introducing Java 17 as a required minimum version, and aligning Kafka with current standards for improved maintainability.

    Summary

    Ready to get started with Apache Kafka 4.0.0? Check out all the details in the upgrade notes and the release notes, and download Apache Kafka 4.0.0.

    This was a community effort, so thank you to everyone who contributed to this release, including all our users and our 175 contributors:
    A. Sophie Blee-Goldman, abhi-ksolves, Abhijeet Kumar, Abhinav Dixit, Abhishek Giri, Alieh Saeedi, Almog Gavra, Alyssa Huang, Andrew Schofield, Anshul Goyal, Ao Li, Apoorv Mittal, Arnav Dadarya, Arpit Goyal, Artem Livshits, Ayoub Omari, bachmanity1, bboyleonp666, Bill Bejeck, brenden20, Bruno Cadonna, Caio Guedes, Calvin Liu, Chengyan, Cheryl Simmons, Chia-Chuan Yu, Chia-Ping Tsai, Chirag Wadhwa, Chris Egerton, Christo Lolov, Christopher L. Shannon, ClarkChen, Clay Johnson, Colin P. McCabe, Colt McNealy, Danica Fine, Dániel Urbán, David Arthur, David Jacot, David Mao, David Schlosnagle, Dejan Stojadinović, devanshikhatsuriya, Dimitar Dimitrov, Divij Vaidya, DL1231, Dmitry Werner, donaldzhu-cc, Dongnuo Lyu, dujian0068, Edoardo Comar, Eric Chang, Federico Valeri, Frederik Rouleau, GangHuo, Gantigmaa Selenge, Gaurav Narula, Greg Harris, Guozhang Wang, Hailey Ni, Hongten, Hyunsang Han, Ian McDonald, Igor Soarez, Ismael Juma, Ivan Yurchenko, Jakub Scholz, Jason Gustafson, Jason Taylor, Jeff Kim, Jhen-Yung Hsu, Jim Galasyn, João Pedro Fonseca Dantas, John Huang, JohnHuang, Jonah Hooper, José Armando García Sancio, Josep Prat, Jun Rao, Justin Lee, Justine Olshan, Kamal Chandraprakash, KApolinario1120, kartik-3513, Kaushik Raina, Ken Huang, kevin-wu24, Kirk True, Kondrat Bertalan, Krishna Agarwal, Kuan-Po Tseng, kwonyonghyun, Laxman Ch, Liam Miller-Cushon, Lianet Magrans, Linsiyuan9, Linu Shibu, Liu Zeyu, Logan Zhu, Loïc Greffier, Lucas Brutschy, Luke Chen, lushilin, Mahsa Seifikar, Manikumar Reddy, mannoopj, Martin Sillence, Mason Chen, Matthias J. Sax, Mehari Beyene, Mickael Maison, Ming-Yen Chung, mingdaoy, msureshpro, Murali Basani, Nancy, Nick Guo, Nick Telford, Oleg Bonar, Oleksandr K., Omnia Ibrahim, Parker Chang, Patrik Marton, Paul R. Mellor, Peter Lee, Philip Nee, PoAn Yang, Rajini Sivaram, Ramin Gharib, Ritika Reddy, Robert Young, Rohan, S.Y. Wang, Said Boudjelda, Sanskar Jhajharia, santhoshct, Sasaki Toru, Satish Duggana, Saxon Chen, Scott Hendricks, Sean Quah, Sebastien Viale, Shivsundar R, snehashisp, Stanislav Knot, Steven Xu, stevenbooke, Stig Døssing, Sushant Mahajan, Swikar Patel, TaiJuWu, tall15421542-lab, TapDang, Ted Yan, TengYao Chi, Thomas Thornton, Tim Fox, tkuramoto33, Tom Duckering, Vedarth Sharma, Vikas Singh, Viktor Somogyi-Vass, Vincent Jiang, wperlichek, xijiu, Xuan-Zhang Gong, yangjf2019, Yaroslav Kutsela, Yash Mayya, Yung, yungh, yx9o, Zhengke Zhou, Ziming Deng, 陳昱霖 (Yu-Lin Chen)

    Original source

This is the end. You've seen all the release notes in this feed!

Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.

Similar to Kafka with recent updates: