Confluent Platform Component Changelogs

This topic provides changelogs for the individual Confluent Platform components.

Version 8.3.0

Released June 2026

Community Features

Common

  • c900cbb1 - Fold in newwave removal change

  • cb591d40 - Re-add jackson-annotations-version to avoid downstream build failures

  • 2190cbb6 - [BOM] Bump confluent-common-bom to 0.1.1 (8.0.x)

  • 3bc902d4 - [BOM] Use confluent-common-bom 0.1.0 for 9 deps (8.0.x)

  • 2636f6a9 - Add jetty-alpn-*-client artifacts to dependencyManagement

  • bd2bfe51 - Update mina-core to 2.2.7

  • 902d6f6b - Pin plexus-utils dependency to match ce-kafka

  • 040c731e - Cap ce/ccs kafka version ranges below 8.3.0-1416 to skip polluted artifacts

  • e0509516 - Update logredactor

  • c8e702a3 - Update type of BOM import to pom

  • e7ad2c1b - Fix the scope of jetty-bom import

  • 2e1c456b - Re-add Jetty BOM in 8.0.x and later

  • 396d1b59 - Update Jetty to 12.0.35

  • 9c4d0eb1 - Update Jetty to 9.4.61

  • c35f82c6 - Re-scope spotbugs-annotations

  • ffeef69a - Remove jackson-annotations definition as it was removed from rest-utils

  • c92168f8 - Update Netty to 4.1.133

  • 3deff310 - Fix debian/rules permission to be executable

  • 4458d2e5 - Add missing debian/compat file required by debhelper

  • 1bc77d88 - Migrate packaging files from separate rpm/debian/archive branches to debian/ on nightly branch

  • 52597d6c - Add jackson annotations sub-version, see #885

  • 37f6c330 - Update Jackson to 2.21.2

  • 68160aa0 - Update Jackson to 2.18.6

  • feef7ef9 - Update bouncycastle to 1.84

  • 98512fbb - Bump bouncycastle.jdk18 to 1.84 [security]

  • a3b037e1 - Bump snappy-java to 1.1.10.8

  • 08b569e9 - Bump protobuf to 4.34.0

  • 8d518a82 - Bump easymock to 5.6.0

  • 8ebc0f2e - Bump jacoco-maven-plugin from 0.8.7 to 0.8.13 to align with other branches

  • 2806c1ee - Remove easymock bump (was from #935, not #938)

  • 87cfc45b - [BOM] Cherry-pick #938: Bump commons-io, commons-compress, easymock, spotbugs on 8.3.x

  • d9a3403d - [BOM] Cherry-pick #938: Bump commons-io, commons-compress, easymock, spotbugs on 8.2.x

  • 9c2d2eaa - Replace jetty-bom with individual dependency definitions

  • 93f81673 - Add log4j2 version definition and update version in log4j2-extensions

  • 183addd9 - [BOM] Bump commons-io, commons-compress, spotbugs on 8.0.x

  • 709f5e13 - [BOM] Bump commons-validator, junit-bom, bouncycastle FIPS on 8.0.x

  • 12aaa7f4 - Update Jetty to 9.4.61

  • f99909b2 - Update log4j2 to 2.25.4

  • PR-950 - Update dependency org.apache.logging.log4j:log4j-core to v2.25.4 [SECURITY] (master)

  • e4108bcb - Use default buildx builder to fix chained cross-platform builds

  • f6f72532 - Update Netty to 4.1.132

  • ccace073 - Upgrade protobuf to 4.34.0

  • c05abece - Update Jetty to 12.0.34

  • 9cb23e8d - [BOM] Bump classgraph, easymock, snappy-java on 8.0.x

  • 4530151b - Bump snappy-java from 1.1.10.7 to 1.1.10.8 to avoid catching OOMException

  • PR-927 - Rename docker-arm profile to docker-fabric8 and migration changes

  • 88413aa1 - Update Jetty to 9.4.60 and zookeeper to 3.8.6

  • 6abdbc48 - Fix regex

  • 2bc43e24 - Update version string

  • 9ede1d56 - Update other strings

  • 0f55ed5b - Update avro to 1.11.5 in 7.9.6

  • 952e3d32 - Update avro to 1.11.5 in 7.8.7

  • e8cf967f - Update avro to 1.11.5 in 7.7.8

  • 62db0fed - Update avro to 1.11.5 in 7.6.10

  • 71f054dd - Update avro to 1.11.5 in 7.5.13

  • 217dac01 - Update avro to 1.11.5 in 7.4.14

  • d5a703f7 - Update avro to latest patch release

  • 941fddcb - Backport pr_ci_gating and status_level from master to service.yml

  • PR-902 - Add –direct-pom-edit support to ci.py for faster CI builds

  • PR-899 - Fix: update ci.py regex to support new kafka version format

  • 745599ac - Update Jetty to 9.4.59

  • 9559effb - Add logback-core dependency management to resolve bazel <–> maven conflicts

  • PR-885 - MINOR: Update Jackson versions to match kafka versions

Kafka

  • PR-21840 - Document KIP-1271 headers-aware state stores

  • PR-22199 - Improve async consumer CPU usage under low max.poll.records.

  • PR-22362 - Upgrade gradle action to enable the CI

  • PR-22269 - Fix handling of listener-prefixed SSL configs

  • PR-22267 - Added store unwrapping for publishing num-keys metric.

  • PR-21918 - Backwards compatible advertised.listeners when it is not defined

  • PR-22070 - Fix handling of cordoned log dirs

  • PR-22173 - Using both group.id and assign() causes a busy loop in AsyncKafkaConsumer

  • PR-22151 - Fix empty heading - Adding upgrade instructions for 4.1 in 4.3 branch

  • PR-22140 - Avoid persisting closed state if store is not open yet

  • PR-22112 - Fix flakiness - same output topic is being used for all parameterized tests

  • PR-22131 - Moving future completion out of locks for Share Partition

  • PR-22113 - Kafka-configs.sh can’t delete the config from a offline broker when using bootstrap controller

  • PR-22002 - Add DSL integration tests for header stores with explicit suppliers

  • PR-22085 - Use lighter options for RocksDB offsets column family

  • PR-21896 - Upgrade log4j2 to 2.25.4

  • PR-21911 - Bump maven artifact to 3.9.15

  • PR-22038 - Document ListOffsets API v11 and follower fetch from tiered of…

  • PR-22053 - Fix security vulnerabilities

  • PR-22011 - Fix unsubscribe failure with assignment updates

  • PR-22015 - ConsumerGroupDescribe API does not return partitions being revoked

  • PR-21817 - StreamsGroupCommand should display committed offsets for repartition topics

  • PR-22004 - Ensure backward compatibility for Windowed Store

  • PR-21606 - Add documentation on how to implement a custom exception(with ref to DLQ)

  • PR-21540 - Fix overwrite in recursive parent-node matching

  • PR-21900 - Add message to classic consumer startup guiding to next-gen protocol

  • PR-21956 - Add sesssion-header-store support to TDD

  • PR-21997 - Handle wakeup on poll reconciliation check

  • PR-21992 - Expose header-stores natively in IQv1

  • PR-21897 - Fix to ensure app thread not collecting records for partitions being revoked

  • PR-21941 - Headers store with caching enabled should reject queries

  • PR-21957 - Ensure Metered session-stores pass headers correctly

  • PR-21950 - Fix StoreBuilderWrapper for header-stores

  • PR-21973 - Fix memory leak by removing StreamsThreadMetricsDelegatingReporter from metrics registry on thread shutdown

  • PR-21946 - Fix RocksDBStore initialization error handling

  • PR-21926 - Remove assignment offloading configs for 4.3

  • PR-21822 - Update upgrade.md for new KIP-1263 configs in 4.3

  • PR-21949 - Ensure backward compatibility for Sliding Windows

  • PR-21967 - Propagate headers into serde 8/N

  • PR-21969 - Propagate headers into serde 9/N

  • PR-21934 - Ensure backward compatibility for Session Stores

  • PR-21939 - Upgrade Jetty to 12.0.34 (trunk, 4.3, 4.2)

  • PR-21851 - Propagate headers into serde 7/N

  • PR-21936 - Ensure Metered window-stores pass headers correctly

  • PR-21922 - Ensure backward compatibility for Windowed Store

  • PR-21464 - Handle retriable partition errors gracefully on OffsetFetch

  • PR-21850 - Propagate headers into serde 6/N

  • PR-21904 - Ensure backward compatibility

  • PR-21855 - Fix DescribeConfigs to correctly resolve broker synonyms for group configs

  • PR-21919 - Send background error when updating assignment for callbacks fail

  • PR-21884 - Commit OFFSET_UNKOWN when closing state stores and the offsets are not yet initialized

  • PR-21828 - Persist previousProducerId and nextProducerId in transaction log

  • PR-21053 - Delete dynamic configs that were removed by Kafka

  • PR-21859 - Add documentation for OAuth client assertion authentication (KIP-1258)

  • PR-21824 - Ack handling improvement on broker restart

  • PR-21804 - Refactor dslStoreFormat resolution into AbstractConfigurableStoreFactory

  • PR-21751 - Fix CF handle leaks

  • PR-21802 - SetFlushListener should pass record.headers() instead of empty headers

  • PR-21028 - Allow configuration of kraft RPC max bytes

  • PR-21813 - Ensure reconciled assignment updated within poll KS

  • PR-21874 - Invalid formatting of System Properties in website

  • PR-21740 - Receive buffers allocated from MemoryPool may not be released if request is invalid

  • PR-21853 - Add commit-rate metric to metered state stores Add commit metric

  • PR-21845 - Add syntax highlighting for code blocks in getting started

  • PR-21706 - Optimize raw value extraction in headers-aware deserializers

  • PR-21781 - Mark lost partitions before callbacks for Consumer and Streams

  • PR-21825 - WindowStoreMaterializerTests needs to get updated

  • PR-21794 - Add time ordered session store support to the DSL

  • PR-21627 - Add group-level configs for assignment batching and offload

  • PR-21814 - Write legacy .checkpoint on close for downgrade support

  • PR-21780 - Enable time-ordered header window store in DSL

  • PR-21811 - Fix consumer system tests

  • PR-21722 - Implement assignment batching for streams groups

  • PR-21721 - Implement assignment batching for share groups

  • PR-21784 - Refactor DSL store config and propagate dslStoreFormat

  • PR-21453 - Add bootstrap support to KRaft listener interface

  • PR-21795 - Fix issues with new offset management

  • PR-21720 - Implement assignment batching for consumer groups

  • PR-21782 - Add API version discovery true for transaction manager

  • PR-21692 - Implement KIP-1251: Assignment epochs for consumer groups [3/N]

  • PR-21750 - Persist Position into offsets CF

  • PR-21753 - Move Scheduler from client common to trogdor

  • PR-21768 - Ensure Metered kv-stores pass headers correctly

  • PR-21495 - Ensure reconciled assignment updated within poll

  • PR-21639 - Changelog tombstone records drop custom headers when usi…

  • PR-21783 - Remove use_share_groups from system tests

  • PR-21791 - Add overrides to AbstractDecorator classes

  • PR-21785 - Add throwables and new record state for share group DLQ. [1/N]

  • PR-21763 - Move parts of UnifiedLogTest to storage module

  • PR-21576 - Add KIP-877 support to MirrorMaker

  • PR-21758 - Remove orphaned groups from GroupConfigManager

  • PR-21580 - Update Kafka Streams DSL to use header-stores

  • PR-21778 - Simplify StateManager interface and checkpoint logic

  • PR-21769 - Optimize deserializers and HeadersBytesStore

  • PR-21738 - ProcessorStateManager delegates offset tracking to stores

  • PR-21739 - GlobalStateManagerImpl delegates offset tracking to stores

  • PR-21725 - Send client.rack via StreamsHeartbeatRequest

  • PR-21619 - Controller registration needs to retry after request timeout

  • PR-21717 - Fix error invoking org.apache.kafka.connect.runtime.ConnectMetrics$MetricGroup.close()

  • PR-21757 - Limit SharePollEvent to single instance

  • PR-21744 - Add Interactive Queries (IQv1) support for headers-aware stores

  • PR-21483 - Add Support for OAuth Client Assertion to client_credentials Grant Type

  • PR-21756 - Propagate headers into serde 5/N

  • PR-21755 - Propagate headers into serde 4/N

  • PR-21749 - Parameterize session store unit tests to run with headers-aware store format

  • PR-21745 - Update TopologyTestDriver to support for headers-aware stores

  • PR-21736 - Fix header-based key deserialization in MeteredTimestampedKeyValueStoreWithHeaders iterator methods

  • PR-21748 - Upgrade downgrade integration tests for session store with headers

  • PR-21743 - Implement all required ReadOnly*Facade classes for headers stores

  • PR-21600 - Enable SessionStore with headers in DSL

  • PR-21734 - Fix header-based key deserialization in MeteredSessionStoreWithHeaders iterator methods

  • PR-21648 - Switch stream store from RocksDB to in-memory

  • PR-21719 - Remove MappedIterator and test

  • PR-21330 - Improve Connect configurable components discoverability

  • PR-21730 - Add broker configs for assignment batching and offload

  • PR-21710 - Upgrade path for plain window store to headers store

  • PR-21617 - Add num-keys metric for in-memory state stores

  • PR-21037 - Add tests to ensure Consumer.close() timeouts work as documented

  • PR-21640 - Add ShareGroupDLQ interface and some infra classes.

  • PR-21578 - Manage offsets in RocksDBStore

  • PR-21601 - Make Bytes part of the public API (KIP-1247)

  • PR-21684 - Metered layer of KV-stores needs to pass Headers

  • PR-21703 - KIP-1240 updates in upgrade.md

  • PR-21705 - Fix header-based key deserialization in MeteredTimestampedWindowStoreWithHeaders iterator methods

  • PR-21554 - Add LegacyCheckpointingStateStore

  • PR-21670 - Add session store with headers support for IQv2

  • PR-21506 - Rotate producerId when epoch exhausted during transaction completion.

  • PR-21686 - Move parts of UnifiedLogTest to storage module

  • PR-21626 - Refactor serialization and deserialization code for *WithHeaders types

  • PR-21696 - Refactor assignment update for delayed streams assignments

  • PR-21689 - Move UncleanLeaderElectionTest to server module

  • PR-21700 - Initialize group epochs to 1 for assignment offload

  • PR-1965 - Skip fetching mavenurl from vault

  • PR-21633 - Validation and enforcement of group configurations

  • PR-21599 - Enable TimestampedWindowStoreWithHeaders in DSL (1/N)

  • PR-21695 - Refactor assignment update for delayed share assignments

  • PR-21688 - Enhance helper message for producer-props and command-property

  • PR-21697 - Finish rename of TargetAssignmentEpoch record methods

  • PR-21694 - Refactor assignment update for delayed consumer assignments

  • PR-21642 - Add integration tests for group migration with compaction and broker restart

  • PR-21666 - Upgrade path from plain KV store to headers store

  • PR-21678 - Group configuration for share.partition.max.record.locks

  • PR-21522 - Deprecate group.coordinator.rebalance.protocols config (KIP-1237)

  • PR-21680 - Adding SessionStore with headers adapters and iterator facade

  • PR-21649 - Refactor GlobalStateManagerImpl

  • PR-21667 - Add downgrade tests in TimestampedKeyValueStoreWithHeadersTest

  • PR-19793 - Move DelayedProduce to server module

  • PR-21566 - Implement state store clean up on start

  • PR-21650 - Verify existing IQv2 methods for MeteredTimestampedWindowStoreWithHeaders

  • PR-21643 - Verify existing IQv2 methods for MeteredTimestampedKeyValueStoreWithHeaders

  • PR-21663 - Rebalance on classic group downgrade with stale assignment

  • PR-21662 - Rebalance classic members only on new assignment

  • PR-21682 - StreamsConfig should log WARN by default

  • PR-21558 - Implement KIP-1251: Assignment epochs for consumer groups [2/N]

  • PR-21644 - Move parts of UnifiedLogTest to storage module

  • PR-21681 - Propagate headers into serde 3/N

  • PR-21467 - Group configuration for share.renew.acknowledge.enable

  • PR-21536 - Propagate headers into serde 2/N

  • PR-21535 - Extend ProcessingExceptionHandler to GlobalKTable processors

  • PR-21652 - Add tracking of assignment timestamps

  • PR-21638 - Add upgrade guide warning about classic to streams group migration in 4.2.0

  • PR-21581 - Implement TimestampedWindowStoreWithHeaders (N/N)

  • PR-21641 - Fix streams group creation failing when simple classic group exists

  • PR-21575 - Move LogCleanerIntegrationTest from core to storage

  • PR-21469 - Add recovery logic to handle MaxValue epochFix max epoch

  • PR-21615 - Document Kafka ACLS required for Connect

  • PR-21621 - Bump jackson to 2.21.1

  • PR-21550 - Align the behavior of num.partitions and default.replication.factor for topic creation

  • PR-21616 - Add group coordinator background metrics

  • PR-21497 - Implement TimestampedWindowStoreWithHeaders (5/N)

  • PR-21555 - Add group.coordinator.background.threads config

  • PR-21613 - Document KIP-1257 partition size percentage metrics

  • PR-21612 - Add RetentionSizeInPercent metrics for regular topics

  • PR-21573 - Remove partition-level ExpiresPerSec metrics when the broker no longer owns the partition

  • PR-21468 - Add RetentionSizeInPercent and LocalRetentionSizeInPercent metrics for storage monitoring

  • PR-21556 - Clarify two-step requirement for enabling Streams topology optimizations

  • PR-21557 - Implement KIP-1251: Assignment epochs for consumer groups [1/N]

  • PR-21571 - RocksDB session stores with headers support (4/N)

  • PR-21572 - Enable TimestampedKVStoreWithHeaders in DSL (1/N)

  • PR-21591 - Batch offset translation in RemoteClusterUtils

  • PR-21519 - Fix brittle logic in ReconfigurableQuorumIntegrationTest

  • PR-20866 - Gradle Shadow plugin version upgrade: 8.3.9 –>> 9.3.1

  • PR-21523 - Cleanups for KIP-1066

  • PR-21517 - Upgrade ducktape from 0.12 to 0.13

  • PR-20954 - Use shared cache for Task offset sums

  • PR-21567 - Add ChangeLoggingSessionBytesStoreWithHeaders for header-aware session changelog logging (3/N)

  • PR-21529 - Implement TimestampedKeyValueStoreWithHeaders (N/N)

  • PR-21406 - Move LogCleanerLagIntegrationTest to storage module

  • PR-21559 - Downgrade Jetty from 12.0.32 to 12.0.25 to fix SLF4J 2.x incompatibility

  • PR-21493 - Implement TimestampedWindowStoreWithHeaders (4/N)

  • PR-21455 - Implement TimestampedKeyValueStoreWithHeaders (5/N)

  • PR-21513 - Adding SessionStoreWithHeaders, MeteredSessionStore and tests (2/N)

  • PR-21511 - Add AggregationWithHeaders, serialization support and tests (1/N)

  • PR-21443 - Missing MM2 default exclude configs

  • PR-21480 - Deprecate streams-scala module

  • PR-21486 - Implement TimestampedWindowStoreWithHeaders (3/N)

  • PR-21477 - [3/3] Move LogDeleteRecordsResult to server module

  • PR-21472 - Add CI check to detect Python dependency conflicts

  • PR-21111 - Added checks for the number of dropped records to foreign key join tests.

  • PR-21491 - Group configuration for share.delivery.count.limit

  • PR-21457 - ClassicKafkaConsumer does not clear endOffsetRequested flag on failed LIST_OFFSETS calls

  • PR-20749 - Startup state stores initialization

  • PR-21478 - Implement TimestampedWindowStoreWithHeaders (2/N)

  • PR-21465 - Implement TimestampedWindowStoreWithHeaders (1/N)

  • PR-21273 - Mechanism to cordon log dirs (KIP-1066)

  • PR-21500 - Fix incorrect suspend reason in standby update listener

  • PR-21451 - Implement TimestampedKeyValueStoreWithHeaders (3/N)

  • PR-21223 - Move DumpLogSegments to tools

  • PR-21454 - Implement TimestampedKeyValueStoreWithHeaders (4/N)

  • PR-21410 - Move LogAppendResult to server module

  • PR-21504 - Remove unused CoordinatorMetrics#registry

  • PR-21471 - Share consumer group fails when group ID contains colon character

  • PR-21445 - Add javadoc to public APIs in org.apache.kafka.clients.producer

  • PR-21490 - Propagate headers into serde 1/N

  • PR-21452 - Upgrade Jetty from 12.0.22 to 12.0.32

  • PR-21475 - Move HostedPartition to server module

  • PR-21446 - Implement TimestampedKeyValueStoreWithHeaders (2/N)

  • PR-20428 - ReplicaFetcher changes for fetching from tiered offset

  • PR-21439 - Convert ControRecordType schema to use auto-generated protocol

  • PR-21418 - Move RecordValidationStats to storage module

  • PR-21384 - Fix generated doc and Javadoc for dynamic configs

  • PR-21411 - Add new methods to StateSerdes

  • PR-21441 - Document that mapKey does not break the serialization compatibility

  • PR-21444 - Implement TimestampedKeyValueStoreWithHeaders (1/N)

  • PR-21409 - Create HeadersBytesStore

  • PR-21019 - Reduce code duplication in nullable protocol types

  • PR-21408 - Create ValueTimestampHeaders and its serializer/deserializer

  • PR-21131 - Throttle-related dynamic configurations should not have the isReadOnly flag

  • PR-21412 - Add missing TimestampType to java doc and move non-public classes to internal subpackage

  • PR-21397 - Add documentation about the incompatibility of RocksDB file format

  • PR-21423 - Close pending tasks on shutdown.

  • PR-21425 - Fix server error when appending or subtracting a non-existent config key

  • PR-21403 - Group coordinator fails to unload metadata when no longer leader or follower

  • PR-21385 - Handle pre-4.1 brokers in kafka-configs.sh for groups

  • PR-21396 - Group coordinator fails to unload metadata when no longer leader or follower

  • PR-21420 - Fix messageConversionsTimeNanos and temporaryMemoryBytes not accumulated across partitions

  • PR-21365 - Close pending tasks on shutdown.

  • PR-20955 - Add new StateStore interfaces

  • PR-21401 - Create HeadersSerializer and HeadersDeserializer

  • PR-21383 - Move FetchSessionTest to server module

  • PR-20141 - Log detailed message for OffsetOutOfRangeException in deleteRecordsOnLocalLog

  • PR-21279 - Fix race condition on backoffDeadlineMs on RPCProducerIdManager causing premature retries

  • PR-20289 - Race condition between log segment flush and file deletion causing log dir to go offline

  • PR-21201 - State updater’s *-ratio metrics are incorrect

  • PR-21335 - Made PartitionLeaderCache thread safe.

  • PR-19220 - Fix metrics exposing doubles instead of ints or longs

  • 65faedb6 - Fix error in SSLUtils when ssl.cipher.suites not provided with listener-prefixed configs

  • PR-20158 - Move FetchSession and related classes to server module

  • PR-21343 - Move LogCleanerManagerTest to storage module

  • PR-21340 - Replace verbose version instructions with updateVersion task

  • PR-21302 - Move part of DynamicConfig/DynamicBrokerConfig to server…

  • PR-21352 - Fix inconsistency in time-based retention checks between remote and local segment deletion logic.

  • PR-21336 - Move BrokerLifecycleManager to server module

  • PR-21362 - Do not set KAFKA_URL as ENV in Docker

  • PR-21356 - Add test case for duplicate ports with different hostnames in KafkaConfigTest

  • PR-21310 - Drop core test output dependency in jmh-benchmarks

  • PR-21289 - Delete CoreUtils.scala and migrate logic to Java

  • PR-21328 - Move ThrottledChannelExpirationTest to server module

  • PR-21319 - Add tests for duplicate heartbeat request handling

  • PR-21312 - Allow fenced members to rejoin streams group with epoch 0

  • PR-21309 - Allow fenced members to rejoin share group with epoch 0

  • PR-21305 - Allow fenced members to rejoin consumer group with epoch 0

  • PR-21170 - Documentation section on the streams rebalance protocol

  • PR-21318 - Fix wrong (uppercase) PluginType JSON serialization

  • PR-20783 - Move DynamicTopicClusterQuotaPublisher to metadata module

  • PR-21294 - Document considerations and side effects of dynamic partition expansion

  • PR-21114 - Fix blocked reassignment completion due to ISR missing replicas

  • PR-21261 - Move NodeToControllerChannelManagerImpl to server module

  • PR-21299 - Improve code examples in consumer javadoc

  • PR-21300 - Remove templateData.js in release.py

  • PR-21277 - Add prefix to TopicBasedRemoteLogMetadataManagerConfig to enable setting admin configs

  • PR-21296 - Fix Docker build hang by reordering tar extraction before…

  • PR-21285 - Fix rare producer message corruption, don’t reuse buffers…

  • PR-21065 - Fix rare producer message corruption, don’t reuse buffers on the client in certain error cases

  • PR-21266 - RPCProducerIdManager#sanityCheckResponse fails to detect overlapping producer id

  • PR-21230 - Move KRaftClusterTest from core module to server module [4/4]

  • PR-21265 - Share commitSync for deleted topic

  • PR-21212 - Improve UUID nullability description in API readme

  • PR-21253 - Fix race on consumer updating positions and unsubscribe when using committed offsets with topic ID

  • PR-21249 - Upgrade Log4j to 2.25.3

  • PR-21258 - Switched the java version for streams-scala from 17 to 11.

  • PR-21213 - Reduce the list metadata calls to RLMM during segment cleanup

  • PR-21243 - Fix the broken quick start link

  • PR-21246 - Set deliveryCompleteCount to 0 when share partition is initialized with non negative start offset.

  • PR-20938 - Support dynamically changing configs for a specific dynamic quorum controller

  • PR-20456 - Move TransactionLog to transaction-coordinator module

  • PR-21245 - Document when Admin#createPartitions throws InvalidPartitionsException

  • PR-21222 - Fix kafka-reassign-partitions.sh to handle dead brokers

  • PR-21225 - Fix typo: ‘sucessfully’ -> ‘successfully’

  • PR-21101 - Convert MetadataRequestTest to use ClusterTest

  • PR-21175 - Move KRaftClusterTest from core module to server module [3/4]

  • PR-21089 - Add configurable TTL for tiered storage index cache eviction

  • PR-20811 - Set default min.insync.replicas=2 for __remote_log_metadata topic to prevent data loss (KIP-1235)

  • PR-21176 - Transaction coordinator livelock caused by invalid producer epoch

  • PR-21163 - Move DefaultExternalKRaftMetrics to the server module

  • PR-21153 - APIs for Follower Fetch from Last Tiered Offset

  • PR-20635 - Move UnifiedLogTest to storage module (1/N)

  • PR-21208 - Incorrect warn log when alterConfig suceeds

  • PR-20619 - The version-mapping of kafka-features.sh should work without requiring the bootstrap

  • PR-21167 - Reset-by-duration should not hand back task to state-updater

  • PR-21160 - StreamThread *-ratio metrics suffer from sampling bias

  • PR-21173 - Override exit procedure in AclCommandTest#testAclCliWithMisusingBootstrapControllerToServer

  • PR-21158 - Record copy lag metrics during failures

  • PR-21150 - Handle retriable remote storage exception in RemoteLogManager

  • PR-21027 - Reduce the log4j2 cpu usage in PersisterStateManager

  • PR-21135 - Gracefully handle exceptions when handling AllocateProducerIdsResponse

  • PR-21159 - Remove 2PC public APIs from 4.2 until release (KIP-939) …

  • PR-19762 - Move KafkaMetadataLog to the raft module

  • PR-21155 - TaskManager may not close all tasks on task timeouts

  • PR-21130 - Add metrics from KIP-1216 to ops.html

  • PR-21129 - Document streams groups metrics changes in ops.html

  • PR-19232 - Move KRaftMetadataCache to metadata module

  • PR-16834 - Add dynamic broker config to enable follower fetch using tiered offset

  • PR-21125 - ConfigCommand#validatePropsKey should accept $ symbol

  • PR-20726 - CheckStyle version upgrade: 10 –>> 12

  • PR-20861 - Move KRaftClusterTest from core module to server module [2/4]

  • PR-21120 - Update session and window store with new default when no open iterators

  • PR-20847 - Introduce group/share.coordinator.cached.buffer.max.bytes config

  • PR-21011 - Apply rebalance delay also for later epochs if the group is empty

  • PR-20326 - Refactor makeReady to reduce complexity and support upcoming KIP-698 changes

  • PR-21110 - Don’t enter running state as long as group is not ready

  • PR-21031 - Always set status field in StreamsGroupHeartbeat response

  • PR-21091 - Refactor to reset timestamp to zero when no open iterators

  • PR-21059 - Remove all code related to non-stateupdater path

  • PR-20907 - Group coordinator loading may fail when there is concurrent compaction

  • PR-21046 - Document queues metrics changes in ops.html

  • PR-21035 - Update lz4 dependency version

  • PR-21107 - Do not bump member epoch when exiting UNREVOKED_PARTITIONS

  • PR-21072 - Improved property spacing/readability of kafka-features.sh output

  • PR-21082 - Upgrade commons-validator to 1.10.1

  • PR-21092 - Bump delivery count on session release

  • PR-21081 - Increasing batch size to fix throttled delivery test

  • PR-21012 - Generator | Fix order of arguments to assertEquals in unit tests - 2

  • PR-21030 - Remove streams_eos_test system test

  • PR-21071 - Mark session stale when removed prior disconnection event

  • PR-21013 - Bump group epoch when member regex subscription transitions from non-empty to empty

  • PR-21062 - Mark session stale when removed prior disconnection event

  • PR-21017 - Fix combined node log dir format in KafkaClusterTestKit

  • PR-20931 - Fix the documentation for remove controller

  • PR-21064 - Accumulate offsets response in same batch

  • PR-21058 - Fix performance regression in server-side assignors

  • PR-20159 - Producer TimeoutException should include root cause

  • PR-21033 - Simplify skipping of empty ShareFetch requests

  • PR-21024 - Kafka-share-groups.sh describe offsets message improvement

  • PR-21061 - Accumulate offsets response in same batch

  • PR-21051 - Fixing overlapping batches post re-initalization of Share Partition

  • PR-21022 - Clean up StreamThread and StoreChangelogReader Test

  • PR-21050 - Bug releasing acquired records when maintained per offset

  • PR-20674 - Add nodeId to DescribeFeaturesOptions

  • PR-20994 - Clean up TaskManagerTest

  • PR-21016 - Adding process handler null check for global threads

  • PR-21001 - Added retry and backoff mechanism in NetworkPartitionMetadataClient

  • PR-20614 - Formalize nullable and non-nullable type distinctions in protocol specification

  • PR-21007 - Fix polling delay for share consumer in record-limit mode

  • PR-20324 - Check for ability to skip position validation in application thread when collecting buffered data

  • PR-20998 - Add retry for network and req timeout resp errors.

  • PR-20946 - Update streams/developer-guide/app-reset-tool.html

  • PR-20986 - Clamp negative values in coordinator histograms

  • PR-20944 - Final test replacements [8/N]

  • PR-20992 - Ensure deterministic task order by using TreeSet in TaskManager

  • PR-20960 - Duplicated topic config prevents broker start

  • PR-20983 - Replace Consumer#close(Duration) with Consumer#close(CloseOptions)

  • PR-20971 - Integration tests for share group throttled delivery

  • PR-20953 - Integration tests for share group throttled delivery

  • PR-20952 - Deprecate ‘–max-partition-memory-bytes’ option in ConsoleProducer

  • PR-20767 - Improved error handling in DefaultStateUpdater.

  • PR-20945 - Use eclipse-temurin as the base image to align with 3.9

  • PR-20844 - Duplicated topic config prevents broker start

ksqlDB

  • PR-11072 - Pin kotlin-stdlib via kotlin-bom to fix runtime crash in ksqldb

  • PR-11052 - TransientQueryCleanup leak-detection ordering + TransientQueryQueue LIMIT-handler null-guard

  • a5803cee - Update vertx and netty to resolve known security issues

  • PR-11033 - Fix: wait for broker to unfence in EmbeddedSingleNodeKafkaCluster.start()

  • PR-11019 - Refactor: simplify cache bypass facade handling per kafka streams review

  • PR-11030 - Fix: always retry admin stmts on topic-not-found, even with expectedError

  • PR-11029 - Fix: retry admin statements on transient topic-not-found errors

  • PR-11002 - Remove SecurityManager and fix deprecated APIs for Java 25 compatibility

  • PR-11023 - Fix: KsqlTarget and SchemaRegistryUtil prefix collision

  • PR-11020 - Bump protobuf-java runtime to 4.34.0 [8.0.x — cascade entry point]

  • PR-11014 - Feat(config): deprecate ksql.runtime.feature.shared.enabled

  • PR-11010 - Mark spotbugs-annotations as provided scope as they are only used for static code analysis.

  • PR-11009 - Fix type mismatch error for @JsonCreator. Wrap up the passed Map into ConcurrentHashMap internally.

  • PR-10996 - Fix compilation errors.

  • e8475caf - Bump netty to 4.1.132.Final

  • PR-10999 - Fix type mismatch error for @JsonCreator. Wrap up the passed Map into ConcurrentHashMap internally.

  • PR-10988 - Fix to prevent error when HTTP response fails in KsqlTarget

  • PR-10985 - Remove cc-docker-ksql as downstream branch

  • PR-10986 - Remove unused dependency for airlift.

  • PR-10980 - Minor fixes to accommodate Schema Registry changes (duplicate 2)

  • PR-10981 - Adding back pr_ci_getting

  • PR-10975 - Add a no arg constructor for ProtobufNoSRConverter

  • PR-10971 - Remove duplicate definition for pr_ci_gating.

  • PR-10970 - Fix printTopic IndexOutOfBoundsException when SSL is enabled

  • PR-10962 - Update dependency pymdown-extensions to v10.16.1 [SECURITY] (7.4.x)

  • PR-10955 - Migrate KS OAuth handlers based on KAFKA-18293

  • 2eef6c60 - Disable state updater in KsqlConfig due to known open-source bug in kafka streams’ STATE UPDATER Feature: KAFKA-19960

  • PR-10944 - Fix pipeline reporting

  • PR-10935 - Add vert.x handler for unknown endpoints to return http 404.

  • PR-10939 - Increase agent size for cp-jar-build to fix disk space issue

  • PR-10936 - Bump up vert.x dependency version

  • PR-10932 - Update plugin version

  • PR-10928 - Bump log4j version

  • PR-10927 - Update jersey version

  • PR-10918 - Add deprecation tracking for external dependencies

  • PR-10920 - Update Netty

  • PR-10915 - Update jersey-client dependency

REST Proxy

  • PR-1473 - Disable javaType resolution in JSONSCHEMA consumer (7.5.x)

  • 9e909071 - Fixed failed test SchemaRegistrySaslInheritTest.

  • PR-1462 - Fix error in test deserializers

  • 092dacf5 - Change log to debug level

  • PR-1456 - Remove ce-kafka-rest from downstream triggers on 8.2.x

  • 8857af0b - Add schema_error_code and message fields to topic config entities for DescribeConfigs

  • 789a0e7d - Add tenant dos filter tracking

  • 94dbce1e - Fix ProduceActionRequestSizeLimitIntegrationTest

  • PR-1449 - Fix integration test failures (rate limit broken pipe, Jackson string length)

  • PR-1273 - Work around jackson databind string length limit

  • c65a68bc - Fix group config source mapping by adding DYNAMIC_GROUP_CONFIG entry in Config Source enum

  • PR-1429 - Update semaphore execution_time_limit to 2 hours

  • PR-708 - Remove ce-kafka-http-server from downstream trigger list (no 8.2.x branch exists)

  • PR-705 - Fips-tests: add explicit jetty-alpn-java-client version after common dropped jetty-bom (7.9.x)

  • PR-704 - Fips-tests: add explicit jetty-alpn-java-client version after common dropped jetty-bom (7.8.x)

  • e918b7a1 - Update async-http-client

  • bf27f6cf - Migrate packaging files from separate rpm/debian/archive branches to debian/ on nightly branch

  • 9af8e309 - Remove jackson definitions already present in common

  • b77450cc - Address review: use mvn help:evaluate instead of regex for VERSION fallback

  • 32898c8a - Address review: tighten VERSION grep and drop unused mkdir BINPATH

  • PR-669 - Fix header validation to allow colons in header values

  • PR-668 - Add proxy.protocol.accepted.ip.range config to guard PROXY protocol data by peer IP

  • 9a4af396 - Added log

  • 9be52254 - Tighten string matching

  • 20d11c84 - Add null check

  • 8ac5b527 - Added HC skip logic + tests

  • de983175 - Backport pr_ci_gating and status_level from master to service.yml

  • PR-652 - Update jackson.annotations.version in pom.xml

  • PR-643 - Update java-spiffe version to 0.8.14

Schema Registry

  • PR-4326 - Add tenant enumeration and removal API to dek-registry MetricsManager

  • 7d7d6954 - Enhance ParsedSchemaAndValue w/ writer schema and rule data

  • bbd699d9 - Adjust logging level in NONE action

  • 6e2c0ce6 - Don’t mutate cached DEK when populating keyMaterial on createDek

  • 6d017c31 - Test that createDek does not leave an orphan DEK on round-trip failure

  • 555f8eb8 - Move RuleMetrics to metrics package

  • PR-4313 - Add size limit handler to limit req/resp size

  • PR-4312 - Add size limit handler

  • PR-4310 - Add size limit handler to limit req/resp size

  • d7b9de1f - Add rule metrics to serdes

  • PR-4304 - Don’t kill leader-election thread on transient exceptions

  • 57320568 - Add allow package config for JSON deserializer

  • cdd3ad81 - More variant changes

  • 3795703b - Update variant fns

  • PR-4306 - Update access modifier for maybeValidateAndNormalizeSchema

  • 17f05e97 - Add variants.isNull

  • fe5aeb56 - Change variants.at to path

  • 4dfe82ba - Clean up dec fns

  • bfd4d025 - Add now var

  • e56011b0 - Modify decimals.prec

  • 98ac85c3 - Add avro tests

  • 56017bc4 - First cut at logical type functions

  • PR-4302 - Validate protobuf type references at registration time

  • ac404cb7 - Add config to passthru ciphertext if KEK is not shared

  • 75b6c604 - Fix AWS KMS driver to use AssumeRoleWithWebIdentity in IRSA pods

  • b175693c - Ensure dry-run checks during mutateAssoc are idempotent

  • 00a72b78 - Cleanup imports

  • b7751af3 - Fix ex handling

  • df7ca56b - Add tests

  • 1086e407 - Add fail-fast

  • 35dde324 - Allow regex to be configurable

  • ba69d465 - Add logical map to Avro

  • b205a035 - Replace nessie cel-java with google cel-java

  • abac2c4b - Allow arbitrary UTF-8 characters in Avro name validation

  • 310f8d55 - Add now with test

  • ae47835f - Fix spotless

  • 248f39ca - Refactor integration tests

  • be8fcaa5 - Add deprecated flag

  • 4eb4aca7 - Add test

  • 014f0702 - Fix lenient policy for JSON Schema compat

  • c5ee1ccd - Add meta.proto changes

  • d9c9fa28 - WIP validation rules

  • PR-4289 - AbstractDekRegistry: add polymorphic getKey/rangeKeys

  • 1afc4bae - Allow frozen associations to be created during IMPORT

  • 035a9d55 - Support multiple lifecycle filters for schemas w/assocs

  • 25d73194 - Support URL-based truststore/keystore

  • PR-4285 - Fix Sonarqube in 8.0.x

  • PR-4282 - Add schema.reject.empty.subject config to reject empty subjects on register

  • e4465935 - Skip tombstoning of duplicate subject-versions if refs exist

  • c8053561 - Fix dep usage

  • 877a9e0a - Fix tests

  • 29a3318c - Support public import for empty Proto schema

  • 7ba56b0c - Add negative caches to CachedDekRegistryClient

  • a53a9c82 - Add cross-draft tests

  • f2237eb2 - Make $ref: #/$defs/X resolve consistently across JSON Schema drafts

  • 560bf4ca - Handle anyOf/allOf in JSON transforms

  • PR-4274 - Make AbstractSchemaRegistry tolerate a null metadataEncoder

  • e87bacfc - Update comment

  • PR-4270 - Cleanup test logging

  • f01000e0 - Ensure names are validated with Avro 1.12

  • 61b4c0a9 - Fix to throw IllegalArgumentException on invalid input

  • 7515736b - Keep only one test

  • 302bffda - Passing in correct policy for json schema compare

  • 1ce7a540 - Ensure logical variant type is registered

  • PR-4264 - Extract association logic

  • e37f6be1 - Modify association API to allow get by resourceNamespace

  • be4a60ce - Add kafka-avro* packages

  • PR-4253 - Add toString() to KeyEncryptionKey and DataEncryptionKey

  • c73b2496 - Add default method

  • a27e2a3b - Add param to control order of adding/removing schema tags

  • 66fa7588 - Remove debugging lines

  • a507f155 - Upgrade json-skema to 0.30.0

  • PR-4233 - Only leader perform deleted check for delete version api

  • PR-4246 - Add strict validation for empty metadata encoder secret

  • c3dd9236 - Parameter isKey not being threaded from converter to serializer

  • PR-4245 - Bump log4j core version

  • a6d6cf27 - Remove unneeded connect.type=variant

  • PR-4241 - Feat: add logging for metadata encoder secret loading and keyset serd

  • 9747feba - Add protobuf types to sonar exclusions

  • 6881d2a2 - Update jacoco deps

  • 91d26587 - Fix avro naming

  • 9bead003 - Fix ByteBuffer handling in VariantUtil and VariantBuilder

  • 8a915642 - Fix JSON converter to use EmptySchema for variant

  • 09d764e2 - Fix checkstyle/findbugs

  • 096a2153 - Fix checkstyle

  • 69e3b320 - Add connect support for Variant

  • 00884d8f - Add variant to ProtobufSchema

  • PR-4240 - Fix: correct misleading error messages in getMode and getConfig

  • cf659c37 - Add Protobuf variant

  • PR-4239 - Move replaceAlias to AbstractSchemaRegistry for reuse

  • 1812c39d - First cut at variant type

  • e1696fe9 - Fix possible error in AssociatedNameStrategy

  • f130b36c - Allow subjects to be null in SubjectKey/Value

  • 2388975f - Add null checks in AssociationKey/Value

  • a8834dd0 - Ensure lifecycle is not null

  • 6296c5da - Add missing call to applyDefaults

  • eebe020f - Remove unused code

  • 3dbf3aaa - Fix test

  • aa690418 - Ensure idempotency of create after partial failure

  • PR-4148 - DefaultToGlobal available in SRClient

  • ffb09d29 - Simplify applyDefaults

  • c4d884dc - Allow null subject during update

  • 9564767b - Improve error message if subject does not match

  • a89b3891 - Explicitly set frozen=false on create when no schema is provided

  • 5c0ced01 - Qualify association subject before lookup in getLatestVersion

  • 7879fe5c - Add additional client-side check for WEAK w/default name

  • 613bcbb1 - Don’t default to WEAK for UPSERT

  • 9f7ccf92 - Add JavaDoc

  • c7501ab2 - Handle minContains/maxContains

  • 77347e2c - Capture minContains/maxContains

  • d95ee60e - Add additional enums

  • ad117566 - Add more frozen semantics

  • 16984081 - Support unevaluatedProperties during JSON Schema compat

  • 267e515e - Fix testes; relax strong checks for default subject

  • 0c45aaaf - Fix build Rest Call Loggin Filter

  • bbcd0df0 - Default subject to :.namespace:name for frozen strong associations

  • 35a251d9 - During upsert, ensure schema is not passed for WEAK

  • 028e249c - Ensure schema is only passed for strong frozen

  • e2dcd5ce - Add configurable TTL to AssociatedNameStrategy cache

  • fedca30c - Change structire to filter

  • c055435c - Add rule object to RuleException

  • 2db38bf3 - Add log warn if cluster id changes

  • b61980f3 - Remove use of AdminClient

  • 47625d03 - Pass clusterId from producer/consumer to subject name strategy

  • a2d0b821 - Change header name

  • 57cb3362 - Merge AdminAssociatedNameStrategy with superclass

  • PR-4223 - Fix UriPercentEncoder to correctly encode multi-byte Unicode characters

  • 1c62d809 - Expose exporter name as part of logs in schema exporter destination

  • PR-4218 - Remove ce-kafka-rest from downstream triggers on 8.2.x

  • cdf6ef12 - Use topicId instead of clusterId in AdminAssociatedNameStrategy

  • 47f2ece1 - Fix compat check on circular ref for JSON Schema 2020-12-20

  • ac7cdaa8 - Add AssociatedNameStrategy that uses AdminClient

  • PR-4208 - Added SchemaRegistry method getAssociationsByResourceNamesp

  • PR-4207 - Fix incorrect OpenAPI example for getSchemaOnly endpoints

  • PR-4205 - Ensure parsed schema cache uses content-based key

  • PR-4202 - Prevent self-referencing schemas blocking subject level deletion with 42206

  • PR-4203 - Add configuration to validate before domain rules for JSON Schema

  • PR-4199 - Fix stack overflow when schema has single child in JSON Schema

  • 58036a98 - Add includeSchemas query parameter

  • 1914cd7b - Add batch get to associations API

  • 7a9f947e - Add serialize APIs that allow schema to be passed in

  • PR-4193 - FindTags endpoint throws StackOverflowError on JSON Schema with oneOf containing $ref

  • e9368714 - Minor refactoring of local Schema Registry client

  • 3c4c4840 - Support schema ID in header with use.schema.id=xxx config

  • PR-4184 - Add UAMI OAuth integration to Schema Registry

  • 8c28262c - Add config to disable envelope detection for JSON serialization

  • 6c975581 - Add getBinaryEncoder extension point for encoder reuse

  • 3971dfac - Add getBinaryDecoder extension point for decoder reuse

  • 5dc789d4 - Minor renaming in AssociatedNameStrategy

  • 7ee4ca5d - Handle null results in AssociatedNameStrategy

  • PR-4162 - Ensure guid is preserved when formatting schema responses

  • PR-4161 - Ensure guid is preserved when formatting schema responses

  • PR-4156 - Fix race condition in deleteSubject API

  • 16298931 - Add additional association request validation

  • 3ac0f019 - Ensure guid is preserved when formatting schema responses

  • 89b3155e - Quote lang_version in service.yml to fix service-bot validation

  • 00a7b2a0 - Return deleted/ts for /schemas endpoint

  • 69c83b5a - Handle subjects named dek-registry for dek alias

  • a354f65d - Fix pom

  • 93114a63 - Minor fixes for schema-id-in-header

  • PR-4146 - Update comments for 8.0 field description

  • PR-4141 - Update DEK registry sharedKeys wiring

  • 52ac4f7c - Backport pr_ci_gating and status_level from master to service.yml

  • 369bb852 - Handle tenant prefix in ContextFilter

  • PR-4137 - Swagger upgrade for Jakarta

  • PR-4135 - Context emptiness check should be done when the lock is held

  • 742d06a5 - Minor renaming enableOnlyAt -> enableAt

  • 7ff2d58d - Update frozen semantics for associations 1. Don’t allow frozen attribute to be update 2. Ensure schema is passed in for frozen association, and no other schemas exist for the subject 3. Ensure cascdadLifecycle=true when deleting frozen associations

  • 791a821d - Support function param for Protobuf deserializer (pt 2)

  • PR-4128 - Handle null kafkaClusterId in MetricsContainer

  • b02bbb13 - Support function params for Protobuf/JSON Schema deserializers

  • bc4996d5 - Minor cleanup of exception handling

  • 2fc7a28f - Add support for separate aliases for DEK lookups

  • 3a3bea37 - Add integration test for creating KEK that already exists

  • 68927075 - Add check for duplicate header in header serializer

  • 79ad79c1 - Propagate SR client to embedded executor

  • 388c3ef8 - Add createTs to Association

  • 6bebdcc2 - Make AssociatedNameStrategy the default

  • 88b49837 - Checkstyle lint

  • 5f7409e0 - Fix parameters

  • ee3db7d4 - Reuse Schema Registry client for DEK Registry if possible

  • b303e043 - Add associations filter to /schemas endpoint

  • PR-4104 - Support x509 source

  • PR-4108 - Create AbstractDekRegistry for store-agnostic methods

  • d99f7722 - Add deleted query parm for referencedBy

  • ff340425 - Use ContextId instead of Integer

  • bbef4832 - Prevent hard-deletion of referenced schemas

  • 61653ea5 - Invalidate latest version cache when new schema version is registered