Release Notes for Confluent Platform 8.3
8.3 is a major release of Confluent Platform that provides you with Apache Kafka® 4.3, the latest stable version of Kafka.
This page lists every 8.3.x patch release. Releases that include notable changes, such as a security fix or a new feature, are described in full. Releases that contain only dependency updates and bug fixes link directly to the Confluent Platform Component Changelogs for a complete list of changes.
The following sections summarize the technical details of this release. For component-level changelogs, see Confluent Platform Component Changelogs.
Ready to build?
Sign up for Confluent Cloud with your cloud marketplace account and unlock $1000 in free credits: AWS Marketplace, Google Cloud Marketplace, or Microsoft Azure Marketplace.
Kafka brokers
Confluent Platform 8.3 includes Kafka 4.3. Before you upgrade to Confluent Platform 8.3, review the Upgrade Confluent Platform guide and the Kafka 4.3 upgrade guide. These guides provide detailed, step-by-step upgrade instructions, rolling upgrade considerations, information about breaking changes, and compatibility issues.
Confluent Community software and Kafka
In Confluent Platform 8.3, new features include:
KIP-1023 Follower fetch from tiered offset: The new
follower.fetch.last.tiered.offset.enablebroker configuration lets you bootstrap a new follower from the last tiered offset. It defaults tofalseand can be set dynamically as a cluster-wide default.KIP-1066 Mechanism to cordon brokers and log directories: The new
cordoned.log.dirsconfiguration marks log directories as cordoned so the broker places no new partitions on them, which is useful when scaling down or decommissioning brokers or log directories.KIP-1196 Introduce coordinator cached buffer size config: The new
group.coordinator.append.max.buffer.sizeandshare.coordinator.append.max.buffer.sizeconfigurations set the maximum append buffer size the group and share coordinators can use, and new metrics let you track buffer usage.KIP-1219 Configurations for KRaft Fetch and FetchSnapshot byte size: The new
controller.quorum.fetch.snapshot.max.bytesandcontroller.quorum.fetch.max.bytescontroller configurations control the maximum amount of dataFetchandFetchSnapshotrequests can retrieve. They each default to 1 MiB, replacing the previous internal 8 MiB limit so that controllers can join the quorum over slow network connections.KIP-1240 Additional group configurations for share groups: New broker and group configurations give you more control over the behavior of share groups.
KIP-1251 Assignment epochs for consumer groups: The KIP-848 consumer group protocol now uses improved member epoch validation, which avoids unnecessary fencing of group members.
KIP-1263 Group coordinator assignment batching and offload: Group coordinator assignment performance improves through two mechanisms. Batching limits how frequently assignments are recalculated, and offloading runs assignment computations on the group coordinator executor so that slow assignors do not delay request processing.
For a full list of KIPs, features, and bug fixes, see the Apache Kafka 4.3 release notes. You can also watch the Kafka 4.3 release video that follows.
Clients
This release updates client libraries with the following improvements:
KIP-1258 Add support for OAuth client assertion to client_credentials grant type: The
client_credentialsOAuth grant type now supports client assertion authentication, so you can authenticate with a signed assertion instead of a plaintext client secret. This improves security and compatibility with OAuth providers.KIP-1274 Deprecate and remove support for the classic rebalance protocol in KafkaConsumer: A consumer that starts with the classic rebalance protocol now logs an informational message recommending the new consumer rebalance protocol. In this first phase, the
group.protocoldefault remainsclassic. The classic protocol remains functional but is no longer the recommended option.
Cluster management
Confluent for Kubernetes
For Confluent for Kubernetes release notes, see Confluent for Kubernetes Release Notes.
Ansible Playbooks for Confluent Platform
For Ansible Playbooks for Confluent Platform release notes, see the Ansible Playbooks for Confluent Platform.
Confluent Control Center
Starting with Confluent Platform 8.0, Confluent Control Center packages are hosted in a separate repository under the name confluent-control-center-next-gen, beginning with version 2.0. Control Center is now shipped independently of Confluent Platform releases. For more information, see the support plans and compatibility documentation and the Control Center Next-Gen Release Notes.
Confluent Control Center meets the Web Content Accessibility Guidelines (WCAG) 2.2 standards. For the latest accessibility details, see the revised Accessibility Conformance Report on the Confluent Trust Center, published January 2026.
Confluent Platform for Apache Flink
Confluent Platform for Apache Flink® follows separate versioning and has its own documentation. For detailed information, see the Flink documentation.
Kafka Streams
Kafka Streams includes the following changes in Confluent Platform 8.3.
KIP-1035 StateStore managed changelog offsets: The
StateStoreAPI now includes methods for stores to manage their own changelog offsets. The built-inRocksDBStoretracks these offsets internally instead of using external.checkpointfiles, which changes the default runtime behavior.KIP-1247 Make Bytes utils class part of the public API: The
Bytesclass is now part of the public API and appears in the Javadoc.KIP-1250 Add metric to track size of in-memory state stores: New metrics track the number of keys in the in-memory state stores.
KIP-1259 Add configuration to wipe Kafka Streams local state on startup: The new
state.cleanup.dir.max.age.msconfiguration deletes local state older than a set threshold on startup so the application rebuilds it from the changelog topic. It defaults to-1and is disabled by default.KIP-1270 Extend ProcessingExceptionHandler for GlobalThread: The new
processing.exception.handler.global.enabledconfiguration lets the configuredProcessingExceptionHandlerhandle exceptions raised duringGlobalKTableprocessing instead of shutting down the application. It defaults tofalse.KIP-1271 Allow to store record headers in state stores: The new record headers support lets state stores preserve Kafka record headers as a first-class feature for Processor API users. This support is opt-in and allows a single rolling-bounce upgrade for existing applications.
KIP-1285 DSL opt-in support for headers-aware state stores: The DSL API now exposes the headers-aware state stores from KIP-1271. To enable them, set the
dsl.store.formatconfiguration toHEADERS.
Schema Registry
Schema Registry includes the following changes in Confluent Platform 8.3.
Schema IDs can now be carried in a Kafka record header as an alternative to the legacy 5-byte payload prefix, which is one magic byte and a 4-byte schema ID. Producers continue to write the schema ID as a payload prefix by default and can enable header-based IDs through configuration. Consumers check the header first and fall back to the payload prefix, so they decode records produced in either format. This enables a phased producer-side migration with no consumer coordination, and unblocks integration with downstream systems that consume raw payloads without serialization framing. For more information, see Wire format.
Kafka Connect
Kafka Connect includes the following changes in Confluent Platform 8.3.
KIP-1273 Improve Connect configurable components discoverability: All Kafka Connect plugin types now implement a common
ConnectPlugininterface that exposes each plugin’s configuration definition and version through a single contract. This makes it easier to build tooling that discovers, validates, and documents plugin configurations across connectors, converters, transformations, predicates, and REST extensions. The change is fully backward compatible and requires no changes to existing plugins. For more information, see Discover plugin configurations.In line with the Support policy for self-managed connectors, a specific minimum version of connectors is required for support in Confluent Platform 8.3. For details, see Supported Connector Versions in Confluent Platform 8.3.
Unified Stream Manager
For Unified Stream Manager (USM) updates, see the Supported Versions and Interoperability for Confluent Platform documentation and Confluent Cloud release notes.
ksqlDB
ksqlDB continues to be available as part of Confluent Platform 8.3. For more information, see Use Docker to Install ksqlDB for Confluent Platform.
Docker base image updates
Starting with Confluent Platform 8.3.0, cp-base-java-micro is a new base Docker image built on ubi9-micro. It has the smallest footprint of the Confluent Platform base images. Confluent Platform Docker images shipped in 8.3.0 are built on cp-base-java-micro, or on cp-base-java for images that need the additional ubi9-minimal utilities.
Because cp-base-java-micro is minimal, some packages and tools that were included in earlier base images, such as curl, awk, python, rpm, and microdnf, are no longer present.
For more information about the Confluent Platform base images, see Docker Image Reference for Confluent Platform.
Deprecation warnings
Confluent Platform 8.3 includes the following deprecation warnings.
cp-base-new and cp-base-lite Docker base images
Starting with Confluent Platform 8.3.0, the cp-base-new and cp-base-lite Docker base images are deprecated. All Confluent Platform Docker images shipped in 8.3.0 are built on cp-base-java-micro, which uses ubi9-micro with a Java Runtime Environment (JRE), or cp-base-java, which uses ubi9-minimal with a JRE. If you build custom images on top of cp-base-new or cp-base-lite, migrate to cp-base-java-micro, or to cp-base-java if you need the additional ubi9-minimal utilities. For more information, see Docker Image Reference for Confluent Platform. For backward compatibility, both cp-base-java and cp-base-java-micro include a /usr/share/java/cp-base-new symlink so existing hardcoded paths continue to work. Both cp-base-new and cp-base-lite are scheduled for removal in Confluent Platform 8.4.0. They continue to be built and published for 8.3.x and earlier supported branches.
Confluent Manager for Apache Flink user interface in Control Center
Starting with Confluent Manager for Apache Flink (CMF) 2.4, the separate Confluent Control Center user interface installation for Flink management is deprecated. Instead, use the user interface directly from CMF, which reduces setup time and presents a more Flink-oriented view of your Flink environments, resources, and operations. For more information, see the Confluent Platform for Apache Flink documentation.
Confluent Health+
Confluent Health+ has entered its end-of-life (EOL) process. Health+ is deprecated, and you should plan to migrate to Unified Stream Manager (USM). While Health+ remains operational for existing users, it is scheduled to be retired, or to sunset, in 2026. Starting with Confluent Platform version 8.1, Health+ is discontinued for new deployments and Unified Stream Manager is the recommended alternative for all users.
To begin your migration planning, see Unified Stream Manager (USM) in Confluent Platform.
Supported versions and interoperability
Starting with Confluent Platform 8.3, Java 25 is supported, and the base Docker images use Eclipse Temurin 25, the latest long-term support (LTS) release. Confluent Platform 8.3 supports Java 25, 21, and 17. For more information, see Java.
For the full list of supported versions and interoperability of Confluent Platform and its components, see Supported Versions and Interoperability for Confluent Platform.
How to download
You can download Confluent Platform at https://confluent.io/download/. For detailed information, see the Install Confluent Platform On-Premises section.
Important
The Confluent Platform package includes Confluent Server by default and requires a confluent.license key in your server.properties file. The Confluent Server broker checks for a license during startup. You must supply a license string in each broker’s properties file using the confluent.license property as shown in the following code:
confluent.license=LICENCE_STRING_HERE_NO_QUOTES
If you want to use the Kafka broker, download the confluent-community package. The Kafka broker is the default in all Debian, RHEL, and CentOS packages.
For more information about migrating to Confluent Server, see Migrate Confluent Platform to Confluent Server.
To upgrade Confluent Platform to a newer version, see the Upgrade Confluent Platform documentation.
Questions?
If you have questions about this release, you can reach out through the community mailing list or community Slack. If you are a Confluent customer, you are encouraged to contact Confluent Support.
To provide feedback on the Confluent documentation, click the Give us feedback button located near the footer of each page.