Confluent Platform Component Changelogs

To get the latest product updates delivered to you in an RSS feed, add the URL of this page to your feed reader or add the feed's URL directly
https://docs.confluent.io/platform/8.4/release-notes/changelog.xml

This topic provides changelogs for the individual Confluent Platform components.

This page contains the changelog for Confluent Platform 8.4. To view the changelog for an earlier Confluent Platform release, use the version picker to switch to the documentation for that release. To find the latest patch version for each Confluent Platform release line, see Confluent Platform patch versions.

Version 8.4.0

Released October 2026

Community Features

Common

  • 7f54c289 - Update Jetty to 12.0.39

  • 36a8c347 - Bump jmx_prometheus_javaagent.version from 0.20.0 to 1.6.0

  • a2a875ee - Update log4j to 2.25.5

  • 9f9f643d - Update Netty to 4.1.137

  • 9239d371 - Update Jackson to 2.21.5

  • PR-1041 - Update logback-core to 1.5.36

  • 63606b30 - Bump gson.version to 2.11.0

  • PR-1024 - Update azure-security-keyvault-keys to 4.10.6

  • PR-953 - Update bouncycastle.jdk18 to 1.84

Kafka

  • PR-23499 - KAFKA-21106: Resolve merging of batches in ShareFetch

  • PR-23471 - KAFKA-21098: RemoteDeleteLag metrics report a phantom lag that never drains after a leader->follower transition

  • PR-2169 - Update Jetty to 12.0.39

  • PR-23473 - KAFKA-20843: Allow custom consumer group assignors to override built-in assignor names

  • PR-23464 - KAFKA-21096: Deregister SharePartition metrics on partition removal

  • PR-23316 - KAFKA-20979: Fix another gap in index metadata sync logic

  • PR-22102 - KAFKA-20464: Fix topology corruption when ConnectedStoreProviders share a StoreBuilder

  • PR-23246 - KAFKA-20977: Fix RemoteCopyLagSegments off-by-one on single-record segments

  • PR-23397 - KAFKA-19583: Enable OAUTHBEARER SASL in the native image

  • PR-23258 - KAFKA-20979: Ensure indexes resize are fsynced when shutting down

  • PR-23123 - KAFKA-20187: Fix for AsyncKafkaConsumer not clearing endOffsetRequested flag

  • PR-23364 - KAFKA-20939: Disable async dns resolution in streams and connect

  • PR-23348 - KAFKA-21010: Another busy loop happens if the member is in JOINING state and bootstrap DNS resolution is not finished

  • PR-23341 - KAFKA-21025: StreamsGroupHeartbeatRequest must drop warmup tasks for v0

  • PR-23227 - KAFKA-20970: Another busy loop happens if auto.commit.interval.ms is less than bootstrap.resolve.timeout.ms

  • PR-23321 - KAFKA-21004: Bump jackson to 2.21.6

  • PR-22059 - KAFKA-20314: Update GraalVM to version 25 to fix native image segfault on startup

  • PR-23214 - KAFKA-20939: Mark “bootstrap.resolve.timeout.ms” as an experimental feature

  • PR-23014 - KAFKA-20854: Fix consumer busy loop during bootstrap DNS resolution (KIP-909)

  • PR-22969 - KAFKA-20845: Don’t flush empty batch when appending large records in group coordinator

  • PR-23188 - KAFKA-20939: Client applications broken by DNS resolution failure behaviour change

  • PR-23144 - KAFKA-20933: RocksDB.putAll bypasses the transactional buffer

  • PR-23161 - KAFKA-20936: Bump lz4-java to 1.11.2

  • PR-23140 - KAFKA-20930: Mark assignment offloading configs internal for 4.4

  • PR-23083 - KAFKA-20894: Make StreamsGroupDescription.toString null-safe

  • PR-23092 - KAFKA-20790: Add AssignmentConfigs interface

  • PR-22783 - KAFKA-20719: Streams group sticky assignor not sticky at startup

  • PR-23100 - KAFKA-20891: Mark unused streams protocol configs internal

  • PR-23009 - KAFKA-20877: Fix incorrect restore-rate and update-rate metrics

  • PR-23093 - KAFKA-20721: Remove timeout on task removal from state updater

  • PR-23037 - KAFKA-20875: Headers window store adapters must expose the retention they wrap

  • PR-22614 - KAFKA-20711: Measure restore-remaining-records in offset slots

  • PR-23097 - KAFKA-18628: Add node.id to the metrics reporter config override

  • PR-23096 - KAFKA-20899: Fix streams StickyAssignor bug for standby tasks

  • PR-23013 - KAFKA-20116: Fix reporting task-(end)-offset sum for streams protocol

  • PR-22452 - KAFKA-14597: Record-e2e-latency-max only considers consumption latencies but not processing delays

  • PR-21592 - KAFKA-20232: Fix WakeupException in awaitMetadataUpdate()

  • PR-23101 - KAFKA-20385: [3/N]: Null-check for listener regn on AsyncKafkaConsumer

  • PR-22883 - KAFKA-20816: Add support for CIDR into Authorizer.authorizeByResourceType

  • PR-22999 - KAFKA-20861: Kafka Streams should handle corrupted assignments pro-actively

  • PR-22016 - KAFKA-19839: Fix NoSuchFieldError for zstd compression in native image

  • PR-22747 - KAFKA-20765: Fix OffsetFetch stale-epoch retry spinning in deduplication loop

  • PR-23005 - KAFKA-20874: Close SslFactory in JaasOptionsUtils.createSSLSocketFactory()

  • PR-23082 - KAFKA-20893: Avoid reporting incorrect task-offsets to Kafka Streams assignor

  • PR-22271 - KAFKA-20385: [2/N]: Add setRebalanceListener into *Consumer

  • PR-22984 - KAFKA-20430: Fix getTopicConfig() for connector-specific offset stores

  • PR-23006 - KAFKA-20868: Add warmup tasks to IQ metadata

  • PR-22405 - KAFKA-18157: Consider UnsupportedVersionException child class to represent the case of unsupported fields

  • PR-23050 - KAFKA-20885: Fix IQ metadata for source topics with fewer partitions

  • PR-22778 - KAFKA-20782: Fix lost IQ metadata in streams protocol

  • PR-22191 - KAFKA-20395: Support unregistering controllers

  • PR-22970 - KAFKA-20846:Make the streams assignor GroupSpec deeply unmodifiable

  • PR-22977 - KAFKA-18628: Deprecate broker.id config (KIP-1232)

  • PR-22654 - KAFKA-20578: Initial producer incremental allocation for uncompressed data

  • PR-22981 - KAFKA-20665: Change task roles in place in the reconciler

  • PR-22888 - KAFKA-20736: Close empty share sessions safely

  • PR-22985 - KAFKA-20665: Refine the assignment refiner scaffolding

  • PR-22920 - KAFKA-20790: Add group.streams.assignors broker config + loader

  • PR-22880 - KAFKA-20831: Cache SASL principal per authentication

  • PR-22982 - KAFKA-20843: Custom consumer group assignors can silently use duplicate or built-in assignor names

  • PR-22897 - KAFKA-14648: Do not fail clients if bootstrap servers is not immediately resolvable (2/2)

  • PR-22165 - KAFKA-20413: Make Streams suppress headers-aware

  • PR-20384 - KAFKA-20430: Add configuration to control internal topic creation in Kafka Connect

  • PR-21080 - KAFKA-14648: Do not fail clients if bootstrap servers is not immediately resolvable

  • PR-22748 - KAFKA-20665: Bump group epoch for warm-up refinement steps

  • PR-22979 - KAFKA-20780: Fix to clear completed inflight poll on empty fetch response and time remaining

  • PR-22923 - KAFKA-20665: Promote a warm-up task to active in place in the reconciler

  • PR-22900 - KAFKA-20825: Fix native image startup with share group DLQ manager

  • PR-22853 - KAFKA-20706: IQv2 TimestampedWindowRangeWithHeadersQuery (KIP-1356)

  • PR-22908 - KAFKA-20828: Derive client throttling from response schema

  • PR-22073 - KAFKA-20253: Trigger rejoin on heartbeat thread AuthenticationException

  • PR-22926 - KAFKA-20832: Fix cordon logic with user specified assignments

  • PR-22919 - KAFKA-20723: Resolve DLQ copy records per produce round

  • PR-22949 - KAFKA-20410: Make KIP-1191 cluster configs dynamic

  • PR-22326 - KAFKA-967: Use key range in ProducerPerformance

  • PR-21971 - KAFKA-20412: Fix prefixScan for KV-Store with headers

  • PR-22570 - KAFKA-20197: Headers aware StreamPartitioner

  • PR-22213 - KAFKA-20744: Add back rack.aware.assignment.tags config

  • PR-22917 - KAFKA-20829: Throttle StreamThread shutdown rebalance enforcement to avoid log flood

  • PR-22925 - KAFKA-20827: Don’t re-create an already-owned task on assignment

  • PR-22788 - KAFKA-20790: Promote streams assignor API to public module

  • PR-22810 - KAFKA-20804: Reduce lock contention in ProducerMetadata#add

  • PR-22755 - KAFKA-20769: ListDeserializer can silently deserialize a corrupted entry when the input is truncated mid-entry

  • PR-22006 - KAFKA-20198: Fix StickyTaskAssignor capacity calculation to use proportional instance limit

  • PR-22808 - KAFKA-20695: Extend “describe group” to return “task offset” metadata

  • PR-22529 - KAFKA-20673: Skip stale-leader lookup retry while the AdminClient is closing (follow-up)

  • PR-22379 - KAFKA-19584: Add SecurityManager shim support to native image

  • PR-22881 - KAFKA-20783: Fixes for locks release for async handling in DelayedShareFetch (6/N)

  • PR-22807 - KAFKA-20787: Implement KIP-1340: Expose Both Mapped Key and Stream Key in Streams-GlobalKTable Joins

  • PR-22766 - KAFKA-20736: Improve share session handling on leader change

  • PR-22855 - KAFKA-20808: StreamThread dies with fatal InvalidStateStoreException after TaskCorruptedException

  • PR-22678 - KAFKA-20726: Don’t reuse the BufferSupplier in kraft state machine

  • PR-22166 - KAFKA-20538: Make RocksDBTimeOrderedKeyValueBuffer headers-aware

  • PR-20598 - KAFKA-19663: Unify kafka-broker-api-versions tool to cluster-tool and support bootstrap controllers

  • PR-22836 - KAFKA-20253: Heartbeat CPU spin fix for Consumer protocol

  • PR-22799 - KAFKA-20705: IQv2 TimestampedWindowKeyWithHeadersQuery for headers-aware window stores (KIP-1356)

  • PR-22829 - KAFKA-20768: Add transactional and IQ isolation to time-ordered RocksDB stores

  • PR-21970 - KAFKA-20403: Streams - Fix stream threads interruptions

  • PR-22837 - KAFKA-20805: Refresh task directory mtime on state manager close

  • PR-22830 - KAFKA-20783: Release locks on exception for local reads within remote calls (5/N)

  • PR-22828 - KAFKA-20783: Clear held partitions failing min-bytes (4/N)

  • PR-22777 - KAFKA-20748: Keep StoredDescriptionTopologyEpoch consistent with the topology description plugin

  • PR-22754 - KAFKA-20768: Add transactional and IQ isolation to RocksDB window and session stores

  • PR-22806 - KAFKA-20798: Add readOnly(IsolationLevel) to TimestampedWindowStoreWithHeaders and SessionStoreWithHeaders

  • PR-22296 - KAFKA-20585: Share Fetch latency metric incorrectly updated during ShareAcknowledgeResponse

  • PR-22770 - KAFKA-20704: IQv2 TimestampedRangeWithHeadersQuery for headers-aware key-value stores (KIP-1356)

  • PR-22797 - KAFKA-20777: Make a closed StagedMergeIterator throw InvalidStateStoreException

  • PR-22802 - KAFKA-20771: Enforce max msg bytes in share group DLQ produce path

  • PR-22749 - KAFKA-20761: Add client logs for consumer group configs defined on the broker

  • PR-22501 - KAFKA-20088: CIDR-based Host Patterns for ACLs

  • PR-22794 - KAFKA-20791: Bump log4j to 2.25.5

  • PR-22729 - KAFKA-20741: Add ReadOnlyRecordIterator IQv2 result type (KIP-1356)

  • PR-22780 - KAFKA-20783: Integrate async log reader fetch in DelayedShareFetch (1/N)

  • PR-22768 - KAFKA-20778: Avoid unneeded rebalance on classic consumer when replica unavailable

  • PR-22712 - KAFKA-20751: Preserve available versions for cached connector plugin validation failures

  • PR-22666 - KAFKA-20703: IQv2 TimestampedKeyWithHeadersQuery for headers-aware key-value stores (KIP-1356)

  • PR-22753 - KAFKA-20678: Exception handling for read call in ReplicaManagerLogReader.readAsync

  • PR-22035 - KAFKA-18812: Improve consumer API errors upon background thread failure

  • PR-19456 - KAFKA-19117: Client Throttling Log messages should be of log level - WARN (Java client)

  • PR-22235 - KAFKA-14228: Support for nested structures: ValueToKey

  • PR-22512 - KAFKA-20246: Add clusterId and nodeId to ApiVersionsRequest (3/N)

  • PR-22328 - KAFKA-20598: Prevent polling unassigned consumer during ConsumerTask shutdown

  • PR-22720 - KAFKA-20736: Improve removal of unassigned partitions from share sessions

  • PR-22741 - KAFKA-20760: Commit position atomically with changelog offsets

  • PR-22745 - KAFKA-20760: Stage position updates in InMemorySessionStore transaction buffer

  • PR-22744 - KAFKA-20760: Stage position updates in InMemoryWindowStore transaction buffer

  • PR-22743 - KAFKA-20760: Stage position updates in InMemoryKeyValueStore transaction buffer

  • PR-22742 - KAFKA-20760: Fix ClassCastException in KeyValueToTimestampedKeyValueByteStoreAdapter

  • PR-22658 - KAFKA-20665: Add refiner scaffolding for streams warmup tasks

  • PR-22707 - KAFKA-20678: Add timeout in replica manager log reader remote read

  • PR-21337 - KAFKA-20032: KIP-1265 Automatic detection of internal API usage

  • PR-22714 - KAFKA-20742: Start offset for newly initialized share partitions of known topics should be 0

  • PR-22718 - KAFKA-20750: Add divide-by-zero error check in KafkaConsumerMetrics/KafkaShareConsumerMetrics

  • PR-22713 - KAFKA-20292: [5/N]: Fix UpdatedMembersAndTargetAssignmentView to handle instance id changes

  • PR-22673 - KAFKA-19871: Add a TopologyTestDriverBuilder, deprecate old constructors

  • PR-22711 - KAFKA-20655: Mark KIP-1331 RPCs stable before release

  • PR-22615 - KAFKA-20712: Fix transaction state name in log decoder output

  • PR-22716 - KAFKA-20753: Fix transactional status marker writes

  • PR-22708 - KAFKA-20747: Remove stale staticMembers entry when a member changes its instance id

  • PR-22661 - KAFKA-20732: Seed highestOffsetInRemoteStorage before size-based remote retention

  • PR-22681 - KAFKA-20499: Add isolation-level reads to in-memory stores

  • PR-22710 - KAFKA-20749: Fix stream-stream outer joins with transactional stores

  • PR-22691 - KAFKA-20720: Lower client log level for self-healing share session errors

  • PR-22677 - KAFKA-20741: Add ReadOnlyRecord IQv2 result type (KIP-1356)

  • PR-22454 - KAFKA-20223: Extended I/O Metrics Collection

  • PR-22603 - KAFKA-20710: Share coordinator - Fence stale periodic jobs

  • PR-22394 - KAFKA-20633: Update the default value of remote copy lag bytes

  • PR-22682 - KAFKA-20500: Add isolation-level reads to versioned stores

  • PR-22601 - KAFKA-20678: Support share group DLQ remote record fetch

  • PR-22664 - KAFKA-20717: Add broker-side set/get observability sensors for streams topology description (KIP-1331)

  • PR-22644 - KAFKA-20116: Forward task-(end)-offset to task assignor (5/5)

  • PR-22683 - KAFKA-20490: Track committed and uncommitted RocksDB Positions

  • PR-22685 - KAFKA-20743: Restrict sentinel leader and state epoch in share coord

  • PR-22645 - KAFKA-20116: Send task-(end)-offset only if changed (4/N)

  • PR-22652 - KAFKA-20495: Add transactional support to in-memory window and session stores

  • PR-21803 - KAFKA-20116: Send task-(end)-offset to broker (3/N)

  • PR-22653 - KAFKA-20498: Add isolation-level reads to RocksDBStore

  • PR-22640 - KAFKA-20625: Add StreamsGroupTopologyDescriptionRequestManager and Streams client topology push [2/N]

  • PR-22559 - KAFKA-20169: Support static membership for Kafka Streams with the streams rebalance protocol at Client Side

  • PR-22504 - KAFKA-20659: Reject unsupported MirrorMaker record versions at runtime

  • PR-22662 - KAFKA-20723: Merge records while coalescing share DLQ requests. [2/N]

  • PR-22635 - KAFKA-20723: Add fail fast check for share group DLQ [1/N]

  • PR-22622 - KAFKA-20696: Periodic plugin.deleteTopology cleanup for naturally expired streams groups

  • PR-22608 - KAFKA-20116: Make task-end-offset-sum available to client background thread (2/N)

  • PR-22639 - KAFKA-20625: Add StreamsGroupTopologyDescriptionRequestManager and Streams client topology push [1/N]

  • PR-22636 - KAFKA-20626: Add topology description to Admin client, DescribeStreamsGroups handler, and command-line tools

  • PR-22202 - KAFKA-17164: Enforce ‘application.server’ <server>:<port> format at config level

  • PR-22434 - KAFKA-19193: Trace-log rack-specific load stats in rack-aware mode

  • PR-22433 - KAFKA-19193: Throw ConfigException if rack is empty in rack-aware mode

  • PR-22607 - KAFKA-20524: Improve reset offset usability

  • PR-22356 - KAFKA-20601: Allow static member rejoin when consumer group is full

  • PR-22580 - KAFKA-20662: Throw INCONSISTENT_GROUP_PROTOCOL for malformed request during online migration

  • PR-22625 - KAFKA-20493: Transactional RocksDBStore

  • PR-22595 - KAFKA-20116: Make task-offset-sum available to client background thread (1/N)

  • PR-22626 - KAFKA-20494: Transactional InMemoryKeyValueStore

  • PR-22590 - KAFKA-20699: TopologyTestDriver.getStateStore must not reset the record context

  • 9c7fad33 - Require expected issuer and audience for the SASL/OAUTHBEARER broker validator

  • PR-22627 - KAFKA-20624: Wire topology description plugin into GroupCoordinatorService for the read path (describe) and broker wiring

  • PR-20969 - KAFKA-17251: Avoid WARN on cleanup when state directory only contains process metadata

  • PR-22597 - KAFKA-20491: Add uncommitted bytes limit

  • PR-22617 - KAFKA-20713: Lower level for client log on self-healing session not found

  • PR-22554 - KAFKA-20623: DeleteGroups extension for streams group topology description plugin (3/3)

  • PR-22323 - KAFKA-20490: Add transaction buffer framework

  • PR-22552 - KAFKA-20623: Update RPC for streams group topology description plugin (2/3)

  • PR-22197 - KAFKA-20524: CSV reset offset plan for kafka-share-groups.sh

  • PR-22581 - KAFKA-20694: Fix share read leader epoch sentinel

  • PR-22551 - KAFKA-20623: Heartbeat extension for streams group topology description plugin (1/3)

  • PR-22315 - KAFKA-20497: Add TimeOrderedCachingWindowStore#readOnly

  • PR-22572 - KAFKA-20691: PersisterStateBatchCombiner.combineStateBatches() with an event-driven sweep-line

  • PR-22479 - KAFKA-20613: Add code to support copy record in DLQ state manager

  • PR-22457 - KAFKA-20640: Consumer group should reject classic member joins when migration policy is disabled

  • PR-22523 - KAFKA-20444: Add TxnOffsetCommit v6 with topic IDs (KIP-1319)

  • PR-22498 - KAFKA-20196: Deprecate Yammer-based metrics in GroupCoordinatorMetrics and add equivalent Kafka Metrics

  • PR-22245 - KAFKA-20169: Support static membership for Kafka Streams with the streams rebalance protocol (1/N)

  • PR-22270 - KAFKA-20385: [1/N]: Add RebalanceConsumer interface and callback impl

  • PR-22511 - KAFKA-20622: Define StreamsGroupTopologyDescriptionPlugin SPI and InMemoryTopologyDescriptionPlugin

  • PR-22493 - KAFKA-20673: AdminClient partition-leader APIs hang when a cached leader is no longer in the cluster

  • PR-22502 - KAFKA-20672: Retry DLQ on SharePartition init for ARCHIVING records

  • PR-22460 - KAFKA-20444: [11/N] Refresh metadata before TxnOffsetCommit (KIP-1319)

  • PR-22468 - KAFKA-20660: Add detection of use of legacy ConsumerRecords(Map) constructor

  • PR-22464 - KAFKA-20621: Add StoredTopologyEpoch and LastFailedTopologyEpoch to StreamsGroup model and metadata record

  • PR-22466 - KAFKA-20635: Spurious “Writing records” failed errors in the group coordinator after partition leadership change

  • PR-22378 - KAFKA-20616: Close offsets column family options and release column family handles

  • PR-22469 - KAFKA-20660: Mark deprecated ConsumerRecords constructor with forRemoval=true

  • PR-22187 - KAFKA-20246: Add clusterId and nodeId to ApiVersionsRequest (2/N)

  • PR-22491 - KAFKA-20663: Return committed offset from newest segment first

  • PR-22490 - KAFKA-20663: Fix startup state manager close to release StateDirectory task lock

  • PR-21799 - KAFKA-18652: Add acceptable.recovery.lag config

  • PR-22412 - KAFKA-20612: Stitch DLQ metrics with ShareGroupDLQStateManager

  • PR-22278 - KAFKA-20145: Avoid redundant partial HB acks from network-thread reconcile

  • PR-22444 - KAFKA-20634: Spurious HighWatermarkUpdate failed errors in the group coordinator after partition leadership change

  • PR-22312 - KAFKA-20497: Add readOnly(IsolationLevel) to CachingKeyValueStore

  • PR-22397 - KAFKA-20620: Add StreamsGroupTopologyDescriptionUpdate RPC schema and extend StreamsGroupDescribe/Heartbeat

  • PR-22316 - KAFKA-20497: Add readOnly(IsolationLevel) to MeteredKeyValueStore

  • PR-22314 - KAFKA-20497: Add readOnly(IsolationLevel) to CachingWindowStore

  • PR-22317 - KAFKA-20497: Add readOnly(IsolationLevel) to MeteredSessionStore

  • PR-22318 - KAFKA-20497: Add readOnly(IsolationLevel) to MeteredWindowStore

  • PR-22443 - KAFKA-20444: [10/N] Wire topic IDs through TransactionManager (KIP-1319)

  • PR-21122 - KAFKA-19964: ApiVersions response return unknown features if the cluster metadata HWM is unknown

  • PR-22415 - KAFKA-20638: Use Locale.ROOT in ConsumerGroupCommand.toLowerCase()

  • PR-22313 - KAFKA-20497: Add readOnly(IsolationLevel) to CachingSessionStore

  • PR-22311 - KAFKA-20497: Add readOnly(IsolationLevel) to ChangeLogging stores

  • PR-22372 - KAFKA-20611: Stitch share group DLQ manager with the main code

  • PR-22382 - KAFKA-20612: Add DLQ related metrics to ShareGroupMetrics. [1/N]

  • PR-21579 - KAFKA-20167: Introduce CloseOptions.DEFAULT for Kafka Streams

  • PR-22368 - KAFKA-20549: Implement PRODUCE RPC handler for DLQ state manager [5/N]

  • PR-20707 - KAFKA-19648: Cluster metadata bootstrapping with kraft checkpoint

  • PR-18142 - KAFKA-17871: Avoid blocking the herder thread when producer flushing hangs

  • PR-22265 - KAFKA-20444: [9/N] Preserve topic-level structure in TxnOffsetCommit response handling (KIP-1319)

  • PR-22282 - KAFKA-16876: TaskManager.handleRevocation doesn’t handle errors thrown from task.prepareCommit

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

  • PR-20913 - KAFKA-19893: Reduce tiered storage redundancy with delayed upload (KIP-1241)

  • PR-22264 - KAFKA-20570: Catch RuntimeException in ConsumerProtocol deserialization in group coordinator

  • PR-22302 - KAFKA-20409: Don’t expose internal group configs unless they are user-defined

  • PR-22300 - KAFKA-20549: Change ownership of DLQ state manager. [4/N]

  • PR-22141 - KAFKA-20489: Add enable.transactional.statestores

  • PR-22142 - KAFKA-20492: Prepare DBAccessor for txn support

  • PR-22143 - KAFKA-20496: Add isolation level to IQ dispatch

  • PR-22284 - KAFKA-20549: Add logic for create topic in DLQ state manager. [3/N]

  • PR-22273 - KAFKA-20575: Add onPartitionsLost support to MockConsumer

  • PR-22041 - KAFKA-20440: Use default Keystore type instead of hardcoding PKCS12 keystore type

  • PR-22267 - KAFKA-20571: Add store unwrapping for publishing num-keys metric

  • PR-22249 - KAFKA-20444: [7/N] Wire topic IDs through OffsetMetadataManager (KIP-1319)

  • PR-22239 - KAFKA-20444: [6/N] Handle GROUP_ID_NOT_FOUND and STALE_MEMBER_EPOCH in TransactionManager (KIP-1319)

  • PR-22238 - KAFKA-20444: [5/N] Resolve TxnOffsetCommit topic IDs in KafkaApis (KIP-1319)

  • PR-20376 - KAFKA-18447: Support SASL_SSL protocol with java.security.auth.login.config

  • PR-22089 - KAFKA-20452: Avoid creating unnecessary empty batches in LogCleaner below the High Watermark

  • PR-22132 - KAFKA-20523: Fix logger class name in KStreamKTableJoinProcessor

  • PR-22224 - KAFKA-20444: [4/N] Prepare TxnOffsetCommitResponse for topic IDs (KIP-1319)

  • PR-22232 - KAFKA-20555: Use jakarta.annotation.Priority in JaasBasicAuthFilter

  • PR-22215 - KAFKA-20444: [3/N] Allow building TxnOffsetCommit v6 requests with topic IDs (KIP-1319)

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

  • PR-22080 - KAFKA-20245: DLQ records exceeding max delivery count. [3/N]

  • PR-22214 - KAFKA-20444: [2/N] Update OffsetMetadataManager to use new TxnOffsetCommit errors (KIP-1319)

  • PR-22209 - KAFKA-20549: Share group DLQ manager implementation. Skeleton classes [1/N]

  • PR-22205 - KAFKA-20444: [1/N] Add TxnOffsetCommit v6 schema (KIP-1319)

  • PR-22206 - KAFKA-20546: Lazily call generateNewClientId when handling GetTelemetrySubscriptionsRequest

  • PR-22123 - KAFKA-15768: Fix getOnlyPartitionResult to handle FailedQueryResult

  • PR-22115 - KAFKA-13499: Avoid restoring outdated records

  • PR-22070 - KAFKA-20441: Fix handling of cordoned log dirs

  • PR-19079 - KAFKA-13022: Optimize ClientQuotasImage#describe

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

  • PR-21313 - KAFKA-20072: Don’t generate IDs with hyphens

  • PR-22167 - KAFKA-20410: Register topic DLQ configs in LogConfig. [2/N]

  • PR-22170 - KAFKA-20533: Correct error response for topic deletion during share fetch

  • PR-21801 - KAFKA-18652: Add num.warmup.replicas config

  • PR-21842 - KAFKA-19937: Introduce shared ReaperThread for Persister / NetworkPartitionMetadataClient

  • PR-22056 - KAFKA-20450: Use allowlist for Connect offset store deserialization

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

  • PR-21760 - KAFKA-20312: Handle null leader during OffsetFetcher regroup safely

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

  • PR-22126 - KAFKA-20505: Move future completion out of locks for Share Partition

  • PR-19850 - KAFKA-19193: Support rack-aware partitioning for Kafka producer

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

  • PR-22079 - KAFKA-9914: Fix replication cycle detection

  • PR-21979 - KAFKA-20410: Add DLQ configuration parameters for Share Groups (KIP-1191)

  • PR-21911 - KAFKA-20373: Bump maven artifact to 3.9.15

  • PR-22047 - KAFKA-20442: Update streams group assignment epoch when last member leaves

  • PR-22046 - KAFKA-20442: Update share group assignment epoch when last member leaves

  • PR-22045 - KAFKA-20442: Update consumer, share and streams group assignment epoch when last member leaves

  • PR-22055 - KAFKA-20449: Downgrade “not updating high watermark” log from WARN to DEBUG

  • PR-22036 - KAFKA-20434: Consumer group does not recompute assignment when static members rejoin with different assignor

  • PR-22011 - KAFKA-20428: Fix unsubscribe failure with assignment updates

  • PR-21793 - KAFKA-20245: DLQ share group client REJECT ack records. [2/N]

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

  • PR-21924 - KAFKA-20378: Make container memory limit configurable

  • PR-21983 - KAFKA-20393: Fix stickyNode using stale IP when broker address changes

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

  • PR-22005 - KAFKA-20425: Optimize purgatory triggers when no data is available for share fetch

  • PR-22004 - KAFKA-20194: Ensure backward compatibility for Windowed Store

  • PR-21540 - KAFKA-20264: Fix overwrite in recursive parent-node matching

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

  • PR-21994 - KAFKA-20415: Add share.version=2 for gated DLQ support

  • PR-21956 - KAFKA-20194: Add session headers store support to TopologyTestDriver

  • PR-21997 - KAFKA-20332: [2]: Handle wakeup on poll reconciliation check

  • PR-21992 - KAFKA-20307: Expose header-stores natively in IQv1

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

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

  • PR-21957 - KAFKA-20173: Ensure Metered session-stores pass headers correctly

  • PR-21950 - KAFKA-20194: Fix StoreBuilderWrapper for header-stores

  • PR-21973 - KAFKA-20398: Remove metrics reporter of replaced stream threads

  • PR-21946 - KAFKA-20396: Fix RocksDBStore initialization error handling

  • PR-21926 - KAFKA-20339: Remove assignment offloading configs for 4.3

  • PR-21949 - KAFKA-20194: Ensure backward compatibility for Sliding Windows

  • PR-21605 - KAFKA-13819: Add application.server to Streams assignor logs when set

  • PR-21958 - KAFKA-19566: Deprecate ClientQuotaCallback#updateClusterMetadata

  • PR-21967 - KAFKA-20173: Propagate headers into serde 8/N

  • PR-21969 - KAFKA-20173: Propagate headers into serde 9/N

  • PR-21951 - KAFKA-20357: Unify method signature for retrieving config names across config classes

  • PR-21934 - KAFKA-20194: Ensure backward compatibility for Session Stores

  • PR-21931 - KAFKA-20368: Use LinkedHashMap for deterministic metric tags order in RLMExpirationTask

  • PR-21851 - KAFKA-20173: Propagate headers into serde 7/N

  • PR-21936 - KAFKA-20173: Ensure Metered window-stores pass headers correctly

  • PR-21766 - KAFKA-20246: Detection and handling of misrouted connections [1/N]

  • PR-21464 - KAFKA-20165: Handle retryable partition errors gracefully on OffsetFetch

  • PR-21850 - KAFKA-20173: Propagate headers into serde 6/N

  • PR-21904 - KAFKA-20194: Ensure backward compatibility

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

  • PR-21117 - KAFKA-19932: Adding handling of OOM and avoiding wrapped as timeout

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

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

  • PR-21379 - KAFKA-20036: Handle LogCleaner segment overflow caused by compression level changes

  • PR-21828 - KAFKA-20310: Persist previousProducerId and nextProducerId in transaction log

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

  • PR-21824 - KAFKA-20330: Ack handling improvement on broker restart

  • PR-21885 - KAFKA-20347: Fix sensor cleanup and JMX tag order in ShareCoordinatorMetrics

  • PR-21751 - KAFKA-20287: Close column family handles on store init failure

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

  • PR-21028 - KAFKA-19541: Allow configuration of kraft RPC max bytes

  • PR-21813 - KAFKA-20106: [2/2]: Ensure reconciled assignment updated within poll in Kafka Streams

  • PR-21740 - KAFKA-20302: Return receive buffers to memory pool on invalid requests

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

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

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

  • PR-21038 - KAFKA-19542: Consumer.close() does not remove all added sensors from Metrics

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

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

