- [feat] PIP-466: Add V5 client API for scalable topics (#25489)
- [feat][client] Embed GraalVM native image config (#25883)
- [feat][client] PIP-475: V5 SDK consumes synthetic layouts for regular topics (#25850)
- [feat][client] PIP-468: V5 producer/consumer knob coverage + related client fixes (#25588)
- [fix][client] Apply Avro logical type conversions when decoding schema without classloader (#25759)
- [fix][client] Avoid closing reused ServiceUrlProvider in another PulsarClientImpl instance (#25947)
- [fix][client] Clean up unacked messages when unsubscribing a topic with ack timeout backoff (#25916)
- [fix][client] Fix exclusive V5 scalable topic producer initial segment claim race condition (#25778)
- [fix][client] Fix failed to close consumer because of the error: param memorySize is a negative value (#25805)
- [fix][client] Fix idle connection release ignoring V5 watch sessions (#25697)
- [fix][client] Fix OpenTelemetryProducerInterceptor not executing due to eligible check (#25585)
- [fix][client] Fix thread-safety and refactor MessageCryptoBc key management (#25400)
- [fix][client] Inject trace context into message properties for producer-consumer span correlation (#25749)
- [fix][client] Make ClientBuilder serializable (#25730)
- [fix][client] Match logical topic when removing unacked messages (#25921)
- [fix][client] PIP-468: V5 CheckpointConsumer consumer-group support (#25622)
- [fix][client] PIP-468: V5 client validates serviceUrl scheme (#25720)
- [fix][client] PIP-468: Wire V5 StreamConsumer to broker SubscriptionCoordinator (#25612)
- [fix][client] PIP-475: make async producer survive regular-to-scalable migration (#25882)
- [fix][client] Preserve equals in FieldParser map values (#25907)
- [fix][client] Prevent duplicate ServiceUrlProvider initialization (#25899)
- [fix][client] Reset higher-index states on recovery in SameAuthParamsLookupAutoClusterFailover (#25826)
- [fix][client] Stabilize scaleReceiverQueueHint against concurrent enqueue/take (#25578)
- [fix][client] Broker-side producer handle leak if closes a producer which state is regitering schema (#25725)
- [improve][client] Add SOCKS5 proxy support for PulsarAdmin and for PulsarClient HTTP lookups (#25575)
- [improve][client] Best-effort retry for individual/batch-index acks on send failure when ackReceiptEnabled=false (#25525)
- [improve][client] Clean up unacked message tracker when topics are removed in multi-topic consumers (#25923)
- [improve][client] Implement tls_client_auth for AuthenticationOAuth2 (#25538)
- [improve][client] In cases where there is a risk of message loss, adjust the log level to error (#25854)
- [improve][client] PIP-234: Support sharing the memory limit controller across multiple isolated Pulsar client instances (#25477)
- [improve][client] PIP-468: Make Backoff jitter configurable (#25669)
- [improve][client] PIP-468: Rename V5 ackTimeout to processingTimeout(ProcessingTimeoutPolicy) (#25649)
- [cleanup][client] Remove unused RetryUtil class (#25934)
- [fix] Client-v5: Retry producer send on AlreadyClosed across segment seal (#25610)