# Redpanda changelog > A Kafka-compatible streaming platform with no ZooKeeper and no JVM. - Vendor: Redpanda Data - Category: Developer Tools - Official site: https://www.redpanda.com - Tracked by: What's New (https://whatsnew.fyi/product/redpanda) - Harvested from: GitHub (redpanda-data/redpanda) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v26.1.15 - Date: 2026-08-07 - Version: v26.1.15 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.15 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.15 - **fixed** — Fix the registered config name for leader_balancer_node_mute_timeout - **fixed** — Fix a bug in which L0 batches in a cloud topic forgot to preserve last_offset_delta in their header, leading to an under-declared last offset which can stall consumers, skip records, or halt exact-offset replication - **fixed** — Fix a bug in which topics with min.compaction.lag.ms left unconfigured with produced batches holding timestamps in the future would be considered ineligible for compaction - **fixed** — Fix a bug in which transient TOPIC_AUTHORIZATION_FAILED errors and SASL authentication failures were possible during application of a controller snapshot - **fixed** — Fix a bug where corrupted storage would not yield a bad CRC in returned record batches - **fixed** — Fix a bug where having a cloud topic read replica on a given cluster would prevent L0 objects on that cluster from being garbage collected - **fixed** — Updating a Shadow Link that uses PLAIN authentication no longer fails when the password is omitted; the stored password is preserved - **fixed** — rpk connect install --connect-version no longer rejects versions with a segment of three or more digits, which had blocked pinning any Redpanda Connect release since 4.100.0 - **fixed** — rpk security secrets list no longer truncates its output at 100 secrets - **fixed** — rpk shadow create no longer fails secret-reference validation on clusters with more than one page of REDPANDA_CLUSTER-scoped secrets - **changed** — rpk shadow update in editor mode now replaces the entire Shadow Link configuration instead of merging changed fields, so list-valued fields can shrink or be cleared - **fixed** — Fix an issue where /v1/usage responses could cause oversized allocations for clusters with a large number of Iceberg-enabled topics - **changed** — rpk cluster health will now display any nodes that may be in maintenance mode ##### Bug Fixes * Fix the registered config name for `leader_balancer_node_mute_timeout`. by @WillemKauf in [#31360](https://github.com/redpanda-data/redpanda/pull/31360) * Fixes a bug in which L0 batches in a cloud topic forgot to preserve `last_offset_delta` in their header, leading to an under-declared last offset which can stall consumers, skip records, or halt exact-offset replication. by @WillemKauf in [#31363](https://github.com/redpanda-data/redpanda/pull/31363) * Fixes a bug in which topics with `min.compaction.lag.ms` left unconfigured with produced batches holding timestamps in the future would be considered ineligible for compaction by @WillemKauf in [#31459](https://github.com/redpanda-data/redpanda/pull/31459) * Fixes a bug in which transient `TOPIC_AUTHORIZATION_FAILED` errors and SASL authentication failures were possible during application of a controller snapshot. by @WillemKauf in [#31437](https://github.com/redpanda-data/redpanda/pull/31437) * Fixes a bug where corrupted storage would not yield a bad CRC in returned record batches. by @andrwng in [#31388](https://github.com/redpanda-data/redpanda/pull/31388) * Fixes a bug where having a cloud topic read replica on a given cluster would prevent L0 objects on that cluster from being garbage collected. by @andrwng in [#31391](https://github.com/redpanda-data/redpanda/pull/31391) * Updating a Shadow Link that uses PLAIN authentication no longer fails when the password is omitted; the stored password is preserved. by @r-vasquez in [#31421](https://github.com/redpanda-data/redpanda/pull/31421) * [#31448](https://github.com/redpanda-data/redpanda/issues/31448) `rpk connect install --connect-version` no longer rejects versions with a segment of three or more digits, which had blocked pinning any Redpanda Connect release since 4.100.0. Malformed versions with trailing characters are now rejected during validation rather than failing at download. by @prakhargarg105 in [#31449](https://github.com/redpanda-data/redpanda/pull/31449) * `rpk security secrets list` no longer truncates its output at 100 secrets. by @simon0191 in [#31436](https://github.com/redpanda-data/redpanda/pull/31436) * `rpk shadow create` no longer fails secret-reference validation on clusters with more than one page of `REDPANDA_CLUSTER`-scoped secrets. by @simon0191 in [#31436](https://github.com/redpanda-data/redpanda/pull/31436) * `rpk shadow update` in editor mode now replaces the entire Shadow Link configuration instead of merging changed fields, so list-valued fields (e.g. topic filters) can shrink or be cleared. by @r-vasquez in [#31421](https://github.com/redpanda-data/redpanda/pull/31421) ##### Improvements * [#31335](https://github.com/redpanda-data/redpanda/issues/31335) Fixes an issue where `/v1/usage` responses could cause oversized allocations for clusters with a large number of Iceberg-enabled topics. by @WillemKauf in [#31337](https://github.com/redpanda-data/redpanda/pull/31337) * `rpk cluster health` will now display any nodes that may be in maintenance mode. by @alextreichler in [#31352](https://github.com/redpanda-data/redpanda/pull/31352) **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.14...v26.1.15 ### v26.2.1 - Date: 2026-07-28 - Version: v26.2.1 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.2.1 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.2.1 - **added** — Redpanda Enterprise now supports major version rollback via unfinalized upgrades with rpk cluster upgrade finalize and rpk cluster upgrade status commands - **added** — Shadowing from non-Redpanda Schema Registries using the HTTP Schema Registry API with shadow_schema_registry_api option - **added** — Schema Registry sync shadow links now enforce max_source_requests_per_second setting and honor Retry-After response headers - **added** — Schema Registry shadowing exports sync totals as shadow_link_schema_registry_* counters on metrics endpoints - **added** — Shadow links can mirror RBAC roles from source cluster to destination with configurable sync interval and role-name filters - **added** — rpk now supports role_sync_options when creating a Shadow Link - **added** — Shadowing now supports Cloud Topics - **added** — Tiered Storage V2 beta with new default_redpanda_storage_mode_tiered_impl cluster config to select between tiered_v1 and tiered_v2 - **added** — New read-only redpanda.storage.mode.impl topic property reports the exact storage mode implementation - **added** — Schema Registry context support is now enabled by default with subject parsing for context format - **added** — Schema Registry now accepts /contexts/{context}/... prefixed URLs on all endpoints - **added** — Add OAUTHBEARER SASL mechanism support to rpk for OIDC-based authentication - **added** — Add OAUTHBEARER SASL mechanism support to admin API endpoint used by rpk debug remote-bundle start - **added** — rpk debug remote-bundle start now supports OAUTHBEARER OIDC profiles - **added** — New layout key in Iceberg translation mode supporting nested and flat layouts - **added** — Iceberg translation now supports schema registry contexts via redpanda.schema.registry.context topic property - **added** — Per-entity Kafka quota metrics with kafka_per_entity_quota_metrics configuration option - **added** — Add rpk check managed plugin for production readiness validation - **added** — Add rpk k8s managed plugin for interacting with Redpanda clusters on Kubernetes - **added** — Admin API endpoint to cancel in-progress controller reconfiguration #### Redpanda v26.2 Release Notes ##### Features - Redpanda Enterprise (excludes Redpanda BYOC/Dedicated/Serverless) now supports major version rollback via ‘unfinalized’ upgrades. `rpk cluster upgrade finalize` and `rpk cluster upgrade status` manage deferred (unfinalized) major-version upgrades. ([\#30930](https://github.com/redpanda-data/redpanda/pull/30930)) - Shadowing from non-Redpanda Schema Registries using the HTTP Schema Registry API. rpk shadow provides support for the new Schema Registry Sync option `shadow_schema_registry_api` in Shadow Links. ([\#30860](https://github.com/redpanda-data/redpanda/pull/30860)) - Schema Registry sync shadow links now enforce the link's `max_source_requests_per_second` setting (default 30 requests/sec) when reading from the source registry, and honor a throttling source's `Retry-After` response header. ([\#31101](https://github.com/redpanda-data/redpanda/pull/31101)) - Schema Registry shadowing now exports its sync totals as `shadow_link_schema_registry_*` counters on the internal and public metrics endpoints, labelled by `shadow_link_name`. ([\#31067](https://github.com/redpanda-data/redpanda/pull/31067)) - Shadow links can now mirror RBAC roles from the source cluster to the destination. Configure role sync on the link with a sync interval and role-name filters to select which roles are kept in sync. ([\#30946](https://github.com/redpanda-data/redpanda/pull/30946)) - rpk now supports `role_sync_options` when creating a Shadow Link. ([\#30909](https://github.com/redpanda-data/redpanda/pull/30909)) - Shadowing now supports Cloud Topics. ([\#30073](https://github.com/redpanda-data/redpanda/pull/30073)) - Tiered Storage V2 beta. A new `default_redpanda_storage_mode_tiered_impl` cluster config (`tiered_v1` | `tiered_v2`, default `tiered_v1`) selects whether the `tiered` value of the `redpanda.storage.mode` topic property refers to classic Tiered Storage or the new version of tiered storage. **Tiered Storage v2 is a beta feature in v26.2.** ([\#30966](https://github.com/redpanda-data/redpanda/pull/30966)) - New read-only `redpanda.storage.mode.impl` topic property reports the exact implementation of every topic's storage mode (`unset`|`local`|`tiered_v1`|`tiered_v2`|`cloud`), and can be supplied on topic creation to select the storage mode precisely. Topics using the `tiered_v2` implementation (beta) can only be created once the whole cluster runs v26.2. ([\#30966](https://github.com/redpanda-data/redpanda/pull/30966)) - Schema Registry context support is now enabled by default. Subjects of the form `:.context:subject` are parsed into a separate context. See the [upgrade considerations](https://docs.redpanda.com/current/manage/schema-reg/schema-reg-contexts/#upgrade-considerations) before upgrading clusters that may have stored literal `:.`\-prefixed subject names. ([\#30365](https://github.com/redpanda-data/redpanda/pull/30365)) - Schema Registry now accepts `/contexts/{context}/...` prefixed URLs on all endpoints, allowing serde clients to target a non-default context by configuring their base URL (e.g. `schema.registry.url=http://host:8081/contexts/.myctx`). ([\#30189](https://github.com/redpanda-data/redpanda/pull/30189)) - Add OAUTHBEARER SASL mechanism support to rpk, enabling OIDC-based authentication for the Kafka client, admin API, and schema registry. Pass the token via `--password` (raw value or `token:` format) with `--sasl-mechanism OAUTHBEARER`. ([\#30169](https://github.com/redpanda-data/redpanda/pull/30169)) - [\#30222](https://github.com/redpanda-data/redpanda/issues/30222) Add OAUTHBEARER SASL mechanism support to the admin API endpoint used by `rpk debug remote-bundle start`, enabling remote debug bundle collection against clusters configured with OAUTHBEARER authentication. ([\#30225](https://github.com/redpanda-data/redpanda/pull/30225)) - `rpk debug remote-bundle start` now supports OAUTHBEARER (OIDC) profiles. Pa _[Truncated at 4000 characters — full notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.2.1]_ ### v26.1.14 - Date: 2026-07-24 - Version: v26.1.14 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.14 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.14 - **fixed** — Fixed a cloud-topics epoch fencing race where an epoch bump whose replication failed could later admit a stale-epoch write, poisoning the partition log and crashing all replicas of the partition - **fixed** — Fixed a bug in OffsetForLeaderEpoch handling with tiered topics which could cause consumers to reset their fetch position to the beginning of the log held in cloud storage - **fixed** — Fixed a potential crash in DescribeLogDirs - **fixed** — HTTP Proxy: Consumer group fetches no longer fail indefinitely with offset_out_of_range after retention moves a topic's log start offset past 0; the consumer now recovers to the earliest available offset - **fixed** — Fixed a raft pre-vote livelock where a follower recovering behind a live leader could repeatedly start elections, leaving partitions under-replicated and stalling acks=all produce with request timeouts - **fixed** — Fixed a bug in which internal topics could be auto-created with the wrong topic properties - **fixed** — Fixed allocation double free on no-op replication factor changes - **added** — Added a schema_registry_replay_on_startup cluster property (default off) that hydrates the Schema Registry store at broker start-up rather than lazily on the first request - **changed** — Avoid oversized allocations for some of the schema_registry and pandaproxy handler interfaces - **changed** — HTTP Proxy: a consumer group now resumes from its committed offset on a fresh consumer instance instead of re-reading from the earliest available offset - **changed** — Optimize the schema_registry recovery path by caching references when canonicalizing schemas - **changed** — Schema Registry now replays the internal _schemas topic exactly once when recovering on startup, instead of running redundant concurrent replays; cold start of a large registry is significantly faster ##### Bug Fixes * Fixed a cloud-topics epoch fencing race where an epoch bump whose replication failed could later admit a stale-epoch write, poisoning the partition log and crashing all replicas of the partition. by @Lazin in [#31140](https://github.com/redpanda-data/redpanda/pull/31140) * Fixes a bug in `OffsetForLeaderEpoch` handling with `tiered` topics which could cause consumers to reset their fetch position to the beginning of the log held in cloud storage. by @WillemKauf in [#31074](https://github.com/redpanda-data/redpanda/pull/31074) * Fixes a potential crash in `DescribeLogDirs` by @WillemKauf in [#31196](https://github.com/redpanda-data/redpanda/pull/31196) * HTTP Proxy: Consumer group fetches no longer fail indefinitely with offset_out_of_range after retention moves a topic's log start offset past 0; the consumer now recovers to the earliest available offset (auto.offset.reset=earliest). by @bartoszpiekny-redpanda in [#31207](https://github.com/redpanda-data/redpanda/pull/31207) * Lifecycle fix on groups by @joe-redpanda in [#31182](https://github.com/redpanda-data/redpanda/pull/31182) * [#30885](https://github.com/redpanda-data/redpanda/issues/30885) Fixed a raft pre-vote livelock where a follower recovering behind a live leader could repeatedly start elections, leaving partitions under-replicated and stalling `acks=all` produce with request timeouts. by @stevenpall in [#30886](https://github.com/redpanda-data/redpanda/pull/30886) * [#31238](https://github.com/redpanda-data/redpanda/issues/31238) Fixes a bug in which internal topics could be auto-created with the wrong topic properties by @WillemKauf in [#31239](https://github.com/redpanda-data/redpanda/pull/31239) * fix allocation double free on no-op rf changes by @joe-redpanda in [#31116](https://github.com/redpanda-data/redpanda/pull/31116) ##### Improvements * Added a \`schema_registry_replay_on_startup\` cluster property (default off) that hydrates the Schema Registry store at broker start-up rather than lazily on the first request. by @sjust-redpanda in [#31174](https://github.com/redpanda-data/redpanda/pull/31174) * Avoid oversized allocations for some of the \`schema_registry\` and \`pandaproxy\` handler interfaces. by @WillemKauf in [#31200](https://github.com/redpanda-data/redpanda/pull/31200) * HTTP Proxy: a consumer group now resumes from its committed offset on a fresh consumer instance instead of re-reading from the earliest available offset. by @bartoszpiekny-redpanda in [#31225](https://github.com/redpanda-data/redpanda/pull/31225) * Optimize the \`schema_registry\` recovery path by caching references when canonicalizing schemas by @WillemKauf in [#31193](https://github.com/redpanda-data/redpanda/pull/31193) * Schema Registry now replays the internal \`_schemas\` topic exactly once when recovering on startup, instead of running redundant concurrent replays; cold start of a large registry is significantly faster. by @sjust-redpanda in [#31174](https://github.com/redpanda-data/redpanda/pull/31174) **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.13...v26.1.14 ### v26.1.13 - Date: 2026-07-17 - Version: v26.1.13 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.13 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.13 - **fixed** — Fix consumer group lag metrics reporting 0 for read-replica topics - **fixed** — Fixed a cluster membership lock that could occur when a node was decommissioned while it was being added as a controller raft0 learner - **fixed** — Fixed a potential broker crash use-after-free in the cloud topics metastore when accessing Raft state during leadership changes - **fixed** — Fixes a bug in cloud topics compaction that could cause repeated no-op compactions if the topic uses retention or transactions - **fixed** — Fixes a bug where Cloud Topics with the compact cleanup policy would have log retention policies applied to them - **fixed** — Fixes an issue where cluster linking would not replicate the partition start offset - **fixed** — rpk ai no longer requires a selected Redpanda Cloud cluster to run, with its own rpk ai auth login and rpk ai env use independent of rpk cloud session - **fixed** — Fix a latent double get_exception call on a failed future in cloud topics metastore - **added** — Add a new enable_development_metrics cluster configuration false by default runtime configurable that exposes internal_rpc_latency metrics to the internal /metrics endpoint when enabled - **fixed** — Fixes a bug where unnecessary memory allocations and deallocations were being made on the L0 write path in cloud topics - **changed** — Iceberg Topics will stop creating new parquet files if there is a large backlog of files not yet committed to the Iceberg catalog to avoid OOM when the catalog has rejected Redpanda commits - **changed** — Optimize the ACL authorization path for all callers including Kafka handlers schema registry Pandaproxy and Iceberg - **changed** — Prevent oversized allocations and OOMs when using a large number of ACLs in Redpanda - **changed** — The Iceberg Topics Coordinator will now commit to the Iceberg catalog in chunks to avoid OOM when the catalog has rejected Redpanda commits ##### Bug Fixes * Fix consumer group lag metrics reporting 0 for read-replica topics. by @bartoszpiekny-redpanda in [#30939](https://github.com/redpanda-data/redpanda/pull/30939) * Fixed a cluster membership lock that could occur when a node was decommissioned while it was being added as a controller (raft0) learner. by @mmaslankaprv in [#31091](https://github.com/redpanda-data/redpanda/pull/31091) * Fixed a potential broker crash (use-after-free) in the cloud topics metastore when accessing Raft state during leadership changes. by @nvartolomei in [#31052](https://github.com/redpanda-data/redpanda/pull/31052) * Fixes a bug in cloud topics compaction that could cause repeated no-op compactions if the topic uses retention or transactions. by @andrwng in [#31124](https://github.com/redpanda-data/redpanda/pull/31124) * Fixes a bug where Cloud Topics with the `compact` cleanup policy would have log retention policies applied to them. by @andrwng in [#31111](https://github.com/redpanda-data/redpanda/pull/31111) * Fixes an issue where cluster linking would not replicate the partition start offset. by @andrwng in [#31000](https://github.com/redpanda-data/redpanda/pull/31000) * `rpk ai` no longer requires a selected Redpanda Cloud cluster to run. The AI CLI uses its own `rpk ai auth login` and `rpk ai env use`, independent of any `rpk cloud` session. by @birdayz in [#31079](https://github.com/redpanda-data/redpanda/pull/31079) * fix a latent double get_exception call on a failed future in cloud topics metastore by @oleiman in [#31045](https://github.com/redpanda-data/redpanda/pull/31045) ##### Improvements * Adds a new `enable_development_metrics` cluster configuration (`false` by default, runtime configurable). When enabled, `internal_rpc_latency` metrics are exposed to the internal `/metrics` endpoint. This family of metrics can be expensive (large number of series) - leave it set to `false` to save on metrics scraping costs. by @WillemKauf in [#30957](https://github.com/redpanda-data/redpanda/pull/30957) * Fixes a bug where unnecessary memory allocations/deallocations were being made on the L0 write path in cloud topics by @WillemKauf in [#30983](https://github.com/redpanda-data/redpanda/pull/30983) * Iceberg Topics will stop creating new parquet files if there is a large backlog of files not yet committed to the Iceberg catalog. This helps avoid an OOM when the catalog has rejected Redpanda commits for prolonged periods of time. by @andrwng in [#31036](https://github.com/redpanda-data/redpanda/pull/31036) * Optimize the ACL authorization path for all callers (Kafka handlers, schema registry, Pandaproxy & Iceberg) by @WillemKauf in [#30969](https://github.com/redpanda-data/redpanda/pull/30969) * Prevent oversized allocations/OOMs when using a large number of ACLs in redpanda by @WillemKauf in [#30969](https://github.com/redpanda-data/redpanda/pull/30969) * The Iceberg Topics Coordinator will now commit to the Iceberg catalog in chunks, avoiding an OOM when the catalog has rejected Redpanda commits for prolonged periods of time. by @andrwng in [#31036](https://github.com/redpanda-data/redpanda/pull/31036) **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.12...v26.1.13 ### v26.1.12 - Date: 2026-06-28 - Version: v26.1.12 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.12 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.12 - **fixed** — Fix a bug in which a generate_report() request to the transform system could result in a nullptr dereference at startup - **fixed** — Fix a bug in which a stale read in the l0 write scheduler could result in a division by zero (raising SIGFPE) - **fixed** — Fix a reactor stall seen when there are a large number of pending files in the Iceberg Topics coordinator - **fixed** — Fix deleted namespace race for REST_HADOOP catalog in datalake - **fixed** — Surface worker crashes as descriptive errors in dt/kgo - **added** — Add stuck raft0 escape hatches - **changed** — Make the schema walk keyword-aware in JSON ##### Bug Fixes * Fixes a bug in which a `generate_report()` request to the `transform` system could result in a `nullptr` dereference at startup by @WillemKauf in [#30910](https://github.com/redpanda-data/redpanda/pull/30910) * Fixes a bug in which a stale read in the l0 write scheduler could result in a division by zero (raising SIGFPE). by @WillemKauf in [#30920](https://github.com/redpanda-data/redpanda/pull/30920) * Fixes a reactor stall seen when there are a large number of pending files in the Iceberg Topics coordinator. by @andrwng in [#30880](https://github.com/redpanda-data/redpanda/pull/30880) * PR [#30929](https://github.com/redpanda-data/redpanda/pull/30929) [v26.1.x] datalake: Fix deleted namespace race for REST_HADOOP catalog by @wdberkeley * PR [#30944](https://github.com/redpanda-data/redpanda/pull/30944) [v26.1.x] dt/kgo: surface worker crashes as descriptive errors by @nvartolomei ##### Improvements * adds stuck raft0 escape hatches by @vbotbuildovich in [#30945](https://github.com/redpanda-data/redpanda/pull/30945) * PR [#30922](https://github.com/redpanda-data/redpanda/pull/30922) [v26.1.x] [CORE-16282] json: make the schema walk keyword-aware by @mnajda-redpanda **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.11...v26.1.12 ### v26.1.11 - Date: 2026-06-25 - Version: v26.1.11 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.11 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.11 - **added** — rpk --print-tree emits the full rpk command tree as a single JSON document, suited for LLMs and automations - **fixed** — Fix consumer group lag metrics inflated after retention or trim-prefix - **fixed** — Fixed shadow link replication advancing the shadow partition start offset past the source partition's start offset when a replicator resumes after a shadow partition leadership change - **fixed** — Fixes a bug in which hung requests to the schema registry or in shadow linking could cause a deadlock during shutdown - **fixed** — Fixes a crash that could occur in the Cloud Topics metastore upon certain errors during metastore database compaction - **fixed** — Fixes a wedge in multi-output transforms where a produce failure on one output topic silently stalled the processor instead of restarting it - **security** — Upgrade krb5 to 1.22.2 to address CVE-2026-40355 and CVE-2026-40356 (NegoEx parsing vulnerabilities) - **fixed** — Fixed a bug in the schema registry where adding a new required field to a JSON schema was incorrectly allowed under BACKWARD compatibility mode - **changed** — Optimize compaction logic, especially for large batches - **changed** — Upgrade openssl to 3.5.7 - **changed** — Remove shard aggregation for max_offset and under_replicated_partitions metrics ##### Features * `rpk --print-tree`: emits the full rpk command tree as a single JSON document, suited for LLMs and automations. by @r-vasquez in [#30834](https://github.com/redpanda-data/redpanda/pull/30834) ##### Bug Fixes * Fix consumer group lag metrics inflated after retention or trim-prefix. by @bartoszpiekny-redpanda in [#30870](https://github.com/redpanda-data/redpanda/pull/30870) * Fixed shadow link replication advancing the shadow partition start offset past the source partition's start offset when a replicator resumes after a shadow partition leadership change. by @Lazin in [#30819](https://github.com/redpanda-data/redpanda/pull/30819) * Fixes a bug in which hung requests to the schema registry or in shadow linking could cause a deadlock during shutdown. by @WillemKauf in [#30788](https://github.com/redpanda-data/redpanda/pull/30788) * Fixes a crash that could occur in the Cloud Topics metastore upon certain errors from during metastore database compaction. by @andrwng in [#30775](https://github.com/redpanda-data/redpanda/pull/30775) * Fixes a wedge in multi-output transforms where a produce failure on one output topic silently stalled the processor instead of restarting it. by @WillemKauf in [#30855](https://github.com/redpanda-data/redpanda/pull/30855) * Upgrade krb5 to 1.22.2 to address CVE-2026-40355 and CVE-2026-40356 (NegoEx parsing vulnerabilities). by @tyson-redpanda in [#30874](https://github.com/redpanda-data/redpanda/pull/30874) * [#30561](https://github.com/redpanda-data/redpanda/issues/30561) Fixed a bug in the schema registry where adding a new required field to a JSON schema was incorrectly allowed under `BACKWARD` compatibility mode. by @TheJohnMatti in [#30563](https://github.com/redpanda-data/redpanda/pull/30563) ##### Improvements * Optimize compaction logic, especially for large batches. by @WillemKauf in [#30760](https://github.com/redpanda-data/redpanda/pull/30760) * `ct/l1`: check `is_linked()` on owner shard by @WillemKauf in [#30747](https://github.com/redpanda-data/redpanda/pull/30747) * build/deps: upgrade openssl to 3.5.7 by @tyson-redpanda in [#30813](https://github.com/redpanda-data/redpanda/pull/30813) * ct/scale: raise fetch concurrency for cloud_topics MPT variants by @oleiman in [#30867](https://github.com/redpanda-data/redpanda/pull/30867) * `cluster`: remove shard aggregation for `max_offset` and `under_replicated_partitions` by @WillemKauf in [#30877](https://github.com/redpanda-data/redpanda/pull/30877) **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.10...v26.1.11 ### v26.1.10 - Date: 2026-06-12 - Version: v26.1.10 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.10 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.10 - **added** — New live-reloadable cluster configs oidc_http_proxy_username and oidc_http_proxy_password add HTTP Basic authentication to the OIDC forward proxy - **added** — New cluster property iceberg_default_schema_case_insensitive to determine whether the Iceberg subsystem compares field names case-insensitively, with auto-detection support for AWS Glue catalogs - **fixed** — Fix schema evolution incorrectly rejecting new optional Iceberg columns whose nested types contain structurally-required fields - **fixed** — Fixed Avro schema lookup false negatives when equivalent nested primitive schemas used simple form and object form - **fixed** — Fixed a leak in the Iceberg translation subsystem where per-partition metrics were not released after a partition was removed from a broker - **fixed** — Fixed a bug in the feature_table where decommissioned nodes holding back the cluster-wide cluster_version prevented cluster_version from being updated - **fixed** — Fixed a bug where fetches against tiered storage could fail when retention advances past all segments and new segments are added - **security** — Patched krb5 against CVE-2026-40355 (null pointer dereference) and CVE-2026-40356 (integer underflow) in NegoEx message parsing, exploitable by unauthenticated remote attackers to crash the process - **changed** — The day partition transform now produces a date-typed partition column instead of int - **changed** — Report Iceberg-disabled topics as DISABLED in translation_state response - **changed** — Avoid recompression of unchanged batches in the local storage and cloud topics compaction implementation - **changed** — Optimize the segment_meta_cstore insert_entries path for the generic append case - **changed** — Prevent oversized allocations in the kafka layer when utilizing large consumer groups - **changed** — Purging an Iceberg table managed by the filesystem catalog will now delete all the table's files, not just the metadata files - **changed** — The iceberg translation state REST endpoint now returns a partition state entry for every partition of the topic and reports the topic's partition_count ##### Features * New live-reloadable cluster configs `oidc_http_proxy_username` / `oidc_http_proxy_password` add HTTP Basic authentication to the OIDC forward proxy (`oidc_http_proxy_url`); set both to authenticate, leave unset for an anonymous proxy. The password is secret. by @nguyen-andrew in [#30767](https://github.com/redpanda-data/redpanda/pull/30767) ##### Bug Fixes * Fix schema evolution incorrectly rejecting new optional Iceberg columns whose nested types contain structurally-required fields (e.g. maps, whose keys are always required). by @nvartolomei in [#30590](https://github.com/redpanda-data/redpanda/pull/30590) * Fixed Avro schema lookup false negatives when equivalent nested primitive schemas used simple form, such as `"string"`, and object form, such as `{"type":"string"}`. by @pgellert in [#30641](https://github.com/redpanda-data/redpanda/pull/30641) * Fixed a leak in the Iceberg translation subsystem where per-partition metrics were not released after a partition was removed from a broker. by @nvartolomei in [#30706](https://github.com/redpanda-data/redpanda/pull/30706) * Fixes a bug in the `feature_table` in which nodes which are holding back the cluster-wide `cluster_version`, when decommissioned, result in the `cluster_version` never being updated until a restart/controller leadership move is forced. by @WillemKauf in [#30636](https://github.com/redpanda-data/redpanda/pull/30636) * Fixes a bug where fetches against tiered storage could fail when retention advances past all segments and new segments are added. by @wdberkeley in [#30637](https://github.com/redpanda-data/redpanda/pull/30637) * Patched krb5 against CVE-2026-40355 (null pointer dereference) and CVE-2026-40356 (integer underflow) in NegoEx message parsing, both exploitable by an unauthenticated remote attacker to crash the process (CVSS 8.7). by @tyson-redpanda in [#30572](https://github.com/redpanda-data/redpanda/pull/30572) * The `day` partition transform now produces a `date`-typed partition column (matching the Iceberg spec) instead of `int`. by @mmaslankaprv in [#30534](https://github.com/redpanda-data/redpanda/pull/30534) * report Iceberg-disabled topics as DISABLED in translation_state response. by @bharathv in [#30770](https://github.com/redpanda-data/redpanda/pull/30770) ##### Improvements * Added a new cluster property `iceberg_default_schema_case_insensitive` with possible values of yes, no, or auto, default is auto. This property determines whether the Iceberg subsystem compares field names case-insensitively or not. The auto value means the system will attempt to detect if it should use case insensitive comparison. This will happen if the detected REST catalog is AWS Glue, which addresses a sporadic issue with AWS Glue where it would return field names lower-cased instead of verbatim. by @wdberkeley in [#30577](https://github.com/redpanda-data/redpanda/pull/30577) * Avoid recompression of unchanged batches in the local storage and cloud topics compaction implementation. by @WillemKauf in [#30672](https://github.com/redpanda-data/redpanda/pull/30672) * Optimize the `segment_meta_cstore::insert_entries()` path for the generic append case. by @WillemKauf in [#30610](https://github.com/redpanda-data/redpanda/pull/30610) * Prevent oversized allocations in the `kafka` layer when utilizing large consumer groups by @WillemKauf in [#30753](https://github.com/redpanda-data/redpanda/pull/30753) * Purging an Iceberg table managed by the filesystem catalog will now delete all the table's files, not just the metadata files. by @wdberkeley in [#30698](https://github.com/redpanda-data/redpanda/pull/30698) * The iceberg translation state REST endpoint now returns a partition state entry for every partition of the topic and reports the topic's `partition_count`. by @mmaslankaprv in [#30657](https://github.com/redpanda-data/redpanda/pull/30657) **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.9...v _[Truncated at 4000 characters — full notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.10]_ ### v25.3.15 - Date: 2026-06-04 - Version: v25.3.15 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v25.3.15 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v25.3.15 - **added** — Add OAUTHBEARER SASL mechanism support to rpk, enabling OIDC-based authentication for the Kafka client, admin API, and schema registry via --password and --sasl-mechanism OAUTHBEARER - **fixed** — Allow combining aws_sigv4 Iceberg REST catalog authentication with the sts cloud credentials source - **fixed** — Correctly decode variable-length Avro decimal payloads on the ingest path - **fixed** — Fix Iceberg map columns being unreadable from strict Parquet readers due to missing LogicalType.MAP annotation in the written Parquet schema - **fixed** — Fix a process abort when the tiered storage cache's local disk fills up while a segment download is in progress on a non-zero shard - **fixed** — Fix corruption of negative decimal partition values in Iceberg manifests for decimal columns whose precision does not require 16 bytes - **fixed** — Fix schema evolution incorrectly rejecting new optional Iceberg columns whose nested types contain structurally-required fields - **fixed** — Fix tiered storage I/O remaining throttled at the previously-configured rate after cloud_storage_max_throughput_per_shard was unset - **fixed** — Fix Avro schema lookup false negatives when equivalent nested primitive schemas used simple form and object form - **fixed** — Fix schema registry returning 40403 when looking up Avro schemas that use unqualified named type references against registered schemas using fully-qualified references - **fixed** — Fix the vectorized_rpc_client_requests_pending gauge drifting over time - **fixed** — Fix a bug in the feature_table in which nodes holding back cluster-wide cluster_version, when decommissioned, result in cluster_version never being updated until a restart or controller leadership move - **fixed** — Fix a bug where fetches against tiered storage could fail when retention advances past all segments and new segments are added - **fixed** — Fix an issue that prevented raft followers across high-RTT links from establishing connections long enough to receive heartbeat request replies - **security** — Patch krb5 against CVE-2026-40355 (null pointer dereference) and CVE-2026-40356 (integer underflow) in NegoEx message parsing - **security** — Upgrade OpenSSL from 3.0.19 to 3.0.20 to address CVE-2026-31790, which could allow an attacker supplying a malformed RSA public key to trigger use of uninitialized memory - **security** — Upgrade libxml2 to v2.15.3 to fix CVE-2026-6732 type confusion vulnerability in XSD validation - **fixed** — Fix protobuf compatibility checks incorrectly failing with MESSAGE_REMOVED when a map field is removed - **fixed** — Fix a bug in which a double metric registration could occur when sts credentials were used for both iceberg and tiered_storage systems - **changed** — Backport features_auto_finalization cluster configuration option to allow opting out of automatic upgrade finalization ##### Features * Add OAUTHBEARER SASL mechanism support to rpk, enabling OIDC-based authentication for the Kafka client, admin API, and schema registry. Pass the token via --password (raw value or token: format) with --sasl-mechanism OAUTHBEARER. by @david-yu in [#30312](https://github.com/redpanda-data/redpanda/pull/30312) ##### Bug Fixes * Allow combining `aws_sigv4` Iceberg REST catalog authentication with the `sts` cloud credentials source. by @nvartolomei in [#30554](https://github.com/redpanda-data/redpanda/pull/30554) * Correctly decode variable-length Avro `decimal` payloads on the ingest path. by @nvartolomei in [#30518](https://github.com/redpanda-data/redpanda/pull/30518) * Fix Iceberg map columns being unreadable from strict Parquet readers (e.g. Apache Spark) due to a missing `LogicalType.MAP` annotation in the written Parquet schema. by @nvartolomei in [#30458](https://github.com/redpanda-data/redpanda/pull/30458) * Fix a process abort when the tiered storage cache's local disk fills up while a segment download is in progress on a non-zero shard. by @nvartolomei in [#30352](https://github.com/redpanda-data/redpanda/pull/30352) * Fix corruption of negative decimal partition values in Iceberg manifests for decimal columns whose precision does not require 16 bytes (e.g. `decimal(10,2)`). by @nvartolomei in [#30518](https://github.com/redpanda-data/redpanda/pull/30518) * Fix schema evolution incorrectly rejecting new optional Iceberg columns whose nested types contain structurally-required fields (e.g. maps, whose keys are always required). by @nvartolomei in [#30591](https://github.com/redpanda-data/redpanda/pull/30591) * Fix tiered storage I/O remaining throttled at the previously-configured rate after `cloud_storage_max_throughput_per_shard` was unset. by @nvartolomei in [#30472](https://github.com/redpanda-data/redpanda/pull/30472) * Fixed Avro schema lookup false negatives when equivalent nested primitive schemas used simple form, such as `"string"`, and object form, such as `{"type":"string"}`. by @pgellert in [#30642](https://github.com/redpanda-data/redpanda/pull/30642) * Fixed schema registry returning 40403 when looking up Avro schemas that use unqualified named type references (e.g. `"Inner"`) against registered schemas using fully-qualified references (e.g. `"com.example.Inner"`) within the same namespace. by @ksitnik-tc in [#30267](https://github.com/redpanda-data/redpanda/pull/30267) * Fixed the `vectorized_rpc_client_requests_pending` gauge drifting over time. by @nvartolomei in [#30297](https://github.com/redpanda-data/redpanda/pull/30297) * Fixes a bug in the `feature_table` in which nodes which are holding back the cluster-wide `cluster_version`, when decommissioned, result in the `cluster_version` never being updated until a restart/controller leadership move is forced. by @WillemKauf in [#30634](https://github.com/redpanda-data/redpanda/pull/30634) * Fixes a bug where fetches against tiered storage could fail when retention advances past all segments and new segments are added. by @wdberkeley in [#30639](https://github.com/redpanda-data/redpanda/pull/30639) * Fixes an issue that prevented raft followers across high-RTT links from establishing connections long enough to receive heartbeat request replies. by @ballard26 in [#30550](https://github.com/redpanda-data/redpanda/pull/30550) * Patched krb5 against CVE-2026-40355 (null pointer dereference) and CVE-2026-40356 (integer underflow) in NegoEx message parsing, both exploitable by an unauthenticated remote attacker to crash the process (CVSS 8.7). by @tyson-redpanda in [#30571](https://github.com/redpanda-data/redpanda/pull/30571) * Upgraded OpenSSL from 3.0.19 to 3.0.20 to address CVE-2026-31790, which could allow an attacker supplying a malformed RSA public key to trigger use of uninitialized memory during RSA key encapsulation. by @tyson-redpanda in [#30239](https://github.com/redpanda-data/redpanda/pull/30239) _[Truncated at 4000 characters — full notes: https://github.com/redpanda-data/redpanda/releases/tag/v25.3.15]_ ### v26.1.9 - Date: 2026-05-22 - Version: v26.1.9 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.9 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.9 - **fixed** — Allow combining aws_sigv4 Iceberg REST catalog authentication with the sts cloud credentials source - **fixed** — Correctly decode variable-length Avro decimal payloads on the ingest path - **fixed** — Fix corruption of negative decimal partition values in Iceberg manifests for decimal columns whose precision does not require 16 bytes - **fixed** — Fix parsing of Iceberg table metadata whose sort orders use the spec-canonical singular source-id field - **fixed** — Fix tiered storage I/O remaining throttled at the previously-configured rate after cloud_storage_max_throughput_per_shard was unset - **fixed** — Fix raft followers across high-RTT links from establishing connections long enough to receive heartbeat request replies - **fixed** — Fix double metric registration when sts credentials were used for both iceberg and tiered_storage systems - **added** — Backport features_auto_finalization cluster configuration option to allow opting out of automatic upgrade finalization ##### Bug Fixes * Allow combining `aws_sigv4` Iceberg REST catalog authentication with the `sts` cloud credentials source. by @nvartolomei in [#30553](https://github.com/redpanda-data/redpanda/pull/30553) * Correctly decode variable-length Avro `decimal` payloads on the ingest path. by @nvartolomei in [#30517](https://github.com/redpanda-data/redpanda/pull/30517) * Fix corruption of negative decimal partition values in Iceberg manifests for decimal columns whose precision does not require 16 bytes (e.g. `decimal(10,2)`). by @nvartolomei in [#30517](https://github.com/redpanda-data/redpanda/pull/30517) * Fix parsing of Iceberg table metadata whose sort orders use the spec-canonical singular `source-id` field (e.g. metadata produced by Unity Catalog). by @mmaslankaprv in [#30477](https://github.com/redpanda-data/redpanda/pull/30477) * Fix tiered storage I/O remaining throttled at the previously-configured rate after `cloud_storage_max_throughput_per_shard` was unset. by @nvartolomei in [#30473](https://github.com/redpanda-data/redpanda/pull/30473) * Fixes an issue that prevented raft followers across high-RTT links from establishing connections long enough to receive heartbeat request replies. by @ballard26 in [#30549](https://github.com/redpanda-data/redpanda/pull/30549) * [#30502](https://github.com/redpanda-data/redpanda/issues/30502) Fixes a bug in which a double metric registration could occur when `sts` credentials were used for both `iceberg` and `tiered_storage` systems. by @WillemKauf in [#30503](https://github.com/redpanda-data/redpanda/pull/30503) ##### Improvements * Backport `features_auto_finalization` cluster configuration option to allow opting out of automatic upgrade finalization before upgrading to v26.2. by @dotnwat in [#30460](https://github.com/redpanda-data/redpanda/pull/30460) * PR [#30507](https://github.com/redpanda-data/redpanda/pull/30507) cloud_topics/l1: fix UB in db_domain_manager error-logging paths by @Lazin * PR [#30509](https://github.com/redpanda-data/redpanda/pull/30509) `storage`: don't override with `shard_local_cfg()` in `ntp_config` helpers by @WillemKauf * PR [#30527](https://github.com/redpanda-data/redpanda/pull/30527) `cluster`: fix enterprise validation for `iceberg` enablement by @WillemKauf * PR [#30540](https://github.com/redpanda-data/redpanda/pull/30540) `ct/l1`: guard `stop_collecting_logs()` on `local_is_initialized()` by @WillemKauf * PR [#30542](https://github.com/redpanda-data/redpanda/pull/30542) rpk: bump Go to 1.26.3, x/net to v0.54.0 (Snyk findings) by @twmb **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.8...v26.1.9 ### v26.1.8 - Date: 2026-05-14 - Version: v26.1.8 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.8 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.8 - **added** — New configuration option iceberg_rest_catalog_credentials_host to specify the hostname for retrieving role-based credentials for the Iceberg REST catalog - **fixed** — Avoid out-of-memory errors under memory fragmentation when there are many ACLs - **fixed** — Fix Iceberg map columns being unreadable from strict Parquet readers due to missing LogicalType.MAP annotation in the written Parquet schema - **fixed** — Fix Cloud Topics garbage collection leaving stale objects in the bucket when deleting all cloud topics - **fixed** — Fix Iceberg REST catalog credential refresh requests being sent to the wrong host when cloud_storage_credentials_host was set - **security** — Upgrade libxml2 to v2.15.3 to fix CVE-2026-6732 type confusion vulnerability in XSD validation - **fixed** — Fix Schema Registry protobuf compatibility checks incorrectly failing with MESSAGE_REMOVED when a map field is removed - **fixed** — Fix rpk debug bundle deduplication of admin addresses across host forms - **fixed** — Cap fetch memory allocation at max message size limit ##### Features * New configuration: `iceberg_rest_catalog_credentials_host`: The hostname to connect to for retrieving role-based credentials for the Iceberg REST catalog. May be required when the REST catalog uses a different credentials source than cloud storage — for example, if cloud storage is configured to use STS with a custom credentials host, but the REST catalog uses aws_instance_metadata, this should be set to 169.254.169.254 to prevent the cloud storage host override from applying to catalog credential requests. by @wdberkeley in [#30446](https://github.com/redpanda-data/redpanda/pull/30446) ##### Bug Fixes * Avoid OOM under memory fragmentation when there are many ACLs. by @pgellert in [#30401](https://github.com/redpanda-data/redpanda/pull/30401) * Fix Iceberg map columns being unreadable from strict Parquet readers (e.g. Apache Spark) due to a missing `LogicalType.MAP` annotation in the written Parquet schema. by @nvartolomei in [#30457](https://github.com/redpanda-data/redpanda/pull/30457) * Fix an issue with Clout Topics garbage collection where deleting all cloud topics could leave stale objects in the bucket, forever. by @oleiman in [#30283](https://github.com/redpanda-data/redpanda/pull/30283) * Iceberg REST catalog credential refresh requests were sent to the wrong host when cloud_storage_credentials_host was set. The host override intended for cloud storage was applied globally, causing catalog credential fetches to fail if the catalog used a different credentials source with a different expected endpoint. by @wdberkeley in [#30446](https://github.com/redpanda-data/redpanda/pull/30446) * Upgraded libxml2 to v2.15.3 to fix CVE-2026-6732 type confusion vulnerability in XSD validation. by @tyson-redpanda in [#30393](https://github.com/redpanda-data/redpanda/pull/30393) * [#30437](https://github.com/redpanda-data/redpanda/issues/30437) Schema Registry: fixed protobuf compatibility checks incorrectly failing with `MESSAGE_REMOVED` when a map field is removed. by @QueLLL in [#30438](https://github.com/redpanda-data/redpanda/pull/30438) * rpk/debug/bundle: dedup admin addresses across host forms by @hidalgopl in [#30411](https://github.com/redpanda-data/redpanda/pull/30411) * PR [#30313](https://github.com/redpanda-data/redpanda/pull/30313) kafka/server: cap fetch memory allocation at max message size limit by @ballard26 **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.7...v26.1.8