- [fix][client] Apply backpressure in the V5 producer before a send is queued (#26540)
- [fix][client] Apply no-memory-limit producer queue defaults at producer creation (#26342)
- [fix][client] Avoid exception in ConsumerImpl hasMessageAvailable before first receive (#25857)
- [fix][client] Cancel pending HTTP requests on authentication client shutdown (#26537)
- [fix][client] Cancel stale per-topic retry timers in v5 multi-topic consumers (#26130)
- [fix][client] Defer op cmd release to the write event loop on send timeout (#26456)
- [fix][client] Divide the across-partitions budget only when it was set explicitly (#26384)
- [fix][client] Fix incorrect topic in OTel spans for multi-topic consumers (#25894)
- [fix][client] Fix incorrect topic in OTel spans for partitioned producers (#25896)
- [fix][client] Fix lookup permit double-release, waiting queue starvation and timeout-response races in ClientCnx (#26143)
- [fix][client] Fix UnAckedMessageRedeliveryTracker to skip cancelled timeouts (#26043)
- [fix][client] Fix unAckedMessageTracker cleanup on multi-topics batch ack (#26001)
- [fix][client] Isolate shaded implementations from the v5 client (#26544)
- [fix][client] Keep transactional and non-transactional messages in separate batches (#26547)
- [fix][client] Make V5 async producer flush() await the caller's send futures (#26287)
- [fix][client] PIP-486: explicit unsubscribe for scalable consumers' clean close (#26433)
- [fix][client] Preserve null values in pulsar-admin schema output (#26196)
- [fix][client] Prevent client shutdown from leaking event loop threads when DNS resolver close fails (#26045)
- [fix][client] Release the command header when send serialization fails (#26492)
- [fix][client] Release the reserved memory only once when failing a send in a terminal state (#26476)
- [fix][client] Run the failover health probe off the Netty event-loop thread (#26064)
- [fix][client] Scalable topics: stream consumer must not acknowledge on close or topic-removal (#26172)
- [fix][client] Stop tracking ack timeouts on non-persistent topics (#26548)
- [fix][client] Sync ackSet in client with broker to stop acked messages reaching the DLQ (#26135)
- [improve][client] Apply receiver-queue backpressure in v5 scalable consumers (#26151)
- [improve][client] Avoid eager broker metadata allocation for outgoing messages (#26521)
- [improve][client] Avoid per-message cross-topic vector deep copy in v5 multi-topic stream consumer (#26162)
- [improve][client] Avoid recomputing entry-bucket hashes (#26383)
- [improve][client] Avoid unused send-stat snapshots for default callbacks (#26519)
- [improve][client] Dispatch individual acknowledgments without capturing functions (#26525)
- [improve][client] Initialize message builder metadata lazily (#26518)
- [improve][client] Log the exception in ControlledClusterFailover.close (#25925)
- [improve][client] Make v5 scalable consumer receiveAsync truly non-blocking (#26131)
- [improve][client] PIP-478: Athenz and SASL v5 authentication plugins (#26319)
- [improve][client] PIP-478: drive the v5 authentication model natively in the client (#26317)
- [improve][client] PIP-486 (PR1): producer entry-bucketing for scalable topics (#26115)
- [improve][client] Seed MessageCryptoBc from the BC-FIPS DRBG when that provider is registered (#26154)
- [improve][client] Serialize grouped acknowledgments using existing message IDs (#26530)
- [improve][client] Use SHA-256 for generated reader subscription names (#26153)
- [feat][client] Add combined unshaded and shaded v4/v5 client artifacts (#26545)
- [feat][client] PIP-478: asynchronous v5 client authentication and TLS factory integration (core migration) (#26282)