(#26509) [fix][ml] Preserve ledger properties when recovering the last ledger on open(#26227) [fix][ml] Preserve ledger properties when closing ledger(#26335) [fix][broker] Cancel queued transaction snapshot recovery on topic close(#26491) [improve][cli] Default the pulsar-perf client memory limit to half of the JVM max direct memory(#26476) [fix][client] Release the reserved memory only once when failing a send in a terminal state(#26473) [fix][admin] Reject empty cluster migration URL: fix inverted ClusterUrl.isEmpty()(#26505) [fix][broker] Prevent automatic TTL expiry from skipping reader messages(#26497) [fix][broker] Fix NPE in ManagedLedgerInterceptorImpl when AppendIndexMetadataInterceptor isn’t configured(#26466) [improve][cli] pulsar-perf: cut latency histogram memory ~100x, fix range units and static stats state(#26465) [fix][cli] Apply PULSAR_MEM and PULSAR_GC in bin/pulsar-perf(#26467) [fix][cli] pulsar-perf: register subcommand classes with picocli instead of instances(#26464) [improve][broker] Copy small entries into a flat buffer when prepending broker entry metadata(#26462) [improve][broker] Avoid iterator allocation in BrokerInterceptors hot paths and restore configured ordering