# Redpanda: what changed from 25 to 26 - Product: Redpanda (https://whatsnew.fyi/product/redpanda) - Vendor: Redpanda Data - Range: changelog entries numbered after v25.3.17 up to and including v26.2.2, stable releases only - Entries below: 12 releases (newest first) - Resolved: 25 is v25.3.17 and 26 is v26.2.2, the newest stable release of each major we track - Carrying security changes: 4 · CVEs mentioned: 15 · Mentioning breaking changes: 0 · Removing or deprecating something: 0 - Page: https://whatsnew.fyi/product/redpanda/compare/25...26 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'. ## What changed (135 changes, grouped by kind) ### Added #### v26.2.2 (2026-08-22) - rpk sql debug bundle collects a diagnostic bundle from an Oxla (SQL) cluster - rpk generate grafana-dashboard gains a new operations-stretch dashboard for stretch clusters managed by the Redpanda Operator - rpk generate grafana-dashboard now offers a load-factor dashboard showing utilization relative to capacity for key broker resources - rpk now supports Shadow Link role sync in Redpanda Cloud clusters - rpk shadow update now accepts a --config-file flag to apply a configuration file directly #### v26.2.1 (2026-07-28) - Redpanda Enterprise now supports major version rollback via unfinalized upgrades with rpk cluster upgrade finalize and rpk cluster upgrade status commands - Shadowing from non-Redpanda Schema Registries using the HTTP Schema Registry API with shadow_schema_registry_api option - Schema Registry sync shadow links now enforce max_source_requests_per_second setting and honor Retry-After response headers - Schema Registry shadowing exports sync totals as shadow_link_schema_registry_* counters on metrics endpoints - Shadow links can mirror RBAC roles from source cluster to destination with configurable sync interval and role-name filters - rpk now supports role_sync_options when creating a Shadow Link - Shadowing now supports Cloud Topics - Tiered Storage V2 beta with new default_redpanda_storage_mode_tiered_impl cluster config to select between tiered_v1 and tiered_v2 - New read-only redpanda.storage.mode.impl topic property reports the exact storage mode implementation - Schema Registry context support is now enabled by default with subject parsing for context format - Schema Registry now accepts /contexts/{context}/... prefixed URLs on all endpoints - Add OAUTHBEARER SASL mechanism support to rpk for OIDC-based authentication - Add OAUTHBEARER SASL mechanism support to admin API endpoint used by rpk debug remote-bundle start - rpk debug remote-bundle start now supports OAUTHBEARER OIDC profiles - New layout key in Iceberg translation mode supporting nested and flat layouts - Iceberg translation now supports schema registry contexts via redpanda.schema.registry.context topic property - Per-entity Kafka quota metrics with kafka_per_entity_quota_metrics configuration option - Add rpk check managed plugin for production readiness validation - Add rpk k8s managed plugin for interacting with Redpanda clusters on Kubernetes - Admin API endpoint to cancel in-progress controller reconfiguration #### v26.1.14 (2026-07-24) - 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 #### v26.1.13 (2026-07-17) - 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 #### v26.1.12 (2026-06-28) - Add stuck raft0 escape hatches #### v26.1.11 (2026-06-25) - rpk --print-tree emits the full rpk command tree as a single JSON document, suited for LLMs and automations #### v26.1.10 (2026-06-12) - New live-reloadable cluster configs oidc_http_proxy_username and oidc_http_proxy_password add HTTP Basic authentication to the OIDC forward proxy - 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 #### v26.1.9 (2026-05-22) - Backport features_auto_finalization cluster configuration option to allow opting out of automatic upgrade finalization #### v26.1.8 (2026-05-14) - New configuration option iceberg_rest_catalog_credentials_host to specify the hostname for retrieving role-based credentials for the Iceberg REST catalog ### Changed #### v26.1.17 (2026-08-20) - Reverted c-ares DNS resolver from 1.34.7 to 1.34.6 due to upstream regression where DNS query completion callbacks could be silently never invoked, causing broker-to-broker RPC connections to be permanently unable to reconnect after peer broker restart #### v26.1.15 (2026-08-07) - 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 - rpk cluster health will now display any nodes that may be in maintenance mode #### v26.1.14 (2026-07-24) - Avoid oversized allocations for some of the schema_registry and pandaproxy handler interfaces - 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 - Optimize the schema_registry recovery path by caching references when canonicalizing schemas - 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 #### v26.1.13 (2026-07-17) - 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 - Optimize the ACL authorization path for all callers including Kafka handlers schema registry Pandaproxy and Iceberg - Prevent oversized allocations and OOMs when using a large number of ACLs in Redpanda - The Iceberg Topics Coordinator will now commit to the Iceberg catalog in chunks to avoid OOM when the catalog has rejected Redpanda commits #### v26.1.12 (2026-06-28) - Make the schema walk keyword-aware in JSON #### v26.1.11 (2026-06-25) - Optimize compaction logic, especially for large batches - Upgrade openssl to 3.5.7 - Remove shard aggregation for max_offset and under_replicated_partitions metrics #### v26.1.10 (2026-06-12) - The day partition transform now produces a date-typed partition column instead of int - Report Iceberg-disabled topics as DISABLED in translation_state response - Avoid recompression of unchanged batches in the local storage and cloud topics compaction implementation - Optimize the segment_meta_cstore insert_entries path for the generic append case - Prevent oversized allocations in the kafka layer when utilizing large consumer groups - Purging an Iceberg table managed by the filesystem catalog will now delete all the table's files, not just the metadata files - 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 ### Fixed #### v26.2.2 (2026-08-22) - Fix the registered config name for leader_balancer_node_mute_timeout (also in v26.1.15) - Fixed Schema Registry aborting the broker when a request failed before its deferred authorization check with schema_registry_enable_authorization enabled - Fixed a crash that could occur when removing a partition with a very large number of log segments - Fixed a crash where a snapshot write failing on a full disk (ENOSPC) aborted the node with a misleading assertion instead of surfacing the I/O error (also in v26.1.16) - Fixed a race in the internal Kafka client where a concurrent request on a freshly established SASL connection could be sent before authentication finished - Fixes a bug in timequeries on cloud topics which could result in returning an offset later than the first record at or after the requested timestamp - Fixes a bug in which L0 batches in a cloud topic forgot to preserve last_offset_delta in their header - Fixes a bug in which timequeries on a cloud topic could either fail by dropping the client connection or by returning an unfetchable offset - 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 - Fixes a bug in which transient TOPIC_AUTHORIZATION_FAILED errors and SASL authentication failures were possible during application of a controller snapshot - Fixes a bug where corrupted storage would not yield a bad CRC in returned record batches - 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 - Fixes a potential crash in DescribeLogDirs - Fixes an issue where backpressure from the Iceberg coordinator would cause high CPU load on the translators - Fixes potential unbounded growth of various s3_fifo users under specific workloads #### v26.1.17 (2026-08-20) - Fixed audit-log initialization sending unconditional CreateTopics requests to the controller leader that caused authentication and admin API rejection cluster-wide during leaderless states by checking the local topic table first - Fixed high CPU load on Datalake translators caused by backpressure from the Iceberg coordinator by applying proper jittered sleep instead of spinning on backpressured fetches #### v26.1.16 (2026-08-13) - Fixed a crash that could occur when removing a partition with a very large number of log segments, for example during partition rebalancing - Fixed a race in the internal Kafka client where a concurrent request on a freshly established SASL connection could be sent before authentication finished, causing the broker to drop the connection - Fixed rpk connect upgrade failing to determine the currently-installed Redpanda Connect version when that version has a segment of three or more digits #### v26.1.15 (2026-08-07) - 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 - 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 - Fix a bug in which transient TOPIC_AUTHORIZATION_FAILED errors and SASL authentication failures were possible during application of a controller snapshot - Fix a bug where corrupted storage would not yield a bad CRC in returned record batches - 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 - Updating a Shadow Link that uses PLAIN authentication no longer fails when the password is omitted; the stored password is preserved - 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 - rpk security secrets list no longer truncates its output at 100 secrets - rpk shadow create no longer fails secret-reference validation on clusters with more than one page of REDPANDA_CLUSTER-scoped secrets - Fix an issue where /v1/usage responses could cause oversized allocations for clusters with a large number of Iceberg-enabled topics #### v26.1.14 (2026-07-24) - 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 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 a potential crash in DescribeLogDirs - 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 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 a bug in which internal topics could be auto-created with the wrong topic properties - Fixed allocation double free on no-op replication factor changes #### v26.1.13 (2026-07-17) - Fix consumer group lag metrics reporting 0 for read-replica topics - Fixed a cluster membership lock that could occur when a node was decommissioned while it was being added as a controller raft0 learner - Fixed a potential broker crash use-after-free in the cloud topics metastore when accessing Raft state during leadership changes - Fixes a bug in cloud topics compaction that could cause repeated no-op compactions if the topic uses retention or transactions - Fixes a bug where Cloud Topics with the compact cleanup policy would have log retention policies applied to them - Fixes an issue where cluster linking would not replicate the partition start offset - 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 - Fix a latent double get_exception call on a failed future in cloud topics metastore - Fixes a bug where unnecessary memory allocations and deallocations were being made on the L0 write path in cloud topics #### v26.1.12 (2026-06-28) - Fix a bug in which a generate_report() request to the transform system could result in a nullptr dereference at startup - Fix a bug in which a stale read in the l0 write scheduler could result in a division by zero (raising SIGFPE) - Fix a reactor stall seen when there are a large number of pending files in the Iceberg Topics coordinator - Fix deleted namespace race for REST_HADOOP catalog in datalake - Surface worker crashes as descriptive errors in dt/kgo #### v26.1.11 (2026-06-25) - Fix consumer group lag metrics inflated after retention or trim-prefix - 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 - Fixes a bug in which hung requests to the schema registry or in shadow linking could cause a deadlock during shutdown - Fixes a crash that could occur in the Cloud Topics metastore upon certain errors during metastore database compaction - Fixes a wedge in multi-output transforms where a produce failure on one output topic silently stalled the processor instead of restarting it - Fixed a bug in the schema registry where adding a new required field to a JSON schema was incorrectly allowed under BACKWARD compatibility mode #### v26.1.10 (2026-06-12) - Fix schema evolution incorrectly rejecting new optional Iceberg columns whose nested types contain structurally-required fields - Fixed Avro schema lookup false negatives when equivalent nested primitive schemas used simple form and object form - Fixed a leak in the Iceberg translation subsystem where per-partition metrics were not released after a partition was removed from a broker - Fixed a bug in the feature_table where decommissioned nodes holding back the cluster-wide cluster_version prevented cluster_version from being updated - Fixed a bug where fetches against tiered storage could fail when retention advances past all segments and new segments are added #### v26.1.9 (2026-05-22) - Allow combining aws_sigv4 Iceberg REST catalog authentication with the sts cloud credentials source - Correctly decode variable-length Avro decimal payloads on the ingest path - Fix corruption of negative decimal partition values in Iceberg manifests for decimal columns whose precision does not require 16 bytes - Fix parsing of Iceberg table metadata whose sort orders use the spec-canonical singular source-id field - Fix tiered storage I/O remaining throttled at the previously-configured rate after cloud_storage_max_throughput_per_shard was unset - Fix raft followers across high-RTT links from establishing connections long enough to receive heartbeat request replies - Fix double metric registration when sts credentials were used for both iceberg and tiered_storage systems #### v26.1.8 (2026-05-14) - Avoid out-of-memory errors under memory fragmentation when there are many ACLs - Fix Iceberg map columns being unreadable from strict Parquet readers due to missing LogicalType.MAP annotation in the written Parquet schema - Fix Cloud Topics garbage collection leaving stale objects in the bucket when deleting all cloud topics - Fix Iceberg REST catalog credential refresh requests being sent to the wrong host when cloud_storage_credentials_host was set - Fix Schema Registry protobuf compatibility checks incorrectly failing with MESSAGE_REMOVED when a map field is removed - Fix rpk debug bundle deduplication of admin addresses across host forms - Cap fetch memory allocation at max message size limit ### Security #### v26.1.16 (2026-08-13) - Fixed a double-free / use-after-free in c-ares query-completion handling (CVE-2026-33630) #### v26.1.11 (2026-06-25) - Upgrade krb5 to 1.22.2 to address CVE-2026-40355 and CVE-2026-40356 (NegoEx parsing vulnerabilities) #### v26.1.10 (2026-06-12) - 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 #### v26.1.8 (2026-05-14) - Upgrade libxml2 to v2.15.3 to fix CVE-2026-6732 type confusion vulnerability in XSD validation ## Release notes ### v26.2.2 - Date: 2026-08-22 - Version: v26.2.2 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.2.2 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.2.2 - **added** — rpk sql debug bundle collects a diagnostic bundle from an Oxla (SQL) cluster - **added** — rpk generate grafana-dashboard gains a new operations-stretch dashboard for stretch clusters managed by the Redpanda Operator - **added** — rpk generate grafana-dashboard now offers a load-factor dashboard showing utilization relative to capacity for key broker resources - **added** — rpk now supports Shadow Link role sync in Redpanda Cloud clusters - **added** — rpk shadow update now accepts a --config-file flag to apply a configuration file directly - **fixed** — Fix the registered config name for leader_balancer_node_mute_timeout - **fixed** — Fixed Schema Registry aborting the broker when a request failed before its deferred authorization check with schema_registry_enable_authorization enabled - **fixed** — Fixed a crash that could occur when removing a partition with a very large number of log segments - **fixed** — Fixed a crash where a snapshot write failing on a full disk (ENOSPC) aborted the node with a misleading assertion instead of surfacing the I/O error - **fixed** — Fixed a race in the internal Kafka client where a concurrent request on a freshly established SASL connection could be sent before authentication finished - **fixed** — Fixes a bug in timequeries on cloud topics which could result in returning an offset later than the first record at or after the requested timestamp - **fixed** — Fixes a bug in which L0 batches in a cloud topic forgot to preserve last_offset_delta in their header - **fixed** — Fixes a bug in which timequeries on a cloud topic could either fail by dropping the client connection or by returning an unfetchable offset - **fixed** — 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 - **fixed** — Fixes a bug in which transient TOPIC_AUTHORIZATION_FAILED errors and SASL authentication failures were possible during application of a controller snapshot - **fixed** — Fixes a bug where corrupted storage would not yield a bad CRC in returned record batches - **fixed** — 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 - **fixed** — Fixes a potential crash in DescribeLogDirs - **fixed** — Fixes an issue where backpressure from the Iceberg coordinator would cause high CPU load on the translators - **fixed** — Fixes potential unbounded growth of various s3_fifo users under specific workloads ##### Features * `rpk sql debug bundle` collects a diagnostic bundle from an Oxla (SQL) cluster. by @Bixkog in [#31078](https://github.com/redpanda-data/redpanda/pull/31078) by @tyson-redpanda in [#31294](https://github.com/redpanda-data/redpanda/pull/31294) * `rpk generate grafana-dashboard` gains a new `operations-stretch` dashboard: a Grafana dashboard for stretch clusters managed by the Redpanda Operator, covering cross-cluster raft health, StretchCluster member status, and operator reconcile health. Generate it with `rpk generate grafana-dashboard --dashboard operations-stretch`. by @RafalKorepta in [#31641](https://github.com/redpanda-data/redpanda/pull/31641) * `rpk generate grafana-dashboard` now offers a `load-factor` dashboard showing utilization relative to capacity for key broker resources (CPU, IO scheduler, disk IOPS, memory, network bandwidth, client connections). by @travisdowns in [#31555](https://github.com/redpanda-data/redpanda/pull/31555) * rpk now supports Shadow Link role sync in Redpanda Cloud clusters by @r-vasquez in [#31625](https://github.com/redpanda-data/redpanda/pull/31625) * rpk shadow update now accepts a --config-file flag to apply a configuration file directly. by @r-vasquez in [#31329](https://github.com/redpanda-data/redpanda/pull/31329) ##### Bug Fixes * Fix the registered config name for `leader_balancer_node_mute_timeout`. by @WillemKauf in [#31359](https://github.com/redpanda-data/redpanda/pull/31359) * Fixed Schema Registry aborting the broker when a request failed before its deferred authorization check with `schema_registry_enable_authorization` enabled. Such requests now return an error response. by @nguyen-andrew in [#31590](https://github.com/redpanda-data/redpanda/pull/31590) * Fixed a crash that could occur when removing a partition with a very large number of log segments, e.g. during partition rebalancing. by @pgellert in [#31503](https://github.com/redpanda-data/redpanda/pull/31503) * Fixed a crash where a snapshot write failing on a full disk (ENOSPC) aborted the node with a misleading "snapshot writer has to be closed" assertion instead of surfacing the I/O error. by @nvartolomei in [#31277](https://github.com/redpanda-data/redpanda/pull/31277) * Fixed a crash where a snapshot write failing on a full disk (ENOSPC) aborted the node with a misleading "snapshot writer has to be closed" assertion instead of surfacing the I/O error. by @nvartolomei in [#31180](https://github.com/redpanda-data/redpanda/pull/31180) by @tyson-redpanda in [#31294](https://github.com/redpanda-data/redpanda/pull/31294) * Fixed a race in the internal Kafka client where a concurrent request on a freshly established SASL connection could be sent before authentication finished, causing the broker to drop the connection. by @nvartolomei in [#31273](https://github.com/redpanda-data/redpanda/pull/31273) * Fixed a race in the internal Kafka client where a concurrent request on a freshly established SASL connection could be sent before authentication finished, causing the broker to drop the connection. by @nvartolomei in [#31152](https://github.com/redpanda-data/redpanda/pull/31152) by @tyson-redpanda in [#31294](https://github.com/redpanda-data/redpanda/pull/31294) * Fixes a bug in timequeries on cloud topics which could result in returning an offset up to one indexing interval (`4_MiB` of records by default) later than the first record at or after the requested timestamp by @WillemKauf in [#31417](https://github.com/redpanda-data/redpanda/pull/31417) * 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 [#31364](https://github.com/redpanda-data/redpanda/pull/31364) * Fixes a bug in which timequeries on a cloud topic could either fail by dropping the client connection or by returning an unfetchable off _[Truncated at 4000 characters — full notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.2.2]_ ### v26.1.17 - Date: 2026-08-20 - Version: v26.1.17 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.17 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.17 - **fixed** — Fixed audit-log initialization sending unconditional CreateTopics requests to the controller leader that caused authentication and admin API rejection cluster-wide during leaderless states by checking the local topic table first - **fixed** — Fixed high CPU load on Datalake translators caused by backpressure from the Iceberg coordinator by applying proper jittered sleep instead of spinning on backpressured fetches - **changed** — Reverted c-ares DNS resolver from 1.34.7 to 1.34.6 due to upstream regression where DNS query completion callbacks could be silently never invoked, causing broker-to-broker RPC connections to be permanently unable to reconnect after peer broker restart ##### Bug Fixes * Fixed an issue where audit-log initialization unconditionally sent a `CreateTopics` request to the controller leader, causing authentication and the admin API to be rejected cluster-wide (with `audit_failure_policy=reject`) for the duration of any prolonged leaderless state. Initialization now checks the local topic table first and skips the `CreateTopics` call when the audit topic already exists. by @andresaristizabal-rp in [#31411](https://github.com/redpanda-data/redpanda/pull/31411) * Fixed an issue where backpressure from the Iceberg coordinator caused high CPU load on the Datalake translators. The translation loop was treating a backpressured fetch as a successful iteration and cancelling its retry jitter, causing it to spin as fast as the RPC completed rather than applying the normal jittered sleep. by @pgellert in [#31419](https://github.com/redpanda-data/redpanda/pull/31419) * Reverted the c-ares DNS resolver from 1.34.7 back to 1.34.6. c-ares 1.34.7 contains an upstream regression ([c-ares/c-ares#1256](https://github.com/c-ares/c-ares/issues/1256)) where a DNS query completion callback can silently never be invoked, which could leave an internal broker-to-broker RPC connection permanently unable to reconnect after a peer broker restart. Affected clusters showed persistently under-replicated partitions and failing broker readiness probes. Reverting c-ares reintroduces CVE-2026-33630; the CVE fix will be re-applied once upstream resolves the regression. by @bartoszpiekny-redpanda in [#31634](https://github.com/redpanda-data/redpanda/pull/31634) **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.16...v26.1.17 ### v26.1.16 - Date: 2026-08-13 - Version: v26.1.16 - Original notes: https://github.com/redpanda-data/redpanda/releases/tag/v26.1.16 - Permalink: https://whatsnew.fyi/product/redpanda/releases/v26.1.16 - **fixed** — Fixed a crash that could occur when removing a partition with a very large number of log segments, for example during partition rebalancing - **fixed** — Fixed a crash where a snapshot write failing on a full disk (ENOSPC) aborted the node with a misleading assertion instead of surfacing the I/O error - **security** — Fixed a double-free / use-after-free in c-ares query-completion handling (CVE-2026-33630) - **fixed** — Fixed a race in the internal Kafka client where a concurrent request on a freshly established SASL connection could be sent before authentication finished, causing the broker to drop the connection - **fixed** — Fixed rpk connect upgrade failing to determine the currently-installed Redpanda Connect version when that version has a segment of three or more digits **IMPORTANT: Do not install the 26.1.16 release. A critical bug was identified that has broad implications that can create instability for long-running clusters. This issue is fixed in 26.1.17. Please upgrade directly to 26.1.17 or 26.2.x** ##### Bug Fixes * Fixed a crash that could occur when removing a partition with a very large number of log segments, e.g. during partition rebalancing. by @pgellert in [#31505](https://github.com/redpanda-data/redpanda/pull/31505) * Fixed a crash where a snapshot write failing on a full disk (ENOSPC) aborted the node with a misleading "snapshot writer has to be closed" assertion instead of surfacing the I/O error. by @nvartolomei in [#31186](https://github.com/redpanda-data/redpanda/pull/31186) * Fixed a double-free / use-after-free in c-ares query-completion handling (CVE-2026-33630). by @bartoszpiekny-redpanda in [#31486](https://github.com/redpanda-data/redpanda/pull/31486) * Fixed a race in the internal Kafka client where a concurrent request on a freshly established SASL connection could be sent before authentication finished, causing the broker to drop the connection. by @nvartolomei in [#31192](https://github.com/redpanda-data/redpanda/pull/31192) * [#31550](https://github.com/redpanda-data/redpanda/issues/31550) `rpk connect upgrade` no longer fails to determine the currently-installed Redpanda Connect version when that version has a segment of three or more digits, which had blocked upgrading any Connect install since 4.100.0. by @JakeSCahill in [#31551](https://github.com/redpanda-data/redpanda/pull/31551) **Full Changelog**: https://github.com/redpanda-data/redpanda/compare/v26.1.15...v26.1.16 ### 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]_ ### 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