<a id="deprecations"></a>

# Deprecations in Confluent Platform

Confluent Platform deprecated features, APIs, components, and connectors are listed
on this page with their deprecation date, removal release, and migration
path. This page is updated with each Confluent Platform release; for the latest
information, also see the [Release Notes for Confluent Platform 8.3](release-notes/index.md#release-notes).

<a id="deprecations-policy"></a>

#### IMPORTANT
**Deprecation policy** — When a feature is deprecated in Confluent Platform:

* The feature will be removed in a future release.
* Confluent does not make new development or enhancements to the
  deprecated feature.
* Confluent may not provide security patches for deprecated features.
* You should plan to migrate to the recommended alternative before
  the removal date.

<a id="deprecations-timeline"></a>

## Deprecation timeline at a glance

Items are grouped by origin: Kafka (upstream open source) deprecations
first, then Confluent component, product, and connector deprecations.
For Confluent Cloud-only items, see the [Confluent Cloud deprecations](#deprecations-cloud) section
below.

| Component, API, or feature                                                                    | Deprecated                               | Removed                    | Migration path                                                                                                                         |
|-----------------------------------------------------------------------------------------------|------------------------------------------|----------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| **Apache Kafka deprecations**                                                                 |                                          |                            |                                                                                                                                        |
| ZooKeeper                                                                                     | Confluent Platform 7.5                   | Confluent Platform 8.0     | Migrate to KRaft mode (see [Migrate from ZooKeeper to KRaft on Confluent Platform](installation/migrate-zk-kraft.md#migrate-zk-kraft)) |
| Client protocol API versions (pre-2.1.0)                                                      | Various                                  | Confluent Platform 8.0     | Upgrade clients to support protocol API 2.1.0 or later                                                                                 |
| Kafka Streams API deprecations (various releases)                                             | Confluent Platform 8.0, 8.2              | Varies by KIP              | See [Kafka Streams Upgrade Guide for Confluent Platform](streams/upgrade-guide.md#streams-upgrade-guide) for the full list             |
| `PARTITIONER_ADPATIVE_PARTITIONING_ENABLE_CONFIG` (Kafka<br/>producer configuration property) | Confluent Platform 8.2                   | Future release             | Replaced by the same property with the typo fixed:<br/>`PARTITIONER_ADAPTIVE_PARTITIONING_ENABLE_CONFIG`                               |
| Consumer topic metrics (underscore form)                                                      | Confluent Platform 8.1                   | Future release             | Update monitoring to the period-preserving metric names                                                                                |
| `Endpoint.listenerName()` returning `Optional<String>`                                        | Confluent Platform 8.1                   | Future release             | Use the overload that returns `String`                                                                                                 |
| `Admin.listConsumerGroups()`                                                                  | Confluent Platform 8.1                   | Future release             | Use `Admin.listGroups()`                                                                                                               |
| MX4J support (`mx4j.enable`, `mx4j.port`)                                                     | Confluent Platform 8.2                   | Future release             | Use standard JMX interfaces or built-in metrics reporters                                                                              |
| `remote.log.manager.thread.pool.size` (tiered storage)                                        | Confluent Platform 8.2                   | Future release             | Use `remote.log.manager.follower.thread.pool.size`                                                                                     |
| `--max-partition-memory-bytes` (`kafka-console-producer`<br/>command-line option)             | Confluent Platform 8.2                   | Future release (Kafka 5.0) | Use `--batch-size`                                                                                                                     |
| `org.apache.kafka.streams.scala` (Kafka Streams Scala module)                                 | Confluent Platform 8.3                   | Future release (Kafka 5.0) | Migrate to the Java Kafka Streams DSL                                                                                                  |
| `group.coordinator.rebalance.protocols` (Kafka broker<br/>configuration property)             | Confluent Platform 8.3                   | Future release (Kafka 5.0) | Remove the property. All rebalance protocols are enabled by<br/>default.                                                               |
| Classic consumer rebalance protocol                                                           | Confluent Platform 8.3 (advance notice)  | Future release (Kafka 6.0) | Migrate to the Consumer rebalance protocol                                                                                             |
| **Confluent deprecations**                                                                    |                                          |                            |                                                                                                                                        |
| MQTT Proxy                                                                                    | Confluent Platform 7.9                   | Future release             | Use the MQTT Source and Sink connectors                                                                                                |
| Deprecated connectors (various cohorts)                                                       | Confluent Platform 7.9, 8.2              | Varies by cohort           | See [Deprecated connectors](connect/supported.md#deprecated-connectors) for the full list                                              |
| Confluent Health+                                                                             | Confluent Platform 8.1 (new deployments) | Sunset in 2026             | Migrate to Unified Stream Manager (USM)                                                                                                |
| Confluent Manager for Apache Flink (CMF) version 1.x                                          | Confluent Platform 8.2                   | 2026-09                    | Migrate to CMF version 2.2 or later                                                                                                    |

<a id="deprecations-kafka"></a>

## Kafka deprecations

Deprecations of Kafka components, APIs, and configurations that ship
with Confluent Platform. These items originate in upstream Apache Kafka® KIPs.

### ZooKeeper

**Deprecated:** Confluent Platform 7.5

**Removed:** Confluent Platform 8.0

As of Confluent Platform 8.0, ZooKeeper has been removed. You must use KRaft mode for metadata management.
For steps to migrate from ZooKeeper to KRaft, see [Migrate from ZooKeeper to KRaft on Confluent Platform](installation/migrate-zk-kraft.md#migrate-zk-kraft).
For links to ZooKeeper topics in older versions of the documentation, see [ZooKeeper Topic Guide](kafka-metadata/zk-production.md#zk-prod-deployment).

You cannot upgrade to Confluent Platform 8.0 if you are still using ZooKeeper. Complete
the migration to KRaft before upgrading.

### KIP-896: Client protocol API removal in Confluent Platform 8.0

**Removed:** Confluent Platform 8.0

**KIP:** [KIP-896](https://cwiki.apache.org/confluence/display/KAFKA/KIP-896%3A+Remove+old+client+protocol+API+versions+in+Kafka+4.0)

Confluent Platform 8.0 removes compatibility for deprecated client protocol API
versions (pre-2.1.0). This affects all Kafka clients, including
producers, consumers, and admin clients.

**Impact**

* Old protocol API versions (pre-2.1.0) are no longer supported.
* Clients using deprecated API versions receive `UNSUPPORTED_VERSION`
  errors.
* Java clients throw `UnsupportedVersionException` when interacting
  with Confluent Platform 8.0+ brokers.

**Minimum requirements**

* Client protocol API version: 2.1.0 or later.
* Inter-broker protocol version: 2.1.0 or later (for dual-use APIs such
  as `Fetch` and `ListOffsets`).

**Migration**

* Upgrade all Kafka clients to versions that support protocol API
  2.1.0 or later.
* Ensure brokers support Kafka protocol API 2.1.0 or later (Confluent Platform 5.1.x
  or later) before upgrading clients to Confluent Platform 8.0.
* Ensure clients support Kafka protocol API 2.1.0 or later (Confluent Platform 5.1.x
  or later) before upgrading brokers to Confluent Platform 8.0.

For detailed steps on identifying and migrating deprecated clients,
see [Client Deprecation in Confluent Platform](clients/deprecate-how-to.md#cp-id-deprecated-clients).

### KIP-1175: Producer configuration property typo correction

**Deprecated:** Confluent Platform 8.2

**Removed:** Future release

**KIP:** [KIP-1175](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1175%3A+Fix+the+typo+%60PARTITIONER_ADPATIVE_PARTITIONING_ENABLE%60+in+ProducerConfig)

The misspelled Kafka producer configuration property
`PARTITIONER_ADPATIVE_PARTITIONING_ENABLE_CONFIG` (string value
`partitioner.adpative.partitioning.enable`) in `ProducerConfig`
is deprecated. The same property is replaced with the correctly
spelled constant `PARTITIONER_ADAPTIVE_PARTITIONING_ENABLE_CONFIG`
and property name `partitioner.adaptive.partitioning.enable`. Both
spellings remain supported for backward compatibility.

**Migration**

* Update producer configuration code to use
  `PARTITIONER_ADAPTIVE_PARTITIONING_ENABLE_CONFIG` and the
  correctly spelled property name
  `partitioner.adaptive.partitioning.enable`.

### Kafka Streams API deprecations

**Coverage:** Multiple Kafka Streams KIPs across Confluent Platform 8.0 and 8.2

Kafka Streams 4.0 (shipped with Confluent Platform 8.0) removed all APIs deprecated
through Kafka Streams 3.6.x — see
[KAFKA-12822](https://issues.apache.org/jira/browse/KAFKA-12822)
for the full list. Confluent Platform 8.2 introduces additional Kafka Streams
deprecations, including KIP-1153 (`KafkaStreams$CloseOptions` inner
class replaced by the top-level `org.apache.kafka.streams.CloseOptions`
class) and KIP-1195 (`BrokerNotFoundException`, unused since
Kafka Streams 2.8, deprecated for removal in the next major release).

For the complete, per-KIP list of Kafka Streams deprecations and
removals across Confluent Platform versions, see [Kafka Streams Upgrade Guide for Confluent Platform](streams/upgrade-guide.md#streams-upgrade-guide).

### KIP-1109: Consumer topic metrics renamed in Confluent Platform 8.1

**Deprecated:** Confluent Platform 8.1

**Removed:** Future release

**KIP:** [KIP-1109](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1109%3A+Unifying+Kafka+Consumer+Topic+Metrics)

Kafka consumer metrics now preserve periods (`.`) in topic names
instead of replacing them with underscores (`_`). This change aligns
consumer metrics behavior with producer metrics.

**Impact**

* Metrics that use underscores in topic names are deprecated.
* The underscore-based metrics are scheduled for removal in a future
  release.
* Update your monitoring dashboards to use the new metric names.

**Migration**

* Update monitoring systems to use the new metric format with periods
  preserved.
* The underscore-based metrics continue to work until they are removed
  in a future release.

### KIP-1143: `Endpoint.listenerName()` `Optional<String>` deprecation

**Deprecated:** Confluent Platform 8.1

**Removed:** Future release

**KIP:** [KIP-1143](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=345377327)

The `Endpoint.listenerName()` method that returns `Optional<String>`
is deprecated. A new overload with the same name returns `String`
directly.

**Migration**

* Update code that uses `Endpoint.listenerName()` returning
  `Optional<String>` to use the overload that returns `String`.
* The deprecated overload will be removed in a future release.

### KIP-1043: `Admin.listConsumerGroups()` deprecation

**Deprecated:** Confluent Platform 8.1

**Removed:** Future release

**KIP:** [KIP-1043](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1043%3A+Administration+of+groups)

**Tracking:** [KAFKA-17897](https://issues.apache.org/jira/browse/KAFKA-17897)

`Admin.listConsumerGroups()` and its variants are deprecated.
KIP-1043 consolidates listing under `Admin.listGroups()`, which
returns all group types (consumer, share, streams, and classic).

**Migration**

* Replace calls to `Admin.listConsumerGroups()` with
  `Admin.listGroups(ListGroupsOptions.forConsumerGroups())` to list
  only consumer groups, or `Admin.listGroups()` to list all group
  types.
* Update result handling to use `GroupListing` instead of
  `ConsumerGroupListing`.

### KIP-1193: MX4J support deprecation

**Deprecated:** Confluent Platform 8.2

**Removed:** Future release

**KIP:** [KIP-1193](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1193%3A+Deprecate+MX4J+Support)

Support for MX4J and its associated broker configurations
(`mx4j.enable` and `mx4j.port`) is deprecated.

**Migration**

* Switch from MX4J to standard JMX interfaces or to the built-in Kafka
  metrics reporters.
* Remove `mx4j.enable` and `mx4j.port` from your broker
  configuration.

### KIP-1179: `remote.log.manager.thread.pool.size` deprecation

**Deprecated:** Confluent Platform 8.2

**Removed:** Future release

**KIP:** [KIP-1179](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1179%3A+Introduce+remote.log.manager.follower.thread.pool.size+config)

The static `remote.log.manager.thread.pool.size` broker
configuration for tiered storage is deprecated. A new dynamic
configuration, `remote.log.manager.follower.thread.pool.size`,
replaces it and can be updated at runtime without a broker restart.

**Migration**

* Replace `remote.log.manager.thread.pool.size` with
  `remote.log.manager.follower.thread.pool.size` in your tiered
  storage broker configuration.

### KIP-1231: `--max-partition-memory-bytes` option deprecation

**Deprecated:** Confluent Platform 8.2

**Removed:** Future release (Kafka 5.0)

**KIP:** [KIP-1231](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1231%3A+Deprecate+%27--max-partition-memory-bytes%27+option+in+ConsoleProducer)

The `--max-partition-memory-bytes` option of the
`kafka-console-producer` command-line tool is deprecated and is
replaced by `--batch-size`. Both options set the same underlying
`batch.size` producer configuration. Using
`--max-partition-memory-bytes` logs a warning stating that the option
is deprecated and will be removed in Kafka 5.0, and recommends switching
to `--batch-size` instead.

For backward compatibility, `--max-partition-memory-bytes` continues
to override `--batch-size` until it is removed.

**Migration**

* Update scripts and commands that use `--max-partition-memory-bytes`
  to use `--batch-size` instead.

### KIP-1237: `group.coordinator.rebalance.protocols` deprecation

**Deprecated:** Confluent Platform 8.3

**Removed:** Future release (Kafka 5.0)

**KIP:** [KIP-1237](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1237%3A+Deprecate+group.coordinator.rebalance.protocols+config)

The `group.coordinator.rebalance.protocols` Kafka broker
configuration property, which controls the set of rebalance protocols
the group coordinator supports, is deprecated. Setting a non-default
value logs a deprecation warning. In a future release, all rebalance
protocols are enabled by default and are controlled by feature
versions through the `kafka-features` tool, so the property is no
longer needed.

**Migration**

* Remove `group.coordinator.rebalance.protocols` from your broker
  configuration. No replacement property is required.
* Manage the `group.version`, `streams.version`, and
  `share.version` feature flags with the `kafka-features` tool.

### KIP-1274: Classic consumer rebalance protocol deprecation

**Deprecated:** Confluent Platform 8.3 (advance notice)

**Removed:** Future release (Kafka 6.0)

**KIP:** [KIP-1274](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1274%3A+Deprecate+and+remove+support+for+Classic+rebalance+protocol+in+KafkaConsumer)

Confluent Platform 8.3 begins a phased deprecation of the classic consumer rebalance
protocol used by `KafkaConsumer`, in favor of the Consumer rebalance
protocol introduced by KIP-848. Confluent Platform 8.3 introduces no behavioral
changes. When a consumer uses the classic protocol, the client logs an
informational message that recommends the Consumer protocol, and the
classic protocol continues to work as before.

The phased timeline is as follows:

* **Confluent Platform 8.3** — The client logs an informational message when the
  classic protocol is used. There is no behavioral change, and no
  deprecation warning.
* **Kafka 5.0** — The default protocol changes to Consumer, and the
  classic protocol configurations and methods are formally deprecated.
* **Kafka 6.0** — Support for the classic protocol is removed from
  `KafkaConsumer`.

**Migration**

* Begin testing your consumer applications with the Consumer rebalance
  protocol.
* Plan to migrate consumer groups off the classic protocol before the
  removal release.

### KIP-1244: `streams-scala` module deprecation

**Deprecated:** Confluent Platform 8.3

**Removed:** Future release (Kafka 5.0)

**KIP:** [KIP-1244](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1244+Drop+support+for+streams-scala+in+Kafka+5.0+%28deprecate+in+4.3%29)

The Kafka Streams Scala module, `org.apache.kafka.streams.scala`, is
deprecated. The module wraps the Java Kafka Streams APIs for Scala users,
but it has low adoption and does not support Scala 3. Applications that
use the Scala DSL must migrate to the Java Kafka Streams DSL before the
module is removed.

**Migration**

* Migrate `org.apache.kafka.streams.scala.*` imports to their Java
  Kafka Streams DSL equivalents.
* For Kafka Streams upgrade and migration guidance, see
  [Kafka Streams Upgrade Guide for Confluent Platform](streams/upgrade-guide.md#streams-upgrade-guide).

<a id="deprecations-confluent"></a>

## Confluent deprecations

Deprecations of Confluent-built components, connectors, and
products. These items are not part of upstream Apache Kafka.

### MQTT Proxy

**Deprecated:** Confluent Platform 7.9

**Removed:** Future release

#### IMPORTANT
The MQTT Proxy is deprecated in Confluent Platform version 7.9 and will be removed in a future version.
As an alternative, use the [MQTT Source](https://docs.confluent.io/kafka-connectors/mqtt/current/mqtt-source-connector/overview.html)
and [MQTT Sink](https://docs.confluent.io/kafka-connectors/mqtt/current/mqtt-sink-connector/overview.html) connectors along
with your MQTT broker.

<a id="deprecations-connectors"></a>

### Connector deprecations

Connectors in Confluent Platform follow a three-phase lifecycle: General
Availability, Deprecated, and End of Life (EOL). Connectors are
deprecated on the day of a Confluent Platform major or minor release; standard
support continues for two years from the deprecation date and
platinum support for three years.

The most recent cohort of deprecated connectors was announced with
Confluent Platform 8.2 on March 4, 2026. For the complete list of deprecated
connectors (across all cohorts) and their migration paths, see
[Deprecated connectors](connect/supported.md#deprecated-connectors). For the full connector lifecycle
policy, see [Supported Self-Managed Connectors for Confluent Platform](connect/supported.md#connect-bundled-connectors).

### Confluent Health+

**Deprecated:** Confluent Platform 8.1 (new deployments discontinued)

**Removed:** Sunset planned for 2026

Confluent Health+ is entering its end-of-life (EOL) process. Health+
remains operational for existing users, but new deployments have been
discontinued since Confluent Platform 8.1, and the service is scheduled to sunset in
2026. Unified Stream Manager (USM) is the recommended alternative for all
users.

**Migration**

* Plan migration to USM.
* For migration planning details, see [Unified Stream Manager (USM) in Confluent Platform](usm/overview.md#usm-overview).

### Confluent Manager for Apache Flink version 1.x

**Deprecated:** Confluent Platform 8.2

**Patching ended:** 2025-05-25

**Removed:** September 2026 (version 1.1 fully deprecated)

Confluent Manager for Apache Flink (CMF) version 1.x is deprecated. Patching and bug fixes
ended on May 25, 2025, and CMF version 1.1 will be fully deprecated in
September 2026. CMF version 2.2 and later are backward compatible with
version 1.x.

**Migration**

* Upgrade to CMF version 2.2 or later.

<a id="deprecations-cloud"></a>

## Confluent Cloud deprecations

This page covers Confluent Platform deprecations. For Confluent Cloud-only deprecations
(for example, the Schema Registry Cluster Management (SRCM) v2 API
removal, Stream Designer, and Confluent CLI v3 / Terraform Provider v1),
see the
[Confluent Cloud release notes](https://docs.confluent.io/cloud/current/release-notes/index.html)
and the
[Confluent Cloud upgrade policy](https://docs.confluent.io/cloud/current/release-notes/upgrade-policy.html#deprecations-for-ccloud).

<a id="deprecations-resources"></a>

## Additional resources

* [Client Deprecation in Confluent Platform](clients/deprecate-how-to.md#cp-id-deprecated-clients) — How to identify deprecated Kafka
  client requests in your environment.
* [Migrate from ZooKeeper to KRaft on Confluent Platform](installation/migrate-zk-kraft.md#migrate-zk-kraft) — ZooKeeper to KRaft migration guide.
* [Deprecated connectors](connect/supported.md#deprecated-connectors) — Complete list of deprecated connectors.
* [Kafka Streams Upgrade Guide for Confluent Platform](streams/upgrade-guide.md#streams-upgrade-guide) — Kafka Streams upgrade guide.
* [Upgrade Confluent Platform](installation/upgrade.md#upgrade) — General Confluent Platform upgrade guide.
* [Release Notes for Confluent Platform 8.3](release-notes/index.md#release-notes) — Latest release notes, including deprecation
  announcements.
