apache/pulsar (org.apache.pulsar:pulsar-client-admin)
### [`v3.0.7`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.7)
[Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.6...v3.0.7)
##### 2024-10-04
##### Library updates
- \[fix]\[sec] Upgrade Avro to 1.11.4 to address CVE-2024-47561 ([#23394](https://redirect.github.com/apache/pulsar/pull/23394))
- \[fix]\[sec] Upgrade vertx to 4.5.10 to address CVE-2024-8391 ([#23338](https://redirect.github.com/apache/pulsar/pull/23338))
- \[fix]\[sec]\[branch-3.0] Upgrade protobuf-java to 3.25.5 ([#23356](https://redirect.github.com/apache/pulsar/pull/23356)) ([#23357](https://redirect.github.com/apache/pulsar/pull/23357))
- \[fix] Bump commons-io:commons-io from 2.8.0 to 2.14.0 ([#23393](https://redirect.github.com/apache/pulsar/pull/23393))
- \[improve]\[misc] Upgrade Netty to 4.1.113 and netty-tcnative to 2.0.66 ([#23255](https://redirect.github.com/apache/pulsar/pull/23255))
- \[improve]\[misc] Upgrade jersey to 2.41 ([#22290](https://redirect.github.com/apache/pulsar/pull/22290))
- \[improve] Upgrade Pulsar Python client in docker image to 3.5.0 ([#23377](https://redirect.github.com/apache/pulsar/pull/23377))
##### Broker
- \[fix]\[broker] Cancel possible pending replay read in cancelPendingRead ([#23384](https://redirect.github.com/apache/pulsar/pull/23384))
- \[fix]\[broker] Execute the pending callbacks in order before ready for incoming requests ([#23266](https://redirect.github.com/apache/pulsar/pull/23266))
- \[fix]\[broker] Fix 'Disabled replicated subscriptions controller' logic and logging ([#23142](https://redirect.github.com/apache/pulsar/pull/23142))
- \[fix]\[broker] Fix authenticate order in AuthenticationProviderList ([#23111](https://redirect.github.com/apache/pulsar/pull/23111))
- \[fix]\[broker] Fix brokers still retry start replication after closed the topic ([#23237](https://redirect.github.com/apache/pulsar/pull/23237))
- \[fix]\[broker] Fix compatibility issues for PIP-344 ([#23136](https://redirect.github.com/apache/pulsar/pull/23136))
- \[fix]\[broker] Fix incomplete NAR file extraction which prevents broker from starting ([#23274](https://redirect.github.com/apache/pulsar/pull/23274))
- \[fix]\[broker] Fix out-of-order issues with ConsistentHashingStickyKeyConsumerSelector ([#23327](https://redirect.github.com/apache/pulsar/pull/23327))
- \[fix]\[broker] Fix shadow topics cannot be consumed when the entry is not cached ([#23147](https://redirect.github.com/apache/pulsar/pull/23147))
- \[fix]\[broker] Fix system topic can not be loaded up if it contains data offloaded ([#23279](https://redirect.github.com/apache/pulsar/pull/23279))
- \[fix]\[broker] Fix the bug that elected leader thinks it's a follower ([#23138](https://redirect.github.com/apache/pulsar/pull/23138))
- \[fix]\[broker] Handle the case when `getOwnedServiceUnits` fails gracefully ([#23119](https://redirect.github.com/apache/pulsar/pull/23119))
- \[fix]\[broker] Internal reader of \__change_events can not started after metadata store session rebuilt ([#23018](https://redirect.github.com/apache/pulsar/pull/23018))
- \[fix]\[broker] Let Pending ack handler can retry to init when encounters a metadata store error ([#23153](https://redirect.github.com/apache/pulsar/pull/23153))
- \[fix]\[broker] Skip reading entries from closed cursor. ([#22751](https://redirect.github.com/apache/pulsar/pull/22751))
- \[fix]\[broker] Topic can never be loaded up due to broker maintains a failed topic creation future ([#23184](https://redirect.github.com/apache/pulsar/pull/23184))
- \[fix]\[broker] fix exception may hidden and result in stuck when topic loading ([#23102](https://redirect.github.com/apache/pulsar/pull/23102))
- \[fix]\[broker] fix pulsar-admin topics stats-internal caused a BK client thread a deadlock ([#23258](https://redirect.github.com/apache/pulsar/pull/23258))
- \[fix]\[broker] fix replicated namespaces filter in filterAndUnloadMatchedNamespaceAsync ([#23100](https://redirect.github.com/apache/pulsar/pull/23100))
- \[fix]\[broker] fix the log format error in the AdminResource ([#23278](https://redirect.github.com/apache/pulsar/pull/23278))
- \[fix]\[broker] type cast on exceptions in exceptionally can lead to lost calls ([#23117](https://redirect.github.com/apache/pulsar/pull/23117))
- \[fix]\[broker]A failed consumer/producer future in ServerCnx can never be removed ([#23123](https://redirect.github.com/apache/pulsar/pull/23123))
- \[fix]\[broker]\[branch-3.0] Fail fast if the extensible load manager failed to start ([#23297](https://redirect.github.com/apache/pulsar/pull/23297)) ([#23302](https://redirect.github.com/apache/pulsar/pull/23302))
- \[fix]\[broker] StatsOutputStream: add string write function ([#23227](https://redirect.github.com/apache/pulsar/pull/23227))
- \[improve]\[broker] Add msgInReplay subscription stat and metric to improve Key_Shared observability ([#23224](https://redirect.github.com/apache/pulsar/pull/23224))
- \[improve]\[broker] Add retry for start service unit state channel (ExtensibleLoadManagerImpl only) ([#23230](https://redirect.github.com/apache/pulsar/pull/23230))
- \[improve]\[broker] Avoid subscription fenced error with consumer.seek whenever possible ([#23163](https://redirect.github.com/apache/pulsar/pull/23163))
- \[improve]\[broker] Explicitly close LB internal topics when playing a follower (ExtensibleLoadManagerImpl only) ([#23144](https://redirect.github.com/apache/pulsar/pull/23144))
- \[improve]\[broker] Improve pulsar_topic_load_failed metric to record correct failed time ([#23199](https://redirect.github.com/apache/pulsar/pull/23199))
- \[improve]\[broker] Optimize high CPU usage when consuming from topics with ongoing txn ([#23189](https://redirect.github.com/apache/pulsar/pull/23189))
- \[improve]\[broker] Optimize performance for checking max topics when the topic is a system topic ([#23185](https://redirect.github.com/apache/pulsar/pull/23185))
- \[improve]\[broker] Optimize the performance of individual acknowledgments ([#23072](https://redirect.github.com/apache/pulsar/pull/23072))
- \[improve]\[broker] Part 2 of PIP-370: add metrics "pulsar_replication_disconnected_count" ([#23213](https://redirect.github.com/apache/pulsar/pull/23213))
- \[improve]\[broker] Phase 1 of PIP-370 support disable create topics on remote cluster through replication ([#23169](https://redirect.github.com/apache/pulsar/pull/23169))
- \[improve]\[broker] Reduce the CPU pressure from the transaction buffer in rolling restarts ([#23062](https://redirect.github.com/apache/pulsar/pull/23062))
- \[improve]\[broker] Should notify bundle ownership listener onLoad event when ServiceUnitState start (ExtensibleLoadManagerImpl only) ([#23152](https://redirect.github.com/apache/pulsar/pull/23152))
- \[improve]\[broker] Support customized shadow managed ledger implementation ([#23179](https://redirect.github.com/apache/pulsar/pull/23179))
- \[improve]\[broker] Support to specify auth-plugin, auth-parameters and tls-enable arguments when init cluster metadata ([#23087](https://redirect.github.com/apache/pulsar/pull/23087)) ([#23126](https://redirect.github.com/apache/pulsar/pull/23126))
- \[improve]\[broker] Reuse method getAvailableBrokersAsync ([#23099](https://redirect.github.com/apache/pulsar/pull/23099))
- \[improve]\[admin] PIP-369 Introduce `unload` flag in `ns-isolation-policy set` call ([#23120](https://redirect.github.com/apache/pulsar/pull/23120))
##### Client
- \[fix] DLQ to handle bytes key properly ([#23172](https://redirect.github.com/apache/pulsar/pull/23172))
- \[fix]\[client] Copy orderingKey to retry letter topic and DLQ messages and fix bug in copying ([#23182](https://redirect.github.com/apache/pulsar/pull/23182))
- \[fix]\[client] Create the retry producer async ([#23157](https://redirect.github.com/apache/pulsar/pull/23157))
- \[fix]\[client] Fix for early hit `beforeConsume` for MultiTopicConsumer ([#23141](https://redirect.github.com/apache/pulsar/pull/23141))
- \[fix]\[client] Fix timeout handling in Pulsar Admin client ([#23128](https://redirect.github.com/apache/pulsar/pull/23128))
- \[fix]\[client] TransactionCoordinatorClient support retry ([#23081](https://redirect.github.com/apache/pulsar/pull/23081))
- \[fix]\[client] fix negative message re-delivery twice issue ([#20750](https://redirect.github.com/apache/pulsar/pull/20750))
- \[fix]\[client] the nullValue in msgMetadata should be true by default ([#22372](https://redirect.github.com/apache/pulsar/pull/22372))
- \[improve]\[client] Add maxConnectionsPerHost and connectionMaxIdleSeconds to PulsarAdminBuilder ([#22541](https://redirect.github.com/apache/pulsar/pull/22541))
- \[improve]\[client] Don't print info logs for each schema loaded by client ([#23206](https://redirect.github.com/apache/pulsar/pull/23206))
- \[improve]\[client] Swallow Conscrypt ClassNotFoundException ([#20371](https://redirect.github.com/apache/pulsar/pull/20371))
- \[improve]\[client]Add new ServiceUrlProvider implementation: SameAuthParamsAutoClusterFailover ([#23129](https://redirect.github.com/apache/pulsar/pull/23129))
- \[improve]\[client]PIP-359:Support custom message listener executor for specific subscription ([#22861](https://redirect.github.com/apache/pulsar/pull/22861))
##### Pulsar IO and Pulsar Functions
- \[fix]\[fn] Make python install dependencies from requirements.txt ([#20174](https://redirect.github.com/apache/pulsar/pull/20174))
- \[fix]\[io] Upgrade mssql server docker tag in DebeziumMsSqlContainer ([#23318](https://redirect.github.com/apache/pulsar/pull/23318))
- \[improve]\[fn] Add support for overriding additionalJavaRuntimeArguments with PF_additionalJavaRuntimeArguments env ([#23130](https://redirect.github.com/apache/pulsar/pull/23130))
- \[fix]\[sql]\[branch-3.0] Fix UUID convert failed for JSON schema ([#23292](https://redirect.github.com/apache/pulsar/pull/23292))
##### Others
- \[feat] Add scripts for updating BK RocksDB ini files ([#23178](https://redirect.github.com/apache/pulsar/pull/23178))
- \[fix]\[log] Do not print error log if tenant/namespace does not exist when calling get topic metadata ([#23291](https://redirect.github.com/apache/pulsar/pull/23291))
- \[fix]\[log] Do not print warn log when concurrently publishing and switching ledgers ([#23209](https://redirect.github.com/apache/pulsar/pull/23209))
- \[fix]\[misc] Log Conscrypt security provider initialization warnings at debug level ([#23364](https://redirect.github.com/apache/pulsar/pull/23364))
- \[improve]\[misc] Improve AES-GCM cipher performance ([#23122](https://redirect.github.com/apache/pulsar/pull/23122))
- \[improve]\[misc] Optimize TLS performance by omitting extra buffer copies ([#23115](https://redirect.github.com/apache/pulsar/pull/23115))
- \[improve]\[proxy] Reuse authentication instance in pulsar-proxy ([#23113](https://redirect.github.com/apache/pulsar/pull/23113))
##### Tests & CI
- \[fix]\[test] Fix flaky SubscriptionSeekTest.testSeekIsByReceive ([#23170](https://redirect.github.com/apache/pulsar/pull/23170))
- \[fix]\[test] Fix flaky UnloadSubscriptionTest.testMultiConsumer ([#23243](https://redirect.github.com/apache/pulsar/pull/23243))
- \[fix]\[test] Fix flaky test LeaderElectionTest.revalidateLeaderWithinSameSession ([#22383](https://redirect.github.com/apache/pulsar/pull/22383))
- \[fix]\[build] Fix problem where git.commit.id.abbrev is missing in image tagging ([#23337](https://redirect.github.com/apache/pulsar/pull/23337))
For the complete list, check the [full changelog](https://redirect.github.com/apache/pulsar/compare/v3.0.6...v3.0.7).
### [`v3.0.6`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.6)
[Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.5...v3.0.6)
##### 2024-08-01
##### Broker
- \[feat]\[broker] Implementation of PIP-323: Complete Backlog Quota Telemetry ([#21816](https://redirect.github.com/apache/pulsar/pull/21816)) ([#22740](https://redirect.github.com/apache/pulsar/pull/22740))
- \[feat]\[broker]\[branch-3.0] PIP-321 Introduce allowed-cluster at the namespace level ([#22378](https://redirect.github.com/apache/pulsar/pull/22378)) ([#22960](https://redirect.github.com/apache/pulsar/pull/22960))
- \[fix] Make operations on `individualDeletedMessages` in lock scope ([#22966](https://redirect.github.com/apache/pulsar/pull/22966))
- \[fix] Remove blocking calls from BookieRackAffinityMapping ([#22846](https://redirect.github.com/apache/pulsar/pull/22846))
- \[improve] Refactored BK ClientFactory to return futures ([#22853](https://redirect.github.com/apache/pulsar/pull/22853))
- \[fix]\[broker] Asynchronously return brokerRegistry.lookupAsync when checking if broker is active(ExtensibleLoadManagerImpl only) ([#22899](https://redirect.github.com/apache/pulsar/pull/22899))
- \[fix]\[broker] Can't connecte to non-persist topic when enable broker client tls ([#22991](https://redirect.github.com/apache/pulsar/pull/22991))
- \[fix]\[broker] Check the broker is available for the SLA monitor bundle when the ExtensibleLoadManager is enabled ([#22485](https://redirect.github.com/apache/pulsar/pull/22485))
- \[fix]\[broker] Check the markDeletePosition and calculate the backlog ([#22947](https://redirect.github.com/apache/pulsar/pull/22947))
- \[fix]\[broker] Ensure that PulsarService is ready for serving incoming requests ([#22977](https://redirect.github.com/apache/pulsar/pull/22977))
- \[fix]\[broker] EntryFilters fix NoClassDefFoundError due to closed classloader ([#22767](https://redirect.github.com/apache/pulsar/pull/22767))
- \[fix]\[broker] Fix MessageDeduplication replay timeout cause topic loading stuck ([#23004](https://redirect.github.com/apache/pulsar/pull/23004))
- \[fix]\[broker] Fix NPE after publishing a tombstone to the service unit channel ([#22859](https://redirect.github.com/apache/pulsar/pull/22859))
- \[fix]\[broker] Fix Replicated Topic unload bug when ExtensibleLoadManager is enabled ([#22496](https://redirect.github.com/apache/pulsar/pull/22496))
- \[fix]\[broker] Fix broker OOM when upload a large package. ([#22989](https://redirect.github.com/apache/pulsar/pull/22989))
- \[fix]\[broker] Fix cursor should use latest ledger config ([#22644](https://redirect.github.com/apache/pulsar/pull/22644))
- \[fix]\[broker] Fix geo-replication admin client url ([#22584](https://redirect.github.com/apache/pulsar/pull/22584))
- \[fix]\[broker] Fix stuck when enable topic level replication and build remote admin fails ([#23028](https://redirect.github.com/apache/pulsar/pull/23028))
- \[fix]\[broker] Fix topic status for oldestBacklogMessageAgeSeconds continuously increases even when there is no backlog. ([#22907](https://redirect.github.com/apache/pulsar/pull/22907))
- \[fix]\[broker] Fix updatePartitionedTopic when replication at ns level and topic policy is set ([#22971](https://redirect.github.com/apache/pulsar/pull/22971))
- \[fix]\[broker] Fix wrong logic of method TopicName.getPartition(int index) ([#19841](https://redirect.github.com/apache/pulsar/pull/19841))
- \[fix]\[broker] Handle BucketDelayedDeliveryTracker recover failed ([#22735](https://redirect.github.com/apache/pulsar/pull/22735))
- \[fix]\[broker] Immediately tombstone Deleted and Free state bundles ([#22743](https://redirect.github.com/apache/pulsar/pull/22743))
- \[fix]\[broker] Make ExtensibleLoadManagerImpl.getOwnedServiceUnits async ([#22727](https://redirect.github.com/apache/pulsar/pull/22727))
- \[fix]\[broker] Messages lost on the remote cluster when using topic level replication ([#22890](https://redirect.github.com/apache/pulsar/pull/22890))
- \[fix]\[broker] PulsarStandalone started with error if --stream-storage-port is not 4181 ([#22993](https://redirect.github.com/apache/pulsar/pull/22993))
- \[fix]\[broker] Remove blocking calls from Subscription.getStats ([#23088](https://redirect.github.com/apache/pulsar/pull/23088))
- \[fix]\[broker] Replication stuck when partitions count between two clusters is not the same ([#22983](https://redirect.github.com/apache/pulsar/pull/22983))
- \[fix]\[broker] Support lookup options for extensible load manager ([#22487](https://redirect.github.com/apache/pulsar/pull/22487))
- \[fix]\[broker] Update init and shutdown time and other minor logic (ExtensibleLoadManagerImpl only) ([#22930](https://redirect.github.com/apache/pulsar/pull/22930))
- \[fix]\[broker] broker log a full thread dump when a deadlock is detected in healthcheck every time ([#22916](https://redirect.github.com/apache/pulsar/pull/22916))
- \[fix]\[broker] fix deadlock when disable topic level Geo-Replication ([#22738](https://redirect.github.com/apache/pulsar/pull/22738))
- \[fix]\[broker] fix topic partitions was expanded even if disabled topic level replication ([#22769](https://redirect.github.com/apache/pulsar/pull/22769))
- \[fix]\[broker] response not-found error if topic does not exist when calling getPartitionedTopicMetadata ([#22838](https://redirect.github.com/apache/pulsar/pull/22838))
- \[fix]\[broker]Fix lookupService.getTopicsUnderNamespace can not work with a quote pattern ([#23014](https://redirect.github.com/apache/pulsar/pull/23014))
- \[fix]\[broker]\[branch-3.0] Do not try to clean owned bundles from inactive source brokers (ExtensibleLoadManagerImpl only) ([#23064](https://redirect.github.com/apache/pulsar/pull/23064)) ([#23077](https://redirect.github.com/apache/pulsar/pull/23077))
- \[fix]\[broker]\[branch-3.0] The topic might reference a closed ledger ([#22860](https://redirect.github.com/apache/pulsar/pull/22860)) ([#22900](https://redirect.github.com/apache/pulsar/pull/22900))
- \[improve]\[broker] Check max producers/consumers limitation first before other ops to save resources ([#23074](https://redirect.github.com/apache/pulsar/pull/23074))
- \[improve]\[broker] Clear thread local BrokerEntryMetadata instance before reuse ([#22752](https://redirect.github.com/apache/pulsar/pull/22752))
- \[improve]\[broker] Follow up [#4196](https://redirect.github.com/apache/pulsar/pull/4196) use `PulsarByteBufAllocator` handle OOM ([#20837](https://redirect.github.com/apache/pulsar/pull/20837))
- \[improve]\[broker] GetPartitionMetadata fail also can produce messages ([#23050](https://redirect.github.com/apache/pulsar/pull/23050))
- \[improve]\[broker] Improve CPU resources usege of TopicName Cache ([#23052](https://redirect.github.com/apache/pulsar/pull/23052))
- \[improve]\[broker] Improve efficiency of checking message deletion ([#20490](https://redirect.github.com/apache/pulsar/pull/20490))
- \[improve]\[broker] Improve exception for topic does not have schema to check ([#22974](https://redirect.github.com/apache/pulsar/pull/22974))
- \[improve]\[broker] Include runtime dependencies in server distribution ([#22001](https://redirect.github.com/apache/pulsar/pull/22001))
- \[improve]\[broker] Optimize PersistentTopic.getLastDispatchablePosition ([#22707](https://redirect.github.com/apache/pulsar/pull/22707))
- \[improve]\[broker] PIP-356 Support Geo-Replication starts at earliest position ([#22856](https://redirect.github.com/apache/pulsar/pull/22856))
- \[improve]\[broker] Remove ClassLoaderSwitcher to avoid objects allocations and consistent the codestyle ([#22796](https://redirect.github.com/apache/pulsar/pull/22796))
- \[improve]\[broker] Use RoaringBitmap in tracking individual acks to reduce memory usage ([#23006](https://redirect.github.com/apache/pulsar/pull/23006))
- \[improve]\[broker] \[break change] Do not create partitioned DLQ/Retry topic automatically ([#22705](https://redirect.github.com/apache/pulsar/pull/22705))
- \[improve]\[broker] avoid creating new objects when intercepting ([#22790](https://redirect.github.com/apache/pulsar/pull/22790))
- \[improve]\[broker] checkTopicExists supports checking partitioned topic without index ([#21701](https://redirect.github.com/apache/pulsar/pull/21701))
- \[improve]\[broker] do not grant permission for each partition to reduce unnecessary zk metadata ([#18222](https://redirect.github.com/apache/pulsar/pull/18222))
- \[improve]\[broker] high CPU usage caused by list topics under namespace ([#23049](https://redirect.github.com/apache/pulsar/pull/23049))
- \[improve]\[broker] make system topic distribute evenly. ([#22953](https://redirect.github.com/apache/pulsar/pull/22953))
- \[improve]\[broker]Ensure namespace deletion doesn't fail ([#22627](https://redirect.github.com/apache/pulsar/pull/22627))
- \[improve]\[broker]\[branch-3.0] PIP-364: Introduce a new load balance algorithm AvgShedder ([#23053](https://redirect.github.com/apache/pulsar/pull/23053))
- \[cleanup]\[ml] ManagedCursor clean up. ([#22246](https://redirect.github.com/apache/pulsar/pull/22246))
- \[fix]\[ml] Add entry fail due to race condition about add entry failed/timeout and switch ledger ([#22221](https://redirect.github.com/apache/pulsar/pull/22221))
- \[fix]\[ml]: subscription props could be lost in case of missing ledger during recovery ([#22637](https://redirect.github.com/apache/pulsar/pull/22637))
- \[fix]\[ml] Fix race conditions in RangeCache ([#22789](https://redirect.github.com/apache/pulsar/pull/22789))
- \[improve]\[ml] RangeCache refactoring: test race conditions and prevent endless loops ([#22814](https://redirect.github.com/apache/pulsar/pull/22814))
- \[improve]\[ml] RangeCache refactoring follow-up: use StampedLock instead of synchronized ([#22818](https://redirect.github.com/apache/pulsar/pull/22818))
- \[fix]\[admin] Clearly define REST API on Open API ([#22783](https://redirect.github.com/apache/pulsar/pull/22783))
- \[fix]\[admin] Clearly define REST API on Open API for Namesaces@v2 ([#22775](https://redirect.github.com/apache/pulsar/pull/22775))
- \[fix]\[admin] Clearly define REST API on Open API for Topics ([#22782](https://redirect.github.com/apache/pulsar/pull/22782))
- \[fix]\[admin] Fix can't delete tenant for v1 ([#22550](https://redirect.github.com/apache/pulsar/pull/22550))
- \[fix]\[admin] Fix half deletion when attempt to topic with a incorrect API ([#23002](https://redirect.github.com/apache/pulsar/pull/23002))
- \[fix]\[admin]\[part-1]Clearly define REST API on Open API ([#22774](https://redirect.github.com/apache/pulsar/pull/22774))
- \[improve]\[admin] Check if the topic existed before the permission operations ([#22742](https://redirect.github.com/apache/pulsar/pull/22742))
##### Client
- \[fix]\[client] Fix negative acknowledgement by messageId ([#23060](https://redirect.github.com/apache/pulsar/pull/23060))
- \[fix]\[client] Fix orphan consumer when reconnection and closing are concurrency executing ([#22958](https://redirect.github.com/apache/pulsar/pull/22958))
- \[fix]\[client] Fix pattern consumer create crash if a part of partitions of a topic have been deleted ([#22854](https://redirect.github.com/apache/pulsar/pull/22854))
- \[fix]\[client] Fix resource leak in Pulsar Client since HttpLookupService doesn't get closed ([#22858](https://redirect.github.com/apache/pulsar/pull/22858))
- \[fix]\[client] PIP-344 Do not create partitioned metadata when calling pulsarClient.getPartitionsForTopic(topicName) ([#22206](https://redirect.github.com/apache/pulsar/pull/22206))
- \[fix]\[client] fix producer/consumer perform lookup for migrated topic ([#21356](https://redirect.github.com/apache/pulsar/pull/21356))
- \[improve]\[client] PIP-344 support feature flag supportsGetPartitionedMetadataWithoutAutoCreation ([#22773](https://redirect.github.com/apache/pulsar/pull/22773))
- \[improve]\[client] improve the class GetTopicsResult ([#22766](https://redirect.github.com/apache/pulsar/pull/22766))
##### Pulsar IO and Pulsar Functions
- \[fix]\[fn] Enable optimized Netty direct byte buffer support for Pulsar Function runtimes ([#22910](https://redirect.github.com/apache/pulsar/pull/22910))
- \[fix]\[fn] Support compression type and crypto config for all producers in Functions and Connectors ([#22950](https://redirect.github.com/apache/pulsar/pull/22950))
- \[improve]\[fn] Make producer cache bounded and expiring in Functions/Connectors ([#22945](https://redirect.github.com/apache/pulsar/pull/22945))
##### Others
- \[fix]\[cli] Fix Pulsar standalone "--wipe-data" ([#22885](https://redirect.github.com/apache/pulsar/pull/22885))
- \[fix]\[cli] Fix Pulsar standalone shutdown - bkCluster wasn't closed ([#22868](https://redirect.github.com/apache/pulsar/pull/22868))
- \[fix]\[cli] Fix the pulsar-daemon parameter passthrough syntax ([#22905](https://redirect.github.com/apache/pulsar/pull/22905))
- \[improve]\[cli]\[branch-3.0] PIP-353: Improve transaction message visibility for peek-message ([#22788](https://redirect.github.com/apache/pulsar/pull/22788))
- \[fix]\[meta] Check if metadata store is closed in RocksdbMetadataStore ([#22852](https://redirect.github.com/apache/pulsar/pull/22852))
- \[fix]\[misc] Topic name from persistence name should decode local name ([#22879](https://redirect.github.com/apache/pulsar/pull/22879))
- \[fix]\[offload] Break the fillbuffer loop when met EOF ([#22722](https://redirect.github.com/apache/pulsar/pull/22722))
- \[fix]\[schema] Error checking schema compatibility on a schema-less topic via REST API ([#22720](https://redirect.github.com/apache/pulsar/pull/22720))
##### Library updates
- \[fix]\[sec] Upgrade Bouncycastle libraries to address CVEs ([#22826](https://redirect.github.com/apache/pulsar/pull/22826))
- \[fix] Bump io.airlift:aircompressor from 0.20 to 0.27 ([#22819](https://redirect.github.com/apache/pulsar/pull/22819))
- \[improve] Upgrade IPAddress to 5.5.0 ([#22886](https://redirect.github.com/apache/pulsar/pull/22886))
- \[improve] Upgrade Jetcd to 0.7.7 and VertX to 4.5.8 ([#22835](https://redirect.github.com/apache/pulsar/pull/22835))
- \[cleanup]\[misc] Remove classifier from netty-transport-native-unix-common dependency ([#22951](https://redirect.github.com/apache/pulsar/pull/22951))
- \[fix]\[misc] Remove RoaringBitmap dependency from pulsar-common ([#23008](https://redirect.github.com/apache/pulsar/pull/23008))
- \[fix]\[misc] Rename netty native libraries in pulsar-client-admin-shaded ([#22954](https://redirect.github.com/apache/pulsar/pull/22954))
- \[improve]\[misc] Upgrade to Bookkeeper 4.16.6 ([#22963](https://redirect.github.com/apache/pulsar/pull/22963))
- \[improve]\[misc] Replace rename-netty-native-libs.sh script with renaming with maven-shade-plugin ([#22957](https://redirect.github.com/apache/pulsar/pull/22957))
- \[improve]\[misc] Upgrade to Netty 4.1.111.Final and switch to use grpc-netty-shaded ([#22892](https://redirect.github.com/apache/pulsar/pull/22892))
##### Tests & CI
- \[fix]\[ci] Fix OWASP Dependency Check download by using NVD API key ([#22999](https://redirect.github.com/apache/pulsar/pull/22999))
- \[fix]\[ci] Fix jacoco code coverage report aggregation ([#22964](https://redirect.github.com/apache/pulsar/pull/22964))
- \[fix]\[ci] Replace removed macos-11 with macos-latest in GitHub Actions ([#22965](https://redirect.github.com/apache/pulsar/pull/22965))
- \[improve]\[build] Support git worktree working directory while building docker images ([#22851](https://redirect.github.com/apache/pulsar/pull/22851))
- \[improve]\[build] Upgrade dependency-check-maven-plugin to 10.0.2 ([#23012](https://redirect.github.com/apache/pulsar/pull/23012))
- \[improve]\[ci] Migrate from Gradle Enterprise to Develocity ([#22880](https://redirect.github.com/apache/pulsar/pull/22880))
- \[improve]\[ci] Switch to use DEVELOCITY_ACCESS_KEY from GRADLE_ENTERPRISE_ACCESS_KEY ([#23090](https://redirect.github.com/apache/pulsar/pull/23090))
- \[fix]\[test] Fix TableViewBuilderImplTest NPE and infinite loop ([#22924](https://redirect.github.com/apache/pulsar/pull/22924))
- \[fix]\[test] Fix thread leaks in Managed Ledger tests and remove duplicate shutdown code ([#21426](https://redirect.github.com/apache/pulsar/pull/21426))
- \[improve]\[test] Add a test to guarantee the TNX topics will not be replicated ([#22721](https://redirect.github.com/apache/pulsar/pull/22721))
For the complete list, check the [full changelog](https://redirect.github.com/apache/pulsar/compare/v3.0.5...v3.0.6).
### [`v3.0.5`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.5)
[Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.4...v3.0.5)
##### Broker
- \[fix]\[broker] Fix force delete subscription not working ([#22423](https://redirect.github.com/apache/pulsar/pull/22423))
- \[fix]\[broker] Avoid being stuck when closing the broker with extensible load manager ([#22573](https://redirect.github.com/apache/pulsar/pull/22573))
- \[fix]\[broker] Create new ledger after the current ledger is closed ([#22034](https://redirect.github.com/apache/pulsar/pull/22034))
- \[fix]\[broker] Disable system topic message deduplication ([#22582](https://redirect.github.com/apache/pulsar/pull/22582))
- \[fix]\[broker] Fix BufferOverflowException and EOFException bugs in /metrics gzip compression ([#22576](https://redirect.github.com/apache/pulsar/pull/22576))
- \[fix]\[broker] Fix NPE causing dispatching to stop when using Key_Shared mode and allowOutOfOrderDelivery=true ([#22533](https://redirect.github.com/apache/pulsar/pull/22533))
- \[fix]\[broker] Fix ProducerBusy issue due to incorrect userCreatedProducerCount on non-persistent topic ([#22685](https://redirect.github.com/apache/pulsar/pull/22685))
- \[fix]\[broker] Fix a deadlock in SystemTopicBasedTopicPoliciesService during NamespaceEventsSystemTopicFactory init ([#22528](https://redirect.github.com/apache/pulsar/pull/22528))
- \[fix]\[broker] Fix broken topic policy implementation compatibility with old pulsar version ([#22535](https://redirect.github.com/apache/pulsar/pull/22535))
- \[fix]\[broker] Fix configurationMetadataSyncEventTopic is marked supporting dynamic setting, but not implemented ([#22684](https://redirect.github.com/apache/pulsar/pull/22684))
- \[fix]\[broker] Fix consumer stops receiving messages when with large backlogs processing ([#22454](https://redirect.github.com/apache/pulsar/pull/22454))
- \[fix]\[broker] Fix invalid condition in logging exceptions ([#22412](https://redirect.github.com/apache/pulsar/pull/22412))
- \[fix]\[broker] Fix message drop record in producer stat ([#22458](https://redirect.github.com/apache/pulsar/pull/22458))
- \[fix]\[broker] Fix metrics pulsar_topic_load_failed_count is 0 when load non-persistent topic fails and fix the flaky test testBrokerStatsTopicLoadFailed ([#22580](https://redirect.github.com/apache/pulsar/pull/22580))
- \[fix]\[broker] Fix nothing changed after removing dynamic configs ([#22673](https://redirect.github.com/apache/pulsar/pull/22673))
- \[fix]\[broker] Fix typos in Consumer class ([#22532](https://redirect.github.com/apache/pulsar/pull/22532))
- \[fix]\[broker] Fix typos lister -> listener ([#21068](https://redirect.github.com/apache/pulsar/pull/21068))
- \[fix]\[broker] One topic can be closed multiple times concurrently ([#17524](https://redirect.github.com/apache/pulsar/pull/17524))
- \[fix]\[broker] Optimize /metrics, fix unbounded request queue issue and fix race conditions in metricsBufferResponse mode ([#22494](https://redirect.github.com/apache/pulsar/pull/22494))
- \[fix]\[broker] Part-1: Replicator can not created successfully due to an orphan replicator in the previous topic owner ([#21946](https://redirect.github.com/apache/pulsar/pull/21946))
- \[fix]\[broker] Part-2: Replicator can not created successfully due to an orphan replicator in the previous topic owner ([#21948](https://redirect.github.com/apache/pulsar/pull/21948))
- \[fix]\[broker] Prevent long deduplication cursor backlog so that topic loading wouldn't timeout ([#22479](https://redirect.github.com/apache/pulsar/pull/22479))
- \[fix]\[broker] Reader stuck after call hasMessageAvailable when enable replicateSubscriptionState ([#22572](https://redirect.github.com/apache/pulsar/pull/22572))
- \[fix]\[broker] Skip topic.close during unloading if the topic future fails with ownership check, and fix isBundleOwnedByAnyBroker to use ns.checkOwnershipPresentAsync for ExtensibleLoadBalancer ([#22379](https://redirect.github.com/apache/pulsar/pull/22379)) ([#22403](https://redirect.github.com/apache/pulsar/pull/22403))
- \[fix]\[broker] Support OIDC providers with JWK without alg field set in keys ([#22421](https://redirect.github.com/apache/pulsar/pull/22421))
- \[fix]\[broker] Update TransferShedder underloaded broker check to consider max loaded broker's msgThroughputEMA and update IsExtensibleLoadBalancerImpl check ([#22321](https://redirect.github.com/apache/pulsar/pull/22321)) ([#22416](https://redirect.github.com/apache/pulsar/pull/22416))
- \[fix]\[broker] Update topic partition failed when config maxNumPartitionsPerPartitionedTopic<0 ([#22397](https://redirect.github.com/apache/pulsar/pull/22397))
- \[fix]\[broker] avoid offload system topic ([#22497](https://redirect.github.com/apache/pulsar/pull/22497))
- \[fix]\[broker] fix replicated subscriptions for transactional messages ([#22452](https://redirect.github.com/apache/pulsar/pull/22452))
- \[fix]\[broker] rename to changeMaxReadPositionCount ([#22656](https://redirect.github.com/apache/pulsar/pull/22656))
- \[fix]\[broker] usedLocallySinceLastReport should always be reset ([#22672](https://redirect.github.com/apache/pulsar/pull/22672))
- \[fix]\[broker]\[admin] Fix cannot update properties on NonDurable subscription. ([#22411](https://redirect.github.com/apache/pulsar/pull/22411))
- \[fix]\[broker] Fix Reader can be stuck from transaction aborted messages. ([#22610](https://redirect.github.com/apache/pulsar/pull/22610))
- \[improve]\[broker] Make the config `metricsBufferResponse` description more effective ([#22490](https://redirect.github.com/apache/pulsar/pull/22490))
- \[improve]\[broker] Retry re-validating ResourceLock with backoff after errors ([#22617](https://redirect.github.com/apache/pulsar/pull/22617))
- \[improve]\[broker] Add `topic_load_failed` metric ([#19236](https://redirect.github.com/apache/pulsar/pull/19236))
- \[improve]\[broker] Add topic name to emitted error messages. ([#22506](https://redirect.github.com/apache/pulsar/pull/22506))
- \[improve]\[broker] Avoid repeated Read-and-discard when using Key_Shared mode ([#22245](https://redirect.github.com/apache/pulsar/pull/22245))
- \[improve]\[broker] Create partitioned topics automatically when enable topic level replication ([#22537](https://redirect.github.com/apache/pulsar/pull/22537))
- \[improve]\[broker] Don't log brokerClientAuthenticationParameters and bookkeeperClientAuthenticationParameters by default ([#22395](https://redirect.github.com/apache/pulsar/pull/22395))
- \[improve]\[broker] Improve Gzip compression, allow excluding specific paths or disabling it ([#22370](https://redirect.github.com/apache/pulsar/pull/22370))
- \[improve]\[broker] Optimize gzip compression for /metrics endpoint by sharing/caching compressed result ([#22521](https://redirect.github.com/apache/pulsar/pull/22521))
- \[improve]\[broker] Propagate cause exception in TopicBusyException when applicable ([#22596](https://redirect.github.com/apache/pulsar/pull/22596))
- \[improve]\[broker] Repeat the handleMetadataChanges callback when configurationMetadataStore equals localMetadataStore ([#22519](https://redirect.github.com/apache/pulsar/pull/22519))
- \[improve]\[broker] Servlet support response compression ([#21667](https://redirect.github.com/apache/pulsar/pull/21667))
- \[improve]\[broker] Support X-Forwarded-For and HA Proxy Protocol for resolving original client IP of http/https requests ([#22524](https://redirect.github.com/apache/pulsar/pull/22524))
- \[improve]\[broker] backlog quota exceed limit log replaced with `debug` ([#22488](https://redirect.github.com/apache/pulsar/pull/22488))
- \[fix]\[ml] Fix NPE of getValidPositionAfterSkippedEntries when recovering a terminated managed ledger ([#22552](https://redirect.github.com/apache/pulsar/pull/22552))
- \[fix]\[ml] Mark delete stuck due to switching cursor ledger fails ([#22662](https://redirect.github.com/apache/pulsar/pull/22662))
- \[fix]\[ml] No rollover inactive ledgers when metadata service invalid ([#22284](https://redirect.github.com/apache/pulsar/pull/22284))
- \[fix]\[offload] Fix OOM in tiered storage, caused by unbounded offsets cache ([#22679](https://redirect.github.com/apache/pulsar/pull/22679))
- \[fix]\[offload] Increase file upload limit from 2048MiB to 4096MiB for GCP/GCS offloading ([#22554](https://redirect.github.com/apache/pulsar/pull/22554))
- \[fix]\[storage] ReadonlyManagedLedger initialization does not fill in the properties ([#22630](https://redirect.github.com/apache/pulsar/pull/22630))
- \[fix]\[admin] Fix namespace admin api exception response ([#22587](https://redirect.github.com/apache/pulsar/pull/22587))
- \[fix]\[txn]Handle exceptions in the transaction pending ack init ([#21274](https://redirect.github.com/apache/pulsar/pull/21274))
- \[improve]\[log] Print source client addr when enabled haProxyProtocolEnabled ([#22686](https://redirect.github.com/apache/pulsar/pull/22686))
- \[improve]\[meta] Log a warning when ZK batch fails with connectionloss ([#22566](https://redirect.github.com/apache/pulsar/pull/22566))
- \[improve]\[offload] Apply autoSkipNonRecoverableData configuration to tiered storage ([#22531](https://redirect.github.com/apache/pulsar/pull/22531))
- \[improve]\[offload] Replace usage of shaded class in OffsetsCache ([#22683](https://redirect.github.com/apache/pulsar/pull/22683))
- \[improve]\[sec] Align some namespace level policy authorisation check ([#21640](https://redirect.github.com/apache/pulsar/pull/21640))
##### Client
- \[fix]\[client] Fix Consumer should return configured batch receive max messages ([#22619](https://redirect.github.com/apache/pulsar/pull/22619))
- \[fix]\[client] Fix ReaderBuilder doest not give illegalArgument on connection failure retry ([#22639](https://redirect.github.com/apache/pulsar/pull/22639))
- \[fix]\[client] Fix client side memory leak when call MessageImpl.create and fix imprecise client-side metrics: pendingMessagesUpDownCounter, pendingBytesUpDownCounter, latencyHistogram ([#22393](https://redirect.github.com/apache/pulsar/pull/22393))
##### Pulsar IO and Pulsar Functions
- \[fix]\[fn] make sure the classloader for ContextImpl is `functionClassLoader` in different runtimes ([#22501](https://redirect.github.com/apache/pulsar/pull/22501))
- \[fix]\[io] CompressionEnabled didn't work on elasticsearch sink ([#22565](https://redirect.github.com/apache/pulsar/pull/22565))
- \[fix]\[io] Fix es index creation ([#22654](https://redirect.github.com/apache/pulsar/pull/22654)) ([#22701](https://redirect.github.com/apache/pulsar/pull/22701))
- \[fix]\[io] Kafka Source connector maybe stuck ([#22511](https://redirect.github.com/apache/pulsar/pull/22511))
- \[improve]\[io]: Add validation for JDBC sink not supporting primitive schema ([#22376](https://redirect.github.com/apache/pulsar/pull/22376))
##### Others
- \[improve]\[ws] Add memory limit configuration for Pulsar client used in Websocket proxy ([#22666](https://redirect.github.com/apache/pulsar/pull/22666))
- \[fix]\[build] Fix building docker images without setting UBUNTU_MIRROR
- \[fix]\[build] Fix networkaddress.cache.negative.ttl config ([#22400](https://redirect.github.com/apache/pulsar/pull/22400))
- \[improve]\[misc] Specify valid home dir for the default user in the Ubuntu based docker image ([#22446](https://redirect.github.com/apache/pulsar/pull/22446))
##### Library updates
- \[fix]\[broker] upgrade jclouds 2.5.0 -> 2.6.0 ([#22220](https://redirect.github.com/apache/pulsar/pull/22220))
- \[improve]\[misc] Upgrade to Bookkeeper 4.16.5 ([#22484](https://redirect.github.com/apache/pulsar/pull/22484))
- \[improve]\[misc] Upgrade to Netty 4.1.108 and tcnative 2.0.65 ([#22369](https://redirect.github.com/apache/pulsar/pull/22369))
- \[fix]\[misc] Rename all shaded Netty native libraries ([#22415](https://redirect.github.com/apache/pulsar/pull/22415))
- \[fix]\[sec] Upgrade Bouncycastle to 1.78 ([#22509](https://redirect.github.com/apache/pulsar/pull/22509))
- \[fix]\[sec] Upgrade aws-sdk.version to avoid CVE-2024-21634 ([#22633](https://redirect.github.com/apache/pulsar/pull/22633))
- \[fix]\[sec] Upgrade elasticsearch-java version to avoid CVE-2023-4043 ([#22640](https://redirect.github.com/apache/pulsar/pull/22640))
- \[fix]\[sec] Upgrade postgresql version to avoid CVE-2024-1597 ([#22635](https://redirect.github.com/apache/pulsar/pull/22635))
- \[improve]\[build] Upgrade Lombok to 1.18.32 for Java 22 support ([#22425](https://redirect.github.com/apache/pulsar/pull/22425))
##### Tests & CI
- \[fix]\[test] Clear MockedPulsarServiceBaseTest fields to prevent test runtime memory leak ([#22659](https://redirect.github.com/apache/pulsar/pull/22659))
- \[fix]\[test] Clear fields in test cleanup to reduce memory consumption ([#22583](https://redirect.github.com/apache/pulsar/pull/22583))
- \[fix]\[test] Fix NPE in BookKeeperClusterTestCase tearDown ([#22493](https://redirect.github.com/apache/pulsar/pull/22493))
- \[fix]\[test] Fix flaky test ReplicatorTest ([#22594](https://redirect.github.com/apache/pulsar/pull/22594))
- \[fix]\[test] Fix resource leak in TransactionCoordinatorClientTest ([#21380](https://redirect.github.com/apache/pulsar/pull/21380))
- \[fix]\[test] Fix the flaky tests of ManagedLedgerImplUtilsTest ([#22611](https://redirect.github.com/apache/pulsar/pull/22611))
- \[fix]\[test] Flaky-test: ManagedLedgerTest.testTimestampOnWorkingLedger ([#22600](https://redirect.github.com/apache/pulsar/pull/22600))
- \[fix]\[test] Flaky-test: testMessageExpiryWithTimestampNonRecoverableException and testIncorrectClientClock ([#22489](https://redirect.github.com/apache/pulsar/pull/22489))
- \[fix]\[test] SchemaMap in AutoConsumeSchema has been reused ([#22500](https://redirect.github.com/apache/pulsar/pull/22500))
- \[fix]\[test]\[branch-3.0] Fix test PersistentTopicsTest.testUpdatePartitionedTopic
- \[improve]\[test] Move ShadowManagedLedgerImplTest to flaky tests ([#22526](https://redirect.github.com/apache/pulsar/pull/22526))
- \[improve]\[test] Move most flaky tests to flaky group ([#22433](https://redirect.github.com/apache/pulsar/pull/22433))
- \[improve]\[test] Replace usage of curl in Java test and fix stream leaks ([#22463](https://redirect.github.com/apache/pulsar/pull/22463))
- \[improve]\[ci]\[branch-3.0] Upgrade actions in pulsar-ci and pulsar-ci-flaky, port owasp cache change
- \[improve]\[build] Upgrade OWASP Dependency check version to 9.1.0 ([#22530](https://redirect.github.com/apache/pulsar/pull/22530))
For the complete list, check the [full changelog](https://redirect.github.com/apache/pulsar/compare/v3.0.4...v3.0.5).
### [`v3.0.4`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.4)
[Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.3...v3.0.4)
#### What's Changed
##### Broker
- \[fix]\[broker] Avoid execute prepareInitPoliciesCacheAsync if namespace is deleted ([#22268](https://redirect.github.com/apache/pulsar/pull/22268))
- \[fix]\[broker] Avoid expired unclosed ledgers when checking expired messages by ledger closure time ([#22335](https://redirect.github.com/apache/pulsar/pull/22335))
- \[fix]\[broker] Check cursor state before adding it to the `waitingCursors` ([#22191](https://redirect.github.com/apache/pulsar/pull/22191))
- \[fix]\[broker] Close dispatchers stuck due to mismatch between dispatcher.consumerList and dispatcher.consumerSet ([#22270](https://redirect.github.com/apache/pulsar/pull/22270))
- \[fix]\[broker] Fix OpReadEntry.skipCondition NPE issue ([#22367](https://redirect.github.com/apache/pulsar/pull/22367))
- \[fix]\[broker] Fix ResourceGroup report local usage ([#22340](https://redirect.github.com/apache/pulsar/pull/22340))
- \[fix]\[broker] Fix ResourceGroups loading ([#21781](https://redirect.github.com/apache/pulsar/pull/21781))
- \[fix]\[broker] Fix issue of field 'topic' is not set when handle GetSchema request ([#22377](https://redirect.github.com/apache/pulsar/pull/22377))
- \[fix]\[broker] Fix wrong double-checked locking for readOnActiveConsumerTask in dispatcher ([#22279](https://redirect.github.com/apache/pulsar/pull/22279))
- \[fix]\[broker] fix mismatch between dispatcher.consumerList and dispatcher.consumerSet ([#22283](https://redirect.github.com/apache/pulsar/pull/22283))
- \[fix]\[ml]Expose ledger timestamp ([#22338](https://redirect.github.com/apache/pulsar/pull/22338))
- \[improve]\[admin] Fix the `createMissingPartitions` doesn't response correctly ([#22311](https://redirect.github.com/apache/pulsar/pull/22311))
- \[improve]\[broker] Add createTopicIfDoesNotExist option to RawReader constructor ([#22264](https://redirect.github.com/apache/pulsar/pull/22264))
- \[improve]\[broker] Add fine-grain authorization to ns/topic management endpoints ([#22309](https://redirect.github.com/apache/pulsar/pull/22309))
- \[improve]\[broker] Add missing configuration keys for caching catch-up reads ([#22295](https://redirect.github.com/apache/pulsar/pull/22295))
- \[improve]\[broker] Change log level to reduce duplicated logs ([#22147](https://redirect.github.com/apache/pulsar/pull/22147))
##### Client
- \[fix]\[client] Consumer lost message ack due to race condition in acknowledge with batch message ([#22353](https://redirect.github.com/apache/pulsar/pull/22353))
- \[fix]\[client] Fix wrong results of hasMessageAvailable and readNext after seeking by timestamp ([#22363](https://redirect.github.com/apache/pulsar/pull/22363))
- \[fix]\[client] GenericProtobufNativeSchema not implement getNativeSchema method. ([#22204](https://redirect.github.com/apache/pulsar/pull/22204))
- \[fix]\[client] Unclear error message when creating a consumer with two same topics ([#22255](https://redirect.github.com/apache/pulsar/pull/22255))
- \[fix]\[client] fix Reader.hasMessageAvailable might return true after seeking to latest ([#22201](https://redirect.github.com/apache/pulsar/pull/22201))
- \[fix]\[client]Fixed getting an incorrect `maxMessageSize` value when accessing multiple clusters in the same process ([#22306](https://redirect.github.com/apache/pulsar/pull/22306))
- \[improve]\[client] Add backoff for `seek` ([#20963](https://redirect.github.com/apache/pulsar/pull/20963))
##### Pulsar IO and Pulsar Functions
- \[fix]\[fn] enable Go function token auth and TLS ([#20468](https://redirect.github.com/apache/pulsar/pull/20468))
##### Others
- \[improve]\[misc] Remove the call to sun InetAddressCachePolicy ([#22329](https://redirect.github.com/apache/pulsar/pull/22329))
- \[fix]\[misc] Make ConcurrentBitSet thread safe ([#22361](https://redirect.github.com/apache/pulsar/pull/22361))
- \[fix]\[ws] Check the validity of config before start websocket service ([#22231](https://redirect.github.com/apache/pulsar/pull/22231))
##### Library updates
- \[fix]\[sec] Upgrade jose4j to 0.9.4 ([#22273](https://redirect.github.com/apache/pulsar/pull/22273))
- \[fix]\[sec] Bump google.golang.org/grpc from 1.38.0 to 1.56.3 in /pulsar-function-go ([#21444](https://redirect.github.com/apache/pulsar/pull/21444))
- \[fix]\[sec] Go Functions security updates ([#21844](https://redirect.github.com/apache/pulsar/pull/21844))
- \[fix]\[sec] Upgrade Zookeeper to 3.9.2 to address CVE-2024-23944 ([#22275](https://redirect.github.com/apache/pulsar/pull/22275))
- \[fix]\[sec] Upgrade prometheus client_golang to v1.12.2 to fix CVE-2022-21698 ([#20579](https://redirect.github.com/apache/pulsar/pull/20579))
- \[fix]\[build] Upgrade alluxio version to 2.9.3 to fix CVE-2023-38889 ([#21715](https://redirect.github.com/apache/pulsar/pull/21715))
- \[improve]\[misc] Include native epoll library for Netty for arm64 ([#22319](https://redirect.github.com/apache/pulsar/pull/22319))
- \[improve]\[misc] Pin Netty version in pulsar-io/alluxio ([#21728](https://redirect.github.com/apache/pulsar/pull/21728))
- \[improve]\[misc] Upgrade Netty version to 4.1.105.Final ([#21923](https://redirect.github.com/apache/pulsar/pull/21923))
##### Tests & CI
- \[fix]\[ci] Tolerate mount option change failing in CI ([#22241](https://redirect.github.com/apache/pulsar/pull/22241))
- \[fix]\[ci]\[branch-3.0] Increase Maven's heap size from 1024m to 1500m as it is in master
- \[fix]\[test] Fix flaky ManagedLedgerErrorsTest.recoverAfterZnodeVersionError ([#22368](https://redirect.github.com/apache/pulsar/pull/22368))
- \[fix]\[test] Fix flaky RGUsageMTAggrWaitForAllMsgsTest ([#22252](https://redirect.github.com/apache/pulsar/pull/22252))
- \[fix]\[test] Fix flaky test BrokerServiceAutoSubscriptionCreationTest ([#22190](https://redirect.github.com/apache/pulsar/pull/22190))
- \[fix]\[test] Fix flaky test ManagedLedgerTest.testGetNumberOfEntriesInStorage ([#22344](https://redirect.github.com/apache/pulsar/pull/22344))
- \[fix]\[test]\[branch-3.0] Fix broken ManagedLedgerTest.testGetNumberOfEntriesInStorage
- \[fix]\[test] Fix the tests with same namespace name ([#22240](https://redirect.github.com/apache/pulsar/pull/22240))
- \[improve]\[test]\[branch-3.0] Improve ManagedLedgerTest.testGetNumberOfEntriesInStorage
- \[improve]\[misc] Upgrade checkstyle to 10.14.2 ([#22291](https://redirect.github.com/apache/pulsar/pull/22291))
For the complete list, check the [full changelog](https://redirect.github.com/apache/pulsar/compare/v3.0.3...v3.0.4).
### [`v3.0.3`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.3)
[Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.2...v3.0.3)
#### What's Changed
##### Broker
- \[improve]\[broker] Consistently add fine-grain authorization to REST API [22202](https://redirect.github.com/apache/pulsar/pull/22202)
- \[improve]\[broker] Add fine-grain authorization to retention admin API [22163](https://redirect.github.com/apache/pulsar/pull/22163)
- \[improve]\[broker] Cache the internal writer when sent to system topic. [22099](https://redirect.github.com/apache/pulsar/pull/22099)
- \[improve]\[broker] Add an error log to troubleshoot the failure of starting broker registry. [22065](https://redirect.github.com/apache/pulsar/pull/22065)
- \[improve]\[broker] Do not retain the data in the system topic [22022](https://redirect.github.com/apache/pulsar/pull/22022)
- \[improve] \[broker] Do not try to open ML when the topic meta does not exist and do not expect to create a new one. [#21995](https://redirect.github.com/apache/pulsar/issues/21995) [22004](https://redirect.github.com/apache/pulsar/pull/22004)
- \[improve] \[broker] Do not print an Error log when responding to `HTTP-404` when calling `Admin API` and the topic does not exist. [21995](https://redirect.github.com/apache/pulsar/pull/21995)
- \[improve]\[broker] Do not close the socket if lookup failed due to LockBusyException [21993](https://redirect.github.com/apache/pulsar/pull/21993)
- \[improve]\[broker] Don't rollover empty ledgers based on inactivity [21893](https://redirect.github.com/apache/pulsar/pull/21893)
- \[improve]\[broker] Improve NamespaceUnloadStrategy error message [21880](https://redirect.github.com/apache/pulsar/pull/21880)
- \[improve]\[broker] Skip loading the NAR packages if not configured [21867](https://redirect.github.com/apache/pulsar/pull/21867)
- \[improve]\[broker] defer the ownership checks if the owner is inactive (ExtensibleLoadManager) [21857](https://redirect.github.com/apache/pulsar/pull/21857)
- \[improve]\[broker] defer the ownership checks if the owner is inactive (ExtensibleLoadManager) [21811](https://redirect.github.com/apache/pulsar/pull/21811)
- \[improve]\[broker] cleanup the empty subscriptionAuthenticationMap in zk when revoke subscription permission [21696](https://redirect.github.com/apache/pulsar/pull/21696)
- \[improve] \[broker] Let the producer request success at the first time if the previous one is inactive [21220](https://redirect.github.com/apache/pulsar/pull/21220)
- \[improve]\[broker] Avoid record inactiveproducers when deduplication is disable. [21193](https://redirect.github.com/apache/pulsar/pull/21193)
- \[improve]\[broker] Support not retaining null-key message during topic compaction ([#21578](https://redirect.github.com/apache/pulsar/issues/21578)) [21662](https://redirect.github.com/apache/pulsar/pull/21662)
- \[improve]\[broker] Print recoverBucketSnapshot log if cursorProperties are empty [21651](https://redirect.github.com/apache/pulsar/pull/21651)
- \[improve]\[broker]\[PIP-318] Support not retaining null-key message during topic compaction [21578](https://redirect.github.com/apache/pulsar/pull/21578)
- \[fix] \[broker] print non log when delete partitioned topic failed [22153](https://redirect.github.com/apache/pulsar/pull/22153)
- \[fix]\[broker] Fix broker not starting when both transactions and the Extensible Load Manager are enabled [22139](https://redirect.github.com/apache/pulsar/pull/22139)
- \[fix]\[broker] Return getOwnerAsync without waiting on source broker upon Assigning and Releasing and handle role change during role init [22112](https://redirect.github.com/apache/pulsar/pull/22112)
- \[fix] \[broker] Enabling batch causes negative unackedMessages due to ack and delivery concurrency [22090](https://redirect.github.com/apache/pulsar/pull/22090)
- \[fix]\[broker] Support running docker container with gid != 0 [22081](https://redirect.github.com/apache/pulsar/pull/22081)
- \[fix]\[broker] Set ServiceUnitStateChannel topic compaction threshold explicitly, improve getOwnerAsync, and fix other bugs [22064](https://redirect.github.com/apache/pulsar/pull/22064)
- \[fix]\[broker] Fix hash collision when using a consumer name that ends with a number [22053](https://redirect.github.com/apache/pulsar/pull/22053)
- \[fix]\[broker] Sanitize values before logging in apply-config-from-env.py script [22044](https://redirect.github.com/apache/pulsar/pull/22044)
- \[fix] \[broker] Fix can not subscribe partitioned topic with a suffix-matched regexp [22025](https://redirect.github.com/apache/pulsar/pull/22025)
- \[fix] \[broker] Subscription stuck due to called Admin API analyzeSubscriptionBacklog [22019](https://redirect.github.com/apache/pulsar/pull/22019)
- \[fix]\[broker]\[branch-3.1] Avoid PublishRateLimiter use an already closed RateLimiter [22011](https://redirect.github.com/ap
This PR contains the following updates:
2.6.1
->3.0.7
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
apache/pulsar (org.apache.pulsar:pulsar-client-admin)
### [`v3.0.7`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.7) [Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.6...v3.0.7) ##### 2024-10-04 ##### Library updates - \[fix]\[sec] Upgrade Avro to 1.11.4 to address CVE-2024-47561 ([#23394](https://redirect.github.com/apache/pulsar/pull/23394)) - \[fix]\[sec] Upgrade vertx to 4.5.10 to address CVE-2024-8391 ([#23338](https://redirect.github.com/apache/pulsar/pull/23338)) - \[fix]\[sec]\[branch-3.0] Upgrade protobuf-java to 3.25.5 ([#23356](https://redirect.github.com/apache/pulsar/pull/23356)) ([#23357](https://redirect.github.com/apache/pulsar/pull/23357)) - \[fix] Bump commons-io:commons-io from 2.8.0 to 2.14.0 ([#23393](https://redirect.github.com/apache/pulsar/pull/23393)) - \[improve]\[misc] Upgrade Netty to 4.1.113 and netty-tcnative to 2.0.66 ([#23255](https://redirect.github.com/apache/pulsar/pull/23255)) - \[improve]\[misc] Upgrade jersey to 2.41 ([#22290](https://redirect.github.com/apache/pulsar/pull/22290)) - \[improve] Upgrade Pulsar Python client in docker image to 3.5.0 ([#23377](https://redirect.github.com/apache/pulsar/pull/23377)) ##### Broker - \[fix]\[broker] Cancel possible pending replay read in cancelPendingRead ([#23384](https://redirect.github.com/apache/pulsar/pull/23384)) - \[fix]\[broker] Execute the pending callbacks in order before ready for incoming requests ([#23266](https://redirect.github.com/apache/pulsar/pull/23266)) - \[fix]\[broker] Fix 'Disabled replicated subscriptions controller' logic and logging ([#23142](https://redirect.github.com/apache/pulsar/pull/23142)) - \[fix]\[broker] Fix authenticate order in AuthenticationProviderList ([#23111](https://redirect.github.com/apache/pulsar/pull/23111)) - \[fix]\[broker] Fix brokers still retry start replication after closed the topic ([#23237](https://redirect.github.com/apache/pulsar/pull/23237)) - \[fix]\[broker] Fix compatibility issues for PIP-344 ([#23136](https://redirect.github.com/apache/pulsar/pull/23136)) - \[fix]\[broker] Fix incomplete NAR file extraction which prevents broker from starting ([#23274](https://redirect.github.com/apache/pulsar/pull/23274)) - \[fix]\[broker] Fix out-of-order issues with ConsistentHashingStickyKeyConsumerSelector ([#23327](https://redirect.github.com/apache/pulsar/pull/23327)) - \[fix]\[broker] Fix shadow topics cannot be consumed when the entry is not cached ([#23147](https://redirect.github.com/apache/pulsar/pull/23147)) - \[fix]\[broker] Fix system topic can not be loaded up if it contains data offloaded ([#23279](https://redirect.github.com/apache/pulsar/pull/23279)) - \[fix]\[broker] Fix the bug that elected leader thinks it's a follower ([#23138](https://redirect.github.com/apache/pulsar/pull/23138)) - \[fix]\[broker] Handle the case when `getOwnedServiceUnits` fails gracefully ([#23119](https://redirect.github.com/apache/pulsar/pull/23119)) - \[fix]\[broker] Internal reader of \__change_events can not started after metadata store session rebuilt ([#23018](https://redirect.github.com/apache/pulsar/pull/23018)) - \[fix]\[broker] Let Pending ack handler can retry to init when encounters a metadata store error ([#23153](https://redirect.github.com/apache/pulsar/pull/23153)) - \[fix]\[broker] Skip reading entries from closed cursor. ([#22751](https://redirect.github.com/apache/pulsar/pull/22751)) - \[fix]\[broker] Topic can never be loaded up due to broker maintains a failed topic creation future ([#23184](https://redirect.github.com/apache/pulsar/pull/23184)) - \[fix]\[broker] fix exception may hidden and result in stuck when topic loading ([#23102](https://redirect.github.com/apache/pulsar/pull/23102)) - \[fix]\[broker] fix pulsar-admin topics stats-internal caused a BK client thread a deadlock ([#23258](https://redirect.github.com/apache/pulsar/pull/23258)) - \[fix]\[broker] fix replicated namespaces filter in filterAndUnloadMatchedNamespaceAsync ([#23100](https://redirect.github.com/apache/pulsar/pull/23100)) - \[fix]\[broker] fix the log format error in the AdminResource ([#23278](https://redirect.github.com/apache/pulsar/pull/23278)) - \[fix]\[broker] type cast on exceptions in exceptionally can lead to lost calls ([#23117](https://redirect.github.com/apache/pulsar/pull/23117)) - \[fix]\[broker]A failed consumer/producer future in ServerCnx can never be removed ([#23123](https://redirect.github.com/apache/pulsar/pull/23123)) - \[fix]\[broker]\[branch-3.0] Fail fast if the extensible load manager failed to start ([#23297](https://redirect.github.com/apache/pulsar/pull/23297)) ([#23302](https://redirect.github.com/apache/pulsar/pull/23302)) - \[fix]\[broker] StatsOutputStream: add string write function ([#23227](https://redirect.github.com/apache/pulsar/pull/23227)) - \[improve]\[broker] Add msgInReplay subscription stat and metric to improve Key_Shared observability ([#23224](https://redirect.github.com/apache/pulsar/pull/23224)) - \[improve]\[broker] Add retry for start service unit state channel (ExtensibleLoadManagerImpl only) ([#23230](https://redirect.github.com/apache/pulsar/pull/23230)) - \[improve]\[broker] Avoid subscription fenced error with consumer.seek whenever possible ([#23163](https://redirect.github.com/apache/pulsar/pull/23163)) - \[improve]\[broker] Explicitly close LB internal topics when playing a follower (ExtensibleLoadManagerImpl only) ([#23144](https://redirect.github.com/apache/pulsar/pull/23144)) - \[improve]\[broker] Improve pulsar_topic_load_failed metric to record correct failed time ([#23199](https://redirect.github.com/apache/pulsar/pull/23199)) - \[improve]\[broker] Optimize high CPU usage when consuming from topics with ongoing txn ([#23189](https://redirect.github.com/apache/pulsar/pull/23189)) - \[improve]\[broker] Optimize performance for checking max topics when the topic is a system topic ([#23185](https://redirect.github.com/apache/pulsar/pull/23185)) - \[improve]\[broker] Optimize the performance of individual acknowledgments ([#23072](https://redirect.github.com/apache/pulsar/pull/23072)) - \[improve]\[broker] Part 2 of PIP-370: add metrics "pulsar_replication_disconnected_count" ([#23213](https://redirect.github.com/apache/pulsar/pull/23213)) - \[improve]\[broker] Phase 1 of PIP-370 support disable create topics on remote cluster through replication ([#23169](https://redirect.github.com/apache/pulsar/pull/23169)) - \[improve]\[broker] Reduce the CPU pressure from the transaction buffer in rolling restarts ([#23062](https://redirect.github.com/apache/pulsar/pull/23062)) - \[improve]\[broker] Should notify bundle ownership listener onLoad event when ServiceUnitState start (ExtensibleLoadManagerImpl only) ([#23152](https://redirect.github.com/apache/pulsar/pull/23152)) - \[improve]\[broker] Support customized shadow managed ledger implementation ([#23179](https://redirect.github.com/apache/pulsar/pull/23179)) - \[improve]\[broker] Support to specify auth-plugin, auth-parameters and tls-enable arguments when init cluster metadata ([#23087](https://redirect.github.com/apache/pulsar/pull/23087)) ([#23126](https://redirect.github.com/apache/pulsar/pull/23126)) - \[improve]\[broker] Reuse method getAvailableBrokersAsync ([#23099](https://redirect.github.com/apache/pulsar/pull/23099)) - \[improve]\[admin] PIP-369 Introduce `unload` flag in `ns-isolation-policy set` call ([#23120](https://redirect.github.com/apache/pulsar/pull/23120)) ##### Client - \[fix] DLQ to handle bytes key properly ([#23172](https://redirect.github.com/apache/pulsar/pull/23172)) - \[fix]\[client] Copy orderingKey to retry letter topic and DLQ messages and fix bug in copying ([#23182](https://redirect.github.com/apache/pulsar/pull/23182)) - \[fix]\[client] Create the retry producer async ([#23157](https://redirect.github.com/apache/pulsar/pull/23157)) - \[fix]\[client] Fix for early hit `beforeConsume` for MultiTopicConsumer ([#23141](https://redirect.github.com/apache/pulsar/pull/23141)) - \[fix]\[client] Fix timeout handling in Pulsar Admin client ([#23128](https://redirect.github.com/apache/pulsar/pull/23128)) - \[fix]\[client] TransactionCoordinatorClient support retry ([#23081](https://redirect.github.com/apache/pulsar/pull/23081)) - \[fix]\[client] fix negative message re-delivery twice issue ([#20750](https://redirect.github.com/apache/pulsar/pull/20750)) - \[fix]\[client] the nullValue in msgMetadata should be true by default ([#22372](https://redirect.github.com/apache/pulsar/pull/22372)) - \[improve]\[client] Add maxConnectionsPerHost and connectionMaxIdleSeconds to PulsarAdminBuilder ([#22541](https://redirect.github.com/apache/pulsar/pull/22541)) - \[improve]\[client] Don't print info logs for each schema loaded by client ([#23206](https://redirect.github.com/apache/pulsar/pull/23206)) - \[improve]\[client] Swallow Conscrypt ClassNotFoundException ([#20371](https://redirect.github.com/apache/pulsar/pull/20371)) - \[improve]\[client]Add new ServiceUrlProvider implementation: SameAuthParamsAutoClusterFailover ([#23129](https://redirect.github.com/apache/pulsar/pull/23129)) - \[improve]\[client]PIP-359:Support custom message listener executor for specific subscription ([#22861](https://redirect.github.com/apache/pulsar/pull/22861)) ##### Pulsar IO and Pulsar Functions - \[fix]\[fn] Make python install dependencies from requirements.txt ([#20174](https://redirect.github.com/apache/pulsar/pull/20174)) - \[fix]\[io] Upgrade mssql server docker tag in DebeziumMsSqlContainer ([#23318](https://redirect.github.com/apache/pulsar/pull/23318)) - \[improve]\[fn] Add support for overriding additionalJavaRuntimeArguments with PF_additionalJavaRuntimeArguments env ([#23130](https://redirect.github.com/apache/pulsar/pull/23130)) - \[fix]\[sql]\[branch-3.0] Fix UUID convert failed for JSON schema ([#23292](https://redirect.github.com/apache/pulsar/pull/23292)) ##### Others - \[feat] Add scripts for updating BK RocksDB ini files ([#23178](https://redirect.github.com/apache/pulsar/pull/23178)) - \[fix]\[log] Do not print error log if tenant/namespace does not exist when calling get topic metadata ([#23291](https://redirect.github.com/apache/pulsar/pull/23291)) - \[fix]\[log] Do not print warn log when concurrently publishing and switching ledgers ([#23209](https://redirect.github.com/apache/pulsar/pull/23209)) - \[fix]\[misc] Log Conscrypt security provider initialization warnings at debug level ([#23364](https://redirect.github.com/apache/pulsar/pull/23364)) - \[improve]\[misc] Improve AES-GCM cipher performance ([#23122](https://redirect.github.com/apache/pulsar/pull/23122)) - \[improve]\[misc] Optimize TLS performance by omitting extra buffer copies ([#23115](https://redirect.github.com/apache/pulsar/pull/23115)) - \[improve]\[proxy] Reuse authentication instance in pulsar-proxy ([#23113](https://redirect.github.com/apache/pulsar/pull/23113)) ##### Tests & CI - \[fix]\[test] Fix flaky SubscriptionSeekTest.testSeekIsByReceive ([#23170](https://redirect.github.com/apache/pulsar/pull/23170)) - \[fix]\[test] Fix flaky UnloadSubscriptionTest.testMultiConsumer ([#23243](https://redirect.github.com/apache/pulsar/pull/23243)) - \[fix]\[test] Fix flaky test LeaderElectionTest.revalidateLeaderWithinSameSession ([#22383](https://redirect.github.com/apache/pulsar/pull/22383)) - \[fix]\[build] Fix problem where git.commit.id.abbrev is missing in image tagging ([#23337](https://redirect.github.com/apache/pulsar/pull/23337)) For the complete list, check the [full changelog](https://redirect.github.com/apache/pulsar/compare/v3.0.6...v3.0.7). ### [`v3.0.6`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.6) [Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.5...v3.0.6) ##### 2024-08-01 ##### Broker - \[feat]\[broker] Implementation of PIP-323: Complete Backlog Quota Telemetry ([#21816](https://redirect.github.com/apache/pulsar/pull/21816)) ([#22740](https://redirect.github.com/apache/pulsar/pull/22740)) - \[feat]\[broker]\[branch-3.0] PIP-321 Introduce allowed-cluster at the namespace level ([#22378](https://redirect.github.com/apache/pulsar/pull/22378)) ([#22960](https://redirect.github.com/apache/pulsar/pull/22960)) - \[fix] Make operations on `individualDeletedMessages` in lock scope ([#22966](https://redirect.github.com/apache/pulsar/pull/22966)) - \[fix] Remove blocking calls from BookieRackAffinityMapping ([#22846](https://redirect.github.com/apache/pulsar/pull/22846)) - \[improve] Refactored BK ClientFactory to return futures ([#22853](https://redirect.github.com/apache/pulsar/pull/22853)) - \[fix]\[broker] Asynchronously return brokerRegistry.lookupAsync when checking if broker is active(ExtensibleLoadManagerImpl only) ([#22899](https://redirect.github.com/apache/pulsar/pull/22899)) - \[fix]\[broker] Can't connecte to non-persist topic when enable broker client tls ([#22991](https://redirect.github.com/apache/pulsar/pull/22991)) - \[fix]\[broker] Check the broker is available for the SLA monitor bundle when the ExtensibleLoadManager is enabled ([#22485](https://redirect.github.com/apache/pulsar/pull/22485)) - \[fix]\[broker] Check the markDeletePosition and calculate the backlog ([#22947](https://redirect.github.com/apache/pulsar/pull/22947)) - \[fix]\[broker] Ensure that PulsarService is ready for serving incoming requests ([#22977](https://redirect.github.com/apache/pulsar/pull/22977)) - \[fix]\[broker] EntryFilters fix NoClassDefFoundError due to closed classloader ([#22767](https://redirect.github.com/apache/pulsar/pull/22767)) - \[fix]\[broker] Fix MessageDeduplication replay timeout cause topic loading stuck ([#23004](https://redirect.github.com/apache/pulsar/pull/23004)) - \[fix]\[broker] Fix NPE after publishing a tombstone to the service unit channel ([#22859](https://redirect.github.com/apache/pulsar/pull/22859)) - \[fix]\[broker] Fix Replicated Topic unload bug when ExtensibleLoadManager is enabled ([#22496](https://redirect.github.com/apache/pulsar/pull/22496)) - \[fix]\[broker] Fix broker OOM when upload a large package. ([#22989](https://redirect.github.com/apache/pulsar/pull/22989)) - \[fix]\[broker] Fix cursor should use latest ledger config ([#22644](https://redirect.github.com/apache/pulsar/pull/22644)) - \[fix]\[broker] Fix geo-replication admin client url ([#22584](https://redirect.github.com/apache/pulsar/pull/22584)) - \[fix]\[broker] Fix stuck when enable topic level replication and build remote admin fails ([#23028](https://redirect.github.com/apache/pulsar/pull/23028)) - \[fix]\[broker] Fix topic status for oldestBacklogMessageAgeSeconds continuously increases even when there is no backlog. ([#22907](https://redirect.github.com/apache/pulsar/pull/22907)) - \[fix]\[broker] Fix updatePartitionedTopic when replication at ns level and topic policy is set ([#22971](https://redirect.github.com/apache/pulsar/pull/22971)) - \[fix]\[broker] Fix wrong logic of method TopicName.getPartition(int index) ([#19841](https://redirect.github.com/apache/pulsar/pull/19841)) - \[fix]\[broker] Handle BucketDelayedDeliveryTracker recover failed ([#22735](https://redirect.github.com/apache/pulsar/pull/22735)) - \[fix]\[broker] Immediately tombstone Deleted and Free state bundles ([#22743](https://redirect.github.com/apache/pulsar/pull/22743)) - \[fix]\[broker] Make ExtensibleLoadManagerImpl.getOwnedServiceUnits async ([#22727](https://redirect.github.com/apache/pulsar/pull/22727)) - \[fix]\[broker] Messages lost on the remote cluster when using topic level replication ([#22890](https://redirect.github.com/apache/pulsar/pull/22890)) - \[fix]\[broker] PulsarStandalone started with error if --stream-storage-port is not 4181 ([#22993](https://redirect.github.com/apache/pulsar/pull/22993)) - \[fix]\[broker] Remove blocking calls from Subscription.getStats ([#23088](https://redirect.github.com/apache/pulsar/pull/23088)) - \[fix]\[broker] Replication stuck when partitions count between two clusters is not the same ([#22983](https://redirect.github.com/apache/pulsar/pull/22983)) - \[fix]\[broker] Support lookup options for extensible load manager ([#22487](https://redirect.github.com/apache/pulsar/pull/22487)) - \[fix]\[broker] Update init and shutdown time and other minor logic (ExtensibleLoadManagerImpl only) ([#22930](https://redirect.github.com/apache/pulsar/pull/22930)) - \[fix]\[broker] broker log a full thread dump when a deadlock is detected in healthcheck every time ([#22916](https://redirect.github.com/apache/pulsar/pull/22916)) - \[fix]\[broker] fix deadlock when disable topic level Geo-Replication ([#22738](https://redirect.github.com/apache/pulsar/pull/22738)) - \[fix]\[broker] fix topic partitions was expanded even if disabled topic level replication ([#22769](https://redirect.github.com/apache/pulsar/pull/22769)) - \[fix]\[broker] response not-found error if topic does not exist when calling getPartitionedTopicMetadata ([#22838](https://redirect.github.com/apache/pulsar/pull/22838)) - \[fix]\[broker]Fix lookupService.getTopicsUnderNamespace can not work with a quote pattern ([#23014](https://redirect.github.com/apache/pulsar/pull/23014)) - \[fix]\[broker]\[branch-3.0] Do not try to clean owned bundles from inactive source brokers (ExtensibleLoadManagerImpl only) ([#23064](https://redirect.github.com/apache/pulsar/pull/23064)) ([#23077](https://redirect.github.com/apache/pulsar/pull/23077)) - \[fix]\[broker]\[branch-3.0] The topic might reference a closed ledger ([#22860](https://redirect.github.com/apache/pulsar/pull/22860)) ([#22900](https://redirect.github.com/apache/pulsar/pull/22900)) - \[improve]\[broker] Check max producers/consumers limitation first before other ops to save resources ([#23074](https://redirect.github.com/apache/pulsar/pull/23074)) - \[improve]\[broker] Clear thread local BrokerEntryMetadata instance before reuse ([#22752](https://redirect.github.com/apache/pulsar/pull/22752)) - \[improve]\[broker] Follow up [#4196](https://redirect.github.com/apache/pulsar/pull/4196) use `PulsarByteBufAllocator` handle OOM ([#20837](https://redirect.github.com/apache/pulsar/pull/20837)) - \[improve]\[broker] GetPartitionMetadata fail also can produce messages ([#23050](https://redirect.github.com/apache/pulsar/pull/23050)) - \[improve]\[broker] Improve CPU resources usege of TopicName Cache ([#23052](https://redirect.github.com/apache/pulsar/pull/23052)) - \[improve]\[broker] Improve efficiency of checking message deletion ([#20490](https://redirect.github.com/apache/pulsar/pull/20490)) - \[improve]\[broker] Improve exception for topic does not have schema to check ([#22974](https://redirect.github.com/apache/pulsar/pull/22974)) - \[improve]\[broker] Include runtime dependencies in server distribution ([#22001](https://redirect.github.com/apache/pulsar/pull/22001)) - \[improve]\[broker] Optimize PersistentTopic.getLastDispatchablePosition ([#22707](https://redirect.github.com/apache/pulsar/pull/22707)) - \[improve]\[broker] PIP-356 Support Geo-Replication starts at earliest position ([#22856](https://redirect.github.com/apache/pulsar/pull/22856)) - \[improve]\[broker] Remove ClassLoaderSwitcher to avoid objects allocations and consistent the codestyle ([#22796](https://redirect.github.com/apache/pulsar/pull/22796)) - \[improve]\[broker] Use RoaringBitmap in tracking individual acks to reduce memory usage ([#23006](https://redirect.github.com/apache/pulsar/pull/23006)) - \[improve]\[broker] \[break change] Do not create partitioned DLQ/Retry topic automatically ([#22705](https://redirect.github.com/apache/pulsar/pull/22705)) - \[improve]\[broker] avoid creating new objects when intercepting ([#22790](https://redirect.github.com/apache/pulsar/pull/22790)) - \[improve]\[broker] checkTopicExists supports checking partitioned topic without index ([#21701](https://redirect.github.com/apache/pulsar/pull/21701)) - \[improve]\[broker] do not grant permission for each partition to reduce unnecessary zk metadata ([#18222](https://redirect.github.com/apache/pulsar/pull/18222)) - \[improve]\[broker] high CPU usage caused by list topics under namespace ([#23049](https://redirect.github.com/apache/pulsar/pull/23049)) - \[improve]\[broker] make system topic distribute evenly. ([#22953](https://redirect.github.com/apache/pulsar/pull/22953)) - \[improve]\[broker]Ensure namespace deletion doesn't fail ([#22627](https://redirect.github.com/apache/pulsar/pull/22627)) - \[improve]\[broker]\[branch-3.0] PIP-364: Introduce a new load balance algorithm AvgShedder ([#23053](https://redirect.github.com/apache/pulsar/pull/23053)) - \[cleanup]\[ml] ManagedCursor clean up. ([#22246](https://redirect.github.com/apache/pulsar/pull/22246)) - \[fix]\[ml] Add entry fail due to race condition about add entry failed/timeout and switch ledger ([#22221](https://redirect.github.com/apache/pulsar/pull/22221)) - \[fix]\[ml]: subscription props could be lost in case of missing ledger during recovery ([#22637](https://redirect.github.com/apache/pulsar/pull/22637)) - \[fix]\[ml] Fix race conditions in RangeCache ([#22789](https://redirect.github.com/apache/pulsar/pull/22789)) - \[improve]\[ml] RangeCache refactoring: test race conditions and prevent endless loops ([#22814](https://redirect.github.com/apache/pulsar/pull/22814)) - \[improve]\[ml] RangeCache refactoring follow-up: use StampedLock instead of synchronized ([#22818](https://redirect.github.com/apache/pulsar/pull/22818)) - \[fix]\[admin] Clearly define REST API on Open API ([#22783](https://redirect.github.com/apache/pulsar/pull/22783)) - \[fix]\[admin] Clearly define REST API on Open API for Namesaces@v2 ([#22775](https://redirect.github.com/apache/pulsar/pull/22775)) - \[fix]\[admin] Clearly define REST API on Open API for Topics ([#22782](https://redirect.github.com/apache/pulsar/pull/22782)) - \[fix]\[admin] Fix can't delete tenant for v1 ([#22550](https://redirect.github.com/apache/pulsar/pull/22550)) - \[fix]\[admin] Fix half deletion when attempt to topic with a incorrect API ([#23002](https://redirect.github.com/apache/pulsar/pull/23002)) - \[fix]\[admin]\[part-1]Clearly define REST API on Open API ([#22774](https://redirect.github.com/apache/pulsar/pull/22774)) - \[improve]\[admin] Check if the topic existed before the permission operations ([#22742](https://redirect.github.com/apache/pulsar/pull/22742)) ##### Client - \[fix]\[client] Fix negative acknowledgement by messageId ([#23060](https://redirect.github.com/apache/pulsar/pull/23060)) - \[fix]\[client] Fix orphan consumer when reconnection and closing are concurrency executing ([#22958](https://redirect.github.com/apache/pulsar/pull/22958)) - \[fix]\[client] Fix pattern consumer create crash if a part of partitions of a topic have been deleted ([#22854](https://redirect.github.com/apache/pulsar/pull/22854)) - \[fix]\[client] Fix resource leak in Pulsar Client since HttpLookupService doesn't get closed ([#22858](https://redirect.github.com/apache/pulsar/pull/22858)) - \[fix]\[client] PIP-344 Do not create partitioned metadata when calling pulsarClient.getPartitionsForTopic(topicName) ([#22206](https://redirect.github.com/apache/pulsar/pull/22206)) - \[fix]\[client] fix producer/consumer perform lookup for migrated topic ([#21356](https://redirect.github.com/apache/pulsar/pull/21356)) - \[improve]\[client] PIP-344 support feature flag supportsGetPartitionedMetadataWithoutAutoCreation ([#22773](https://redirect.github.com/apache/pulsar/pull/22773)) - \[improve]\[client] improve the class GetTopicsResult ([#22766](https://redirect.github.com/apache/pulsar/pull/22766)) ##### Pulsar IO and Pulsar Functions - \[fix]\[fn] Enable optimized Netty direct byte buffer support for Pulsar Function runtimes ([#22910](https://redirect.github.com/apache/pulsar/pull/22910)) - \[fix]\[fn] Support compression type and crypto config for all producers in Functions and Connectors ([#22950](https://redirect.github.com/apache/pulsar/pull/22950)) - \[improve]\[fn] Make producer cache bounded and expiring in Functions/Connectors ([#22945](https://redirect.github.com/apache/pulsar/pull/22945)) ##### Others - \[fix]\[cli] Fix Pulsar standalone "--wipe-data" ([#22885](https://redirect.github.com/apache/pulsar/pull/22885)) - \[fix]\[cli] Fix Pulsar standalone shutdown - bkCluster wasn't closed ([#22868](https://redirect.github.com/apache/pulsar/pull/22868)) - \[fix]\[cli] Fix the pulsar-daemon parameter passthrough syntax ([#22905](https://redirect.github.com/apache/pulsar/pull/22905)) - \[improve]\[cli]\[branch-3.0] PIP-353: Improve transaction message visibility for peek-message ([#22788](https://redirect.github.com/apache/pulsar/pull/22788)) - \[fix]\[meta] Check if metadata store is closed in RocksdbMetadataStore ([#22852](https://redirect.github.com/apache/pulsar/pull/22852)) - \[fix]\[misc] Topic name from persistence name should decode local name ([#22879](https://redirect.github.com/apache/pulsar/pull/22879)) - \[fix]\[offload] Break the fillbuffer loop when met EOF ([#22722](https://redirect.github.com/apache/pulsar/pull/22722)) - \[fix]\[schema] Error checking schema compatibility on a schema-less topic via REST API ([#22720](https://redirect.github.com/apache/pulsar/pull/22720)) ##### Library updates - \[fix]\[sec] Upgrade Bouncycastle libraries to address CVEs ([#22826](https://redirect.github.com/apache/pulsar/pull/22826)) - \[fix] Bump io.airlift:aircompressor from 0.20 to 0.27 ([#22819](https://redirect.github.com/apache/pulsar/pull/22819)) - \[improve] Upgrade IPAddress to 5.5.0 ([#22886](https://redirect.github.com/apache/pulsar/pull/22886)) - \[improve] Upgrade Jetcd to 0.7.7 and VertX to 4.5.8 ([#22835](https://redirect.github.com/apache/pulsar/pull/22835)) - \[cleanup]\[misc] Remove classifier from netty-transport-native-unix-common dependency ([#22951](https://redirect.github.com/apache/pulsar/pull/22951)) - \[fix]\[misc] Remove RoaringBitmap dependency from pulsar-common ([#23008](https://redirect.github.com/apache/pulsar/pull/23008)) - \[fix]\[misc] Rename netty native libraries in pulsar-client-admin-shaded ([#22954](https://redirect.github.com/apache/pulsar/pull/22954)) - \[improve]\[misc] Upgrade to Bookkeeper 4.16.6 ([#22963](https://redirect.github.com/apache/pulsar/pull/22963)) - \[improve]\[misc] Replace rename-netty-native-libs.sh script with renaming with maven-shade-plugin ([#22957](https://redirect.github.com/apache/pulsar/pull/22957)) - \[improve]\[misc] Upgrade to Netty 4.1.111.Final and switch to use grpc-netty-shaded ([#22892](https://redirect.github.com/apache/pulsar/pull/22892)) ##### Tests & CI - \[fix]\[ci] Fix OWASP Dependency Check download by using NVD API key ([#22999](https://redirect.github.com/apache/pulsar/pull/22999)) - \[fix]\[ci] Fix jacoco code coverage report aggregation ([#22964](https://redirect.github.com/apache/pulsar/pull/22964)) - \[fix]\[ci] Replace removed macos-11 with macos-latest in GitHub Actions ([#22965](https://redirect.github.com/apache/pulsar/pull/22965)) - \[improve]\[build] Support git worktree working directory while building docker images ([#22851](https://redirect.github.com/apache/pulsar/pull/22851)) - \[improve]\[build] Upgrade dependency-check-maven-plugin to 10.0.2 ([#23012](https://redirect.github.com/apache/pulsar/pull/23012)) - \[improve]\[ci] Migrate from Gradle Enterprise to Develocity ([#22880](https://redirect.github.com/apache/pulsar/pull/22880)) - \[improve]\[ci] Switch to use DEVELOCITY_ACCESS_KEY from GRADLE_ENTERPRISE_ACCESS_KEY ([#23090](https://redirect.github.com/apache/pulsar/pull/23090)) - \[fix]\[test] Fix TableViewBuilderImplTest NPE and infinite loop ([#22924](https://redirect.github.com/apache/pulsar/pull/22924)) - \[fix]\[test] Fix thread leaks in Managed Ledger tests and remove duplicate shutdown code ([#21426](https://redirect.github.com/apache/pulsar/pull/21426)) - \[improve]\[test] Add a test to guarantee the TNX topics will not be replicated ([#22721](https://redirect.github.com/apache/pulsar/pull/22721)) For the complete list, check the [full changelog](https://redirect.github.com/apache/pulsar/compare/v3.0.5...v3.0.6). ### [`v3.0.5`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.5) [Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.4...v3.0.5) ##### Broker - \[fix]\[broker] Fix force delete subscription not working ([#22423](https://redirect.github.com/apache/pulsar/pull/22423)) - \[fix]\[broker] Avoid being stuck when closing the broker with extensible load manager ([#22573](https://redirect.github.com/apache/pulsar/pull/22573)) - \[fix]\[broker] Create new ledger after the current ledger is closed ([#22034](https://redirect.github.com/apache/pulsar/pull/22034)) - \[fix]\[broker] Disable system topic message deduplication ([#22582](https://redirect.github.com/apache/pulsar/pull/22582)) - \[fix]\[broker] Fix BufferOverflowException and EOFException bugs in /metrics gzip compression ([#22576](https://redirect.github.com/apache/pulsar/pull/22576)) - \[fix]\[broker] Fix NPE causing dispatching to stop when using Key_Shared mode and allowOutOfOrderDelivery=true ([#22533](https://redirect.github.com/apache/pulsar/pull/22533)) - \[fix]\[broker] Fix ProducerBusy issue due to incorrect userCreatedProducerCount on non-persistent topic ([#22685](https://redirect.github.com/apache/pulsar/pull/22685)) - \[fix]\[broker] Fix a deadlock in SystemTopicBasedTopicPoliciesService during NamespaceEventsSystemTopicFactory init ([#22528](https://redirect.github.com/apache/pulsar/pull/22528)) - \[fix]\[broker] Fix broken topic policy implementation compatibility with old pulsar version ([#22535](https://redirect.github.com/apache/pulsar/pull/22535)) - \[fix]\[broker] Fix configurationMetadataSyncEventTopic is marked supporting dynamic setting, but not implemented ([#22684](https://redirect.github.com/apache/pulsar/pull/22684)) - \[fix]\[broker] Fix consumer stops receiving messages when with large backlogs processing ([#22454](https://redirect.github.com/apache/pulsar/pull/22454)) - \[fix]\[broker] Fix invalid condition in logging exceptions ([#22412](https://redirect.github.com/apache/pulsar/pull/22412)) - \[fix]\[broker] Fix message drop record in producer stat ([#22458](https://redirect.github.com/apache/pulsar/pull/22458)) - \[fix]\[broker] Fix metrics pulsar_topic_load_failed_count is 0 when load non-persistent topic fails and fix the flaky test testBrokerStatsTopicLoadFailed ([#22580](https://redirect.github.com/apache/pulsar/pull/22580)) - \[fix]\[broker] Fix nothing changed after removing dynamic configs ([#22673](https://redirect.github.com/apache/pulsar/pull/22673)) - \[fix]\[broker] Fix typos in Consumer class ([#22532](https://redirect.github.com/apache/pulsar/pull/22532)) - \[fix]\[broker] Fix typos lister -> listener ([#21068](https://redirect.github.com/apache/pulsar/pull/21068)) - \[fix]\[broker] One topic can be closed multiple times concurrently ([#17524](https://redirect.github.com/apache/pulsar/pull/17524)) - \[fix]\[broker] Optimize /metrics, fix unbounded request queue issue and fix race conditions in metricsBufferResponse mode ([#22494](https://redirect.github.com/apache/pulsar/pull/22494)) - \[fix]\[broker] Part-1: Replicator can not created successfully due to an orphan replicator in the previous topic owner ([#21946](https://redirect.github.com/apache/pulsar/pull/21946)) - \[fix]\[broker] Part-2: Replicator can not created successfully due to an orphan replicator in the previous topic owner ([#21948](https://redirect.github.com/apache/pulsar/pull/21948)) - \[fix]\[broker] Prevent long deduplication cursor backlog so that topic loading wouldn't timeout ([#22479](https://redirect.github.com/apache/pulsar/pull/22479)) - \[fix]\[broker] Reader stuck after call hasMessageAvailable when enable replicateSubscriptionState ([#22572](https://redirect.github.com/apache/pulsar/pull/22572)) - \[fix]\[broker] Skip topic.close during unloading if the topic future fails with ownership check, and fix isBundleOwnedByAnyBroker to use ns.checkOwnershipPresentAsync for ExtensibleLoadBalancer ([#22379](https://redirect.github.com/apache/pulsar/pull/22379)) ([#22403](https://redirect.github.com/apache/pulsar/pull/22403)) - \[fix]\[broker] Support OIDC providers with JWK without alg field set in keys ([#22421](https://redirect.github.com/apache/pulsar/pull/22421)) - \[fix]\[broker] Update TransferShedder underloaded broker check to consider max loaded broker's msgThroughputEMA and update IsExtensibleLoadBalancerImpl check ([#22321](https://redirect.github.com/apache/pulsar/pull/22321)) ([#22416](https://redirect.github.com/apache/pulsar/pull/22416)) - \[fix]\[broker] Update topic partition failed when config maxNumPartitionsPerPartitionedTopic<0 ([#22397](https://redirect.github.com/apache/pulsar/pull/22397)) - \[fix]\[broker] avoid offload system topic ([#22497](https://redirect.github.com/apache/pulsar/pull/22497)) - \[fix]\[broker] fix replicated subscriptions for transactional messages ([#22452](https://redirect.github.com/apache/pulsar/pull/22452)) - \[fix]\[broker] rename to changeMaxReadPositionCount ([#22656](https://redirect.github.com/apache/pulsar/pull/22656)) - \[fix]\[broker] usedLocallySinceLastReport should always be reset ([#22672](https://redirect.github.com/apache/pulsar/pull/22672)) - \[fix]\[broker]\[admin] Fix cannot update properties on NonDurable subscription. ([#22411](https://redirect.github.com/apache/pulsar/pull/22411)) - \[fix]\[broker] Fix Reader can be stuck from transaction aborted messages. ([#22610](https://redirect.github.com/apache/pulsar/pull/22610)) - \[improve]\[broker] Make the config `metricsBufferResponse` description more effective ([#22490](https://redirect.github.com/apache/pulsar/pull/22490)) - \[improve]\[broker] Retry re-validating ResourceLock with backoff after errors ([#22617](https://redirect.github.com/apache/pulsar/pull/22617)) - \[improve]\[broker] Add `topic_load_failed` metric ([#19236](https://redirect.github.com/apache/pulsar/pull/19236)) - \[improve]\[broker] Add topic name to emitted error messages. ([#22506](https://redirect.github.com/apache/pulsar/pull/22506)) - \[improve]\[broker] Avoid repeated Read-and-discard when using Key_Shared mode ([#22245](https://redirect.github.com/apache/pulsar/pull/22245)) - \[improve]\[broker] Create partitioned topics automatically when enable topic level replication ([#22537](https://redirect.github.com/apache/pulsar/pull/22537)) - \[improve]\[broker] Don't log brokerClientAuthenticationParameters and bookkeeperClientAuthenticationParameters by default ([#22395](https://redirect.github.com/apache/pulsar/pull/22395)) - \[improve]\[broker] Improve Gzip compression, allow excluding specific paths or disabling it ([#22370](https://redirect.github.com/apache/pulsar/pull/22370)) - \[improve]\[broker] Optimize gzip compression for /metrics endpoint by sharing/caching compressed result ([#22521](https://redirect.github.com/apache/pulsar/pull/22521)) - \[improve]\[broker] Propagate cause exception in TopicBusyException when applicable ([#22596](https://redirect.github.com/apache/pulsar/pull/22596)) - \[improve]\[broker] Repeat the handleMetadataChanges callback when configurationMetadataStore equals localMetadataStore ([#22519](https://redirect.github.com/apache/pulsar/pull/22519)) - \[improve]\[broker] Servlet support response compression ([#21667](https://redirect.github.com/apache/pulsar/pull/21667)) - \[improve]\[broker] Support X-Forwarded-For and HA Proxy Protocol for resolving original client IP of http/https requests ([#22524](https://redirect.github.com/apache/pulsar/pull/22524)) - \[improve]\[broker] backlog quota exceed limit log replaced with `debug` ([#22488](https://redirect.github.com/apache/pulsar/pull/22488)) - \[fix]\[ml] Fix NPE of getValidPositionAfterSkippedEntries when recovering a terminated managed ledger ([#22552](https://redirect.github.com/apache/pulsar/pull/22552)) - \[fix]\[ml] Mark delete stuck due to switching cursor ledger fails ([#22662](https://redirect.github.com/apache/pulsar/pull/22662)) - \[fix]\[ml] No rollover inactive ledgers when metadata service invalid ([#22284](https://redirect.github.com/apache/pulsar/pull/22284)) - \[fix]\[offload] Fix OOM in tiered storage, caused by unbounded offsets cache ([#22679](https://redirect.github.com/apache/pulsar/pull/22679)) - \[fix]\[offload] Increase file upload limit from 2048MiB to 4096MiB for GCP/GCS offloading ([#22554](https://redirect.github.com/apache/pulsar/pull/22554)) - \[fix]\[storage] ReadonlyManagedLedger initialization does not fill in the properties ([#22630](https://redirect.github.com/apache/pulsar/pull/22630)) - \[fix]\[admin] Fix namespace admin api exception response ([#22587](https://redirect.github.com/apache/pulsar/pull/22587)) - \[fix]\[txn]Handle exceptions in the transaction pending ack init ([#21274](https://redirect.github.com/apache/pulsar/pull/21274)) - \[improve]\[log] Print source client addr when enabled haProxyProtocolEnabled ([#22686](https://redirect.github.com/apache/pulsar/pull/22686)) - \[improve]\[meta] Log a warning when ZK batch fails with connectionloss ([#22566](https://redirect.github.com/apache/pulsar/pull/22566)) - \[improve]\[offload] Apply autoSkipNonRecoverableData configuration to tiered storage ([#22531](https://redirect.github.com/apache/pulsar/pull/22531)) - \[improve]\[offload] Replace usage of shaded class in OffsetsCache ([#22683](https://redirect.github.com/apache/pulsar/pull/22683)) - \[improve]\[sec] Align some namespace level policy authorisation check ([#21640](https://redirect.github.com/apache/pulsar/pull/21640)) ##### Client - \[fix]\[client] Fix Consumer should return configured batch receive max messages ([#22619](https://redirect.github.com/apache/pulsar/pull/22619)) - \[fix]\[client] Fix ReaderBuilder doest not give illegalArgument on connection failure retry ([#22639](https://redirect.github.com/apache/pulsar/pull/22639)) - \[fix]\[client] Fix client side memory leak when call MessageImpl.create and fix imprecise client-side metrics: pendingMessagesUpDownCounter, pendingBytesUpDownCounter, latencyHistogram ([#22393](https://redirect.github.com/apache/pulsar/pull/22393)) ##### Pulsar IO and Pulsar Functions - \[fix]\[fn] make sure the classloader for ContextImpl is `functionClassLoader` in different runtimes ([#22501](https://redirect.github.com/apache/pulsar/pull/22501)) - \[fix]\[io] CompressionEnabled didn't work on elasticsearch sink ([#22565](https://redirect.github.com/apache/pulsar/pull/22565)) - \[fix]\[io] Fix es index creation ([#22654](https://redirect.github.com/apache/pulsar/pull/22654)) ([#22701](https://redirect.github.com/apache/pulsar/pull/22701)) - \[fix]\[io] Kafka Source connector maybe stuck ([#22511](https://redirect.github.com/apache/pulsar/pull/22511)) - \[improve]\[io]: Add validation for JDBC sink not supporting primitive schema ([#22376](https://redirect.github.com/apache/pulsar/pull/22376)) ##### Others - \[improve]\[ws] Add memory limit configuration for Pulsar client used in Websocket proxy ([#22666](https://redirect.github.com/apache/pulsar/pull/22666)) - \[fix]\[build] Fix building docker images without setting UBUNTU_MIRROR - \[fix]\[build] Fix networkaddress.cache.negative.ttl config ([#22400](https://redirect.github.com/apache/pulsar/pull/22400)) - \[improve]\[misc] Specify valid home dir for the default user in the Ubuntu based docker image ([#22446](https://redirect.github.com/apache/pulsar/pull/22446)) ##### Library updates - \[fix]\[broker] upgrade jclouds 2.5.0 -> 2.6.0 ([#22220](https://redirect.github.com/apache/pulsar/pull/22220)) - \[improve]\[misc] Upgrade to Bookkeeper 4.16.5 ([#22484](https://redirect.github.com/apache/pulsar/pull/22484)) - \[improve]\[misc] Upgrade to Netty 4.1.108 and tcnative 2.0.65 ([#22369](https://redirect.github.com/apache/pulsar/pull/22369)) - \[fix]\[misc] Rename all shaded Netty native libraries ([#22415](https://redirect.github.com/apache/pulsar/pull/22415)) - \[fix]\[sec] Upgrade Bouncycastle to 1.78 ([#22509](https://redirect.github.com/apache/pulsar/pull/22509)) - \[fix]\[sec] Upgrade aws-sdk.version to avoid CVE-2024-21634 ([#22633](https://redirect.github.com/apache/pulsar/pull/22633)) - \[fix]\[sec] Upgrade elasticsearch-java version to avoid CVE-2023-4043 ([#22640](https://redirect.github.com/apache/pulsar/pull/22640)) - \[fix]\[sec] Upgrade postgresql version to avoid CVE-2024-1597 ([#22635](https://redirect.github.com/apache/pulsar/pull/22635)) - \[improve]\[build] Upgrade Lombok to 1.18.32 for Java 22 support ([#22425](https://redirect.github.com/apache/pulsar/pull/22425)) ##### Tests & CI - \[fix]\[test] Clear MockedPulsarServiceBaseTest fields to prevent test runtime memory leak ([#22659](https://redirect.github.com/apache/pulsar/pull/22659)) - \[fix]\[test] Clear fields in test cleanup to reduce memory consumption ([#22583](https://redirect.github.com/apache/pulsar/pull/22583)) - \[fix]\[test] Fix NPE in BookKeeperClusterTestCase tearDown ([#22493](https://redirect.github.com/apache/pulsar/pull/22493)) - \[fix]\[test] Fix flaky test ReplicatorTest ([#22594](https://redirect.github.com/apache/pulsar/pull/22594)) - \[fix]\[test] Fix resource leak in TransactionCoordinatorClientTest ([#21380](https://redirect.github.com/apache/pulsar/pull/21380)) - \[fix]\[test] Fix the flaky tests of ManagedLedgerImplUtilsTest ([#22611](https://redirect.github.com/apache/pulsar/pull/22611)) - \[fix]\[test] Flaky-test: ManagedLedgerTest.testTimestampOnWorkingLedger ([#22600](https://redirect.github.com/apache/pulsar/pull/22600)) - \[fix]\[test] Flaky-test: testMessageExpiryWithTimestampNonRecoverableException and testIncorrectClientClock ([#22489](https://redirect.github.com/apache/pulsar/pull/22489)) - \[fix]\[test] SchemaMap in AutoConsumeSchema has been reused ([#22500](https://redirect.github.com/apache/pulsar/pull/22500)) - \[fix]\[test]\[branch-3.0] Fix test PersistentTopicsTest.testUpdatePartitionedTopic - \[improve]\[test] Move ShadowManagedLedgerImplTest to flaky tests ([#22526](https://redirect.github.com/apache/pulsar/pull/22526)) - \[improve]\[test] Move most flaky tests to flaky group ([#22433](https://redirect.github.com/apache/pulsar/pull/22433)) - \[improve]\[test] Replace usage of curl in Java test and fix stream leaks ([#22463](https://redirect.github.com/apache/pulsar/pull/22463)) - \[improve]\[ci]\[branch-3.0] Upgrade actions in pulsar-ci and pulsar-ci-flaky, port owasp cache change - \[improve]\[build] Upgrade OWASP Dependency check version to 9.1.0 ([#22530](https://redirect.github.com/apache/pulsar/pull/22530)) For the complete list, check the [full changelog](https://redirect.github.com/apache/pulsar/compare/v3.0.4...v3.0.5). ### [`v3.0.4`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.4) [Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.3...v3.0.4) #### What's Changed ##### Broker - \[fix]\[broker] Avoid execute prepareInitPoliciesCacheAsync if namespace is deleted ([#22268](https://redirect.github.com/apache/pulsar/pull/22268)) - \[fix]\[broker] Avoid expired unclosed ledgers when checking expired messages by ledger closure time ([#22335](https://redirect.github.com/apache/pulsar/pull/22335)) - \[fix]\[broker] Check cursor state before adding it to the `waitingCursors` ([#22191](https://redirect.github.com/apache/pulsar/pull/22191)) - \[fix]\[broker] Close dispatchers stuck due to mismatch between dispatcher.consumerList and dispatcher.consumerSet ([#22270](https://redirect.github.com/apache/pulsar/pull/22270)) - \[fix]\[broker] Fix OpReadEntry.skipCondition NPE issue ([#22367](https://redirect.github.com/apache/pulsar/pull/22367)) - \[fix]\[broker] Fix ResourceGroup report local usage ([#22340](https://redirect.github.com/apache/pulsar/pull/22340)) - \[fix]\[broker] Fix ResourceGroups loading ([#21781](https://redirect.github.com/apache/pulsar/pull/21781)) - \[fix]\[broker] Fix issue of field 'topic' is not set when handle GetSchema request ([#22377](https://redirect.github.com/apache/pulsar/pull/22377)) - \[fix]\[broker] Fix wrong double-checked locking for readOnActiveConsumerTask in dispatcher ([#22279](https://redirect.github.com/apache/pulsar/pull/22279)) - \[fix]\[broker] fix mismatch between dispatcher.consumerList and dispatcher.consumerSet ([#22283](https://redirect.github.com/apache/pulsar/pull/22283)) - \[fix]\[ml]Expose ledger timestamp ([#22338](https://redirect.github.com/apache/pulsar/pull/22338)) - \[improve]\[admin] Fix the `createMissingPartitions` doesn't response correctly ([#22311](https://redirect.github.com/apache/pulsar/pull/22311)) - \[improve]\[broker] Add createTopicIfDoesNotExist option to RawReader constructor ([#22264](https://redirect.github.com/apache/pulsar/pull/22264)) - \[improve]\[broker] Add fine-grain authorization to ns/topic management endpoints ([#22309](https://redirect.github.com/apache/pulsar/pull/22309)) - \[improve]\[broker] Add missing configuration keys for caching catch-up reads ([#22295](https://redirect.github.com/apache/pulsar/pull/22295)) - \[improve]\[broker] Change log level to reduce duplicated logs ([#22147](https://redirect.github.com/apache/pulsar/pull/22147)) ##### Client - \[fix]\[client] Consumer lost message ack due to race condition in acknowledge with batch message ([#22353](https://redirect.github.com/apache/pulsar/pull/22353)) - \[fix]\[client] Fix wrong results of hasMessageAvailable and readNext after seeking by timestamp ([#22363](https://redirect.github.com/apache/pulsar/pull/22363)) - \[fix]\[client] GenericProtobufNativeSchema not implement getNativeSchema method. ([#22204](https://redirect.github.com/apache/pulsar/pull/22204)) - \[fix]\[client] Unclear error message when creating a consumer with two same topics ([#22255](https://redirect.github.com/apache/pulsar/pull/22255)) - \[fix]\[client] fix Reader.hasMessageAvailable might return true after seeking to latest ([#22201](https://redirect.github.com/apache/pulsar/pull/22201)) - \[fix]\[client]Fixed getting an incorrect `maxMessageSize` value when accessing multiple clusters in the same process ([#22306](https://redirect.github.com/apache/pulsar/pull/22306)) - \[improve]\[client] Add backoff for `seek` ([#20963](https://redirect.github.com/apache/pulsar/pull/20963)) ##### Pulsar IO and Pulsar Functions - \[fix]\[fn] enable Go function token auth and TLS ([#20468](https://redirect.github.com/apache/pulsar/pull/20468)) ##### Others - \[improve]\[misc] Remove the call to sun InetAddressCachePolicy ([#22329](https://redirect.github.com/apache/pulsar/pull/22329)) - \[fix]\[misc] Make ConcurrentBitSet thread safe ([#22361](https://redirect.github.com/apache/pulsar/pull/22361)) - \[fix]\[ws] Check the validity of config before start websocket service ([#22231](https://redirect.github.com/apache/pulsar/pull/22231)) ##### Library updates - \[fix]\[sec] Upgrade jose4j to 0.9.4 ([#22273](https://redirect.github.com/apache/pulsar/pull/22273)) - \[fix]\[sec] Bump google.golang.org/grpc from 1.38.0 to 1.56.3 in /pulsar-function-go ([#21444](https://redirect.github.com/apache/pulsar/pull/21444)) - \[fix]\[sec] Go Functions security updates ([#21844](https://redirect.github.com/apache/pulsar/pull/21844)) - \[fix]\[sec] Upgrade Zookeeper to 3.9.2 to address CVE-2024-23944 ([#22275](https://redirect.github.com/apache/pulsar/pull/22275)) - \[fix]\[sec] Upgrade prometheus client_golang to v1.12.2 to fix CVE-2022-21698 ([#20579](https://redirect.github.com/apache/pulsar/pull/20579)) - \[fix]\[build] Upgrade alluxio version to 2.9.3 to fix CVE-2023-38889 ([#21715](https://redirect.github.com/apache/pulsar/pull/21715)) - \[improve]\[misc] Include native epoll library for Netty for arm64 ([#22319](https://redirect.github.com/apache/pulsar/pull/22319)) - \[improve]\[misc] Pin Netty version in pulsar-io/alluxio ([#21728](https://redirect.github.com/apache/pulsar/pull/21728)) - \[improve]\[misc] Upgrade Netty version to 4.1.105.Final ([#21923](https://redirect.github.com/apache/pulsar/pull/21923)) ##### Tests & CI - \[fix]\[ci] Tolerate mount option change failing in CI ([#22241](https://redirect.github.com/apache/pulsar/pull/22241)) - \[fix]\[ci]\[branch-3.0] Increase Maven's heap size from 1024m to 1500m as it is in master - \[fix]\[test] Fix flaky ManagedLedgerErrorsTest.recoverAfterZnodeVersionError ([#22368](https://redirect.github.com/apache/pulsar/pull/22368)) - \[fix]\[test] Fix flaky RGUsageMTAggrWaitForAllMsgsTest ([#22252](https://redirect.github.com/apache/pulsar/pull/22252)) - \[fix]\[test] Fix flaky test BrokerServiceAutoSubscriptionCreationTest ([#22190](https://redirect.github.com/apache/pulsar/pull/22190)) - \[fix]\[test] Fix flaky test ManagedLedgerTest.testGetNumberOfEntriesInStorage ([#22344](https://redirect.github.com/apache/pulsar/pull/22344)) - \[fix]\[test]\[branch-3.0] Fix broken ManagedLedgerTest.testGetNumberOfEntriesInStorage - \[fix]\[test] Fix the tests with same namespace name ([#22240](https://redirect.github.com/apache/pulsar/pull/22240)) - \[improve]\[test]\[branch-3.0] Improve ManagedLedgerTest.testGetNumberOfEntriesInStorage - \[improve]\[misc] Upgrade checkstyle to 10.14.2 ([#22291](https://redirect.github.com/apache/pulsar/pull/22291)) For the complete list, check the [full changelog](https://redirect.github.com/apache/pulsar/compare/v3.0.3...v3.0.4). ### [`v3.0.3`](https://redirect.github.com/apache/pulsar/releases/tag/v3.0.3) [Compare Source](https://redirect.github.com/apache/pulsar/compare/v3.0.2...v3.0.3) #### What's Changed ##### Broker - \[improve]\[broker] Consistently add fine-grain authorization to REST API [22202](https://redirect.github.com/apache/pulsar/pull/22202) - \[improve]\[broker] Add fine-grain authorization to retention admin API [22163](https://redirect.github.com/apache/pulsar/pull/22163) - \[improve]\[broker] Cache the internal writer when sent to system topic. [22099](https://redirect.github.com/apache/pulsar/pull/22099) - \[improve]\[broker] Add an error log to troubleshoot the failure of starting broker registry. [22065](https://redirect.github.com/apache/pulsar/pull/22065) - \[improve]\[broker] Do not retain the data in the system topic [22022](https://redirect.github.com/apache/pulsar/pull/22022) - \[improve] \[broker] Do not try to open ML when the topic meta does not exist and do not expect to create a new one. [#21995](https://redirect.github.com/apache/pulsar/issues/21995) [22004](https://redirect.github.com/apache/pulsar/pull/22004) - \[improve] \[broker] Do not print an Error log when responding to `HTTP-404` when calling `Admin API` and the topic does not exist. [21995](https://redirect.github.com/apache/pulsar/pull/21995) - \[improve]\[broker] Do not close the socket if lookup failed due to LockBusyException [21993](https://redirect.github.com/apache/pulsar/pull/21993) - \[improve]\[broker] Don't rollover empty ledgers based on inactivity [21893](https://redirect.github.com/apache/pulsar/pull/21893) - \[improve]\[broker] Improve NamespaceUnloadStrategy error message [21880](https://redirect.github.com/apache/pulsar/pull/21880) - \[improve]\[broker] Skip loading the NAR packages if not configured [21867](https://redirect.github.com/apache/pulsar/pull/21867) - \[improve]\[broker] defer the ownership checks if the owner is inactive (ExtensibleLoadManager) [21857](https://redirect.github.com/apache/pulsar/pull/21857) - \[improve]\[broker] defer the ownership checks if the owner is inactive (ExtensibleLoadManager) [21811](https://redirect.github.com/apache/pulsar/pull/21811) - \[improve]\[broker] cleanup the empty subscriptionAuthenticationMap in zk when revoke subscription permission [21696](https://redirect.github.com/apache/pulsar/pull/21696) - \[improve] \[broker] Let the producer request success at the first time if the previous one is inactive [21220](https://redirect.github.com/apache/pulsar/pull/21220) - \[improve]\[broker] Avoid record inactiveproducers when deduplication is disable. [21193](https://redirect.github.com/apache/pulsar/pull/21193) - \[improve]\[broker] Support not retaining null-key message during topic compaction ([#21578](https://redirect.github.com/apache/pulsar/issues/21578)) [21662](https://redirect.github.com/apache/pulsar/pull/21662) - \[improve]\[broker] Print recoverBucketSnapshot log if cursorProperties are empty [21651](https://redirect.github.com/apache/pulsar/pull/21651) - \[improve]\[broker]\[PIP-318] Support not retaining null-key message during topic compaction [21578](https://redirect.github.com/apache/pulsar/pull/21578) - \[fix] \[broker] print non log when delete partitioned topic failed [22153](https://redirect.github.com/apache/pulsar/pull/22153) - \[fix]\[broker] Fix broker not starting when both transactions and the Extensible Load Manager are enabled [22139](https://redirect.github.com/apache/pulsar/pull/22139) - \[fix]\[broker] Return getOwnerAsync without waiting on source broker upon Assigning and Releasing and handle role change during role init [22112](https://redirect.github.com/apache/pulsar/pull/22112) - \[fix] \[broker] Enabling batch causes negative unackedMessages due to ack and delivery concurrency [22090](https://redirect.github.com/apache/pulsar/pull/22090) - \[fix]\[broker] Support running docker container with gid != 0 [22081](https://redirect.github.com/apache/pulsar/pull/22081) - \[fix]\[broker] Set ServiceUnitStateChannel topic compaction threshold explicitly, improve getOwnerAsync, and fix other bugs [22064](https://redirect.github.com/apache/pulsar/pull/22064) - \[fix]\[broker] Fix hash collision when using a consumer name that ends with a number [22053](https://redirect.github.com/apache/pulsar/pull/22053) - \[fix]\[broker] Sanitize values before logging in apply-config-from-env.py script [22044](https://redirect.github.com/apache/pulsar/pull/22044) - \[fix] \[broker] Fix can not subscribe partitioned topic with a suffix-matched regexp [22025](https://redirect.github.com/apache/pulsar/pull/22025) - \[fix] \[broker] Subscription stuck due to called Admin API analyzeSubscriptionBacklog [22019](https://redirect.github.com/apache/pulsar/pull/22019) - \[fix]\[broker]\[branch-3.1] Avoid PublishRateLimiter use an already closed RateLimiter [22011](https://redirect.github.com/ap