Bug Fixes
- Fixed shadow link replicating all historical data when
start_at_timestampis set to a timestamp beyond the end of the source partition log. The link now falls back to the last stable offset and replicates only new data. by @nguyen-andrew in #29900 - Fixes a possible cause of offset translator inconsistency arising from incorrect truncation of the log. by @bharathv in #29872
- Repair tiered-storage manifests with misaligned archive offsets during archiver startup. This unblocks retention when such a manifest was present. by @nvartolomei in #29921
- Upgrade libxml2 to v2.15.2 to fix CVE-2026-0990 (Uncontrolled
Recursion via xmlCatalogXMLResolveURI() in XML catalog processing). by @tyson-redpanda in #29811 - fix dangling reference in many partitions edge case by @joe-redpanda in #29932
- Fix name prefix in Kafka client ID by @bharathv in [#29784]
- Prevent use-after-modification in
disk_log_impl::disk_usage()by @WillemKauf in [#29897] - Fix iobuf hash by @StephanDollberg in [#29915]
Improvements
- Archive garbage collection now deletes segments in bounded batches (controlled by
cloud_storage_gc_max_segments_per_run, default300) instead of attempting to delete the entire backlog in a single housekeeping run. This prevents unbounded object storage delete requests on partitions with large expired archives, ensures each run commits incremental progress, and automatically schedules fast follow-up runs until the backlog is fully drained. by @nvartolomei in #29923 - Remove a copy of a potentially large datastructure when starting a transaction by @rockwotj in #29836
- #29855 Minor improvement to speed up feature activation after major version upgrades. by @pgellert in #29880
- Replace circular buffer with chunked equivalent by @IoannisRP in [#29579]
- Add reset topic state escape hatch by @nvartolomei in [#29759]
- Deterministic shadow link status output by @bharathv in [#29912]
Full Changelog: v25.3.10...v25.3.11