# ✍️ What’s New in Apache Kafka 3.1.0

**URL:** https://forum.confluent.io/t/what-s-new-in-apache-kafka-3-1-0/3979
**Category:** News and Blogs
**Created:** [24 January 2022 17:59 UTC](https://forum.confluent.io/t/what-s-new-in-apache-kafka-3-1-0/3979 "2022-01-24T17:59:38Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![alice.richardson](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/alice.richardson/32/137_2.png) [@alice.richardson](https://forum.confluent.io/u/alice.richardson)
#### Post date: [24 January 2022 17:59 UTC](https://forum.confluent.io/t/what-s-new-in-apache-kafka-3-1-0/3979/1 "2022-01-24T17:59:38Z")

</div>

✨ There’s a new post on the [Confluent blog](https://confluent.io/blog). Here’s a snippet from it:

* * *

On behalf of the Apache Kafka® community, it is my pleasure to announce the release of Apache Kafka 3.1.0. The 3.1.0 release contains many improvements and new features. We’ll highlight […]

* * *

**[👉 Head over to the blog to read the full article](https://www.confluent.io/blog/apache-kafka-3-1-version-features-and-updates/)**

---

<div class="post-metadata">

### Author: ![vnadkarni](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/vnadkarni/32/1839_2.png) [@vnadkarni](https://forum.confluent.io/u/vnadkarni)
#### Post date: [25 January 2022 16:15 UTC](https://forum.confluent.io/t/what-s-new-in-apache-kafka-3-1-0/3979/2 "2022-01-25T16:15:01Z")

</div>

TL;DR:  
While KRaft is still not recommended for production ([known gaps](https://github.com/apache/kafka/blob/110fae2f59f85e8273c2aad3a6e43bd1bd516813/config/kraft/README.md#missing-features)), this release contains multiple bugs fixes and new features.

Tiered Storage work continues, with the goal of unlocking infinite scaling and faster rebalance times.

With Apache Kafka 3.1:

- The `FetchRequest` supports topic IDs.
- Enhanced naming consistency for 3 new client metrics with millis and nanos.
- Built-in and production-grade implementation to allow Kafka to connect to an OpenID identity provider for authentication and token retrieval.
- Two new metrics are exposed by both the ZooKeeper and KRaft controller: `ActiveBrokerCount` and `FencedBrokerCount` to expose the number of active and fenced brokers in the cluster known by the controller.
- The eager rebalance protocol is deprecated, so users on the eager protocol should prepare to upgrade their applications to the cooperative protocol.
- A new `TaskId` field is introduced to the `StreamsException` class, with a getter API to expose it.
- Support for foreign-key joins on tables with custom partitioners.
- Extension of the existing range interfaces semantics in the `ReadOnlySessionStore` and the `ReadOnlyWindowStore` to support unbounded ranges. Similarly extension of the existing `range` and `reverseRange` interfaces semantics in the `ReadOnlyKeyValueStore` to support unbounded ranges.
- A new metric introduced, called `blocked-time-total` that measures the total time a Kafka Streams thread has spent blocked on Kafka.
- Additional configuration introduced, to control MirrorMaker2 internal topics naming convention.