ksqlDB

  • PR-11170 - Bump wire-runtime-jvm/wire-schema-jvm to 6.3.0

  • PR-11169 - Log restore range validations regardless of restore.enabled flag

  • 0d52f9e6 - Bump Netty to 4.1.137.Final and httpclient5 to 5.6.3

  • PR-11133 - Add pull query queue capacity configs and metrics

  • PR-11141 - Exclude non-FIPS bcpkix-jdk18on from broker-plugins dependency

  • PR-11136 - Support allowlist for command topic

  • PR-11129 - Support allowlist for all KSQL endpoints that allows user overrides

  • a7aad96d - Log configuration property overrides

  • PR-11126 - Extend ConfigMigrator to migrate legacy OAuth callback handler classes

  • PR-11098 - Add configurable admin-request retry timeout and RF inheritance for CSAS/CTAS

  • PR-11121 - Bump jline to 3.30.14

  • PR-11123 - Bind default JMX listener to localhost

  • PR-11097 - Stop heartbeat and lag agents before Vert.x close to avoid shutdown hang

  • PR-11096 - Add ksql.kafka.client.additional.config.prefixes

  • PR-11066 - Apply ksqlDB denylist to SET statements

REST Proxy

  • PR-1496 - Ensure jars for CSFLE / data contract rules are included in image

  • 9411fad6 - Honor instance-level consumer.request.timeout.ms in v2 read scheduler

  • PR-1471 - Disable javaType resolution in JSONSCHEMA consumer

  • 5a80a7e3 - Add POST /v3/clusters/{clusterId}/topics/-/configs:alter for multi-topic batch config alteration

  • 9441ad5f - Bump async-http-client to 2.16.0

  • PR-735 - Fix REST startup error with Basic authentication on Jetty 12

  • PR-723 - Fix authentication.skip.paths for /*

  • PR-679 - Add config to enforce required SNI headers

Schema Registry

  • PR-4596 - Log compatibility rejections with subject and policy context

  • PR-4599 - Count raw bytes in association payload

  • PR-4597 - Add a format parameter to the Maven plugin download goal

  • PR-4587 - Add configs for association batch size limits

  • PR-4592 - Preserve auth exception cause chain in Avro/JSON/Protobuf converters

  • PR-4591 - Support registering Logical Types from maven plugin

  • PR-4586 - Inherit metadata/ruleSets like other non-alias fields

  • PR-4579 - Add enum-delete rule, disable reorder check, guard bad config

  • PR-4581 - Pin Avro to 1.12.1

  • PR-4580 - Resolve config inheritance the same way for every scope

  • PR-4578 - Add range-check for variants.as(v, “timestamp”)

  • PR-4576 - Add equals/hashCode for Variant

  • PR-4568 - Exclude non-FIPS BouncyCastle jars from kafka-serde-tools package

  • PR-4557 - Preserve Avro named-type aliases in logical types

  • PR-4556 - Preserve Protobuf enum numbers in Logical Types

  • PR-4548 - Retry leader-forwarding requests on transient connection failures

  • PR-4546 - Fix USING TYPE for local aliases

  • PR-4544 - Handle empty/invalid encryptedKeyMaterial on createDek

  • PR-4543 - Support format=logical output across schema APIs

  • PR-4542 - Return 422 instead of 500 for invalid logical-format schemas

  • PR-4540 - Preserve name of root message when converting to logical types

  • PR-4539 - Fix handling of null variants

  • PR-4536 - Add max.to.connect.data.objects Avro converter config

  • PR-4537 - Improve compatibility check error messages

  • PR-4538 - Fix Protobuf Decimal, Timestamp, and Variant issues for CEL

  • 7fbb5c01 - Fix TIMESTAMP_TZ overflow and enforce RFC 3339/date range bounds

  • PR-4522 - Add batchGet/batchMutate composition metrics

  • 502c675a - Fix Variant field name comparisons to use UTF-8 byte order

  • PR-4513 - Enforce mutual exclusion of schema references and strong associations

  • PR-4514 - Add config to control fetching external refs for JSON Schema

  • cb17002f - Fix json formatting for decimal, temporal types

  • d099421a - Bump httpclient5 to 5.6.4

  • PR-4503 - Add association-level metrics for batchGet/batchMutate

  • 4168b18f - Propagate Avro aliases, Protobuf field nums to logical types

  • PR-4505 - Throttle leader-elector poll-loop ERROR logging on persistent failure

  • ee03027c - Apply compatibility policy to logical types

  • 9af5bb1e - Support logical types in Schema Registry REST endpoints

  • cae63551 - Make new uint behavior configurable

  • 19a31be0 - Fix CEL rules on unsigned/enum Protobuf fields

  • 931ea936 - Record per-field FAILED status when a kek is unavailable on read

  • 9e5167d0 - Use names from registered Protobuf schema for validation

  • PR-4492 - Fix Protobuf transformations for absent/unknown fields and map keys

  • 8fd8e1e8 - Ensure tags can be modified when registering schema through association

  • PR-4485 - Allow RetryExecutor to accept a custom retry predicate

  • PR-4484 - Block registration of subjects with the name *

  • PR-4481 - Reject non-frozen STRONG associations

  • PR-4476 - Preserve JSON Schema additionalProperties using opt-in config

  • PR-4471 - Pin transitive Jackson to 3.2.1

  • 9d84245b - Reject if/then/else and not schemas

  • feb2216e - Upgrade wire to 6.4.5

  • PR-4457 - Fix divide-by-zero error during JSON Schema compat check

  • PR-4455 - Support Variant in V1 mode for Flink interop

  • PR-4454 - Fix Avro logical-type registry collision

  • PR-4441 - Fix handling of Proto custom options during normalization

  • PR-4434 - Skip schema normalization in IMPORT mode

  • PR-4439 - Update assertj-core to 3.27.7

  • PR-4440 - Ensure Flink compat for JSON union branch names

  • PR-4436 - Gate JSON single-member oneOf collapse by version

  • PR-4437 - Remove BackupAwareByteArrayConverter

  • PR-4402 - Add backup/restore converter support with BackupWrapper API

  • PR-4411 - Add Alibaba Cloud KMS CSFLE provider

  • PR-4426 - Upgrade jsonata to 2.6.4; use RE2 regex engine

  • PR-4422 - Pass context when clients make KEK calls to DEK Registry

  • PR-4421 - Bump azure sdk version

  • PR-4418 - Remove incorrect default for subject in RewrapDeks tool

  • PR-4416 - Add support for saving Azure key version with DEK

  • PR-4404 - Fix serializing fixed-size Avro decimals with small unscaled value

  • PR-4397 - Fix oneof handling of wrapper types in protobuf converter

  • PR-4396 - Fix oneofs in protobuf converter for nullables (write-side)

  • PR-4394 - Hide frozen attribute for its default in Association APIs

  • PR-4392 - Fix oneofs in protobuf converter with wrapper/optional for nullables

  • 6e9f1b56 - Remove identity-based comparisons in Avro caches

  • PR-4381 - Add opt-in strict validation for conflicting schema reference versions

  • 3f5ff243 - Detect incompatible oneof field changes hidden by oneof rename/removal

  • d69afe90 - Return 403 instead of 5xx for permission errors

  • 350fdb61 - Speed up JSON Schema compatibility checks

  • PR-4340 - Update azure-security-keyvault-keys to 4.10.6

  • 285139b9 - Fix use of $ref with sibling property

  • e9182c83 - Add decimal min/max CEL functions

  • 0f31ac93 - Add decimal mod CEL function

  • 01946fdd - Add decimal to double CEL function

  • 8146ebd8 - Add decimal.sqrt CEL function

  • c01d10c2 - Allow hard delete of subject versions even if association exists

  • 11eb2119 - Ensure message indexes are not empty for Protobuf serialize

  • 3b581ff6 - Fix AssociatedNameStrategy.usesSchema() to reflect fallback strategy

  • 9a401c12 - Don’t kill leader-election thread on transient exceptions