id: client-java-4.2.0 title: Client Java 4.2.0 sidebar_label: Client Java 4.2.0
- [fix][client] Add description method to ClientBuilder (#24728)
- [fix][client] Avoid recycling the same ConcurrentBitSetRecyclable among different threads (#24725)
- [fix][client] ControlledClusterFailover avoid unnecessary reconnection. (#25178)
- [fix][client] Exclude io.prometheus:simpleclient_caffeine from client-side dependencies (#24761)
- [fix][client] Fail messages immediately in ProducerImpl when in terminal state (#25317)
- [fix][client] Fix async APIs to return failed futures on validation errors (#25287)
- [fix][client] Fix AutoProduceBytesSchema.clone() method (#25015)
- [fix][client] Fix deduplication for getPartitionedTopicMetadata to include method parameters (#24965)
- [fix][client] Fix double recycling of the message in isValidConsumerEpoch method (#25008)
- [fix][client] Fix getPendingQueueSize for PartitionedTopicProducerStatsRecorderImpl: avoid NPE and implement aggregation (#24830)
- [fix][client] Fix invalid parameter type passed to Map.get in TopicsImpl.getListAsync method (#25069)
- [fix][client] Fix lookup request semaphore not release problem (#25038)
- [fix][client] Fix potential NPE in TypedMessageBuilderImpl (#24691)
- [fix][client] Fix producer synchronous retry handling in failPendingMessages method (#25207)
- [fix][client] Fix PulsarAdmin description check and add test (#24734)
- [fix][client] Fix race condition between isDuplicate() and flushAsync() method in PersistentAcknowledgmentsGroupingTracker due to incorrect use Netty Recycler (#25208)
- [fix][client] Fix receiver queue auto-scale without memory limit (#24743)
- [fix][client] Fix stale Healthy state in SameAuthParamsLookupAutoClusterFailover causing flaky test (#25388)
- [fix][client] Fix thread leak in reloadLookUp method which is used by ServiceUrlProvider (#24794)
- [fix][client] Fix thread-safety of AutoProduceBytesSchema (#25014)
- [fix][client] Make auto partitions update work for old brokers without PIP-344 (#24822)
- [fix][client] PIP-84: Skip processing a message in the message listener if the consumer epoch is no longer valid (#25007)
- [fix][client] Reduce logging in OAuth auth to fix parsing of Pulsar cli command output (#25254)
- [fix][client] rollback TopicListWatcher retry behavior (#24752)
- [fix][client] Send all chunkMessageIds to broker for redelivery (#25229)
- [fix][client] Skip processing messages in the listener when the consumer has been closed (#25006)
- [fix][client]Producer stuck or geo-replication stuck due to wrong value of message.numMessagesInBatch (#25106)
- [fix][client]TopicListWatcher not closed when calling PatternMultiTopicsConsumerImpl.closeAsync() method (#24698)
- [improve][client] PIP-407 Add newMessage with schema and transactions (#23942)
- [improve][client] Add null checks for MessageAcknowledger methods to prevent NullPointerException (#25036)
- [improve][client] Allow adding custom description to User-Agent header (#24729)
- [improve][client] allow override of default global jsr310 conversion (#24311)
- [improve][client] Deduplicate getTopicsUnderNamespace in BinaryProtoLookupService (#24962)
- [improve][client] Deduplicate in-progress lookup requests also for HttpLookupService (#25017)
- [improve][client] Enable configurable preemptive OAuth2 token refresh (#25363)
- [improve][client] Make authorization server metadata path configurable in AuthenticationOAuth2 (#25052)
- [improve][client] PIP-420: Update the schema ID format (#24798)
- [improve][client] Support protobuf v4 schema compatibility (#25261)
- [improve][client] Test no exception could be thrown for invalid epoch in message (#25013)
- [improve][client]Add null check for Pulsar client clock configuration (#24848)
- [improve][client]PIP-436:Add decryptFailListener to Consumer (#24702)
- [improve][client]Reduce unnecessary getPartitionedTopicMetadata requests when using retry and DLQ topics. (#25172)
- [cleanup][client] Remove unnecessary pause/resume logic from MultiTopicsConsumerImpl and cleanup putIfAbsent logic (#25009)
- [feat][client] Implement PIP-234 for sharing thread pools and DNS resolver/cache across multiple Pulsar Client instances (#24790)
- [feat][client] oauth2 trustcerts file and timeouts (#24944)
- [feat][client] PIP-234: Support shared resources in PulsarAdmin to reduce thread usage (#24893)
- [feat][client] PIP-446: Support Native OpenTelemetry Tracing in Pulsar Java Client (#24873)
- [fix] Handle TLS close_notify to avoid SslClosedEngineException: SSLEngine closed already (#24986)