momo-jun commented on code in PR #545:
URL: https://github.com/apache/pulsar-site/pull/545#discussion_r1180081495


##########
release-notes/versioned/pulsar-3.0.0.md:
##########
@@ -0,0 +1,463 @@
+---
+id: pulsar-3.0.0
+title: Apache Pulsar 3.0.0
+sidebar_label: Apache Pulsar 3.0.0
+---
+
+#### 2023-05-02
+
+### Important notice
+- Upgrade the RocksDB version to 7.9.2 to keep sync with BookKeeper's RocksDB 
dependency in [#20072](https://github.com/apache/pulsar/pull/20072)
+- Introduce consistent hash ring to distribute the load of multiple topics 
subscription in [#19502](https://github.com/apache/pulsar/pull/19502)
+- Remove default 30s ackTimeout when setting DLQ policy on java consumer in 
[#19486](https://github.com/apache/pulsar/pull/19486)
+- Require authRole is proxyRole to set originalPrincipal in 
[#19455](https://github.com/apache/pulsar/pull/19455)
+- Update Elasticsearch sink idle cnx timeout to 30s in 
[#19377](https://github.com/apache/pulsar/pull/19377)
+- Move checked exception into builder when newTransaction. in 
[#19356](https://github.com/apache/pulsar/pull/19356)
+- TokenAuthenticationState: authenticate token only once in 
[#19314](https://github.com/apache/pulsar/pull/19314)
+- OneStageAuth State: move authn out of constructor in 
[#19295](https://github.com/apache/pulsar/pull/19295)
+- Update AuthenticationProvider to simplify HTTP Authn in 
[#19197](https://github.com/apache/pulsar/pull/19197)
+- Remove AuthorizationProvider methods deprecated in 2.7 and 2.9 in 
[#19182](https://github.com/apache/pulsar/pull/19182)
+- Deprecate blocking AuthorizationService, AuthorizationProvider methods in 
[#19180](https://github.com/apache/pulsar/pull/19180)
+- Reject create non existent persistent partitions. in 
[#19086](https://github.com/apache/pulsar/pull/19086)
+- Omit making a copy of CommandAck when there are no broker interceptors in 
[#18997](https://github.com/apache/pulsar/pull/18997)
+- Use correct file path for tls trust certificates in 
[#18712](https://github.com/apache/pulsar/pull/18712)
+- Enable certificate refresh for Quorum and Netty Servers in 
[#18097](https://github.com/apache/pulsar/pull/18097)
+- Remove timestamp from Prometheus metrics in 
[#17419](https://github.com/apache/pulsar/pull/17419)
+- Revert 5895: fix redeliveryCount in 
[#17060](https://github.com/apache/pulsar/pull/17060)
+- Fix producer/consume permission can’t get v1/schema in 
[#16018](https://github.com/apache/pulsar/pull/16018)
+- Autorecovery default reppDnsResolverClass to ZkBookieRackAffinityMapping in 
[#15640](https://github.com/apache/pulsar/pull/15640)
+
+### PIPs
+- PIP-160 Metrics stats of Transaction buffered writer 
[#15370](https://github.com/apache/pulsar/issues/15370)
+- PIP-167 Make it Configurable to Require Subscription Permission 
[#15576](https://github.com/apache/pulsar/pull/15576)
+- PIP-169 Support split bundle by flow or qps 
[#16782](https://github.com/apache/pulsar/pull/16782)
+- PIP-188: Cluster migration or Blue-Green cluster deployment support in 
Pulsar [#16551](https://github.com/apache/pulsar/pull/16551)
+- PIP-192: New Pulsar Broker Load Balancer 
[#16691](https://github.com/apache/pulsar/pull/16691)
+- PIP-214: Add broker level metrics statistics and expose to prometheus 
[#18056](https://github.com/apache/pulsar/pull/18056)
+- PIP-218: Consumer batchReceive() single partition every receive 
[#18182](https://github.com/apache/pulsar/pull/18182)
+- PIP-229: Add a common interface to get fields of the MessageIdData 
#18950(https://github.com/apache/pulsar/pull/18950)
+- PIP-250: Add proxyVersion to CommandConnect 
#19623(https://github.com/apache/pulsar/pull/19623)
+- PIP-257: Add Open ID Connect Support to Server Components 
[#19771](https://github.com/apache/pulsar/pull/19771)
+
+### Broker
+- [Broker] incomplete PIP-97: Asynchronous Authentication Provider 
[#12105](https://github.com/apache/pulsar/pull/12105)
+  - Implement for ServerCnx by @michaeljmarshall in 
[#19409](https://github.com/apache/pulsar/pull/19409)
+  - Implement for ProxyConnection by @michaeljmarshall in 
[#19292](https://github.com/apache/pulsar/pull/19292)
+- [Broker] incomplete PIP-180: Shadow Topic, an alternative way to support 
readonly topic ownership. [#16153](https://github.com/apache/pulsar/pull/16153)
+  - Add ShadowManagedLedgerImpl by @Jason918 in 
[#18265](https://github.com/apache/pulsar/pull/18265)
+  - Support shadow topic creation. by @Jason918 in 
[#17711](https://github.com/apache/pulsar/pull/17711)
+  - Add Shadow Replicator by @Jason918 in 
[#17371](https://github.com/apache/pulsar/pull/17371)
+- [Broker] PIP-192: New Pulsar Broker Load Balancer 
[#16691](https://github.com/apache/pulsar/pull/16691)
+  - Fix getLastMessageId for compressed payload(And add compression and 
maxBatchSize for the load balance system topic) by @heesung-sn in 
[#20087](https://github.com/apache/pulsar/pull/20087)
+  - Improve TransferSheder for overload outlier for large clusters by 
@heesung-sn in [#20059](https://github.com/apache/pulsar/pull/20059)
+  - Update the lookup data path to support deploy and rollback by 
@Demogorgon314 in [#19999](https://github.com/apache/pulsar/pull/19999)
+  - Filter the transfer dest broker by @Demogorgon314 in 
[#19958](https://github.com/apache/pulsar/pull/19958)
+  - Updated metrics and cleanup broker selector by @heesung-sn in 
[#19945](https://github.com/apache/pulsar/pull/19945)
+  - Support delete namespace bundle admin API by @Demogorgon314 in 
[#19851](https://github.com/apache/pulsar/pull/19851)
+  - Improved Auto Unload Logic by @heesung-sn in 
[#19813](https://github.com/apache/pulsar/pull/19813)
+  - Support broker isolation policy by @Demogorgon314 in 
[#19592](https://github.com/apache/pulsar/pull/19592)
+  - Add large topic count filter by @Demogorgon314 in 
[#19613](https://github.com/apache/pulsar/pull/19613)
+  - Added VersionId in ServiceUnitStateData by @heesung-sn in 
[#19620](https://github.com/apache/pulsar/pull/19620)
+  - Added Deleted and Init states in ServiceUnitState by @heesung-sn in 
[#19546](https://github.com/apache/pulsar/pull/19546)
+  - Added broker and top-bundles load reporters by @heesung-sn in 
[#19471](https://github.com/apache/pulsar/pull/19471)
+  - Added TransferShedder by @heesung-sn in 
[#18865](https://github.com/apache/pulsar/pull/18865)
+  - Added ServiceUnitStateCompactionStrategy by @heesung-sn in 
[#19045](https://github.com/apache/pulsar/pull/19045)
+  - Added TopicCompactionStrategy for StrategicTwoPhaseCompactor and 
TableView. by @heesung-sn in 
[#18195](https://github.com/apache/pulsar/pull/18195)
+  - Implement load data store by @Demogorgon314 in 
[#18777](https://github.com/apache/pulsar/pull/18777)
+  - Implement broker registry for new load manager by @Demogorgon314 in 
[#18810](https://github.com/apache/pulsar/pull/18810)
+  - Added ServiceUnitStateChannelImpl by @heesung-sn in 
[#18489](https://github.com/apache/pulsar/pull/18489)
+- [Broker] Pip-257: Add AuthenticationProviderOpenID by @michaeljmarshall in 
[#19849](https://github.com/apache/pulsar/pull/19849)
+- [Broker] Make `LeastResourceUsageWithWeight` thread safe by @lifepuzzlefun 
in [#20159](https://github.com/apache/pulsar/pull/20159)
+- [Broker] Support disabling delayed bucket merging. by @mattisonchao in 
[#20155](https://github.com/apache/pulsar/pull/20155)
+- [Broker] Supply download auth params when provided for k8s runtime by 
@michaeljmarshall in [#20144](https://github.com/apache/pulsar/pull/20144)
+- [Broker] AuthenticationProviderOpenID k8s error logs by @michaeljmarshall in 
[#20135](https://github.com/apache/pulsar/pull/20135)
+- [Broker] Implement authenticateAsync for AuthenticationProviderList by 
@michaeljmarshall in [#20132](https://github.com/apache/pulsar/pull/20132)
+- [Broker] Fix broker restart logic by @wolfstudy in 
[#20113](https://github.com/apache/pulsar/pull/20113)
+- [Broker] Ensure previous delayed index be removed from 
snapshotSegmentLastIndexTable & Make load operate asynchronous by @coderzc in 
[#20086](https://github.com/apache/pulsar/pull/20086)
+- [Broker] Fix avoid future of clear delayed message can't complete by 
@coderzc in [#20075](https://github.com/apache/pulsar/pull/20075)
+- [Broker] Refresh auth data if ProxyLookupRequests by @michaeljmarshall in 
[#20067](https://github.com/apache/pulsar/pull/20067)
+- [Broker] Fix flaky testCreateTopicWithZombieReplicatorCursor by 
@BewareMyPower in [#20037](https://github.com/apache/pulsar/pull/20037)
+- [Broker] Prevent range conflicts with Key Shared sticky consumers when 
TCP/IP connections get orphaned by @lhotari in 
[#20026](https://github.com/apache/pulsar/pull/20026)
+- [Broker] Fix leader broker log by @nicoloboschi in 
[#19987](https://github.com/apache/pulsar/pull/19987)
+- [Broker] Make LedgerOffloaderFactory can load the old nar. by @horizonzy in 
[#19913](https://github.com/apache/pulsar/pull/19913)
+- [Broker] Ignore and remove the replicator cursor when the remote cluster is 
absent by @BewareMyPower in 
[#19972](https://github.com/apache/pulsar/pull/19972)
+- [Broker] Fix DeadLetterProducer creation callback blocking client io thread. 
by @lifepuzzlefun in [#19930](https://github.com/apache/pulsar/pull/19930)
+- [Broker] Merge multiple buckets at once by @coderzc in 
[#19927](https://github.com/apache/pulsar/pull/19927)
+- [Broker] Fix the loss of bundle stats data reported to zookeeper, when the 
updateStats method is executed by @lordcheng10 in 
[#19887](https://github.com/apache/pulsar/pull/19887)
+- [Broker] Clear delayed message when unsubscribe &  Make clear operation 
asynchronous by @coderzc in 
[#19901](https://github.com/apache/pulsar/pull/19901)
+- [Broker] Fix can't send ErrorCommand when message is null value by @coderzc 
in [#19899](https://github.com/apache/pulsar/pull/19899)
+- [Broker] PIP-240: new public method unloadSubscription in PersistentTopic by 
@poorbarcode in [#19737](https://github.com/apache/pulsar/pull/19737)
+- [Broker] PIP-250: Add proxyVersion to CommandConnect by @michaeljmarshall in 
[#19618](https://github.com/apache/pulsar/pull/19618)
+- [Broker] Make bucket merge operation asynchronous by @coderzc in 
[#19873](https://github.com/apache/pulsar/pull/19873)
+- [Broker] Suppress error logging when message expiration fails by @massakam 
in [#19778](https://github.com/apache/pulsar/pull/19778)
+- [Broker] Allow proxy to pass same role for authRole and originalRole by 
@michaeljmarshall in [#19557](https://github.com/apache/pulsar/pull/19557)
+- [Broker] Make authentication refresh threadsafe  by @michaeljmarshall in 
[#19506](https://github.com/apache/pulsar/pull/19506)
+- [Broker] Fix RetentionPolicies constructor by @nodece in 
[#19777](https://github.com/apache/pulsar/pull/19777)
+- [Broker] Add metrics for bucket delayed message tracker by @coderzc in 
[#19716](https://github.com/apache/pulsar/pull/19716)
+- [Broker] Add topicName and cursorName for ledger metadata of bucket snapshot 
by @coderzc in [#19802](https://github.com/apache/pulsar/pull/19802)
+- [Broker] Don't clean up BucketDelayedDeliveryTracker when all consumer 
disconnect by @coderzc in [#19801](https://github.com/apache/pulsar/pull/19801)
+- [Broker] Fix create cluster with empty url by @nodece in 
[#19762](https://github.com/apache/pulsar/pull/19762)
+- [Broker] Fix potential exception cause the policy service init fail. by 
@Technoboy- in [#19746](https://github.com/apache/pulsar/pull/19746)
+- [Broker] Validate originalPrincipal earlier in ServerCnx by 
@michaeljmarshall in [#19270](https://github.com/apache/pulsar/pull/19270)
+- [Broker] Fix issue where msgRateExpired may not refresh forever by @massakam 
in [#19759](https://github.com/apache/pulsar/pull/19759)
+- [Broker] Fix index generator is not rollback after entries are failed added. 
by @gaozhangmin in [#19727](https://github.com/apache/pulsar/pull/19727)
+- [Broker] Cut off snapshot segment according to 
maxIndexesPerBucketSnapshotSegment by @coderzc in 
[#19706](https://github.com/apache/pulsar/pull/19706)
+- [Broker] Change type of `allowAutoTopicCreationType` to TopicType by 
@yuruguo in [#18814](https://github.com/apache/pulsar/pull/18814)
+- [Broker] Store the original authentication data by @nodece in 
[#19519](https://github.com/apache/pulsar/pull/19519)
+- [Broker] GetLastMessageId returns a wrong batch index of last message if 
enabled read compacted by @poorbarcode in 
[#18877](https://github.com/apache/pulsar/pull/18877)
+- [Broker] PIP-188 support blue-green cluster migration [part-1] by @rdhabalia 
in [#17962](https://github.com/apache/pulsar/pull/17962)
+- [Broker] Embed stringified exception in placeholder in log message by 
@massakam in [#19633](https://github.com/apache/pulsar/pull/19633)
+- [Broker] Fix BucketDelayedDeliveryTracker merge issues by @coderzc in 
[#19615](https://github.com/apache/pulsar/pull/19615)
+- [Broker] Make BucketDelayedDeliveryTracker can retry snapshot operation & 
improve logs by @coderzc in 
[#19577](https://github.com/apache/pulsar/pull/19577)
+- [Broker] Transaction buffer recover blocked by readNext by @poorbarcode in 
[#18833](https://github.com/apache/pulsar/pull/18833)
+- [Broker] Fix geo-replication admin by @nodece in 
[#19548](https://github.com/apache/pulsar/pull/19548)
+- [Broker] Counter of pending send messages in Replicator incorrect if schema 
future not complete by @poorbarcode in 
[#19242](https://github.com/apache/pulsar/pull/19242)
+- [Broker] Export `pulsar_delayed_message_index_size_bytes` in subscription 
level by @coderzc in [#19595](https://github.com/apache/pulsar/pull/19595)
+- [Broker] Store nonBlank clientVersions that have spaces by @michaeljmarshall 
in [#19616](https://github.com/apache/pulsar/pull/19616)
+- [Broker] Require authRole is proxyRole to set originalPrincipal by 
@michaeljmarshall in [#19455](https://github.com/apache/pulsar/pull/19455)
+- [Broker] Print stack trace when got excpetion in ServerCnx by 
@wangjialing218 in [#19593](https://github.com/apache/pulsar/pull/19593)
+- [Broker] Make the service name resolver cache of PulsarWebResource expire 
after access by @poorbarcode in 
[#19532](https://github.com/apache/pulsar/pull/19532)
+- [Broker] OneStageAuth State: move authn out of constructor by 
@michaeljmarshall in [#19295](https://github.com/apache/pulsar/pull/19295)
+- [Broker] Forbid uploading BYTES schema with admin API by @labuladong in 
[#18995](https://github.com/apache/pulsar/pull/18995)
+- [Broker] Add test to verify authRole cannot change by @michaeljmarshall in 
[#19430](https://github.com/apache/pulsar/pull/19430)
+- [Broker] Topic load fail by ledger lost by @poorbarcode in 
[#19444](https://github.com/apache/pulsar/pull/19444)
+- [Broker] Terminate the async call chain when the condition isn't met for 
resetCursor by @lhotari in [#19541](https://github.com/apache/pulsar/pull/19541)
+- [Broker] Make ServerCnx#originalAuthData volatile by @michaeljmarshall in 
[#19507](https://github.com/apache/pulsar/pull/19507)
+- [Broker] Cleanup finalPosition null-check in asyncFindPosition by @AnonHxy 
in [#19497](https://github.com/apache/pulsar/pull/19497)
+- [Broker] ServerCnx: go to Failed state when auth fails by @michaeljmarshall 
in [#19312](https://github.com/apache/pulsar/pull/19312)
+- [Broker] Refactor update topic partitions endpoint. by @mattisonchao in 
[#19166](https://github.com/apache/pulsar/pull/19166)
+- [Broker] Fix mutex never released when trimming by @315157973 in 
[#17911](https://github.com/apache/pulsar/pull/17911)
+- [Broker] PIP-214 Add broker level metrics statistics and expose to 
prometheus by @yyj8 in [#19047](https://github.com/apache/pulsar/pull/19047)
+- [Broker] Fix delete system topic clean topic policy by @liangyepianzhou in 
[#18823](https://github.com/apache/pulsar/pull/18823)
+- [Broker] Support zookeeper read-only config. by @horizonzy in 
[#19156](https://github.com/apache/pulsar/pull/19156)
+- [Broker] Modify check waitingForPingResponse with volatile (#12615)" by 
@michaeljmarshall in [#19439](https://github.com/apache/pulsar/pull/19439)
+- [Broker] Expect msgs after server initiated CloseProducer by 
@michaeljmarshall in [#19446](https://github.com/apache/pulsar/pull/19446)
+- [Broker] Close transactionBuffer after MessageDeduplication#checkStatus 
failed by @tjiuming in [#19157](https://github.com/apache/pulsar/pull/19157)
+- [Broker] Topic could be in fenced state forever if deletion fails by 
@nicoloboschi in [#19129](https://github.com/apache/pulsar/pull/19129)
+- [Broker] Implement BucketDelayedDeliveryTrackerFactory and load 
BucketDelayedDeliveryTracker - part6 by @coderzc in 
[#17756](https://github.com/apache/pulsar/pull/17756)
+- [Broker] Fix the incorrect total size if use ML interceptor by @poorbarcode 
in [#19404](https://github.com/apache/pulsar/pull/19404)
+- [Broker] Fix currency bug in 
BucketDelayedDeliveryTracker#recoverBucketSnapshot by @lhotari in 
[#19394](https://github.com/apache/pulsar/pull/19394)
+- [Broker] Added isActive in ManagedCursorImpl by @heesung-sn in 
[#19341](https://github.com/apache/pulsar/pull/19341)
+- [Broker] Replace sync method in async call chain of internalSetBacklogQuota 
by @lhotari in [#19398](https://github.com/apache/pulsar/pull/19398)
+- [Broker] Replace sync call in async call chain of 
AdminResource#internalCreatePartitionedTopic by @lhotari in 
[#19399](https://github.com/apache/pulsar/pull/19399)
+- [Broker] Reduce calls on metadata store / ZK event thread & Netty threads in 
PersistentTopic by @lhotari in 
[#19388](https://github.com/apache/pulsar/pull/19388)
+- [Broker] Release Netty buffer in finally block in 
ServerCnx#handleLastMessageIdFromCompactedLedger by @lhotari in 
[#19395](https://github.com/apache/pulsar/pull/19395)
+- [Broker] Replace sync method in 
NamespacesBase#internalDeleteNamespaceBundleAsync by @lhotari in 
[#19391](https://github.com/apache/pulsar/pull/19391)
+- [Broker] Fix concurrency bug in 
PersistentTopicsBase#internalGetReplicatedSubscriptionStatus by @lhotari in 
[#19389](https://github.com/apache/pulsar/pull/19389)
+- [Broker] Remove synchronous method call in async call chain in 
PersistentTopicsBase by @lhotari in 
[#19387](https://github.com/apache/pulsar/pull/19387)
+- [Broker] Update interceptor handler exception by @tuteng in 
[#18940](https://github.com/apache/pulsar/pull/18940)
+- [Broker] Add lowerBoundarySheddingEnabled conf by @crossoverJie in 
[#19351](https://github.com/apache/pulsar/pull/19351)
+- [Broker] Fix uncompleted future when get the topic policies of  a deleted 
topic by @liangyepianzhou in 
[#18824](https://github.com/apache/pulsar/pull/18824)
+- [Broker] Simplify extract entryMetadata code in filterEntriesForConsumer by 
@lifepuzzlefun in [#18729](https://github.com/apache/pulsar/pull/18729)
+- [Broker] Catch exception for brokerInterceptor by @aloyszhang in 
[#19147](https://github.com/apache/pulsar/pull/19147)
+- [Broker] Fix RetentionPolicies types mismatch. by @Technoboy- in 
[#18114](https://github.com/apache/pulsar/pull/18114)
+- [Broker] Make Consumer#equals more effective by @Shawyeok in 
[#18662](https://github.com/apache/pulsar/pull/18662)
+- [Broker] TokenAuthenticationState: authenticate token only once by 
@michaeljmarshall in [#19314](https://github.com/apache/pulsar/pull/19314)
+- [Broker] Fix namespace deletion if __change_events topic has not been 
created yet by @nicoloboschi in 
[#18804](https://github.com/apache/pulsar/pull/18804)
+- [Broker] Fix can not delete namespace by force by @liangyepianzhou in 
[#18307](https://github.com/apache/pulsar/pull/18307)
+- [Broker] Replace PulsarService Mockito spy solution for overriding getters 
in tests by @lhotari in [#19323](https://github.com/apache/pulsar/pull/19323)
+- [Broker] Fix issue where leader broker information isn't available after 10 
minutes by @lhotari in [#17401](https://github.com/apache/pulsar/pull/17401)
+- [Broker] Add  UncaughtExceptionHandler for every thread pool by @315157973 
in [#18211](https://github.com/apache/pulsar/pull/18211)
+- [Broker] Replace authenticate with authenticateAsync by @michaeljmarshall in 
[#19313](https://github.com/apache/pulsar/pull/19313)
+- [Broker] Topics stats shows msgBacklog but there reality no backlog by 
@poorbarcode in [#19275](https://github.com/apache/pulsar/pull/19275)
+- [Broker] Only create extended partitions when updating partition number by 
@AnonHxy in [#17349](https://github.com/apache/pulsar/pull/17349)
+- [Broker] Let TokenAuthState update authenticationDataSource by 
@michaeljmarshall in [#19282](https://github.com/apache/pulsar/pull/19282)
+- [Broker] Eagerly Delete Offloaded Segments On Topic Deletion by @dlg99 in 
[#17915](https://github.com/apache/pulsar/pull/17915)
+- [Broker] Documentation for AuthenticationState contract by @michaeljmarshall 
in [#19283](https://github.com/apache/pulsar/pull/19283)
+- [Broker] Allow to use io_uring instead of epoll by @coderzc in 
[#18385](https://github.com/apache/pulsar/pull/18385)
+- [Broker] Using TopicName instead of String as the parameter for `getTopic`. 
by @Technoboy- in [#17416](https://github.com/apache/pulsar/pull/17416)
+- [Broker] Skip creating a subscription replication snapshot if no messages 
have been published after the topic gets activated on a broker by @lhotari in 
[#16618](https://github.com/apache/pulsar/pull/16618)
+- [Broker] Avoid bundle unload destination broker be set as an inactive 
broker. by @Nicklee007 in [#19244](https://github.com/apache/pulsar/pull/19244)
+- [Broker] Update AuthenticationProvider to simplify HTTP Authn by 
@michaeljmarshall in [#19197](https://github.com/apache/pulsar/pull/19197)
+- [Broker] Reduce GetReplicatedSubscriptionStatus local REST call by @AnonHxy 
in [#16946](https://github.com/apache/pulsar/pull/16946)
+- [Broker] Improve tls config on replication client and cluster cli by @nodece 
in [#17295](https://github.com/apache/pulsar/pull/17295)
+- [Broker] Persist correct markDeletePosition to prevent message loss by 
@michaeljmarshall in [#18237](https://github.com/apache/pulsar/pull/18237)
+- [Broker] Implement delayed message index bucket snapshot(merge/delete) - 
part8 by @coderzc in [#19138](https://github.com/apache/pulsar/pull/19138)
+- [Broker] Deprecate blocking AuthorizationService, AuthorizationProvider 
methods by @michaeljmarshall in 
[#19180](https://github.com/apache/pulsar/pull/19180)
+- [Broker] Allow user lookup topic name with `-partition-` but no metadata by 
@mattisonchao in [#19171](https://github.com/apache/pulsar/pull/19171)
+- [Broker] Add ref count for sticky hash to optimize the performance of 
Key_Shared subscription by @codelipenghui in 
[#19167](https://github.com/apache/pulsar/pull/19167)
+- [Broker] Copy proto command fields into final variables in ServerCnx by 
@michaeljmarshall in [#18987](https://github.com/apache/pulsar/pull/18987)
+- [Broker] Add parameter check for create/update cluster. by @mattisonchao in 
[#19151](https://github.com/apache/pulsar/pull/19151)
+- [Broker] In the trimDeletedEntries method, release the removed entry by 
@lordcheng10 in [#18305](https://github.com/apache/pulsar/pull/18305)
+- [Broker] Remove locallyAcquiredLock when removeOwnership by @leizhiyuan in 
[#18197](https://github.com/apache/pulsar/pull/18197)
+- [Broker] Support setting `forceDeleteTenantAllowed` dynamically by 
@Technoboy- in [#18192](https://github.com/apache/pulsar/pull/18192)
+- [Broker] Use ChannelVoidPromise to avoid useless promise objects creation by 
@nicoloboschi in [#19141](https://github.com/apache/pulsar/pull/19141)
+- [Broker] Fix ClusterDataImpl#clone and add test by @michaeljmarshall in 
[#19126](https://github.com/apache/pulsar/pull/19126)
+- [Broker] Fix invalid metric type "gauge " by @coderzc in 
[#18129](https://github.com/apache/pulsar/pull/18129)
+- [Broker] Fix ttl expiration block due to no-recoverable exception even if 
autoSkipNonRecoverableData=true by @aloyszhang in 
[#19132](https://github.com/apache/pulsar/pull/19132)
+- [Broker] Update the log print content of createSubscriptions by @Pomelongan 
in [#18024](https://github.com/apache/pulsar/pull/18024)
+- [Broker] Fix the order of resource close in the 
InMemoryDelayedDeliveryTracker by @coderzc in 
[#18000](https://github.com/apache/pulsar/pull/18000)
+- [Broker] Fix incorrect bundle split count metric by @Shawyeok in 
[#17970](https://github.com/apache/pulsar/pull/17970)
+- [Broker] Update authentication failed metrics report by @tuteng in 
[#17787](https://github.com/apache/pulsar/pull/17787)
+- [Broker] ManagedLedger: move to FENCED state in case of BadVersionException 
by @eolivelli in [#17736](https://github.com/apache/pulsar/pull/17736)
+- [Broker] Do not print error log with stacktrace for 404 by @codelipenghui in 
[#19130](https://github.com/apache/pulsar/pull/19130)
+- [Broker] Fix executeWithRetry result is null by @coderzc in 
[#17694](https://github.com/apache/pulsar/pull/17694)
+- [Broker] Fix cursor skip read by @coderzc in 
[#19124](https://github.com/apache/pulsar/pull/19124)
+- [Broker] Fix can not revoke permission after update topic partition by 
@TakaHiR07 in [#17393](https://github.com/apache/pulsar/pull/17393)
+- [Broker] Add oshi library to help control OS resources. by @mattisonchao in 
[#18990](https://github.com/apache/pulsar/pull/18990)
+- [Broker] Implement Filter out all delayed messages and skip them when 
reading messages from bookies - part7 by @coderzc in 
[#19035](https://github.com/apache/pulsar/pull/19035)
+- [Broker] Fix missing return when internalGetReplicatedSubscriptionStatus by 
@HQebupt in [#19054](https://github.com/apache/pulsar/pull/19054)
+- [Broker] Throw AlreadyClosedException while request to a closed metadata 
store by @codelipenghui in [#19055](https://github.com/apache/pulsar/pull/19055)
+- [Broker] Fix thread safety issue in info-internal admin api for partitioned 
topics by @lhotari in [#19021](https://github.com/apache/pulsar/pull/19021)
+- [Broker] Only get consumer future when interceptor not null by 
@michaeljmarshall in [#19022](https://github.com/apache/pulsar/pull/19022)
+- [Broker] Use validateTopicOperationAsync methods in all cases by @lhotari in 
[#19016](https://github.com/apache/pulsar/pull/19016)
+- [Broker] Fix deadlock in PendingAckHandleImpl by @nicoloboschi in 
[#18989](https://github.com/apache/pulsar/pull/18989)
+- [Broker] Add javadoc for PulsarDecoder handle* method parameter lifecycle by 
@lhotari in [#18998](https://github.com/apache/pulsar/pull/18998)
+- [Broker] Fix direct memory leak in RawReaderImpl by @lhotari in 
[#18928](https://github.com/apache/pulsar/pull/18928)
+- [Broker] Make it Configurable to Require Subscription Permission by 
@michaeljmarshall in [#15576](https://github.com/apache/pulsar/pull/15576)
+- [Broker] Add config `fsyncEnable` for `RocksdbMetadataStore` by @coderzc in 
[#18801](https://github.com/apache/pulsar/pull/18801)
+- [Broker] Implement delayed message bucket snapshot recover - part5 by 
@coderzc in [#18420](https://github.com/apache/pulsar/pull/18420)
+- [Broker] Remove the unused method internalGetList from PersistentTopicsBase 
by @codelipenghui in [#18775](https://github.com/apache/pulsar/pull/18775)
+- [Broker] Fix duplicated schemas creation by @codelipenghui in 
[#18701](https://github.com/apache/pulsar/pull/18701)
+- [Broker] Use correct file path for tls trust certificates by 
@michaeljmarshall in [#18712](https://github.com/apache/pulsar/pull/18712)
+- [Broker] The interval of scheduled task should be greater than 0 by @yuruguo 
in [#18728](https://github.com/apache/pulsar/pull/18728)
+- [Broker] Improve shadow topic error message by @labuladong in 
[#18709](https://github.com/apache/pulsar/pull/18709)
+- [Broker] Combination of autocreate + forced delete of partitioned topic with 
active consumer leaves topic metadata inconsistent. by @dlg99 in 
[#18193](https://github.com/apache/pulsar/pull/18193)
+- [Broker] System topic writer/reader connection not counted by @yuruguo in 
[#18603](https://github.com/apache/pulsar/pull/18603)
+- [Broker] First judge whether config is null when standalone start by 
@yuruguo in [#18681](https://github.com/apache/pulsar/pull/18681)
+- [Broker] Fix thread-safety issue with currentLedgerEntries and 
currentLedgerSize fields by @lhotari in 
[#17868](https://github.com/apache/pulsar/pull/17868)
+- [Broker] Fix namespace not found will cause request timeout by @labuladong 
in [#18512](https://github.com/apache/pulsar/pull/18512)
+- [Broker] Avoid share same random in multi-threads due to performance issue 
by @Shawyeok in [#18660](https://github.com/apache/pulsar/pull/18660)
+- [Broker] System topic writer/reader connection not counted. by @Technoboy- 
in [#18369](https://github.com/apache/pulsar/pull/18369)
+- [Broker] Implement BookkeeperBucketSnapshotStorage - part3 by @coderzc in 
[#17677](https://github.com/apache/pulsar/pull/17677)
+- [Broker] Support internal cursor properties - part4 by @coderzc in 
[#17712](https://github.com/apache/pulsar/pull/17712)
+- [Broker] Avoid unnecessary creation of BitSetRecyclable objects by 
@lordcheng10 in [#17998](https://github.com/apache/pulsar/pull/17998)
+- [Broker] Fix broker cache eviction of entries read by active cursors by 
@lhotari in [#17273](https://github.com/apache/pulsar/pull/17273)
+- [Broker] Add return for PersistentMessageExpiryMonitor#findEntryFailed by 
@Pomelongan in [#17816](https://github.com/apache/pulsar/pull/17816)
+- [Broker] Fix create ns by @nodece in 
[#17864](https://github.com/apache/pulsar/pull/17864)
+- [Broker] DnsResolverUtil.TTL should be greater than zero by @Technoboy- in 
[#18565](https://github.com/apache/pulsar/pull/18565)
+- [Broker] Make managedLedgerOffloadedReadPriority compatible with broker 
property by @ethqunzhong in 
[#17803](https://github.com/apache/pulsar/pull/17803)
+- [Broker] Remove legacy code by @aloyszhang in 
[#18330](https://github.com/apache/pulsar/pull/18330)
+- [Broker] Remove duplicate code to improve delete subscription by @nodece in 
[#15347](https://github.com/apache/pulsar/pull/15347)
+- [Broker] Fix issue where logs get truncated when Runtime.halt is used to 
terminate the process by @lhotari in 
[#17589](https://github.com/apache/pulsar/pull/17589)
+- [Broker] Add missing @Test annotation by @michaeljmarshall in 
[#18528](https://github.com/apache/pulsar/pull/18528)
+- [Broker] Unreasonable AuthenticationException reference by @zzccctv in 
[#18502](https://github.com/apache/pulsar/pull/18502)
+- [Broker] Remove useless argument for 
PersistentTopicBase.internalSkipAllMessagesForNonPartitionedTopicAsync by 
@poorbarcode in [#18473](https://github.com/apache/pulsar/pull/18473)
+- [Broker] Using `handle` instead of `handleAsync` to avoid using common pool 
thread by @Technoboy- in [#17403](https://github.com/apache/pulsar/pull/17403)
+- [Broker] In OverloadShedder, repeatedly filter local bundles by @lordcheng10 
in [#18463](https://github.com/apache/pulsar/pull/18463)
+- [Broker] Fix OutOfDirectMemoryError in standalone with zk by @labuladong in 
[#18337](https://github.com/apache/pulsar/pull/18337)
+- [Broker] ENABLE_IO_URING property name by @coderzc in 
[#18402](https://github.com/apache/pulsar/pull/18402)
+- [Broker] Provide readable consumer stats time by @rdhabalia in 
[#14251](https://github.com/apache/pulsar/pull/14251)
+- [Broker] Fix delete_when_subscriptions_caught_up doesn't work while have 
active consumers by @codelipenghui in 
[#18283](https://github.com/apache/pulsar/pull/18283)
+- [Broker] Support `autoSubscriptionCreation` on topic level by @yuruguo in 
[#17720](https://github.com/apache/pulsar/pull/17720)
+- [Broker] Avoid object create in `RedeliveryTracker.getRedeliveryCount` by 
@lifepuzzlefun in [#18352](https://github.com/apache/pulsar/pull/18352)
+- [Broker] Remove check ack.getMessageIdsCount() == 1 for cumulative ack by 
@AnonHxy in [#18333](https://github.com/apache/pulsar/pull/18333)
+- [Broker] Fix repeated messages of shared streaming dispatcher by 
@poorbarcode in [#18289](https://github.com/apache/pulsar/pull/18289)
+- [Broker] Cleanup unused method: isSlowestReader by @lordcheng10 in 
[#18306](https://github.com/apache/pulsar/pull/18306)
+- [Broker] Get lowest PositionImpl from NavigableSet by @lifepuzzlefun in 
[#18278](https://github.com/apache/pulsar/pull/18278)
+- [Broker] Remove duplicate sendSuccess and sendError in PulsarCommandSender 
by @lifepuzzlefun in [#18250](https://github.com/apache/pulsar/pull/18250)
+- [Broker] Cleanup localStore from NamespaceResources by @AnonHxy in 
[#18258](https://github.com/apache/pulsar/pull/18258)
+- [Broker] Cleanup NamespaceService by @AnonHxy in 
[#18259](https://github.com/apache/pulsar/pull/18259)
+- [Broker] Make CompactedTopicImpl.findStartPointLoop work more efficiently by 
@poorbarcode in [#17976](https://github.com/apache/pulsar/pull/17976)
+- [Broker] Do not serialize field bundleStats by @thetumbled in 
[#18150](https://github.com/apache/pulsar/pull/18150)
+- [Broker] Implement delayed message index bucket snapshot (create/load) - 
part2 by @coderzc in [#17611](https://github.com/apache/pulsar/pull/17611)
+- [Broker] Fix flaky test: 
PrometheusMetricsTest.testDuplicateMetricTypeDefinitions by @nicoloboschi in 
[#18077](https://github.com/apache/pulsar/pull/18077)
+- [Broker] Avoid runtime check hasFilter in EntryFilterSupport by @AnonHxy in 
[#18066](https://github.com/apache/pulsar/pull/18066)
+- [Broker] Remove methods no longer used in AdminResource #7 by @Pomelongan in 
[#17969](https://github.com/apache/pulsar/pull/17969)
+- [Broker] Delete unuse metrics of zk_write_latency and zk_read_latency by 
@liangyuanpeng in [#17505](https://github.com/apache/pulsar/pull/17505)
+- [Broker] ServerCnx: log at warning level when topic not found by 
@michaeljmarshall in [#16225](https://github.com/apache/pulsar/pull/16225)
+- [Broker] Set log level to `warn` when topic policy reader occurs 
AlreadyClosedException by @Technoboy- in 
[#17841](https://github.com/apache/pulsar/pull/17841)
+- [Broker] Add config to count filtered entries towards rate limits by 
@michaeljmarshall in [#17686](https://github.com/apache/pulsar/pull/17686)
+- [Broker] Fix unexpected subscription deletion caused by the cursor last 
active time not updated in time by @dragonls in 
[#17573](https://github.com/apache/pulsar/pull/17573)
+- [Broker] Remove unnecessary variable in PersistentTopic by @poorbarcode in 
[#17511](https://github.com/apache/pulsar/pull/17511)
+- [Broker] Make cursor properties support modify single value concurrently. by 
@coderzc in [#17164](https://github.com/apache/pulsar/pull/17164)
+- [Broker] Do not log stacktrace for 'Failed to flush mark-delete position' 
case by @eolivelli in [#17432](https://github.com/apache/pulsar/pull/17432)
+- [Broker] New bucket based delayed message tracker - interface&config&proto 
-part 1 by @coderzc in [#17344](https://github.com/apache/pulsar/pull/17344)
+- [Broker] Refactor reflection method in delayed and service module by 
@HQebupt in [#17347](https://github.com/apache/pulsar/pull/17347)
+- [Broker] Remove unnecessary parameters(reusefuture) and related logic by 
@Pomelongan in [#17378](https://github.com/apache/pulsar/pull/17378)
+- [Broker] Fix NPE when updating topic properties by @Flowermin in 
[#17352](https://github.com/apache/pulsar/pull/17352)
+- [Broker] Refactor reflection method in loadbalance module by @HQebupt in 
[#17313](https://github.com/apache/pulsar/pull/17313)
+- [Broker] Make deletePersistence method async in Namespaces by @Pomelongan in 
[#17206](https://github.com/apache/pulsar/pull/17206)
+- [Broker] PIP-169: Support split bundle by flow or qps by @lordcheng10 in 
[#16557](https://github.com/apache/pulsar/pull/16557)
+- [Broker] Add Maven Modernizer plugin in pulsar-broker and fix violation in 
`test: broker/admin` by @youzipi in 
[#16993](https://github.com/apache/pulsar/pull/16993)
+- [Broker] Remove unused code by @lordcheng10 in 
[#17036](https://github.com/apache/pulsar/pull/17036)
+
+### Clients
+- [Client] PIP-224: Add getLastMessageIds API by @BewareMyPower in 
[#20040](https://github.com/apache/pulsar/pull/20040)
+- [Client] Refactor client version format by @RobertIndie in 
[#19643](https://github.com/apache/pulsar/pull/19643)
+- [Client] Fix authentication not update after changing the serviceUrl by 
@hangc0276 in [#19510](https://github.com/apache/pulsar/pull/19510)
+- [Client] Fix load the trust store file by @nodece in 
[#19483](https://github.com/apache/pulsar/pull/19483)
+- [Client] PIP-229: Add a common interface to get fields of MessageIdData by 
@BewareMyPower in [#19414](https://github.com/apache/pulsar/pull/19414)
+- [Client] Fix async method composition in admin client's NamespacesImpl by 
@lhotari in [#19397](https://github.com/apache/pulsar/pull/19397)
+- [Client] Fix async completion in ConsumerImpl#processPossibleToDLQ by 
@lhotari in [#19392](https://github.com/apache/pulsar/pull/19392)
+- [Client] Change default threads from 1 to available processors by 
@codelipenghui in [#19059](https://github.com/apache/pulsar/pull/19059)
+- [Client] Retry letter producer respect auto schema by @tisonkun in 
[#19051](https://github.com/apache/pulsar/pull/19051)
+- [Client] Add unified newTableView method in PulsarClient by @yuruguo in 
[#19048](https://github.com/apache/pulsar/pull/19048)
+- [Client] Check topic pattern when creating consumer by @yuruguo in 
[#19029](https://github.com/apache/pulsar/pull/19029)
+- [Client] Prevent DNS reverse lookup when physical address is an IP address 
by @lhotari in [#19028](https://github.com/apache/pulsar/pull/19028)
+- [Client] ConsumerBuilder.java comments by @mendonk in 
[#18706](https://github.com/apache/pulsar/pull/18706)
+- [Client] For exclusive subscriptions, if two consumers are created 
repeatedly, the second consumer will block by @lordcheng10 in 
[#18633](https://github.com/apache/pulsar/pull/18633)
+- [Client] Move acknowledge APIs to another interface and improve docs by 
@BewareMyPower in [#18519](https://github.com/apache/pulsar/pull/18519)
+- [Client] Avoid allocating unused buffer when receiving chunk message by 
@RobertIndie in [#18511](https://github.com/apache/pulsar/pull/18511)
+- [Client] Fix multi-topic consumer stuck after redeliver messages by 
@poorbarcode in [#18491](https://github.com/apache/pulsar/pull/18491)
+- [Client] Fix the note of seek in the consumer by @RobertIndie in 
[#18476](https://github.com/apache/pulsar/pull/18476)
+- [Client] Fix failover/exclusive consumer with batch cumulate ack issue. by 
@Technoboy- in [#18454](https://github.com/apache/pulsar/pull/18454)
+- [Client] Change the get lastMessageId to debug level by @zymap in 
[#18421](https://github.com/apache/pulsar/pull/18421)
+- [Client] Fix the Windows absolute path not recognized in auth param string 
by @BewareMyPower in [#18403](https://github.com/apache/pulsar/pull/18403)
+- [Client] Fix exception when calling loadConf on a ConsumerBuilder that has a 
KeySharedPolicy by @cbornet in 
[#18345](https://github.com/apache/pulsar/pull/18345)
+- [Client] Support LocalDateTime Conversion by @coderzc in 
[#18334](https://github.com/apache/pulsar/pull/18334)
+- [Client] Reduce duplicate code in ConsumerBuilderImpl by @Pomelongan in 
[#18325](https://github.com/apache/pulsar/pull/18325)
+- [Client] PIP-218: Consumer batchReceive() single partition every receive by 
@congbobo184 in [#18316](https://github.com/apache/pulsar/pull/18316)
+- [Client] Fix `IllegalThreadStateException` when using newThread in 
`ExecutorProvider.ExtendedThreadFactory` by @coderzc in 
[#18268](https://github.com/apache/pulsar/pull/18268)
+- [Client] Fix pendingLookupRequestSemaphore leak when Ser… by @Shoothzj in 
[#18219](https://github.com/apache/pulsar/pull/18219)
+- [Client] When namespace is deleted, the client is constantly reconnecting by 
@poorbarcode in [#18194](https://github.com/apache/pulsar/pull/18194)
+- [Client] Remove unused check for topics isEmpty by @AnonHxy in 
[#18185](https://github.com/apache/pulsar/pull/18185)
+- [Client] Remove useless locks in batch receiving by @shibd in 
[#18005](https://github.com/apache/pulsar/pull/18005)
+- [Client] When the compressed message size exceeds maxMessageSize, the 
information in the InvalidMessageException may be incorrect by @lordcheng10 in 
[#17910](https://github.com/apache/pulsar/pull/17910)
+- [Client] Fix deadlock when sending chunked messages with BlockIFQueueFull 
enabled by @RobertIndie in [#17795](https://github.com/apache/pulsar/pull/17795)
+- [Client] Optimize the ack/send future in TransactionImpl by @liangyepianzhou 
in [#17777](https://github.com/apache/pulsar/pull/17777)
+- [Client] Remove redundant pending messages information while print the 
producer stats by @codertmy in 
[#17671](https://github.com/apache/pulsar/pull/17671)
+- [Client] Messages with inconsistent consumer epochs are not filtered when 
using batch receive and trigger timeout. by @shibd in 
[#17318](https://github.com/apache/pulsar/pull/17318)
+- [Client] Improve docs and code quality about KeyValueSchema usages by 
@BewareMyPower in [#17256](https://github.com/apache/pulsar/pull/17256)
+
+### Pulsar IO and Pulsar Functions
+- [Functions] Supply download auth params when provided for k8s runtime by 
@michaeljmarshall in [#20144](https://github.com/apache/pulsar/pull/20144)
+- [Functions] Make /version return correct version by @michaeljmarshall in 
[#20047](https://github.com/apache/pulsar/pull/20047)
+- [Functions] Use AuthorizationServer more in Function Worker API by 
@michaeljmarshall in [#19975](https://github.com/apache/pulsar/pull/19975)
+- [Functions] Allow download link with basic auth by @vanhtuan0409 in 
[#19750](https://github.com/apache/pulsar/pull/19750)
+- [Functions] Fix k8s merge runtime opts bug by @michaeljmarshall in 
[#19481](https://github.com/apache/pulsar/pull/19481)
+- [Functions] Support .nar files without explicit directory entries by 
@lhotari in [#19304](https://github.com/apache/pulsar/pull/19304)
+- [Functions] Fix TLS configuration for fn worker to broker if auth disabled 
by @nicoloboschi in [#19290](https://github.com/apache/pulsar/pull/19290)
+- [Functions] Support reading config options from file in Function Python 
Runner by @tpiperatgod in [#18951](https://github.com/apache/pulsar/pull/18951)
+- [Functions] Support processingGuarantees "EFFECTIVELY_ONCE" in python 
function  by @tpiperatgod in 
[#18929](https://github.com/apache/pulsar/pull/18929)
+- [Functions] Typo in method name by @tisonkun in 
[#18844](https://github.com/apache/pulsar/pull/18844)
+- [Functions] Support e2e cryption in python instance  by @jiangpengcheng in 
[#18738](https://github.com/apache/pulsar/pull/18738)
+- [Functions] Support schema in python instance by @jiangpengcheng in 
[#18432](https://github.com/apache/pulsar/pull/18432)
+- [Functions] Support SubscriptionPosition in python instance by 
@jiangpengcheng in [#18431](https://github.com/apache/pulsar/pull/18431)
+- [Functions] KCA connectors: fix missing runtime dependencies by 
@nicoloboschi in [#18370](https://github.com/apache/pulsar/pull/18370)
+- [Functions] Fix function failed to start if no `typeClassName` provided in 
`FunctionDetails` by @freeznet in 
[#18111](https://github.com/apache/pulsar/pull/18111)
+- [Functions] Do not delete managed package when delete function by 
@jiangpengcheng in [#18030](https://github.com/apache/pulsar/pull/18030)
+- [Functions] Fix builtin sink transformation on k8s by @cbornet in 
[#18019](https://github.com/apache/pulsar/pull/18019)
+- [Functions] JDBC Sink: add flag to exclude non declared fields by 
@nicoloboschi in [#18008](https://github.com/apache/pulsar/pull/18008)

Review Comment:
   ```suggestion
   - [Functions] JDBC Sink: add a flag to exclude non-declared fields by 
@nicoloboschi in [#18008](https://github.com/apache/pulsar/pull/18008)
   ```



##########
release-notes/versioned/pulsar-3.0.0.md:
##########
@@ -0,0 +1,463 @@
+---
+id: pulsar-3.0.0
+title: Apache Pulsar 3.0.0
+sidebar_label: Apache Pulsar 3.0.0
+---
+
+#### 2023-05-02
+
+### Important notice
+- Upgrade the RocksDB version to 7.9.2 to keep sync with BookKeeper's RocksDB 
dependency in [#20072](https://github.com/apache/pulsar/pull/20072)
+- Introduce consistent hash ring to distribute the load of multiple topics 
subscription in [#19502](https://github.com/apache/pulsar/pull/19502)
+- Remove default 30s ackTimeout when setting DLQ policy on java consumer in 
[#19486](https://github.com/apache/pulsar/pull/19486)
+- Require authRole is proxyRole to set originalPrincipal in 
[#19455](https://github.com/apache/pulsar/pull/19455)
+- Update Elasticsearch sink idle cnx timeout to 30s in 
[#19377](https://github.com/apache/pulsar/pull/19377)
+- Move checked exception into builder when newTransaction. in 
[#19356](https://github.com/apache/pulsar/pull/19356)
+- TokenAuthenticationState: authenticate token only once in 
[#19314](https://github.com/apache/pulsar/pull/19314)
+- OneStageAuth State: move authn out of constructor in 
[#19295](https://github.com/apache/pulsar/pull/19295)
+- Update AuthenticationProvider to simplify HTTP Authn in 
[#19197](https://github.com/apache/pulsar/pull/19197)
+- Remove AuthorizationProvider methods deprecated in 2.7 and 2.9 in 
[#19182](https://github.com/apache/pulsar/pull/19182)
+- Deprecate blocking AuthorizationService, AuthorizationProvider methods in 
[#19180](https://github.com/apache/pulsar/pull/19180)
+- Reject create non existent persistent partitions. in 
[#19086](https://github.com/apache/pulsar/pull/19086)
+- Omit making a copy of CommandAck when there are no broker interceptors in 
[#18997](https://github.com/apache/pulsar/pull/18997)
+- Use correct file path for tls trust certificates in 
[#18712](https://github.com/apache/pulsar/pull/18712)
+- Enable certificate refresh for Quorum and Netty Servers in 
[#18097](https://github.com/apache/pulsar/pull/18097)
+- Remove timestamp from Prometheus metrics in 
[#17419](https://github.com/apache/pulsar/pull/17419)
+- Revert 5895: fix redeliveryCount in 
[#17060](https://github.com/apache/pulsar/pull/17060)
+- Fix producer/consume permission can’t get v1/schema in 
[#16018](https://github.com/apache/pulsar/pull/16018)
+- Autorecovery default reppDnsResolverClass to ZkBookieRackAffinityMapping in 
[#15640](https://github.com/apache/pulsar/pull/15640)
+
+### PIPs
+- PIP-160 Metrics stats of Transaction buffered writer 
[#15370](https://github.com/apache/pulsar/issues/15370)
+- PIP-167 Make it Configurable to Require Subscription Permission 
[#15576](https://github.com/apache/pulsar/pull/15576)
+- PIP-169 Support split bundle by flow or qps 
[#16782](https://github.com/apache/pulsar/pull/16782)
+- PIP-188: Cluster migration or Blue-Green cluster deployment support in 
Pulsar [#16551](https://github.com/apache/pulsar/pull/16551)
+- PIP-192: New Pulsar Broker Load Balancer 
[#16691](https://github.com/apache/pulsar/pull/16691)
+- PIP-214: Add broker level metrics statistics and expose to prometheus 
[#18056](https://github.com/apache/pulsar/pull/18056)
+- PIP-218: Consumer batchReceive() single partition every receive 
[#18182](https://github.com/apache/pulsar/pull/18182)
+- PIP-229: Add a common interface to get fields of the MessageIdData 
#18950(https://github.com/apache/pulsar/pull/18950)
+- PIP-250: Add proxyVersion to CommandConnect 
#19623(https://github.com/apache/pulsar/pull/19623)
+- PIP-257: Add Open ID Connect Support to Server Components 
[#19771](https://github.com/apache/pulsar/pull/19771)
+
+### Broker
+- [Broker] incomplete PIP-97: Asynchronous Authentication Provider 
[#12105](https://github.com/apache/pulsar/pull/12105)
+  - Implement for ServerCnx by @michaeljmarshall in 
[#19409](https://github.com/apache/pulsar/pull/19409)
+  - Implement for ProxyConnection by @michaeljmarshall in 
[#19292](https://github.com/apache/pulsar/pull/19292)
+- [Broker] incomplete PIP-180: Shadow Topic, an alternative way to support 
readonly topic ownership. [#16153](https://github.com/apache/pulsar/pull/16153)
+  - Add ShadowManagedLedgerImpl by @Jason918 in 
[#18265](https://github.com/apache/pulsar/pull/18265)
+  - Support shadow topic creation. by @Jason918 in 
[#17711](https://github.com/apache/pulsar/pull/17711)
+  - Add Shadow Replicator by @Jason918 in 
[#17371](https://github.com/apache/pulsar/pull/17371)
+- [Broker] PIP-192: New Pulsar Broker Load Balancer 
[#16691](https://github.com/apache/pulsar/pull/16691)
+  - Fix getLastMessageId for compressed payload(And add compression and 
maxBatchSize for the load balance system topic) by @heesung-sn in 
[#20087](https://github.com/apache/pulsar/pull/20087)
+  - Improve TransferSheder for overload outlier for large clusters by 
@heesung-sn in [#20059](https://github.com/apache/pulsar/pull/20059)
+  - Update the lookup data path to support deploy and rollback by 
@Demogorgon314 in [#19999](https://github.com/apache/pulsar/pull/19999)
+  - Filter the transfer dest broker by @Demogorgon314 in 
[#19958](https://github.com/apache/pulsar/pull/19958)
+  - Updated metrics and cleanup broker selector by @heesung-sn in 
[#19945](https://github.com/apache/pulsar/pull/19945)
+  - Support delete namespace bundle admin API by @Demogorgon314 in 
[#19851](https://github.com/apache/pulsar/pull/19851)
+  - Improved Auto Unload Logic by @heesung-sn in 
[#19813](https://github.com/apache/pulsar/pull/19813)
+  - Support broker isolation policy by @Demogorgon314 in 
[#19592](https://github.com/apache/pulsar/pull/19592)
+  - Add large topic count filter by @Demogorgon314 in 
[#19613](https://github.com/apache/pulsar/pull/19613)
+  - Added VersionId in ServiceUnitStateData by @heesung-sn in 
[#19620](https://github.com/apache/pulsar/pull/19620)
+  - Added Deleted and Init states in ServiceUnitState by @heesung-sn in 
[#19546](https://github.com/apache/pulsar/pull/19546)
+  - Added broker and top-bundles load reporters by @heesung-sn in 
[#19471](https://github.com/apache/pulsar/pull/19471)
+  - Added TransferShedder by @heesung-sn in 
[#18865](https://github.com/apache/pulsar/pull/18865)
+  - Added ServiceUnitStateCompactionStrategy by @heesung-sn in 
[#19045](https://github.com/apache/pulsar/pull/19045)
+  - Added TopicCompactionStrategy for StrategicTwoPhaseCompactor and 
TableView. by @heesung-sn in 
[#18195](https://github.com/apache/pulsar/pull/18195)
+  - Implement load data store by @Demogorgon314 in 
[#18777](https://github.com/apache/pulsar/pull/18777)
+  - Implement broker registry for new load manager by @Demogorgon314 in 
[#18810](https://github.com/apache/pulsar/pull/18810)
+  - Added ServiceUnitStateChannelImpl by @heesung-sn in 
[#18489](https://github.com/apache/pulsar/pull/18489)
+- [Broker] Pip-257: Add AuthenticationProviderOpenID by @michaeljmarshall in 
[#19849](https://github.com/apache/pulsar/pull/19849)
+- [Broker] Make `LeastResourceUsageWithWeight` thread safe by @lifepuzzlefun 
in [#20159](https://github.com/apache/pulsar/pull/20159)
+- [Broker] Support disabling delayed bucket merging. by @mattisonchao in 
[#20155](https://github.com/apache/pulsar/pull/20155)
+- [Broker] Supply download auth params when provided for k8s runtime by 
@michaeljmarshall in [#20144](https://github.com/apache/pulsar/pull/20144)
+- [Broker] AuthenticationProviderOpenID k8s error logs by @michaeljmarshall in 
[#20135](https://github.com/apache/pulsar/pull/20135)
+- [Broker] Implement authenticateAsync for AuthenticationProviderList by 
@michaeljmarshall in [#20132](https://github.com/apache/pulsar/pull/20132)
+- [Broker] Fix broker restart logic by @wolfstudy in 
[#20113](https://github.com/apache/pulsar/pull/20113)
+- [Broker] Ensure previous delayed index be removed from 
snapshotSegmentLastIndexTable & Make load operate asynchronous by @coderzc in 
[#20086](https://github.com/apache/pulsar/pull/20086)
+- [Broker] Fix avoid future of clear delayed message can't complete by 
@coderzc in [#20075](https://github.com/apache/pulsar/pull/20075)
+- [Broker] Refresh auth data if ProxyLookupRequests by @michaeljmarshall in 
[#20067](https://github.com/apache/pulsar/pull/20067)
+- [Broker] Fix flaky testCreateTopicWithZombieReplicatorCursor by 
@BewareMyPower in [#20037](https://github.com/apache/pulsar/pull/20037)
+- [Broker] Prevent range conflicts with Key Shared sticky consumers when 
TCP/IP connections get orphaned by @lhotari in 
[#20026](https://github.com/apache/pulsar/pull/20026)
+- [Broker] Fix leader broker log by @nicoloboschi in 
[#19987](https://github.com/apache/pulsar/pull/19987)
+- [Broker] Make LedgerOffloaderFactory can load the old nar. by @horizonzy in 
[#19913](https://github.com/apache/pulsar/pull/19913)
+- [Broker] Ignore and remove the replicator cursor when the remote cluster is 
absent by @BewareMyPower in 
[#19972](https://github.com/apache/pulsar/pull/19972)
+- [Broker] Fix DeadLetterProducer creation callback blocking client io thread. 
by @lifepuzzlefun in [#19930](https://github.com/apache/pulsar/pull/19930)
+- [Broker] Merge multiple buckets at once by @coderzc in 
[#19927](https://github.com/apache/pulsar/pull/19927)
+- [Broker] Fix the loss of bundle stats data reported to zookeeper, when the 
updateStats method is executed by @lordcheng10 in 
[#19887](https://github.com/apache/pulsar/pull/19887)
+- [Broker] Clear delayed message when unsubscribe &  Make clear operation 
asynchronous by @coderzc in 
[#19901](https://github.com/apache/pulsar/pull/19901)
+- [Broker] Fix can't send ErrorCommand when message is null value by @coderzc 
in [#19899](https://github.com/apache/pulsar/pull/19899)
+- [Broker] PIP-240: new public method unloadSubscription in PersistentTopic by 
@poorbarcode in [#19737](https://github.com/apache/pulsar/pull/19737)
+- [Broker] PIP-250: Add proxyVersion to CommandConnect by @michaeljmarshall in 
[#19618](https://github.com/apache/pulsar/pull/19618)
+- [Broker] Make bucket merge operation asynchronous by @coderzc in 
[#19873](https://github.com/apache/pulsar/pull/19873)
+- [Broker] Suppress error logging when message expiration fails by @massakam 
in [#19778](https://github.com/apache/pulsar/pull/19778)
+- [Broker] Allow proxy to pass same role for authRole and originalRole by 
@michaeljmarshall in [#19557](https://github.com/apache/pulsar/pull/19557)
+- [Broker] Make authentication refresh threadsafe  by @michaeljmarshall in 
[#19506](https://github.com/apache/pulsar/pull/19506)
+- [Broker] Fix RetentionPolicies constructor by @nodece in 
[#19777](https://github.com/apache/pulsar/pull/19777)
+- [Broker] Add metrics for bucket delayed message tracker by @coderzc in 
[#19716](https://github.com/apache/pulsar/pull/19716)
+- [Broker] Add topicName and cursorName for ledger metadata of bucket snapshot 
by @coderzc in [#19802](https://github.com/apache/pulsar/pull/19802)
+- [Broker] Don't clean up BucketDelayedDeliveryTracker when all consumer 
disconnect by @coderzc in [#19801](https://github.com/apache/pulsar/pull/19801)
+- [Broker] Fix create cluster with empty url by @nodece in 
[#19762](https://github.com/apache/pulsar/pull/19762)
+- [Broker] Fix potential exception cause the policy service init fail. by 
@Technoboy- in [#19746](https://github.com/apache/pulsar/pull/19746)
+- [Broker] Validate originalPrincipal earlier in ServerCnx by 
@michaeljmarshall in [#19270](https://github.com/apache/pulsar/pull/19270)
+- [Broker] Fix issue where msgRateExpired may not refresh forever by @massakam 
in [#19759](https://github.com/apache/pulsar/pull/19759)
+- [Broker] Fix index generator is not rollback after entries are failed added. 
by @gaozhangmin in [#19727](https://github.com/apache/pulsar/pull/19727)
+- [Broker] Cut off snapshot segment according to 
maxIndexesPerBucketSnapshotSegment by @coderzc in 
[#19706](https://github.com/apache/pulsar/pull/19706)
+- [Broker] Change type of `allowAutoTopicCreationType` to TopicType by 
@yuruguo in [#18814](https://github.com/apache/pulsar/pull/18814)
+- [Broker] Store the original authentication data by @nodece in 
[#19519](https://github.com/apache/pulsar/pull/19519)
+- [Broker] GetLastMessageId returns a wrong batch index of last message if 
enabled read compacted by @poorbarcode in 
[#18877](https://github.com/apache/pulsar/pull/18877)
+- [Broker] PIP-188 support blue-green cluster migration [part-1] by @rdhabalia 
in [#17962](https://github.com/apache/pulsar/pull/17962)
+- [Broker] Embed stringified exception in placeholder in log message by 
@massakam in [#19633](https://github.com/apache/pulsar/pull/19633)
+- [Broker] Fix BucketDelayedDeliveryTracker merge issues by @coderzc in 
[#19615](https://github.com/apache/pulsar/pull/19615)
+- [Broker] Make BucketDelayedDeliveryTracker can retry snapshot operation & 
improve logs by @coderzc in 
[#19577](https://github.com/apache/pulsar/pull/19577)
+- [Broker] Transaction buffer recover blocked by readNext by @poorbarcode in 
[#18833](https://github.com/apache/pulsar/pull/18833)
+- [Broker] Fix geo-replication admin by @nodece in 
[#19548](https://github.com/apache/pulsar/pull/19548)
+- [Broker] Counter of pending send messages in Replicator incorrect if schema 
future not complete by @poorbarcode in 
[#19242](https://github.com/apache/pulsar/pull/19242)
+- [Broker] Export `pulsar_delayed_message_index_size_bytes` in subscription 
level by @coderzc in [#19595](https://github.com/apache/pulsar/pull/19595)
+- [Broker] Store nonBlank clientVersions that have spaces by @michaeljmarshall 
in [#19616](https://github.com/apache/pulsar/pull/19616)
+- [Broker] Require authRole is proxyRole to set originalPrincipal by 
@michaeljmarshall in [#19455](https://github.com/apache/pulsar/pull/19455)
+- [Broker] Print stack trace when got excpetion in ServerCnx by 
@wangjialing218 in [#19593](https://github.com/apache/pulsar/pull/19593)
+- [Broker] Make the service name resolver cache of PulsarWebResource expire 
after access by @poorbarcode in 
[#19532](https://github.com/apache/pulsar/pull/19532)
+- [Broker] OneStageAuth State: move authn out of constructor by 
@michaeljmarshall in [#19295](https://github.com/apache/pulsar/pull/19295)
+- [Broker] Forbid uploading BYTES schema with admin API by @labuladong in 
[#18995](https://github.com/apache/pulsar/pull/18995)
+- [Broker] Add test to verify authRole cannot change by @michaeljmarshall in 
[#19430](https://github.com/apache/pulsar/pull/19430)
+- [Broker] Topic load fail by ledger lost by @poorbarcode in 
[#19444](https://github.com/apache/pulsar/pull/19444)
+- [Broker] Terminate the async call chain when the condition isn't met for 
resetCursor by @lhotari in [#19541](https://github.com/apache/pulsar/pull/19541)
+- [Broker] Make ServerCnx#originalAuthData volatile by @michaeljmarshall in 
[#19507](https://github.com/apache/pulsar/pull/19507)
+- [Broker] Cleanup finalPosition null-check in asyncFindPosition by @AnonHxy 
in [#19497](https://github.com/apache/pulsar/pull/19497)
+- [Broker] ServerCnx: go to Failed state when auth fails by @michaeljmarshall 
in [#19312](https://github.com/apache/pulsar/pull/19312)
+- [Broker] Refactor update topic partitions endpoint. by @mattisonchao in 
[#19166](https://github.com/apache/pulsar/pull/19166)
+- [Broker] Fix mutex never released when trimming by @315157973 in 
[#17911](https://github.com/apache/pulsar/pull/17911)
+- [Broker] PIP-214 Add broker level metrics statistics and expose to 
prometheus by @yyj8 in [#19047](https://github.com/apache/pulsar/pull/19047)
+- [Broker] Fix delete system topic clean topic policy by @liangyepianzhou in 
[#18823](https://github.com/apache/pulsar/pull/18823)
+- [Broker] Support zookeeper read-only config. by @horizonzy in 
[#19156](https://github.com/apache/pulsar/pull/19156)
+- [Broker] Modify check waitingForPingResponse with volatile (#12615)" by 
@michaeljmarshall in [#19439](https://github.com/apache/pulsar/pull/19439)
+- [Broker] Expect msgs after server initiated CloseProducer by 
@michaeljmarshall in [#19446](https://github.com/apache/pulsar/pull/19446)
+- [Broker] Close transactionBuffer after MessageDeduplication#checkStatus 
failed by @tjiuming in [#19157](https://github.com/apache/pulsar/pull/19157)
+- [Broker] Topic could be in fenced state forever if deletion fails by 
@nicoloboschi in [#19129](https://github.com/apache/pulsar/pull/19129)
+- [Broker] Implement BucketDelayedDeliveryTrackerFactory and load 
BucketDelayedDeliveryTracker - part6 by @coderzc in 
[#17756](https://github.com/apache/pulsar/pull/17756)
+- [Broker] Fix the incorrect total size if use ML interceptor by @poorbarcode 
in [#19404](https://github.com/apache/pulsar/pull/19404)
+- [Broker] Fix currency bug in 
BucketDelayedDeliveryTracker#recoverBucketSnapshot by @lhotari in 
[#19394](https://github.com/apache/pulsar/pull/19394)
+- [Broker] Added isActive in ManagedCursorImpl by @heesung-sn in 
[#19341](https://github.com/apache/pulsar/pull/19341)
+- [Broker] Replace sync method in async call chain of internalSetBacklogQuota 
by @lhotari in [#19398](https://github.com/apache/pulsar/pull/19398)
+- [Broker] Replace sync call in async call chain of 
AdminResource#internalCreatePartitionedTopic by @lhotari in 
[#19399](https://github.com/apache/pulsar/pull/19399)
+- [Broker] Reduce calls on metadata store / ZK event thread & Netty threads in 
PersistentTopic by @lhotari in 
[#19388](https://github.com/apache/pulsar/pull/19388)
+- [Broker] Release Netty buffer in finally block in 
ServerCnx#handleLastMessageIdFromCompactedLedger by @lhotari in 
[#19395](https://github.com/apache/pulsar/pull/19395)
+- [Broker] Replace sync method in 
NamespacesBase#internalDeleteNamespaceBundleAsync by @lhotari in 
[#19391](https://github.com/apache/pulsar/pull/19391)
+- [Broker] Fix concurrency bug in 
PersistentTopicsBase#internalGetReplicatedSubscriptionStatus by @lhotari in 
[#19389](https://github.com/apache/pulsar/pull/19389)
+- [Broker] Remove synchronous method call in async call chain in 
PersistentTopicsBase by @lhotari in 
[#19387](https://github.com/apache/pulsar/pull/19387)
+- [Broker] Update interceptor handler exception by @tuteng in 
[#18940](https://github.com/apache/pulsar/pull/18940)
+- [Broker] Add lowerBoundarySheddingEnabled conf by @crossoverJie in 
[#19351](https://github.com/apache/pulsar/pull/19351)
+- [Broker] Fix uncompleted future when get the topic policies of  a deleted 
topic by @liangyepianzhou in 
[#18824](https://github.com/apache/pulsar/pull/18824)
+- [Broker] Simplify extract entryMetadata code in filterEntriesForConsumer by 
@lifepuzzlefun in [#18729](https://github.com/apache/pulsar/pull/18729)
+- [Broker] Catch exception for brokerInterceptor by @aloyszhang in 
[#19147](https://github.com/apache/pulsar/pull/19147)
+- [Broker] Fix RetentionPolicies types mismatch. by @Technoboy- in 
[#18114](https://github.com/apache/pulsar/pull/18114)
+- [Broker] Make Consumer#equals more effective by @Shawyeok in 
[#18662](https://github.com/apache/pulsar/pull/18662)
+- [Broker] TokenAuthenticationState: authenticate token only once by 
@michaeljmarshall in [#19314](https://github.com/apache/pulsar/pull/19314)
+- [Broker] Fix namespace deletion if __change_events topic has not been 
created yet by @nicoloboschi in 
[#18804](https://github.com/apache/pulsar/pull/18804)
+- [Broker] Fix can not delete namespace by force by @liangyepianzhou in 
[#18307](https://github.com/apache/pulsar/pull/18307)
+- [Broker] Replace PulsarService Mockito spy solution for overriding getters 
in tests by @lhotari in [#19323](https://github.com/apache/pulsar/pull/19323)
+- [Broker] Fix issue where leader broker information isn't available after 10 
minutes by @lhotari in [#17401](https://github.com/apache/pulsar/pull/17401)
+- [Broker] Add  UncaughtExceptionHandler for every thread pool by @315157973 
in [#18211](https://github.com/apache/pulsar/pull/18211)
+- [Broker] Replace authenticate with authenticateAsync by @michaeljmarshall in 
[#19313](https://github.com/apache/pulsar/pull/19313)
+- [Broker] Topics stats shows msgBacklog but there reality no backlog by 
@poorbarcode in [#19275](https://github.com/apache/pulsar/pull/19275)
+- [Broker] Only create extended partitions when updating partition number by 
@AnonHxy in [#17349](https://github.com/apache/pulsar/pull/17349)
+- [Broker] Let TokenAuthState update authenticationDataSource by 
@michaeljmarshall in [#19282](https://github.com/apache/pulsar/pull/19282)
+- [Broker] Eagerly Delete Offloaded Segments On Topic Deletion by @dlg99 in 
[#17915](https://github.com/apache/pulsar/pull/17915)
+- [Broker] Documentation for AuthenticationState contract by @michaeljmarshall 
in [#19283](https://github.com/apache/pulsar/pull/19283)
+- [Broker] Allow to use io_uring instead of epoll by @coderzc in 
[#18385](https://github.com/apache/pulsar/pull/18385)
+- [Broker] Using TopicName instead of String as the parameter for `getTopic`. 
by @Technoboy- in [#17416](https://github.com/apache/pulsar/pull/17416)
+- [Broker] Skip creating a subscription replication snapshot if no messages 
have been published after the topic gets activated on a broker by @lhotari in 
[#16618](https://github.com/apache/pulsar/pull/16618)
+- [Broker] Avoid bundle unload destination broker be set as an inactive 
broker. by @Nicklee007 in [#19244](https://github.com/apache/pulsar/pull/19244)
+- [Broker] Update AuthenticationProvider to simplify HTTP Authn by 
@michaeljmarshall in [#19197](https://github.com/apache/pulsar/pull/19197)
+- [Broker] Reduce GetReplicatedSubscriptionStatus local REST call by @AnonHxy 
in [#16946](https://github.com/apache/pulsar/pull/16946)
+- [Broker] Improve tls config on replication client and cluster cli by @nodece 
in [#17295](https://github.com/apache/pulsar/pull/17295)
+- [Broker] Persist correct markDeletePosition to prevent message loss by 
@michaeljmarshall in [#18237](https://github.com/apache/pulsar/pull/18237)
+- [Broker] Implement delayed message index bucket snapshot(merge/delete) - 
part8 by @coderzc in [#19138](https://github.com/apache/pulsar/pull/19138)
+- [Broker] Deprecate blocking AuthorizationService, AuthorizationProvider 
methods by @michaeljmarshall in 
[#19180](https://github.com/apache/pulsar/pull/19180)
+- [Broker] Allow user lookup topic name with `-partition-` but no metadata by 
@mattisonchao in [#19171](https://github.com/apache/pulsar/pull/19171)
+- [Broker] Add ref count for sticky hash to optimize the performance of 
Key_Shared subscription by @codelipenghui in 
[#19167](https://github.com/apache/pulsar/pull/19167)
+- [Broker] Copy proto command fields into final variables in ServerCnx by 
@michaeljmarshall in [#18987](https://github.com/apache/pulsar/pull/18987)
+- [Broker] Add parameter check for create/update cluster. by @mattisonchao in 
[#19151](https://github.com/apache/pulsar/pull/19151)
+- [Broker] In the trimDeletedEntries method, release the removed entry by 
@lordcheng10 in [#18305](https://github.com/apache/pulsar/pull/18305)
+- [Broker] Remove locallyAcquiredLock when removeOwnership by @leizhiyuan in 
[#18197](https://github.com/apache/pulsar/pull/18197)
+- [Broker] Support setting `forceDeleteTenantAllowed` dynamically by 
@Technoboy- in [#18192](https://github.com/apache/pulsar/pull/18192)
+- [Broker] Use ChannelVoidPromise to avoid useless promise objects creation by 
@nicoloboschi in [#19141](https://github.com/apache/pulsar/pull/19141)
+- [Broker] Fix ClusterDataImpl#clone and add test by @michaeljmarshall in 
[#19126](https://github.com/apache/pulsar/pull/19126)
+- [Broker] Fix invalid metric type "gauge " by @coderzc in 
[#18129](https://github.com/apache/pulsar/pull/18129)
+- [Broker] Fix ttl expiration block due to no-recoverable exception even if 
autoSkipNonRecoverableData=true by @aloyszhang in 
[#19132](https://github.com/apache/pulsar/pull/19132)
+- [Broker] Update the log print content of createSubscriptions by @Pomelongan 
in [#18024](https://github.com/apache/pulsar/pull/18024)
+- [Broker] Fix the order of resource close in the 
InMemoryDelayedDeliveryTracker by @coderzc in 
[#18000](https://github.com/apache/pulsar/pull/18000)
+- [Broker] Fix incorrect bundle split count metric by @Shawyeok in 
[#17970](https://github.com/apache/pulsar/pull/17970)
+- [Broker] Update authentication failed metrics report by @tuteng in 
[#17787](https://github.com/apache/pulsar/pull/17787)
+- [Broker] ManagedLedger: move to FENCED state in case of BadVersionException 
by @eolivelli in [#17736](https://github.com/apache/pulsar/pull/17736)
+- [Broker] Do not print error log with stacktrace for 404 by @codelipenghui in 
[#19130](https://github.com/apache/pulsar/pull/19130)
+- [Broker] Fix executeWithRetry result is null by @coderzc in 
[#17694](https://github.com/apache/pulsar/pull/17694)
+- [Broker] Fix cursor skip read by @coderzc in 
[#19124](https://github.com/apache/pulsar/pull/19124)
+- [Broker] Fix can not revoke permission after update topic partition by 
@TakaHiR07 in [#17393](https://github.com/apache/pulsar/pull/17393)
+- [Broker] Add oshi library to help control OS resources. by @mattisonchao in 
[#18990](https://github.com/apache/pulsar/pull/18990)
+- [Broker] Implement Filter out all delayed messages and skip them when 
reading messages from bookies - part7 by @coderzc in 
[#19035](https://github.com/apache/pulsar/pull/19035)
+- [Broker] Fix missing return when internalGetReplicatedSubscriptionStatus by 
@HQebupt in [#19054](https://github.com/apache/pulsar/pull/19054)
+- [Broker] Throw AlreadyClosedException while request to a closed metadata 
store by @codelipenghui in [#19055](https://github.com/apache/pulsar/pull/19055)
+- [Broker] Fix thread safety issue in info-internal admin api for partitioned 
topics by @lhotari in [#19021](https://github.com/apache/pulsar/pull/19021)
+- [Broker] Only get consumer future when interceptor not null by 
@michaeljmarshall in [#19022](https://github.com/apache/pulsar/pull/19022)
+- [Broker] Use validateTopicOperationAsync methods in all cases by @lhotari in 
[#19016](https://github.com/apache/pulsar/pull/19016)
+- [Broker] Fix deadlock in PendingAckHandleImpl by @nicoloboschi in 
[#18989](https://github.com/apache/pulsar/pull/18989)
+- [Broker] Add javadoc for PulsarDecoder handle* method parameter lifecycle by 
@lhotari in [#18998](https://github.com/apache/pulsar/pull/18998)
+- [Broker] Fix direct memory leak in RawReaderImpl by @lhotari in 
[#18928](https://github.com/apache/pulsar/pull/18928)
+- [Broker] Make it Configurable to Require Subscription Permission by 
@michaeljmarshall in [#15576](https://github.com/apache/pulsar/pull/15576)
+- [Broker] Add config `fsyncEnable` for `RocksdbMetadataStore` by @coderzc in 
[#18801](https://github.com/apache/pulsar/pull/18801)
+- [Broker] Implement delayed message bucket snapshot recover - part5 by 
@coderzc in [#18420](https://github.com/apache/pulsar/pull/18420)
+- [Broker] Remove the unused method internalGetList from PersistentTopicsBase 
by @codelipenghui in [#18775](https://github.com/apache/pulsar/pull/18775)
+- [Broker] Fix duplicated schemas creation by @codelipenghui in 
[#18701](https://github.com/apache/pulsar/pull/18701)
+- [Broker] Use correct file path for tls trust certificates by 
@michaeljmarshall in [#18712](https://github.com/apache/pulsar/pull/18712)
+- [Broker] The interval of scheduled task should be greater than 0 by @yuruguo 
in [#18728](https://github.com/apache/pulsar/pull/18728)
+- [Broker] Improve shadow topic error message by @labuladong in 
[#18709](https://github.com/apache/pulsar/pull/18709)
+- [Broker] Combination of autocreate + forced delete of partitioned topic with 
active consumer leaves topic metadata inconsistent. by @dlg99 in 
[#18193](https://github.com/apache/pulsar/pull/18193)
+- [Broker] System topic writer/reader connection not counted by @yuruguo in 
[#18603](https://github.com/apache/pulsar/pull/18603)
+- [Broker] First judge whether config is null when standalone start by 
@yuruguo in [#18681](https://github.com/apache/pulsar/pull/18681)
+- [Broker] Fix thread-safety issue with currentLedgerEntries and 
currentLedgerSize fields by @lhotari in 
[#17868](https://github.com/apache/pulsar/pull/17868)
+- [Broker] Fix namespace not found will cause request timeout by @labuladong 
in [#18512](https://github.com/apache/pulsar/pull/18512)
+- [Broker] Avoid share same random in multi-threads due to performance issue 
by @Shawyeok in [#18660](https://github.com/apache/pulsar/pull/18660)
+- [Broker] System topic writer/reader connection not counted. by @Technoboy- 
in [#18369](https://github.com/apache/pulsar/pull/18369)
+- [Broker] Implement BookkeeperBucketSnapshotStorage - part3 by @coderzc in 
[#17677](https://github.com/apache/pulsar/pull/17677)
+- [Broker] Support internal cursor properties - part4 by @coderzc in 
[#17712](https://github.com/apache/pulsar/pull/17712)
+- [Broker] Avoid unnecessary creation of BitSetRecyclable objects by 
@lordcheng10 in [#17998](https://github.com/apache/pulsar/pull/17998)
+- [Broker] Fix broker cache eviction of entries read by active cursors by 
@lhotari in [#17273](https://github.com/apache/pulsar/pull/17273)
+- [Broker] Add return for PersistentMessageExpiryMonitor#findEntryFailed by 
@Pomelongan in [#17816](https://github.com/apache/pulsar/pull/17816)
+- [Broker] Fix create ns by @nodece in 
[#17864](https://github.com/apache/pulsar/pull/17864)
+- [Broker] DnsResolverUtil.TTL should be greater than zero by @Technoboy- in 
[#18565](https://github.com/apache/pulsar/pull/18565)
+- [Broker] Make managedLedgerOffloadedReadPriority compatible with broker 
property by @ethqunzhong in 
[#17803](https://github.com/apache/pulsar/pull/17803)
+- [Broker] Remove legacy code by @aloyszhang in 
[#18330](https://github.com/apache/pulsar/pull/18330)
+- [Broker] Remove duplicate code to improve delete subscription by @nodece in 
[#15347](https://github.com/apache/pulsar/pull/15347)
+- [Broker] Fix issue where logs get truncated when Runtime.halt is used to 
terminate the process by @lhotari in 
[#17589](https://github.com/apache/pulsar/pull/17589)
+- [Broker] Add missing @Test annotation by @michaeljmarshall in 
[#18528](https://github.com/apache/pulsar/pull/18528)
+- [Broker] Unreasonable AuthenticationException reference by @zzccctv in 
[#18502](https://github.com/apache/pulsar/pull/18502)
+- [Broker] Remove useless argument for 
PersistentTopicBase.internalSkipAllMessagesForNonPartitionedTopicAsync by 
@poorbarcode in [#18473](https://github.com/apache/pulsar/pull/18473)
+- [Broker] Using `handle` instead of `handleAsync` to avoid using common pool 
thread by @Technoboy- in [#17403](https://github.com/apache/pulsar/pull/17403)
+- [Broker] In OverloadShedder, repeatedly filter local bundles by @lordcheng10 
in [#18463](https://github.com/apache/pulsar/pull/18463)
+- [Broker] Fix OutOfDirectMemoryError in standalone with zk by @labuladong in 
[#18337](https://github.com/apache/pulsar/pull/18337)
+- [Broker] ENABLE_IO_URING property name by @coderzc in 
[#18402](https://github.com/apache/pulsar/pull/18402)
+- [Broker] Provide readable consumer stats time by @rdhabalia in 
[#14251](https://github.com/apache/pulsar/pull/14251)
+- [Broker] Fix delete_when_subscriptions_caught_up doesn't work while have 
active consumers by @codelipenghui in 
[#18283](https://github.com/apache/pulsar/pull/18283)
+- [Broker] Support `autoSubscriptionCreation` on topic level by @yuruguo in 
[#17720](https://github.com/apache/pulsar/pull/17720)
+- [Broker] Avoid object create in `RedeliveryTracker.getRedeliveryCount` by 
@lifepuzzlefun in [#18352](https://github.com/apache/pulsar/pull/18352)
+- [Broker] Remove check ack.getMessageIdsCount() == 1 for cumulative ack by 
@AnonHxy in [#18333](https://github.com/apache/pulsar/pull/18333)
+- [Broker] Fix repeated messages of shared streaming dispatcher by 
@poorbarcode in [#18289](https://github.com/apache/pulsar/pull/18289)
+- [Broker] Cleanup unused method: isSlowestReader by @lordcheng10 in 
[#18306](https://github.com/apache/pulsar/pull/18306)
+- [Broker] Get lowest PositionImpl from NavigableSet by @lifepuzzlefun in 
[#18278](https://github.com/apache/pulsar/pull/18278)
+- [Broker] Remove duplicate sendSuccess and sendError in PulsarCommandSender 
by @lifepuzzlefun in [#18250](https://github.com/apache/pulsar/pull/18250)
+- [Broker] Cleanup localStore from NamespaceResources by @AnonHxy in 
[#18258](https://github.com/apache/pulsar/pull/18258)
+- [Broker] Cleanup NamespaceService by @AnonHxy in 
[#18259](https://github.com/apache/pulsar/pull/18259)
+- [Broker] Make CompactedTopicImpl.findStartPointLoop work more efficiently by 
@poorbarcode in [#17976](https://github.com/apache/pulsar/pull/17976)
+- [Broker] Do not serialize field bundleStats by @thetumbled in 
[#18150](https://github.com/apache/pulsar/pull/18150)
+- [Broker] Implement delayed message index bucket snapshot (create/load) - 
part2 by @coderzc in [#17611](https://github.com/apache/pulsar/pull/17611)
+- [Broker] Fix flaky test: 
PrometheusMetricsTest.testDuplicateMetricTypeDefinitions by @nicoloboschi in 
[#18077](https://github.com/apache/pulsar/pull/18077)
+- [Broker] Avoid runtime check hasFilter in EntryFilterSupport by @AnonHxy in 
[#18066](https://github.com/apache/pulsar/pull/18066)
+- [Broker] Remove methods no longer used in AdminResource #7 by @Pomelongan in 
[#17969](https://github.com/apache/pulsar/pull/17969)
+- [Broker] Delete unuse metrics of zk_write_latency and zk_read_latency by 
@liangyuanpeng in [#17505](https://github.com/apache/pulsar/pull/17505)
+- [Broker] ServerCnx: log at warning level when topic not found by 
@michaeljmarshall in [#16225](https://github.com/apache/pulsar/pull/16225)
+- [Broker] Set log level to `warn` when topic policy reader occurs 
AlreadyClosedException by @Technoboy- in 
[#17841](https://github.com/apache/pulsar/pull/17841)
+- [Broker] Add config to count filtered entries towards rate limits by 
@michaeljmarshall in [#17686](https://github.com/apache/pulsar/pull/17686)
+- [Broker] Fix unexpected subscription deletion caused by the cursor last 
active time not updated in time by @dragonls in 
[#17573](https://github.com/apache/pulsar/pull/17573)
+- [Broker] Remove unnecessary variable in PersistentTopic by @poorbarcode in 
[#17511](https://github.com/apache/pulsar/pull/17511)
+- [Broker] Make cursor properties support modify single value concurrently. by 
@coderzc in [#17164](https://github.com/apache/pulsar/pull/17164)
+- [Broker] Do not log stacktrace for 'Failed to flush mark-delete position' 
case by @eolivelli in [#17432](https://github.com/apache/pulsar/pull/17432)
+- [Broker] New bucket based delayed message tracker - interface&config&proto 
-part 1 by @coderzc in [#17344](https://github.com/apache/pulsar/pull/17344)
+- [Broker] Refactor reflection method in delayed and service module by 
@HQebupt in [#17347](https://github.com/apache/pulsar/pull/17347)
+- [Broker] Remove unnecessary parameters(reusefuture) and related logic by 
@Pomelongan in [#17378](https://github.com/apache/pulsar/pull/17378)
+- [Broker] Fix NPE when updating topic properties by @Flowermin in 
[#17352](https://github.com/apache/pulsar/pull/17352)
+- [Broker] Refactor reflection method in loadbalance module by @HQebupt in 
[#17313](https://github.com/apache/pulsar/pull/17313)
+- [Broker] Make deletePersistence method async in Namespaces by @Pomelongan in 
[#17206](https://github.com/apache/pulsar/pull/17206)
+- [Broker] PIP-169: Support split bundle by flow or qps by @lordcheng10 in 
[#16557](https://github.com/apache/pulsar/pull/16557)
+- [Broker] Add Maven Modernizer plugin in pulsar-broker and fix violation in 
`test: broker/admin` by @youzipi in 
[#16993](https://github.com/apache/pulsar/pull/16993)
+- [Broker] Remove unused code by @lordcheng10 in 
[#17036](https://github.com/apache/pulsar/pull/17036)
+
+### Clients
+- [Client] PIP-224: Add getLastMessageIds API by @BewareMyPower in 
[#20040](https://github.com/apache/pulsar/pull/20040)
+- [Client] Refactor client version format by @RobertIndie in 
[#19643](https://github.com/apache/pulsar/pull/19643)
+- [Client] Fix authentication not update after changing the serviceUrl by 
@hangc0276 in [#19510](https://github.com/apache/pulsar/pull/19510)
+- [Client] Fix load the trust store file by @nodece in 
[#19483](https://github.com/apache/pulsar/pull/19483)
+- [Client] PIP-229: Add a common interface to get fields of MessageIdData by 
@BewareMyPower in [#19414](https://github.com/apache/pulsar/pull/19414)
+- [Client] Fix async method composition in admin client's NamespacesImpl by 
@lhotari in [#19397](https://github.com/apache/pulsar/pull/19397)
+- [Client] Fix async completion in ConsumerImpl#processPossibleToDLQ by 
@lhotari in [#19392](https://github.com/apache/pulsar/pull/19392)
+- [Client] Change default threads from 1 to available processors by 
@codelipenghui in [#19059](https://github.com/apache/pulsar/pull/19059)
+- [Client] Retry letter producer respect auto schema by @tisonkun in 
[#19051](https://github.com/apache/pulsar/pull/19051)
+- [Client] Add unified newTableView method in PulsarClient by @yuruguo in 
[#19048](https://github.com/apache/pulsar/pull/19048)
+- [Client] Check topic pattern when creating consumer by @yuruguo in 
[#19029](https://github.com/apache/pulsar/pull/19029)
+- [Client] Prevent DNS reverse lookup when physical address is an IP address 
by @lhotari in [#19028](https://github.com/apache/pulsar/pull/19028)
+- [Client] ConsumerBuilder.java comments by @mendonk in 
[#18706](https://github.com/apache/pulsar/pull/18706)
+- [Client] For exclusive subscriptions, if two consumers are created 
repeatedly, the second consumer will block by @lordcheng10 in 
[#18633](https://github.com/apache/pulsar/pull/18633)
+- [Client] Move acknowledge APIs to another interface and improve docs by 
@BewareMyPower in [#18519](https://github.com/apache/pulsar/pull/18519)
+- [Client] Avoid allocating unused buffer when receiving chunk message by 
@RobertIndie in [#18511](https://github.com/apache/pulsar/pull/18511)
+- [Client] Fix multi-topic consumer stuck after redeliver messages by 
@poorbarcode in [#18491](https://github.com/apache/pulsar/pull/18491)
+- [Client] Fix the note of seek in the consumer by @RobertIndie in 
[#18476](https://github.com/apache/pulsar/pull/18476)
+- [Client] Fix failover/exclusive consumer with batch cumulate ack issue. by 
@Technoboy- in [#18454](https://github.com/apache/pulsar/pull/18454)
+- [Client] Change the get lastMessageId to debug level by @zymap in 
[#18421](https://github.com/apache/pulsar/pull/18421)
+- [Client] Fix the Windows absolute path not recognized in auth param string 
by @BewareMyPower in [#18403](https://github.com/apache/pulsar/pull/18403)
+- [Client] Fix exception when calling loadConf on a ConsumerBuilder that has a 
KeySharedPolicy by @cbornet in 
[#18345](https://github.com/apache/pulsar/pull/18345)
+- [Client] Support LocalDateTime Conversion by @coderzc in 
[#18334](https://github.com/apache/pulsar/pull/18334)
+- [Client] Reduce duplicate code in ConsumerBuilderImpl by @Pomelongan in 
[#18325](https://github.com/apache/pulsar/pull/18325)
+- [Client] PIP-218: Consumer batchReceive() single partition every receive by 
@congbobo184 in [#18316](https://github.com/apache/pulsar/pull/18316)
+- [Client] Fix `IllegalThreadStateException` when using newThread in 
`ExecutorProvider.ExtendedThreadFactory` by @coderzc in 
[#18268](https://github.com/apache/pulsar/pull/18268)
+- [Client] Fix pendingLookupRequestSemaphore leak when Ser… by @Shoothzj in 
[#18219](https://github.com/apache/pulsar/pull/18219)
+- [Client] When namespace is deleted, the client is constantly reconnecting by 
@poorbarcode in [#18194](https://github.com/apache/pulsar/pull/18194)
+- [Client] Remove unused check for topics isEmpty by @AnonHxy in 
[#18185](https://github.com/apache/pulsar/pull/18185)
+- [Client] Remove useless locks in batch receiving by @shibd in 
[#18005](https://github.com/apache/pulsar/pull/18005)
+- [Client] When the compressed message size exceeds maxMessageSize, the 
information in the InvalidMessageException may be incorrect by @lordcheng10 in 
[#17910](https://github.com/apache/pulsar/pull/17910)
+- [Client] Fix deadlock when sending chunked messages with BlockIFQueueFull 
enabled by @RobertIndie in [#17795](https://github.com/apache/pulsar/pull/17795)
+- [Client] Optimize the ack/send future in TransactionImpl by @liangyepianzhou 
in [#17777](https://github.com/apache/pulsar/pull/17777)
+- [Client] Remove redundant pending messages information while print the 
producer stats by @codertmy in 
[#17671](https://github.com/apache/pulsar/pull/17671)
+- [Client] Messages with inconsistent consumer epochs are not filtered when 
using batch receive and trigger timeout. by @shibd in 
[#17318](https://github.com/apache/pulsar/pull/17318)
+- [Client] Improve docs and code quality about KeyValueSchema usages by 
@BewareMyPower in [#17256](https://github.com/apache/pulsar/pull/17256)
+
+### Pulsar IO and Pulsar Functions
+- [Functions] Supply download auth params when provided for k8s runtime by 
@michaeljmarshall in [#20144](https://github.com/apache/pulsar/pull/20144)
+- [Functions] Make /version return correct version by @michaeljmarshall in 
[#20047](https://github.com/apache/pulsar/pull/20047)
+- [Functions] Use AuthorizationServer more in Function Worker API by 
@michaeljmarshall in [#19975](https://github.com/apache/pulsar/pull/19975)
+- [Functions] Allow download link with basic auth by @vanhtuan0409 in 
[#19750](https://github.com/apache/pulsar/pull/19750)
+- [Functions] Fix k8s merge runtime opts bug by @michaeljmarshall in 
[#19481](https://github.com/apache/pulsar/pull/19481)
+- [Functions] Support .nar files without explicit directory entries by 
@lhotari in [#19304](https://github.com/apache/pulsar/pull/19304)
+- [Functions] Fix TLS configuration for fn worker to broker if auth disabled 
by @nicoloboschi in [#19290](https://github.com/apache/pulsar/pull/19290)
+- [Functions] Support reading config options from file in Function Python 
Runner by @tpiperatgod in [#18951](https://github.com/apache/pulsar/pull/18951)
+- [Functions] Support processingGuarantees "EFFECTIVELY_ONCE" in python 
function  by @tpiperatgod in 
[#18929](https://github.com/apache/pulsar/pull/18929)
+- [Functions] Typo in method name by @tisonkun in 
[#18844](https://github.com/apache/pulsar/pull/18844)
+- [Functions] Support e2e cryption in python instance  by @jiangpengcheng in 
[#18738](https://github.com/apache/pulsar/pull/18738)
+- [Functions] Support schema in python instance by @jiangpengcheng in 
[#18432](https://github.com/apache/pulsar/pull/18432)
+- [Functions] Support SubscriptionPosition in python instance by 
@jiangpengcheng in [#18431](https://github.com/apache/pulsar/pull/18431)
+- [Functions] KCA connectors: fix missing runtime dependencies by 
@nicoloboschi in [#18370](https://github.com/apache/pulsar/pull/18370)
+- [Functions] Fix function failed to start if no `typeClassName` provided in 
`FunctionDetails` by @freeznet in 
[#18111](https://github.com/apache/pulsar/pull/18111)
+- [Functions] Do not delete managed package when delete function by 
@jiangpengcheng in [#18030](https://github.com/apache/pulsar/pull/18030)

Review Comment:
   ```suggestion
   - [Functions] Do not delete managed package when deleting function by 
@jiangpengcheng in [#18030](https://github.com/apache/pulsar/pull/18030)
   ```



##########
release-notes/versioned/pulsar-3.0.0.md:
##########
@@ -0,0 +1,463 @@
+---
+id: pulsar-3.0.0
+title: Apache Pulsar 3.0.0
+sidebar_label: Apache Pulsar 3.0.0
+---
+
+#### 2023-05-02
+
+### Important notice
+- Upgrade the RocksDB version to 7.9.2 to keep sync with BookKeeper's RocksDB 
dependency in [#20072](https://github.com/apache/pulsar/pull/20072)
+- Introduce consistent hash ring to distribute the load of multiple topics 
subscription in [#19502](https://github.com/apache/pulsar/pull/19502)
+- Remove default 30s ackTimeout when setting DLQ policy on java consumer in 
[#19486](https://github.com/apache/pulsar/pull/19486)
+- Require authRole is proxyRole to set originalPrincipal in 
[#19455](https://github.com/apache/pulsar/pull/19455)
+- Update Elasticsearch sink idle cnx timeout to 30s in 
[#19377](https://github.com/apache/pulsar/pull/19377)
+- Move checked exception into builder when newTransaction. in 
[#19356](https://github.com/apache/pulsar/pull/19356)
+- TokenAuthenticationState: authenticate token only once in 
[#19314](https://github.com/apache/pulsar/pull/19314)
+- OneStageAuth State: move authn out of constructor in 
[#19295](https://github.com/apache/pulsar/pull/19295)
+- Update AuthenticationProvider to simplify HTTP Authn in 
[#19197](https://github.com/apache/pulsar/pull/19197)
+- Remove AuthorizationProvider methods deprecated in 2.7 and 2.9 in 
[#19182](https://github.com/apache/pulsar/pull/19182)
+- Deprecate blocking AuthorizationService, AuthorizationProvider methods in 
[#19180](https://github.com/apache/pulsar/pull/19180)
+- Reject create non existent persistent partitions. in 
[#19086](https://github.com/apache/pulsar/pull/19086)
+- Omit making a copy of CommandAck when there are no broker interceptors in 
[#18997](https://github.com/apache/pulsar/pull/18997)
+- Use correct file path for tls trust certificates in 
[#18712](https://github.com/apache/pulsar/pull/18712)
+- Enable certificate refresh for Quorum and Netty Servers in 
[#18097](https://github.com/apache/pulsar/pull/18097)
+- Remove timestamp from Prometheus metrics in 
[#17419](https://github.com/apache/pulsar/pull/17419)
+- Revert 5895: fix redeliveryCount in 
[#17060](https://github.com/apache/pulsar/pull/17060)
+- Fix producer/consume permission can’t get v1/schema in 
[#16018](https://github.com/apache/pulsar/pull/16018)
+- Autorecovery default reppDnsResolverClass to ZkBookieRackAffinityMapping in 
[#15640](https://github.com/apache/pulsar/pull/15640)
+
+### PIPs
+- PIP-160 Metrics stats of Transaction buffered writer 
[#15370](https://github.com/apache/pulsar/issues/15370)
+- PIP-167 Make it Configurable to Require Subscription Permission 
[#15576](https://github.com/apache/pulsar/pull/15576)
+- PIP-169 Support split bundle by flow or qps 
[#16782](https://github.com/apache/pulsar/pull/16782)
+- PIP-188: Cluster migration or Blue-Green cluster deployment support in 
Pulsar [#16551](https://github.com/apache/pulsar/pull/16551)
+- PIP-192: New Pulsar Broker Load Balancer 
[#16691](https://github.com/apache/pulsar/pull/16691)
+- PIP-214: Add broker level metrics statistics and expose to prometheus 
[#18056](https://github.com/apache/pulsar/pull/18056)
+- PIP-218: Consumer batchReceive() single partition every receive 
[#18182](https://github.com/apache/pulsar/pull/18182)
+- PIP-229: Add a common interface to get fields of the MessageIdData 
#18950(https://github.com/apache/pulsar/pull/18950)
+- PIP-250: Add proxyVersion to CommandConnect 
#19623(https://github.com/apache/pulsar/pull/19623)
+- PIP-257: Add Open ID Connect Support to Server Components 
[#19771](https://github.com/apache/pulsar/pull/19771)
+
+### Broker
+- [Broker] incomplete PIP-97: Asynchronous Authentication Provider 
[#12105](https://github.com/apache/pulsar/pull/12105)
+  - Implement for ServerCnx by @michaeljmarshall in 
[#19409](https://github.com/apache/pulsar/pull/19409)
+  - Implement for ProxyConnection by @michaeljmarshall in 
[#19292](https://github.com/apache/pulsar/pull/19292)
+- [Broker] incomplete PIP-180: Shadow Topic, an alternative way to support 
readonly topic ownership. [#16153](https://github.com/apache/pulsar/pull/16153)
+  - Add ShadowManagedLedgerImpl by @Jason918 in 
[#18265](https://github.com/apache/pulsar/pull/18265)
+  - Support shadow topic creation. by @Jason918 in 
[#17711](https://github.com/apache/pulsar/pull/17711)
+  - Add Shadow Replicator by @Jason918 in 
[#17371](https://github.com/apache/pulsar/pull/17371)
+- [Broker] PIP-192: New Pulsar Broker Load Balancer 
[#16691](https://github.com/apache/pulsar/pull/16691)
+  - Fix getLastMessageId for compressed payload(And add compression and 
maxBatchSize for the load balance system topic) by @heesung-sn in 
[#20087](https://github.com/apache/pulsar/pull/20087)
+  - Improve TransferSheder for overload outlier for large clusters by 
@heesung-sn in [#20059](https://github.com/apache/pulsar/pull/20059)
+  - Update the lookup data path to support deploy and rollback by 
@Demogorgon314 in [#19999](https://github.com/apache/pulsar/pull/19999)
+  - Filter the transfer dest broker by @Demogorgon314 in 
[#19958](https://github.com/apache/pulsar/pull/19958)
+  - Updated metrics and cleanup broker selector by @heesung-sn in 
[#19945](https://github.com/apache/pulsar/pull/19945)
+  - Support delete namespace bundle admin API by @Demogorgon314 in 
[#19851](https://github.com/apache/pulsar/pull/19851)
+  - Improved Auto Unload Logic by @heesung-sn in 
[#19813](https://github.com/apache/pulsar/pull/19813)
+  - Support broker isolation policy by @Demogorgon314 in 
[#19592](https://github.com/apache/pulsar/pull/19592)
+  - Add large topic count filter by @Demogorgon314 in 
[#19613](https://github.com/apache/pulsar/pull/19613)
+  - Added VersionId in ServiceUnitStateData by @heesung-sn in 
[#19620](https://github.com/apache/pulsar/pull/19620)
+  - Added Deleted and Init states in ServiceUnitState by @heesung-sn in 
[#19546](https://github.com/apache/pulsar/pull/19546)
+  - Added broker and top-bundles load reporters by @heesung-sn in 
[#19471](https://github.com/apache/pulsar/pull/19471)
+  - Added TransferShedder by @heesung-sn in 
[#18865](https://github.com/apache/pulsar/pull/18865)
+  - Added ServiceUnitStateCompactionStrategy by @heesung-sn in 
[#19045](https://github.com/apache/pulsar/pull/19045)
+  - Added TopicCompactionStrategy for StrategicTwoPhaseCompactor and 
TableView. by @heesung-sn in 
[#18195](https://github.com/apache/pulsar/pull/18195)
+  - Implement load data store by @Demogorgon314 in 
[#18777](https://github.com/apache/pulsar/pull/18777)
+  - Implement broker registry for new load manager by @Demogorgon314 in 
[#18810](https://github.com/apache/pulsar/pull/18810)
+  - Added ServiceUnitStateChannelImpl by @heesung-sn in 
[#18489](https://github.com/apache/pulsar/pull/18489)
+- [Broker] Pip-257: Add AuthenticationProviderOpenID by @michaeljmarshall in 
[#19849](https://github.com/apache/pulsar/pull/19849)
+- [Broker] Make `LeastResourceUsageWithWeight` thread safe by @lifepuzzlefun 
in [#20159](https://github.com/apache/pulsar/pull/20159)
+- [Broker] Support disabling delayed bucket merging. by @mattisonchao in 
[#20155](https://github.com/apache/pulsar/pull/20155)
+- [Broker] Supply download auth params when provided for k8s runtime by 
@michaeljmarshall in [#20144](https://github.com/apache/pulsar/pull/20144)
+- [Broker] AuthenticationProviderOpenID k8s error logs by @michaeljmarshall in 
[#20135](https://github.com/apache/pulsar/pull/20135)
+- [Broker] Implement authenticateAsync for AuthenticationProviderList by 
@michaeljmarshall in [#20132](https://github.com/apache/pulsar/pull/20132)
+- [Broker] Fix broker restart logic by @wolfstudy in 
[#20113](https://github.com/apache/pulsar/pull/20113)
+- [Broker] Ensure previous delayed index be removed from 
snapshotSegmentLastIndexTable & Make load operate asynchronous by @coderzc in 
[#20086](https://github.com/apache/pulsar/pull/20086)
+- [Broker] Fix avoid future of clear delayed message can't complete by 
@coderzc in [#20075](https://github.com/apache/pulsar/pull/20075)
+- [Broker] Refresh auth data if ProxyLookupRequests by @michaeljmarshall in 
[#20067](https://github.com/apache/pulsar/pull/20067)
+- [Broker] Fix flaky testCreateTopicWithZombieReplicatorCursor by 
@BewareMyPower in [#20037](https://github.com/apache/pulsar/pull/20037)
+- [Broker] Prevent range conflicts with Key Shared sticky consumers when 
TCP/IP connections get orphaned by @lhotari in 
[#20026](https://github.com/apache/pulsar/pull/20026)
+- [Broker] Fix leader broker log by @nicoloboschi in 
[#19987](https://github.com/apache/pulsar/pull/19987)
+- [Broker] Make LedgerOffloaderFactory can load the old nar. by @horizonzy in 
[#19913](https://github.com/apache/pulsar/pull/19913)
+- [Broker] Ignore and remove the replicator cursor when the remote cluster is 
absent by @BewareMyPower in 
[#19972](https://github.com/apache/pulsar/pull/19972)
+- [Broker] Fix DeadLetterProducer creation callback blocking client io thread. 
by @lifepuzzlefun in [#19930](https://github.com/apache/pulsar/pull/19930)
+- [Broker] Merge multiple buckets at once by @coderzc in 
[#19927](https://github.com/apache/pulsar/pull/19927)
+- [Broker] Fix the loss of bundle stats data reported to zookeeper, when the 
updateStats method is executed by @lordcheng10 in 
[#19887](https://github.com/apache/pulsar/pull/19887)
+- [Broker] Clear delayed message when unsubscribe &  Make clear operation 
asynchronous by @coderzc in 
[#19901](https://github.com/apache/pulsar/pull/19901)
+- [Broker] Fix can't send ErrorCommand when message is null value by @coderzc 
in [#19899](https://github.com/apache/pulsar/pull/19899)
+- [Broker] PIP-240: new public method unloadSubscription in PersistentTopic by 
@poorbarcode in [#19737](https://github.com/apache/pulsar/pull/19737)
+- [Broker] PIP-250: Add proxyVersion to CommandConnect by @michaeljmarshall in 
[#19618](https://github.com/apache/pulsar/pull/19618)
+- [Broker] Make bucket merge operation asynchronous by @coderzc in 
[#19873](https://github.com/apache/pulsar/pull/19873)
+- [Broker] Suppress error logging when message expiration fails by @massakam 
in [#19778](https://github.com/apache/pulsar/pull/19778)
+- [Broker] Allow proxy to pass same role for authRole and originalRole by 
@michaeljmarshall in [#19557](https://github.com/apache/pulsar/pull/19557)
+- [Broker] Make authentication refresh threadsafe  by @michaeljmarshall in 
[#19506](https://github.com/apache/pulsar/pull/19506)
+- [Broker] Fix RetentionPolicies constructor by @nodece in 
[#19777](https://github.com/apache/pulsar/pull/19777)
+- [Broker] Add metrics for bucket delayed message tracker by @coderzc in 
[#19716](https://github.com/apache/pulsar/pull/19716)
+- [Broker] Add topicName and cursorName for ledger metadata of bucket snapshot 
by @coderzc in [#19802](https://github.com/apache/pulsar/pull/19802)
+- [Broker] Don't clean up BucketDelayedDeliveryTracker when all consumer 
disconnect by @coderzc in [#19801](https://github.com/apache/pulsar/pull/19801)
+- [Broker] Fix create cluster with empty url by @nodece in 
[#19762](https://github.com/apache/pulsar/pull/19762)
+- [Broker] Fix potential exception cause the policy service init fail. by 
@Technoboy- in [#19746](https://github.com/apache/pulsar/pull/19746)
+- [Broker] Validate originalPrincipal earlier in ServerCnx by 
@michaeljmarshall in [#19270](https://github.com/apache/pulsar/pull/19270)
+- [Broker] Fix issue where msgRateExpired may not refresh forever by @massakam 
in [#19759](https://github.com/apache/pulsar/pull/19759)
+- [Broker] Fix index generator is not rollback after entries are failed added. 
by @gaozhangmin in [#19727](https://github.com/apache/pulsar/pull/19727)
+- [Broker] Cut off snapshot segment according to 
maxIndexesPerBucketSnapshotSegment by @coderzc in 
[#19706](https://github.com/apache/pulsar/pull/19706)
+- [Broker] Change type of `allowAutoTopicCreationType` to TopicType by 
@yuruguo in [#18814](https://github.com/apache/pulsar/pull/18814)
+- [Broker] Store the original authentication data by @nodece in 
[#19519](https://github.com/apache/pulsar/pull/19519)
+- [Broker] GetLastMessageId returns a wrong batch index of last message if 
enabled read compacted by @poorbarcode in 
[#18877](https://github.com/apache/pulsar/pull/18877)
+- [Broker] PIP-188 support blue-green cluster migration [part-1] by @rdhabalia 
in [#17962](https://github.com/apache/pulsar/pull/17962)
+- [Broker] Embed stringified exception in placeholder in log message by 
@massakam in [#19633](https://github.com/apache/pulsar/pull/19633)
+- [Broker] Fix BucketDelayedDeliveryTracker merge issues by @coderzc in 
[#19615](https://github.com/apache/pulsar/pull/19615)
+- [Broker] Make BucketDelayedDeliveryTracker can retry snapshot operation & 
improve logs by @coderzc in 
[#19577](https://github.com/apache/pulsar/pull/19577)
+- [Broker] Transaction buffer recover blocked by readNext by @poorbarcode in 
[#18833](https://github.com/apache/pulsar/pull/18833)
+- [Broker] Fix geo-replication admin by @nodece in 
[#19548](https://github.com/apache/pulsar/pull/19548)
+- [Broker] Counter of pending send messages in Replicator incorrect if schema 
future not complete by @poorbarcode in 
[#19242](https://github.com/apache/pulsar/pull/19242)
+- [Broker] Export `pulsar_delayed_message_index_size_bytes` in subscription 
level by @coderzc in [#19595](https://github.com/apache/pulsar/pull/19595)
+- [Broker] Store nonBlank clientVersions that have spaces by @michaeljmarshall 
in [#19616](https://github.com/apache/pulsar/pull/19616)
+- [Broker] Require authRole is proxyRole to set originalPrincipal by 
@michaeljmarshall in [#19455](https://github.com/apache/pulsar/pull/19455)
+- [Broker] Print stack trace when got excpetion in ServerCnx by 
@wangjialing218 in [#19593](https://github.com/apache/pulsar/pull/19593)
+- [Broker] Make the service name resolver cache of PulsarWebResource expire 
after access by @poorbarcode in 
[#19532](https://github.com/apache/pulsar/pull/19532)
+- [Broker] OneStageAuth State: move authn out of constructor by 
@michaeljmarshall in [#19295](https://github.com/apache/pulsar/pull/19295)
+- [Broker] Forbid uploading BYTES schema with admin API by @labuladong in 
[#18995](https://github.com/apache/pulsar/pull/18995)
+- [Broker] Add test to verify authRole cannot change by @michaeljmarshall in 
[#19430](https://github.com/apache/pulsar/pull/19430)
+- [Broker] Topic load fail by ledger lost by @poorbarcode in 
[#19444](https://github.com/apache/pulsar/pull/19444)
+- [Broker] Terminate the async call chain when the condition isn't met for 
resetCursor by @lhotari in [#19541](https://github.com/apache/pulsar/pull/19541)
+- [Broker] Make ServerCnx#originalAuthData volatile by @michaeljmarshall in 
[#19507](https://github.com/apache/pulsar/pull/19507)
+- [Broker] Cleanup finalPosition null-check in asyncFindPosition by @AnonHxy 
in [#19497](https://github.com/apache/pulsar/pull/19497)
+- [Broker] ServerCnx: go to Failed state when auth fails by @michaeljmarshall 
in [#19312](https://github.com/apache/pulsar/pull/19312)
+- [Broker] Refactor update topic partitions endpoint. by @mattisonchao in 
[#19166](https://github.com/apache/pulsar/pull/19166)
+- [Broker] Fix mutex never released when trimming by @315157973 in 
[#17911](https://github.com/apache/pulsar/pull/17911)
+- [Broker] PIP-214 Add broker level metrics statistics and expose to 
prometheus by @yyj8 in [#19047](https://github.com/apache/pulsar/pull/19047)
+- [Broker] Fix delete system topic clean topic policy by @liangyepianzhou in 
[#18823](https://github.com/apache/pulsar/pull/18823)
+- [Broker] Support zookeeper read-only config. by @horizonzy in 
[#19156](https://github.com/apache/pulsar/pull/19156)
+- [Broker] Modify check waitingForPingResponse with volatile (#12615)" by 
@michaeljmarshall in [#19439](https://github.com/apache/pulsar/pull/19439)
+- [Broker] Expect msgs after server initiated CloseProducer by 
@michaeljmarshall in [#19446](https://github.com/apache/pulsar/pull/19446)
+- [Broker] Close transactionBuffer after MessageDeduplication#checkStatus 
failed by @tjiuming in [#19157](https://github.com/apache/pulsar/pull/19157)
+- [Broker] Topic could be in fenced state forever if deletion fails by 
@nicoloboschi in [#19129](https://github.com/apache/pulsar/pull/19129)
+- [Broker] Implement BucketDelayedDeliveryTrackerFactory and load 
BucketDelayedDeliveryTracker - part6 by @coderzc in 
[#17756](https://github.com/apache/pulsar/pull/17756)
+- [Broker] Fix the incorrect total size if use ML interceptor by @poorbarcode 
in [#19404](https://github.com/apache/pulsar/pull/19404)
+- [Broker] Fix currency bug in 
BucketDelayedDeliveryTracker#recoverBucketSnapshot by @lhotari in 
[#19394](https://github.com/apache/pulsar/pull/19394)
+- [Broker] Added isActive in ManagedCursorImpl by @heesung-sn in 
[#19341](https://github.com/apache/pulsar/pull/19341)
+- [Broker] Replace sync method in async call chain of internalSetBacklogQuota 
by @lhotari in [#19398](https://github.com/apache/pulsar/pull/19398)
+- [Broker] Replace sync call in async call chain of 
AdminResource#internalCreatePartitionedTopic by @lhotari in 
[#19399](https://github.com/apache/pulsar/pull/19399)
+- [Broker] Reduce calls on metadata store / ZK event thread & Netty threads in 
PersistentTopic by @lhotari in 
[#19388](https://github.com/apache/pulsar/pull/19388)
+- [Broker] Release Netty buffer in finally block in 
ServerCnx#handleLastMessageIdFromCompactedLedger by @lhotari in 
[#19395](https://github.com/apache/pulsar/pull/19395)
+- [Broker] Replace sync method in 
NamespacesBase#internalDeleteNamespaceBundleAsync by @lhotari in 
[#19391](https://github.com/apache/pulsar/pull/19391)
+- [Broker] Fix concurrency bug in 
PersistentTopicsBase#internalGetReplicatedSubscriptionStatus by @lhotari in 
[#19389](https://github.com/apache/pulsar/pull/19389)
+- [Broker] Remove synchronous method call in async call chain in 
PersistentTopicsBase by @lhotari in 
[#19387](https://github.com/apache/pulsar/pull/19387)
+- [Broker] Update interceptor handler exception by @tuteng in 
[#18940](https://github.com/apache/pulsar/pull/18940)
+- [Broker] Add lowerBoundarySheddingEnabled conf by @crossoverJie in 
[#19351](https://github.com/apache/pulsar/pull/19351)
+- [Broker] Fix uncompleted future when get the topic policies of  a deleted 
topic by @liangyepianzhou in 
[#18824](https://github.com/apache/pulsar/pull/18824)
+- [Broker] Simplify extract entryMetadata code in filterEntriesForConsumer by 
@lifepuzzlefun in [#18729](https://github.com/apache/pulsar/pull/18729)
+- [Broker] Catch exception for brokerInterceptor by @aloyszhang in 
[#19147](https://github.com/apache/pulsar/pull/19147)
+- [Broker] Fix RetentionPolicies types mismatch. by @Technoboy- in 
[#18114](https://github.com/apache/pulsar/pull/18114)
+- [Broker] Make Consumer#equals more effective by @Shawyeok in 
[#18662](https://github.com/apache/pulsar/pull/18662)
+- [Broker] TokenAuthenticationState: authenticate token only once by 
@michaeljmarshall in [#19314](https://github.com/apache/pulsar/pull/19314)
+- [Broker] Fix namespace deletion if __change_events topic has not been 
created yet by @nicoloboschi in 
[#18804](https://github.com/apache/pulsar/pull/18804)
+- [Broker] Fix can not delete namespace by force by @liangyepianzhou in 
[#18307](https://github.com/apache/pulsar/pull/18307)
+- [Broker] Replace PulsarService Mockito spy solution for overriding getters 
in tests by @lhotari in [#19323](https://github.com/apache/pulsar/pull/19323)
+- [Broker] Fix issue where leader broker information isn't available after 10 
minutes by @lhotari in [#17401](https://github.com/apache/pulsar/pull/17401)
+- [Broker] Add  UncaughtExceptionHandler for every thread pool by @315157973 
in [#18211](https://github.com/apache/pulsar/pull/18211)
+- [Broker] Replace authenticate with authenticateAsync by @michaeljmarshall in 
[#19313](https://github.com/apache/pulsar/pull/19313)
+- [Broker] Topics stats shows msgBacklog but there reality no backlog by 
@poorbarcode in [#19275](https://github.com/apache/pulsar/pull/19275)
+- [Broker] Only create extended partitions when updating partition number by 
@AnonHxy in [#17349](https://github.com/apache/pulsar/pull/17349)
+- [Broker] Let TokenAuthState update authenticationDataSource by 
@michaeljmarshall in [#19282](https://github.com/apache/pulsar/pull/19282)
+- [Broker] Eagerly Delete Offloaded Segments On Topic Deletion by @dlg99 in 
[#17915](https://github.com/apache/pulsar/pull/17915)
+- [Broker] Documentation for AuthenticationState contract by @michaeljmarshall 
in [#19283](https://github.com/apache/pulsar/pull/19283)
+- [Broker] Allow to use io_uring instead of epoll by @coderzc in 
[#18385](https://github.com/apache/pulsar/pull/18385)
+- [Broker] Using TopicName instead of String as the parameter for `getTopic`. 
by @Technoboy- in [#17416](https://github.com/apache/pulsar/pull/17416)
+- [Broker] Skip creating a subscription replication snapshot if no messages 
have been published after the topic gets activated on a broker by @lhotari in 
[#16618](https://github.com/apache/pulsar/pull/16618)
+- [Broker] Avoid bundle unload destination broker be set as an inactive 
broker. by @Nicklee007 in [#19244](https://github.com/apache/pulsar/pull/19244)
+- [Broker] Update AuthenticationProvider to simplify HTTP Authn by 
@michaeljmarshall in [#19197](https://github.com/apache/pulsar/pull/19197)
+- [Broker] Reduce GetReplicatedSubscriptionStatus local REST call by @AnonHxy 
in [#16946](https://github.com/apache/pulsar/pull/16946)
+- [Broker] Improve tls config on replication client and cluster cli by @nodece 
in [#17295](https://github.com/apache/pulsar/pull/17295)
+- [Broker] Persist correct markDeletePosition to prevent message loss by 
@michaeljmarshall in [#18237](https://github.com/apache/pulsar/pull/18237)
+- [Broker] Implement delayed message index bucket snapshot(merge/delete) - 
part8 by @coderzc in [#19138](https://github.com/apache/pulsar/pull/19138)
+- [Broker] Deprecate blocking AuthorizationService, AuthorizationProvider 
methods by @michaeljmarshall in 
[#19180](https://github.com/apache/pulsar/pull/19180)
+- [Broker] Allow user lookup topic name with `-partition-` but no metadata by 
@mattisonchao in [#19171](https://github.com/apache/pulsar/pull/19171)
+- [Broker] Add ref count for sticky hash to optimize the performance of 
Key_Shared subscription by @codelipenghui in 
[#19167](https://github.com/apache/pulsar/pull/19167)
+- [Broker] Copy proto command fields into final variables in ServerCnx by 
@michaeljmarshall in [#18987](https://github.com/apache/pulsar/pull/18987)
+- [Broker] Add parameter check for create/update cluster. by @mattisonchao in 
[#19151](https://github.com/apache/pulsar/pull/19151)
+- [Broker] In the trimDeletedEntries method, release the removed entry by 
@lordcheng10 in [#18305](https://github.com/apache/pulsar/pull/18305)
+- [Broker] Remove locallyAcquiredLock when removeOwnership by @leizhiyuan in 
[#18197](https://github.com/apache/pulsar/pull/18197)
+- [Broker] Support setting `forceDeleteTenantAllowed` dynamically by 
@Technoboy- in [#18192](https://github.com/apache/pulsar/pull/18192)
+- [Broker] Use ChannelVoidPromise to avoid useless promise objects creation by 
@nicoloboschi in [#19141](https://github.com/apache/pulsar/pull/19141)
+- [Broker] Fix ClusterDataImpl#clone and add test by @michaeljmarshall in 
[#19126](https://github.com/apache/pulsar/pull/19126)
+- [Broker] Fix invalid metric type "gauge " by @coderzc in 
[#18129](https://github.com/apache/pulsar/pull/18129)
+- [Broker] Fix ttl expiration block due to no-recoverable exception even if 
autoSkipNonRecoverableData=true by @aloyszhang in 
[#19132](https://github.com/apache/pulsar/pull/19132)
+- [Broker] Update the log print content of createSubscriptions by @Pomelongan 
in [#18024](https://github.com/apache/pulsar/pull/18024)
+- [Broker] Fix the order of resource close in the 
InMemoryDelayedDeliveryTracker by @coderzc in 
[#18000](https://github.com/apache/pulsar/pull/18000)
+- [Broker] Fix incorrect bundle split count metric by @Shawyeok in 
[#17970](https://github.com/apache/pulsar/pull/17970)
+- [Broker] Update authentication failed metrics report by @tuteng in 
[#17787](https://github.com/apache/pulsar/pull/17787)
+- [Broker] ManagedLedger: move to FENCED state in case of BadVersionException 
by @eolivelli in [#17736](https://github.com/apache/pulsar/pull/17736)
+- [Broker] Do not print error log with stacktrace for 404 by @codelipenghui in 
[#19130](https://github.com/apache/pulsar/pull/19130)
+- [Broker] Fix executeWithRetry result is null by @coderzc in 
[#17694](https://github.com/apache/pulsar/pull/17694)
+- [Broker] Fix cursor skip read by @coderzc in 
[#19124](https://github.com/apache/pulsar/pull/19124)
+- [Broker] Fix can not revoke permission after update topic partition by 
@TakaHiR07 in [#17393](https://github.com/apache/pulsar/pull/17393)
+- [Broker] Add oshi library to help control OS resources. by @mattisonchao in 
[#18990](https://github.com/apache/pulsar/pull/18990)
+- [Broker] Implement Filter out all delayed messages and skip them when 
reading messages from bookies - part7 by @coderzc in 
[#19035](https://github.com/apache/pulsar/pull/19035)
+- [Broker] Fix missing return when internalGetReplicatedSubscriptionStatus by 
@HQebupt in [#19054](https://github.com/apache/pulsar/pull/19054)
+- [Broker] Throw AlreadyClosedException while request to a closed metadata 
store by @codelipenghui in [#19055](https://github.com/apache/pulsar/pull/19055)
+- [Broker] Fix thread safety issue in info-internal admin api for partitioned 
topics by @lhotari in [#19021](https://github.com/apache/pulsar/pull/19021)
+- [Broker] Only get consumer future when interceptor not null by 
@michaeljmarshall in [#19022](https://github.com/apache/pulsar/pull/19022)
+- [Broker] Use validateTopicOperationAsync methods in all cases by @lhotari in 
[#19016](https://github.com/apache/pulsar/pull/19016)
+- [Broker] Fix deadlock in PendingAckHandleImpl by @nicoloboschi in 
[#18989](https://github.com/apache/pulsar/pull/18989)
+- [Broker] Add javadoc for PulsarDecoder handle* method parameter lifecycle by 
@lhotari in [#18998](https://github.com/apache/pulsar/pull/18998)
+- [Broker] Fix direct memory leak in RawReaderImpl by @lhotari in 
[#18928](https://github.com/apache/pulsar/pull/18928)
+- [Broker] Make it Configurable to Require Subscription Permission by 
@michaeljmarshall in [#15576](https://github.com/apache/pulsar/pull/15576)
+- [Broker] Add config `fsyncEnable` for `RocksdbMetadataStore` by @coderzc in 
[#18801](https://github.com/apache/pulsar/pull/18801)
+- [Broker] Implement delayed message bucket snapshot recover - part5 by 
@coderzc in [#18420](https://github.com/apache/pulsar/pull/18420)
+- [Broker] Remove the unused method internalGetList from PersistentTopicsBase 
by @codelipenghui in [#18775](https://github.com/apache/pulsar/pull/18775)
+- [Broker] Fix duplicated schemas creation by @codelipenghui in 
[#18701](https://github.com/apache/pulsar/pull/18701)
+- [Broker] Use correct file path for tls trust certificates by 
@michaeljmarshall in [#18712](https://github.com/apache/pulsar/pull/18712)
+- [Broker] The interval of scheduled task should be greater than 0 by @yuruguo 
in [#18728](https://github.com/apache/pulsar/pull/18728)
+- [Broker] Improve shadow topic error message by @labuladong in 
[#18709](https://github.com/apache/pulsar/pull/18709)
+- [Broker] Combination of autocreate + forced delete of partitioned topic with 
active consumer leaves topic metadata inconsistent. by @dlg99 in 
[#18193](https://github.com/apache/pulsar/pull/18193)
+- [Broker] System topic writer/reader connection not counted by @yuruguo in 
[#18603](https://github.com/apache/pulsar/pull/18603)
+- [Broker] First judge whether config is null when standalone start by 
@yuruguo in [#18681](https://github.com/apache/pulsar/pull/18681)
+- [Broker] Fix thread-safety issue with currentLedgerEntries and 
currentLedgerSize fields by @lhotari in 
[#17868](https://github.com/apache/pulsar/pull/17868)
+- [Broker] Fix namespace not found will cause request timeout by @labuladong 
in [#18512](https://github.com/apache/pulsar/pull/18512)
+- [Broker] Avoid share same random in multi-threads due to performance issue 
by @Shawyeok in [#18660](https://github.com/apache/pulsar/pull/18660)
+- [Broker] System topic writer/reader connection not counted. by @Technoboy- 
in [#18369](https://github.com/apache/pulsar/pull/18369)
+- [Broker] Implement BookkeeperBucketSnapshotStorage - part3 by @coderzc in 
[#17677](https://github.com/apache/pulsar/pull/17677)
+- [Broker] Support internal cursor properties - part4 by @coderzc in 
[#17712](https://github.com/apache/pulsar/pull/17712)
+- [Broker] Avoid unnecessary creation of BitSetRecyclable objects by 
@lordcheng10 in [#17998](https://github.com/apache/pulsar/pull/17998)
+- [Broker] Fix broker cache eviction of entries read by active cursors by 
@lhotari in [#17273](https://github.com/apache/pulsar/pull/17273)
+- [Broker] Add return for PersistentMessageExpiryMonitor#findEntryFailed by 
@Pomelongan in [#17816](https://github.com/apache/pulsar/pull/17816)
+- [Broker] Fix create ns by @nodece in 
[#17864](https://github.com/apache/pulsar/pull/17864)
+- [Broker] DnsResolverUtil.TTL should be greater than zero by @Technoboy- in 
[#18565](https://github.com/apache/pulsar/pull/18565)
+- [Broker] Make managedLedgerOffloadedReadPriority compatible with broker 
property by @ethqunzhong in 
[#17803](https://github.com/apache/pulsar/pull/17803)
+- [Broker] Remove legacy code by @aloyszhang in 
[#18330](https://github.com/apache/pulsar/pull/18330)
+- [Broker] Remove duplicate code to improve delete subscription by @nodece in 
[#15347](https://github.com/apache/pulsar/pull/15347)
+- [Broker] Fix issue where logs get truncated when Runtime.halt is used to 
terminate the process by @lhotari in 
[#17589](https://github.com/apache/pulsar/pull/17589)
+- [Broker] Add missing @Test annotation by @michaeljmarshall in 
[#18528](https://github.com/apache/pulsar/pull/18528)
+- [Broker] Unreasonable AuthenticationException reference by @zzccctv in 
[#18502](https://github.com/apache/pulsar/pull/18502)
+- [Broker] Remove useless argument for 
PersistentTopicBase.internalSkipAllMessagesForNonPartitionedTopicAsync by 
@poorbarcode in [#18473](https://github.com/apache/pulsar/pull/18473)
+- [Broker] Using `handle` instead of `handleAsync` to avoid using common pool 
thread by @Technoboy- in [#17403](https://github.com/apache/pulsar/pull/17403)
+- [Broker] In OverloadShedder, repeatedly filter local bundles by @lordcheng10 
in [#18463](https://github.com/apache/pulsar/pull/18463)
+- [Broker] Fix OutOfDirectMemoryError in standalone with zk by @labuladong in 
[#18337](https://github.com/apache/pulsar/pull/18337)
+- [Broker] ENABLE_IO_URING property name by @coderzc in 
[#18402](https://github.com/apache/pulsar/pull/18402)
+- [Broker] Provide readable consumer stats time by @rdhabalia in 
[#14251](https://github.com/apache/pulsar/pull/14251)
+- [Broker] Fix delete_when_subscriptions_caught_up doesn't work while have 
active consumers by @codelipenghui in 
[#18283](https://github.com/apache/pulsar/pull/18283)
+- [Broker] Support `autoSubscriptionCreation` on topic level by @yuruguo in 
[#17720](https://github.com/apache/pulsar/pull/17720)
+- [Broker] Avoid object create in `RedeliveryTracker.getRedeliveryCount` by 
@lifepuzzlefun in [#18352](https://github.com/apache/pulsar/pull/18352)
+- [Broker] Remove check ack.getMessageIdsCount() == 1 for cumulative ack by 
@AnonHxy in [#18333](https://github.com/apache/pulsar/pull/18333)
+- [Broker] Fix repeated messages of shared streaming dispatcher by 
@poorbarcode in [#18289](https://github.com/apache/pulsar/pull/18289)
+- [Broker] Cleanup unused method: isSlowestReader by @lordcheng10 in 
[#18306](https://github.com/apache/pulsar/pull/18306)
+- [Broker] Get lowest PositionImpl from NavigableSet by @lifepuzzlefun in 
[#18278](https://github.com/apache/pulsar/pull/18278)
+- [Broker] Remove duplicate sendSuccess and sendError in PulsarCommandSender 
by @lifepuzzlefun in [#18250](https://github.com/apache/pulsar/pull/18250)
+- [Broker] Cleanup localStore from NamespaceResources by @AnonHxy in 
[#18258](https://github.com/apache/pulsar/pull/18258)
+- [Broker] Cleanup NamespaceService by @AnonHxy in 
[#18259](https://github.com/apache/pulsar/pull/18259)
+- [Broker] Make CompactedTopicImpl.findStartPointLoop work more efficiently by 
@poorbarcode in [#17976](https://github.com/apache/pulsar/pull/17976)
+- [Broker] Do not serialize field bundleStats by @thetumbled in 
[#18150](https://github.com/apache/pulsar/pull/18150)
+- [Broker] Implement delayed message index bucket snapshot (create/load) - 
part2 by @coderzc in [#17611](https://github.com/apache/pulsar/pull/17611)
+- [Broker] Fix flaky test: 
PrometheusMetricsTest.testDuplicateMetricTypeDefinitions by @nicoloboschi in 
[#18077](https://github.com/apache/pulsar/pull/18077)
+- [Broker] Avoid runtime check hasFilter in EntryFilterSupport by @AnonHxy in 
[#18066](https://github.com/apache/pulsar/pull/18066)
+- [Broker] Remove methods no longer used in AdminResource #7 by @Pomelongan in 
[#17969](https://github.com/apache/pulsar/pull/17969)
+- [Broker] Delete unuse metrics of zk_write_latency and zk_read_latency by 
@liangyuanpeng in [#17505](https://github.com/apache/pulsar/pull/17505)
+- [Broker] ServerCnx: log at warning level when topic not found by 
@michaeljmarshall in [#16225](https://github.com/apache/pulsar/pull/16225)
+- [Broker] Set log level to `warn` when topic policy reader occurs 
AlreadyClosedException by @Technoboy- in 
[#17841](https://github.com/apache/pulsar/pull/17841)
+- [Broker] Add config to count filtered entries towards rate limits by 
@michaeljmarshall in [#17686](https://github.com/apache/pulsar/pull/17686)
+- [Broker] Fix unexpected subscription deletion caused by the cursor last 
active time not updated in time by @dragonls in 
[#17573](https://github.com/apache/pulsar/pull/17573)
+- [Broker] Remove unnecessary variable in PersistentTopic by @poorbarcode in 
[#17511](https://github.com/apache/pulsar/pull/17511)
+- [Broker] Make cursor properties support modify single value concurrently. by 
@coderzc in [#17164](https://github.com/apache/pulsar/pull/17164)
+- [Broker] Do not log stacktrace for 'Failed to flush mark-delete position' 
case by @eolivelli in [#17432](https://github.com/apache/pulsar/pull/17432)
+- [Broker] New bucket based delayed message tracker - interface&config&proto 
-part 1 by @coderzc in [#17344](https://github.com/apache/pulsar/pull/17344)
+- [Broker] Refactor reflection method in delayed and service module by 
@HQebupt in [#17347](https://github.com/apache/pulsar/pull/17347)
+- [Broker] Remove unnecessary parameters(reusefuture) and related logic by 
@Pomelongan in [#17378](https://github.com/apache/pulsar/pull/17378)
+- [Broker] Fix NPE when updating topic properties by @Flowermin in 
[#17352](https://github.com/apache/pulsar/pull/17352)
+- [Broker] Refactor reflection method in loadbalance module by @HQebupt in 
[#17313](https://github.com/apache/pulsar/pull/17313)
+- [Broker] Make deletePersistence method async in Namespaces by @Pomelongan in 
[#17206](https://github.com/apache/pulsar/pull/17206)
+- [Broker] PIP-169: Support split bundle by flow or qps by @lordcheng10 in 
[#16557](https://github.com/apache/pulsar/pull/16557)
+- [Broker] Add Maven Modernizer plugin in pulsar-broker and fix violation in 
`test: broker/admin` by @youzipi in 
[#16993](https://github.com/apache/pulsar/pull/16993)
+- [Broker] Remove unused code by @lordcheng10 in 
[#17036](https://github.com/apache/pulsar/pull/17036)
+
+### Clients
+- [Client] PIP-224: Add getLastMessageIds API by @BewareMyPower in 
[#20040](https://github.com/apache/pulsar/pull/20040)
+- [Client] Refactor client version format by @RobertIndie in 
[#19643](https://github.com/apache/pulsar/pull/19643)
+- [Client] Fix authentication not update after changing the serviceUrl by 
@hangc0276 in [#19510](https://github.com/apache/pulsar/pull/19510)
+- [Client] Fix load the trust store file by @nodece in 
[#19483](https://github.com/apache/pulsar/pull/19483)
+- [Client] PIP-229: Add a common interface to get fields of MessageIdData by 
@BewareMyPower in [#19414](https://github.com/apache/pulsar/pull/19414)
+- [Client] Fix async method composition in admin client's NamespacesImpl by 
@lhotari in [#19397](https://github.com/apache/pulsar/pull/19397)
+- [Client] Fix async completion in ConsumerImpl#processPossibleToDLQ by 
@lhotari in [#19392](https://github.com/apache/pulsar/pull/19392)
+- [Client] Change default threads from 1 to available processors by 
@codelipenghui in [#19059](https://github.com/apache/pulsar/pull/19059)
+- [Client] Retry letter producer respect auto schema by @tisonkun in 
[#19051](https://github.com/apache/pulsar/pull/19051)
+- [Client] Add unified newTableView method in PulsarClient by @yuruguo in 
[#19048](https://github.com/apache/pulsar/pull/19048)
+- [Client] Check topic pattern when creating consumer by @yuruguo in 
[#19029](https://github.com/apache/pulsar/pull/19029)
+- [Client] Prevent DNS reverse lookup when physical address is an IP address 
by @lhotari in [#19028](https://github.com/apache/pulsar/pull/19028)
+- [Client] ConsumerBuilder.java comments by @mendonk in 
[#18706](https://github.com/apache/pulsar/pull/18706)
+- [Client] For exclusive subscriptions, if two consumers are created 
repeatedly, the second consumer will block by @lordcheng10 in 
[#18633](https://github.com/apache/pulsar/pull/18633)
+- [Client] Move acknowledge APIs to another interface and improve docs by 
@BewareMyPower in [#18519](https://github.com/apache/pulsar/pull/18519)
+- [Client] Avoid allocating unused buffer when receiving chunk message by 
@RobertIndie in [#18511](https://github.com/apache/pulsar/pull/18511)
+- [Client] Fix multi-topic consumer stuck after redeliver messages by 
@poorbarcode in [#18491](https://github.com/apache/pulsar/pull/18491)
+- [Client] Fix the note of seek in the consumer by @RobertIndie in 
[#18476](https://github.com/apache/pulsar/pull/18476)
+- [Client] Fix failover/exclusive consumer with batch cumulate ack issue. by 
@Technoboy- in [#18454](https://github.com/apache/pulsar/pull/18454)
+- [Client] Change the get lastMessageId to debug level by @zymap in 
[#18421](https://github.com/apache/pulsar/pull/18421)
+- [Client] Fix the Windows absolute path not recognized in auth param string 
by @BewareMyPower in [#18403](https://github.com/apache/pulsar/pull/18403)
+- [Client] Fix exception when calling loadConf on a ConsumerBuilder that has a 
KeySharedPolicy by @cbornet in 
[#18345](https://github.com/apache/pulsar/pull/18345)
+- [Client] Support LocalDateTime Conversion by @coderzc in 
[#18334](https://github.com/apache/pulsar/pull/18334)
+- [Client] Reduce duplicate code in ConsumerBuilderImpl by @Pomelongan in 
[#18325](https://github.com/apache/pulsar/pull/18325)
+- [Client] PIP-218: Consumer batchReceive() single partition every receive by 
@congbobo184 in [#18316](https://github.com/apache/pulsar/pull/18316)
+- [Client] Fix `IllegalThreadStateException` when using newThread in 
`ExecutorProvider.ExtendedThreadFactory` by @coderzc in 
[#18268](https://github.com/apache/pulsar/pull/18268)
+- [Client] Fix pendingLookupRequestSemaphore leak when Ser… by @Shoothzj in 
[#18219](https://github.com/apache/pulsar/pull/18219)
+- [Client] When namespace is deleted, the client is constantly reconnecting by 
@poorbarcode in [#18194](https://github.com/apache/pulsar/pull/18194)
+- [Client] Remove unused check for topics isEmpty by @AnonHxy in 
[#18185](https://github.com/apache/pulsar/pull/18185)
+- [Client] Remove useless locks in batch receiving by @shibd in 
[#18005](https://github.com/apache/pulsar/pull/18005)
+- [Client] When the compressed message size exceeds maxMessageSize, the 
information in the InvalidMessageException may be incorrect by @lordcheng10 in 
[#17910](https://github.com/apache/pulsar/pull/17910)
+- [Client] Fix deadlock when sending chunked messages with BlockIFQueueFull 
enabled by @RobertIndie in [#17795](https://github.com/apache/pulsar/pull/17795)
+- [Client] Optimize the ack/send future in TransactionImpl by @liangyepianzhou 
in [#17777](https://github.com/apache/pulsar/pull/17777)
+- [Client] Remove redundant pending messages information while print the 
producer stats by @codertmy in 
[#17671](https://github.com/apache/pulsar/pull/17671)

Review Comment:
   ```suggestion
   - [Client] Remove redundant pending messages information while printing the 
producer stats by @codertmy in 
[#17671](https://github.com/apache/pulsar/pull/17671)
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to