This is an automated email from the ASF dual-hosted git repository.

urfree pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git


The following commit(s) were added to refs/heads/main by this push:
     new e3af75675f Docs sync done from apache/pulsar(#081f0d1)
e3af75675f is described below

commit e3af75675f1e4711d383f8f19e9e43e7951fcf41
Author: Pulsar Site Updater <[email protected]>
AuthorDate: Wed Apr 20 12:07:23 2022 +0000

    Docs sync done from apache/pulsar(#081f0d1)
---
 site2/docs/client-libraries-cpp.md                 |   3 +
 site2/website-next/docs/client-libraries-cpp.md    |   3 +
 site2/website-next/pulsar-manager-release-notes.md |  35 +
 .../version-2.2.1/client-libraries-cpp.md          |   3 +
 .../version-2.3.2/client-libraries-cpp.md          |   3 +
 .../version-2.4.0/client-libraries-cpp.md          |   3 +
 .../version-2.4.1/client-libraries-cpp.md          |   3 +
 .../version-2.4.2/client-libraries-cpp.md          |   3 +
 site2/website/release-notes.md                     | 844 +++++++++++++++++++++
 9 files changed, 900 insertions(+)

diff --git a/site2/docs/client-libraries-cpp.md 
b/site2/docs/client-libraries-cpp.md
index 788453eb8a..28796ca800 100644
--- a/site2/docs/client-libraries-cpp.md
+++ b/site2/docs/client-libraries-cpp.md
@@ -323,6 +323,8 @@ using namespace pulsar;
 
 int main() {
     Client client("pulsar://localhost:6650");
+    
+    Producer producer;
 
     Result result = 
client.createProducer("persistent://public/default/my-topic", producer);
     if (result != ResultOk) {
@@ -364,6 +366,7 @@ Without this configuration, the result code 
`ResultProducerQueueIsFull` is passe
 ```c++
 #include <pulsar/Client.h>
 #include <thread>
+#include <atomic>
 
 using namespace pulsar;
 
diff --git a/site2/website-next/docs/client-libraries-cpp.md 
b/site2/website-next/docs/client-libraries-cpp.md
index b67f6d9e00..48f826701c 100644
--- a/site2/website-next/docs/client-libraries-cpp.md
+++ b/site2/website-next/docs/client-libraries-cpp.md
@@ -386,6 +386,8 @@ using namespace pulsar;
 
 int main() {
     Client client("pulsar://localhost:6650");
+    
+    Producer producer;
 
     Result result = 
client.createProducer("persistent://public/default/my-topic", producer);
     if (result != ResultOk) {
@@ -429,6 +431,7 @@ Without this configuration, the result code 
`ResultProducerQueueIsFull` is passe
 
 #include <pulsar/Client.h>
 #include <thread>
+#include <atomic>
 
 using namespace pulsar;
 
diff --git a/site2/website-next/pulsar-manager-release-notes.md 
b/site2/website-next/pulsar-manager-release-notes.md
new file mode 100644
index 0000000000..bcdae1b388
--- /dev/null
+++ b/site2/website-next/pulsar-manager-release-notes.md
@@ -0,0 +1,35 @@
+## Apache Pulsar Manager
+
+### 0.2.0 &mdash; 2020-09-28 <a id="0.2.0"></a>
+
+* Support multiple addresses for the broker stats 
[PR-306](https://github.com/apache/pulsar-manager/pull/306).
+* Use `PulsarAdmin` instead of `HttpUti`l in `BrokerStatsServiceImpl` 
[PR-315](https://github.com/apache/pulsar-manager/pull/315).
+* Serve frontend directly from Pulsar Manager backend process 
[PR-288](https://github.com/apache/pulsar-manager/pull/288).
+* Support docker for JWT 
[PR-218](https://github.com/apache/pulsar-manager/pull/218).
+* Support sub and unsub operations 
[PR-240](https://github.com/apache/pulsar-manager/pull/240).
+* Support peeking messages from the Pulsar broker 
[PR-241](https://github.com/apache/pulsar-manager/pull/241).
+* Support BookKeeper visual manager 1.2.0 
[PR-300](https://github.com/apache/pulsar-manager/pull/300).
+* Support forwarding messages through HTTPS 
[PR-258](https://github.com/apache/pulsar-manager/pull/258).
+* Support displaying stats for tenants and namespaces 
[PR-243](https://github.com/apache/pulsar-manager/pull/243).
+* Add a configuration file for the backend service of Pulsar manager 
[PR-236](https://github.com/apache/pulsar-manager/pull/236).
+* Add default configurations for the environment 
[PR-242](https://github.com/apache/pulsar-manager/pull/242).
+* Fixe an SQL syntax error 
[PR-298](https://github.com/apache/pulsar-manager/pull/298).
+* Fix the issue that Pulsar Manager fail to process the request sent to the 
Pulsar proxy [PR-281](https://github.com/apache/pulsar-manager/pull/281).
+* Change the default port and replace the request URI 
[PR-316](https://github.com/apache/pulsar-manager/pull/316).
+
+
+### 0.1.0 &mdash; 2019-11-25 <a id="0.1.0"></a>
+
+* Remove streamnative from the project 
[PR-213](https://github.com/apache/pulsar-manager/pull/213).
+* Add license file for pulsar-manager 
[PR-209](https://github.com/apache/pulsar-manager/pull/209).
+* Support management of jwt for pulsar-manager 
[PR-205](https://github.com/apache/pulsar-manager/pull/205).
+* Support redirect.scheme 
[PR-204](https://github.com/apache/pulsar-manager/pull/204).
+* Fix reset cursor by time 
[PR-179](https://github.com/apache/pulsar-manager/pull/179).
+* Fix wrong broker display error 
[PR-187](https://github.com/apache/pulsar-manager/pull/187).
+* Remove dependency package jszip 
[PR-189](https://github.com/apache/pulsar-manager/pull/189).
+* Add developer guide 
[PR-186](https://github.com/apache/pulsar-manager/pull/186).
+* Keep table and column name fields lowercase 
[PR-190](https://github.com/apache/pulsar-manager/pull/190).
+* Fix loggin level [PR-191](https://github.com/apache/pulsar-manager/pull/191).
+* Fix wrong place for license scan badge 
[PR-193](https://github.com/apache/pulsar-manager/pull/193).
+* Add support for HerdDB database 
[PR-183](https://github.com/apache/pulsar-manager/pull/183).
+* Make default environment persistent 
[PR-197](https://github.com/apache/pulsar-manager/pull/197).
\ No newline at end of file
diff --git 
a/site2/website-next/versioned_docs/version-2.2.1/client-libraries-cpp.md 
b/site2/website-next/versioned_docs/version-2.2.1/client-libraries-cpp.md
index b67f6d9e00..48f826701c 100644
--- a/site2/website-next/versioned_docs/version-2.2.1/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.2.1/client-libraries-cpp.md
@@ -386,6 +386,8 @@ using namespace pulsar;
 
 int main() {
     Client client("pulsar://localhost:6650");
+    
+    Producer producer;
 
     Result result = 
client.createProducer("persistent://public/default/my-topic", producer);
     if (result != ResultOk) {
@@ -429,6 +431,7 @@ Without this configuration, the result code 
`ResultProducerQueueIsFull` is passe
 
 #include <pulsar/Client.h>
 #include <thread>
+#include <atomic>
 
 using namespace pulsar;
 
diff --git 
a/site2/website-next/versioned_docs/version-2.3.2/client-libraries-cpp.md 
b/site2/website-next/versioned_docs/version-2.3.2/client-libraries-cpp.md
index b67f6d9e00..48f826701c 100644
--- a/site2/website-next/versioned_docs/version-2.3.2/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.3.2/client-libraries-cpp.md
@@ -386,6 +386,8 @@ using namespace pulsar;
 
 int main() {
     Client client("pulsar://localhost:6650");
+    
+    Producer producer;
 
     Result result = 
client.createProducer("persistent://public/default/my-topic", producer);
     if (result != ResultOk) {
@@ -429,6 +431,7 @@ Without this configuration, the result code 
`ResultProducerQueueIsFull` is passe
 
 #include <pulsar/Client.h>
 #include <thread>
+#include <atomic>
 
 using namespace pulsar;
 
diff --git 
a/site2/website-next/versioned_docs/version-2.4.0/client-libraries-cpp.md 
b/site2/website-next/versioned_docs/version-2.4.0/client-libraries-cpp.md
index b67f6d9e00..48f826701c 100644
--- a/site2/website-next/versioned_docs/version-2.4.0/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.0/client-libraries-cpp.md
@@ -386,6 +386,8 @@ using namespace pulsar;
 
 int main() {
     Client client("pulsar://localhost:6650");
+    
+    Producer producer;
 
     Result result = 
client.createProducer("persistent://public/default/my-topic", producer);
     if (result != ResultOk) {
@@ -429,6 +431,7 @@ Without this configuration, the result code 
`ResultProducerQueueIsFull` is passe
 
 #include <pulsar/Client.h>
 #include <thread>
+#include <atomic>
 
 using namespace pulsar;
 
diff --git 
a/site2/website-next/versioned_docs/version-2.4.1/client-libraries-cpp.md 
b/site2/website-next/versioned_docs/version-2.4.1/client-libraries-cpp.md
index b67f6d9e00..48f826701c 100644
--- a/site2/website-next/versioned_docs/version-2.4.1/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.1/client-libraries-cpp.md
@@ -386,6 +386,8 @@ using namespace pulsar;
 
 int main() {
     Client client("pulsar://localhost:6650");
+    
+    Producer producer;
 
     Result result = 
client.createProducer("persistent://public/default/my-topic", producer);
     if (result != ResultOk) {
@@ -429,6 +431,7 @@ Without this configuration, the result code 
`ResultProducerQueueIsFull` is passe
 
 #include <pulsar/Client.h>
 #include <thread>
+#include <atomic>
 
 using namespace pulsar;
 
diff --git 
a/site2/website-next/versioned_docs/version-2.4.2/client-libraries-cpp.md 
b/site2/website-next/versioned_docs/version-2.4.2/client-libraries-cpp.md
index b67f6d9e00..48f826701c 100644
--- a/site2/website-next/versioned_docs/version-2.4.2/client-libraries-cpp.md
+++ b/site2/website-next/versioned_docs/version-2.4.2/client-libraries-cpp.md
@@ -386,6 +386,8 @@ using namespace pulsar;
 
 int main() {
     Client client("pulsar://localhost:6650");
+    
+    Producer producer;
 
     Result result = 
client.createProducer("persistent://public/default/my-topic", producer);
     if (result != ResultOk) {
@@ -429,6 +431,7 @@ Without this configuration, the result code 
`ResultProducerQueueIsFull` is passe
 
 #include <pulsar/Client.h>
 #include <thread>
+#include <atomic>
 
 using namespace pulsar;
 
diff --git a/site2/website/release-notes.md b/site2/website/release-notes.md
index 849294e820..4e42d7443c 100644
--- a/site2/website/release-notes.md
+++ b/site2/website/release-notes.md
@@ -1,6 +1,850 @@
 
 ## Apache Pulsar Release Notes
 
+### 2.10.0
+#### 2022-04-13
+
+### Important notice
+- Remove -XX:-ResizePLAB JVM option which degrades performance on JDK11 
[#12940](https://github.com/apache/pulsar/pull/12940)
+- Enable TCP keepAlive flag on the sockets 
[#12982](https://github.com/apache/pulsar/pull/12982)
+- Reduce the time it takes for namespace bundle unloading to time out 
[#12995](https://github.com/apache/pulsar/pull/12995)
+- Align configurations defaults between default file and Java object 
(broker.conf, proxy.conf, websocket.conf) 
[#13272](https://github.com/apache/pulsar/pull/13272)
+- [PIP 118] Do not restart brokers when ZooKeeper session expires as default 
[#13341](https://github.com/apache/pulsar/pull/13341)
+- [PIP 119] Enable consistent hashing by default on KeyShared subscriptions 
dispatcher [#13352](https://github.com/apache/pulsar/pull/13352)
+- [PIP 120] Enable client memory limit controller by default 
[#13344](https://github.com/apache/pulsar/pull/13344)
+- Make Docker images non-root, by default, and OpenShift compliant 
[#13376](https://github.com/apache/pulsar/pull/13376)
+- [PIP 122] Change loadBalancer default loadSheddingStrategy to 
ThresholdShedder [#13733](https://github.com/apache/pulsar/pull/13733)
+- Fix netcat returning early for probe 
[#14088](https://github.com/apache/pulsar/pull/14088)
+
+### PIPs
+- [PIP 79] Add lazy-loading feature to PartitionedProducer 
[#10279](https://github.com/apache/pulsar/pull/10279)
+- [PIP 84] Pulsar client: Redeliver command add epoch 
[#10478](https://github.com/apache/pulsar/pull/10478)
+- [PIP 86] Pulsar Functions: Preload and release external resources 
[#13205](https://github.com/apache/pulsar/pull/13205)
+- [PIP 92] Topic policy across multiple clusters 
[#12517](https://github.com/apache/pulsar/pull/12517)
+- [PIP 104] Add new consumer type: TableView 
[#12838](https://github.com/apache/pulsar/pull/12838)
+- [PIP-105] Support pluggable entry filter in Dispatcher 
[#12869](https://github.com/apache/pulsar/pull/12869) 
[#12970](https://github.com/apache/pulsar/pull/12970) 
[#12979](https://github.com/apache/pulsar/pull/12979)
+- [PIP 106] Broker extensions to provide operators of enterprise-wide clusters 
better control and flexibility 
[#12536](https://github.com/apache/pulsar/pull/12536)
+- [PIP 107] Introduce chunk message ID 
[#12403](https://github.com/apache/pulsar/pull/12403)
+- [PIP 110] Support Topic metadata - PART-1  create topic with properties 
[#12818](https://github.com/apache/pulsar/pull/12818)
+- [PIP 121] Pulsar cluster level auto failover on client side 
[#13316](https://github.com/apache/pulsar/pull/13316)
+- [PIP-124] Create init subscription before sending message to DLQ  
[#13355](https://github.com/apache/pulsar/pull/13355)
+- [PIP-130] Apply redelivery backoff policy for ack timeout 
[#13707](https://github.com/apache/pulsar/pull/13707)
+- [PIP 131] Resolve produce chunk messages failed when topic level 
maxMessageSize is set [#13599](https://github.com/apache/pulsar/pull/13599)
+- [PIP 135] Include MetadataStore backend for Etcd 
[#13225](https://github.com/apache/pulsar/pull/13225)
+
+### Broker
+- [PIP 45] Pluggable metadata interface
+  - Add BookKeeper metadata adapter based on MetadataStore 
[#12770](https://github.com/apache/pulsar/pull/12770)
+  - Add Rocksdb metadata store 
[#12776](https://github.com/apache/pulsar/pull/12776)
+  - Convert BookieRackAffinityMapping to use MetadataStore 
[#12841](https://github.com/apache/pulsar/pull/12841)
+  - Allow to configure metadata store URL in broker.conf 
[#13077](https://github.com/apache/pulsar/pull/13077)
+  - Remove old ZK caches implementations 
[#13075](https://github.com/apache/pulsar/pull/13075)
+  - Allow to start bookie with Pulsar metadata store backend 
[#13296](https://github.com/apache/pulsar/pull/13296)
+  - Remove ZooKeeperClientFactory 
[#13303](https://github.com/apache/pulsar/pull/13303)
+  - Use reference counting in RocksDB metadata store 
[#13309](https://github.com/apache/pulsar/pull/13309)
+  - Allow configuring metadata store URL in proxy.conf 
[#13777](https://github.com/apache/pulsar/pull/13777)
+  - Allow configuring metadata store URL in functions_worker.yml 
[#13782](https://github.com/apache/pulsar/pull/13782)
+  - Add configuration metadata store url setting in WebSocket 
[#13786](https://github.com/apache/pulsar/pull/13786)
+  - Allow configuring configurationMetadataStore when initializing cluster 
metadata [#13889](https://github.com/apache/pulsar/pull/13889)
+  - Using the consistent metadata store scheme name 
[#13937](https://github.com/apache/pulsar/pull/13937)
+  - Allow configuring `metadataStoreUrl` in `pulsar-perf managed-ledger` 
[#14145](https://github.com/apache/pulsar/pull/14145)
+  - Deprecate zookeeper settings 
[#14147](https://github.com/apache/pulsar/pull/14147)
+  - Fix metadata cache inconsistency on doing refresh 
[#14283](https://github.com/apache/pulsar/pull/14283)
+- Support broker level dispatch rate limiter 
[#11325](https://github.com/apache/pulsar/pull/11325)
+- Support setting geo-replication clusters on topic level 
[#12136](https://github.com/apache/pulsar/pull/12136)
+- Add Multi-tiered storage key to broker.conf 
[#12173](https://github.com/apache/pulsar/pull/12173)
+- Support configuration to rate-limit dispatching on batch message 
[#12294](https://github.com/apache/pulsar/pull/12294)
+- Support splitting the largest bundle of the namespace 
[#12361](https://github.com/apache/pulsar/pull/12361)
+- Support creating a subscription by specifying the earliest or latest 
position [#12872](https://github.com/apache/pulsar/pull/12872)
+- Support roll-over ledgers for inactive topics 
[#13073](https://github.com/apache/pulsar/pull/13073)
+- Support graceful shutdown for Broker 
[#14114](https://github.com/apache/pulsar/pull/14114)
+- Transparent batching of ZK operations 
[#13043](https://github.com/apache/pulsar/pull/13043)
+- Add uniform load shedder strategy to distribute traffic uniformly across 
brokers [#12902](https://github.com/apache/pulsar/pull/12902)
+- Provide option to split bundle based on load 
[#12378](https://github.com/apache/pulsar/pull/12378)
+- Use AuthorizationService#grantPermissionAsync to grant topic permission 
[#12515](https://github.com/apache/pulsar/pull/12515)
+- Only store authentication data after authentication is complete 
[#12077](https://github.com/apache/pulsar/pull/12077)
+- Allow to have different instances LocalMemoryMetadataStore that share the 
same state [#12390](https://github.com/apache/pulsar/pull/12390)
+- Allow `GetTopicsOfNamespace` op with `consume` permission 
[#12600](https://github.com/apache/pulsar/pull/12600)
+- Add local filesystem backend for package manager 
[#12708](https://github.com/apache/pulsar/pull/12708)
+- Add stop replicator producer logic when start replicator cluster failed 
[#12724](https://github.com/apache/pulsar/pull/12724)
+- Apply PolicyHierarchyValue to inactiveTopicPolicies 
[#12687](https://github.com/apache/pulsar/pull/12687)
+- Fix can not get leader broker in follower brokers 
[#11353](https://github.com/apache/pulsar/pull/11353)
+- Fix broker gc log options 
[#11285](https://github.com/apache/pulsar/pull/11285)
+- Fix NPE of ZkBookieRackAffinityMapping 
[#11947](https://github.com/apache/pulsar/pull/11947)
+- Fix prefix setting in JWT authn and avoid multi calls for the getProperty 
[#12132](https://github.com/apache/pulsar/pull/12132)
+- Fix missed check exit code of stop before calling start 
[#12368](https://github.com/apache/pulsar/pull/12368)
+- Fix getting children of parent nodes in LocalMemoryMetadataStore 
[#12491](https://github.com/apache/pulsar/pull/12491)
+- Fix collection get bug in ResourceGroupService 
[#12499](https://github.com/apache/pulsar/pull/12499)
+- Fix deadlock in metadata-store callback thread 
[#12753](https://github.com/apache/pulsar/pull/12753)
+- Improve exceptions thrown when handling the schema resource 
[#12155](https://github.com/apache/pulsar/pull/12155)
+- Trim topic name [#12453](https://github.com/apache/pulsar/pull/12453)
+- Avoid unnecessary recalculation of maxSubscriptionsPerTopic in AbstractTopic 
[#12658](https://github.com/apache/pulsar/pull/12658)
+- Optimize isValidPath check in MetadataStore 
[#12663](https://github.com/apache/pulsar/pull/12663)
+- Close connection after receiving unexpected SendCommand 
[#12780](https://github.com/apache/pulsar/pull/12780)
+- Ensure cache is refreshed (and not just invalidated) after a store write 
[#12788](https://github.com/apache/pulsar/pull/12788)
+- Optimize topicMaxMessageSize with topic local cache. 
[#12830](https://github.com/apache/pulsar/pull/12830)
+- Optimize blocking backlogQuotaCheck to non-blocking in 
ServerCnx#handleProducer [#12874](https://github.com/apache/pulsar/pull/12874)
+- Only refresh metadata if path is already in cache after write. 
[#12896](https://github.com/apache/pulsar/pull/12896)
+- Optimize put and get methods in AbstractMetadataStore 
[#12916](https://github.com/apache/pulsar/pull/12916)
+- Fix zk-node leak of admin path 
[#12972](https://github.com/apache/pulsar/pull/12972)
+- Optimize TopicPolicy#deduplicationEnabled with HierarchyTopicPolicies 
[#13000](https://github.com/apache/pulsar/pull/13000)
+- Fix race condition in FaultInjectionMetadataStore#programmedFailure 
[#13007](https://github.com/apache/pulsar/pull/13007)
+- Fix usage of PULSAR_EXTRA_OPTS/BOOKIE_EXTRA_OPTS in startup scripts 
[#13025](https://github.com/apache/pulsar/pull/13025)
+- Consider topics in pulsar/system namespace as system topics 
[#13050](https://github.com/apache/pulsar/pull/13050)
+- Fix wrong result for looking up a non-exist topic by rest api 
[#13055](https://github.com/apache/pulsar/pull/13055)
+- Key_Shared dispatcher with no connected consumers should be recreated if 
allowOutOfOrderDelivery changes 
[#13063](https://github.com/apache/pulsar/pull/13063)
+- Make load-balancer config dynamic for the runtime tuning 
[#13074](https://github.com/apache/pulsar/pull/13074)
+- Optimize TopicPolicy#maxProducersPerTopic with HierarchyTopicPolicies 
[#13082](https://github.com/apache/pulsar/pull/13082)
+- Load balancer supports disabling max-session for bundle split 
[#13108](https://github.com/apache/pulsar/pull/13108)
+- Optimize TopicPolicies#subscriptionTypesEnabled with HierarchyTopicPolicies 
[#13121](https://github.com/apache/pulsar/pull/13121)
+- Log thread dump when Zookeeper session expires to help detect possible 
deadlocks [#13124](https://github.com/apache/pulsar/pull/13124)
+- Add removeMaxConsumersPerSubscription method for v1 namespace 
[#13192](https://github.com/apache/pulsar/pull/13192)
+- Fixe error value for 1MB in metrics 
[#13213](https://github.com/apache/pulsar/pull/13213)
+- Optimize TopicPolicies#messageTTLInSeconds with HierarchyTopicPolicies 
[#13241](https://github.com/apache/pulsar/pull/13241)
+- Add schema compatibility strategy on topic level 
[#13297](https://github.com/apache/pulsar/pull/13297)
+- Optimize TopicPolicies#maxConsumerPerTopic with HierarchyTopicPolicies  
[#13361](https://github.com/apache/pulsar/pull/13361)
+- Optimize TopicPolicies#replicationClusters with HierarchyTopicPolicies 
[#13495](https://github.com/apache/pulsar/pull/13495)
+- Fix compatibility issue with other metadata store implementations in 
resources [#13394](https://github.com/apache/pulsar/pull/13394)
+- Fix race condition in stopping replicator while it is starting 
[#13412](https://github.com/apache/pulsar/pull/13412)
+- Support backlog quota across multiple clusters 
[#13445](https://github.com/apache/pulsar/pull/13445)
+- Return null instead of RestException when getting bookieAffinityGroup 
[#13462](https://github.com/apache/pulsar/pull/13462)
+- Fix failed to get Partitioned metadata for health checking 
[#13525](https://github.com/apache/pulsar/pull/13525)
+- Optimize TopicPolicies#maxConsumersPerSubscription with 
HierarchyTopicPolicies [#13548](https://github.com/apache/pulsar/pull/13548)
+- Fix raw use of generic types in OwnershipCache 
[#13592](https://github.com/apache/pulsar/pull/13592)
+- Optimize TopicPolicies#maxUnackedMessagesOnConsumer with 
HierarchyTopicPolicies [#13618](https://github.com/apache/pulsar/pull/13618)
+- Optimize TopicPolicies#delayedDelivery Enabled and TickTimeMillis with 
HierarchyTopicPolicies [#13649](https://github.com/apache/pulsar/pull/13649)
+- Optimize TopicPolicies#compactionThreshold with HierarchyTopicPolicies 
[#13710](https://github.com/apache/pulsar/pull/13710)
+- Add deleteSubscriptionDispatchRate method for v1 namespace 
[#13711](https://github.com/apache/pulsar/pull/13711)
+- Fix NPE of checkReplication 
[#13720](https://github.com/apache/pulsar/pull/13720)
+- Optimize deduplicationSnapshotIntervalSeconds with HierarchyTopicPolicies 
[#13769](https://github.com/apache/pulsar/pull/13769)
+- Use shared executors for broker and geo-replication clients 
[#13839](https://github.com/apache/pulsar/pull/13839)
+- Fix call sync method in async rest api for
+  - for internalDeletePartitionedTopic 
[#13805](https://github.com/apache/pulsar/pull/13805)
+  - for internalCreateSubscription. 
[#13873](https://github.com/apache/pulsar/pull/13873)
+  - for internalGetBacklogSizeByMessageId 
[#13871](https://github.com/apache/pulsar/pull/13871)
+  - for internalTriggerCompaction 
[#13853](https://github.com/apache/pulsar/pull/13853)
+  - for internalGetManagedLedgerInfo 
[#13847](https://github.com/apache/pulsar/pull/13847)
+  - for internalGetSubscriptions 
[#13846](https://github.com/apache/pulsar/pull/13846)
+  - for internalUnloadTopic 
[#13845](https://github.com/apache/pulsar/pull/13845)
+  - for internalGetLastMessageId 
[#13882](https://github.com/apache/pulsar/pull/13882)
+  - for internalExpireMessagesByTimestamp 
[#13880](https://github.com/apache/pulsar/pull/13880)
+  - for internalResetCursorOnPosition 
[#13879](https://github.com/apache/pulsar/pull/13879)
+  - for internalExpireMessagesByPosition 
[#13878](https://github.com/apache/pulsar/pull/13878)
+  - for internalGetMessageById. 
[#13876](https://github.com/apache/pulsar/pull/13876)
+  - for internalSetReplicatedSubscriptionStatus 
[#13887](https://github.com/apache/pulsar/pull/13887)
+  - for internalGetPartitionedStats 
[#13886](https://github.com/apache/pulsar/pull/13886)
+  - for onPoliciesUpdate method 
[#13885](https://github.com/apache/pulsar/pull/13885)
+  - for internalGetPartitionedStatsInternal 
[#13884](https://github.com/apache/pulsar/pull/13884)
+  - for internalTerminatePartitionedTopic 
[#13890](https://github.com/apache/pulsar/pull/13890)
+  - for internalSkipAllMessages 
[#13901](https://github.com/apache/pulsar/pull/13901)
+  - for preValidation [#13962](https://github.com/apache/pulsar/pull/13962)
+  - for internalSetReplicationClusters and internalRemoveReplicationClusters 
[#13961](https://github.com/apache/pulsar/pull/13961)
+- Make PulsarAuthorizationProvider#grantPermissionAsync actually async 
[#13897](https://github.com/apache/pulsar/pull/13897)
+- Fix no value present when updating dispatch rate 
[#13900](https://github.com/apache/pulsar/pull/13900)
+- Optimize retentionPolicies with HierarchyTopicPolicies 
[#13909](https://github.com/apache/pulsar/pull/13909)
+- Improve 403 response message wih consume permission on namespace 
[#13912](https://github.com/apache/pulsar/pull/13912)
+- Fix arithmetic exception for uniform load shedder 
[#13914](https://github.com/apache/pulsar/pull/13914)
+- Add threshold for each unload round for uniform load shedder 
[#13915](https://github.com/apache/pulsar/pull/13915)
+- Fix call sync method in async rest api for internalDeleteSubscription #13884 
[#13917](https://github.com/apache/pulsar/pull/13917)
+- Change ``BrokersBase`` api ``getActiveBrokers`` and ``getLeaderBroker`` to 
pure async. [#13935](https://github.com/apache/pulsar/pull/13935)
+- Do not create missing topic when loading namespace 
[#13948](https://github.com/apache/pulsar/pull/13948)
+- Only reply to client when code completes producerFuture 
[#13949](https://github.com/apache/pulsar/pull/13949)
+- Improve error logging for topic not found 
[#13950](https://github.com/apache/pulsar/pull/13950)
+- Make validateTenantOperation method async in PulsarWebResource 
[#14008](https://github.com/apache/pulsar/pull/14008)
+- Optimize maxUnackedMessagesOnSubscription with HierarchyTopicPolicies 
[#14011](https://github.com/apache/pulsar/pull/14011)
+- Set default value of applied to false in getSchemaCompatibilityStrategy 
[#14012](https://github.com/apache/pulsar/pull/14012)
+- Make validateTopicPolicyOperation method async in PulsarWebResource 
[#14024](https://github.com/apache/pulsar/pull/14024)
+- Fix producerFuture.completeExceptionally not called before sendErrorResponse 
[#14025](https://github.com/apache/pulsar/pull/14025)
+- Make triggerOffload method async 
[#14027](https://github.com/apache/pulsar/pull/14027)
+- Make offloadStatus method async 
[#14029](https://github.com/apache/pulsar/pull/14029)
+- Make validateNamespacePolicyOperation method async in PulsarWebResource 
[#14033](https://github.com/apache/pulsar/pull/14033)
+- Make internalSkipMessages method async 
[#14045](https://github.com/apache/pulsar/pull/14045)
+- Make PersistentTopicsBase#internalSetBacklogQuota async 
[#14051](https://github.com/apache/pulsar/pull/14051)
+- Adjust the validation for policy schemaCompatibilityStrategy 
[#14061](https://github.com/apache/pulsar/pull/14061)
+- Remove Persistent Topics v3 API - use custom media type instead 
[#14117](https://github.com/apache/pulsar/pull/14117)
+- Fix race condition in PulsarLedgerIdGenerator#generateShortLedgerId 
[#14118](https://github.com/apache/pulsar/pull/14118)
+- Optimize topic policy with HierarchyTopicPolicies about 
subscriptionDispatchRate [#14151](https://github.com/apache/pulsar/pull/14151)
+- Make `BrokerBase#deleteDynamicConfiguration` to pure async method 
[#14163](https://github.com/apache/pulsar/pull/14163)
+- Set default value of applied to false on topic policy 
[#14181](https://github.com/apache/pulsar/pull/14181)
+- Change broker producer fence log level 
[#14196](https://github.com/apache/pulsar/pull/14196)
+- Remove duplicated filter for UniformLoadShedder#findBundlesForUnloading 
[#14198](https://github.com/apache/pulsar/pull/14198)
+- Adjust topic exists check logic in http lookup process 
[#14199](https://github.com/apache/pulsar/pull/14199)
+- Fix NPE of internalExpireMessagesByTimestamp 
[#14243](https://github.com/apache/pulsar/pull/14243)
+- Fix rackaware placement policy does not take effect after delete rack 
configuration [#14248](https://github.com/apache/pulsar/pull/14248)
+- Fix print error log when server return redirect (http code 307) 
[#14259](https://github.com/apache/pulsar/pull/14259)
+- Optimize topic policy with HierarchyTopicPolicies about publishRate 
[#14267](https://github.com/apache/pulsar/pull/14267)
+- Fix ack-hole and backlog for persistent-replicator 
[#14282](https://github.com/apache/pulsar/pull/14282)
+- Fix NPE in internalSkipMessages 
[#14297](https://github.com/apache/pulsar/pull/14297)
+- Validate blank advertised listener name 
[#14306](https://github.com/apache/pulsar/pull/14306)
+- Let entries expire in the metadata caches 
[#14154](https://github.com/apache/pulsar/pull/14154)
+- Fix transaction system topic loop creation 
[#12749](https://github.com/apache/pulsar/pull/12749)
+- Fix topic transaction buffer handle null snapshot 
[#12758](https://github.com/apache/pulsar/pull/12758)
+- Optimize changeToCloseState method 
[#14277](https://github.com/apache/pulsar/pull/14277)
+
+### Clients
+- [Java] Support creating a consumer in the paused state 
[#11974](https://github.com/apache/pulsar/pull/11974)
+- [Java] Support passing existing executor providers to the client 
[#12037](https://github.com/apache/pulsar/pull/12037)
+- [Java] Fix the producer OOM if got an exception while adding messages to 
batch container [#12170](https://github.com/apache/pulsar/pull/12170)
+- [Java] Allow to config client allocator out of memory policy 
[#12200](https://github.com/apache/pulsar/pull/12200)
+- [Java] Support negative ack redelivery backoff 
[#12566](https://github.com/apache/pulsar/pull/12566)
+- [Java] Fix confusing logs in UnAckedMessageTracker 
[#13017](https://github.com/apache/pulsar/pull/13017)
+- [Java] Fix parseProtobufSchema method will be called two times 
[#13163](https://github.com/apache/pulsar/pull/13163)
+- [Java] Add getNumPartitions method into PartitionedProducerImpl 
[#13239](https://github.com/apache/pulsar/pull/13239)
+- [Java] Allow config client dns bind addr and port 
[#13390](https://github.com/apache/pulsar/pull/13390)
+- [Java] Support adding custom properties for the reconsumeLater interface 
[#13461](https://github.com/apache/pulsar/pull/13461)
+- [Java] Allow Client Builder set Dnslookup params 
[#13503](https://github.com/apache/pulsar/pull/13503)
+- [Java] Avoid repeatedly set startMessageIdData to null for ConsumerImpl 
[#13606](https://github.com/apache/pulsar/pull/13606)
+- [Java] Let the 'properties' to be empty for ConsumerBuilder and 
ProducerBuilder [#14074](https://github.com/apache/pulsar/pull/14074)
+- [Java] Log producer batchSize and msgSize percentiles 
[#14229](https://github.com/apache/pulsar/pull/14229)
+- [C++] Add Wireshark cmake and fix build with latest Wireshark 
[#13236](https://github.com/apache/pulsar/pull/13236)
+- [C++] Wireshark Pulsar dissector naming replace yahoo with apache 
[#13251](https://github.com/apache/pulsar/pull/13251)
+- [C++] Support arm64 optimized CRC32c hardware-instructions 
[#13246](https://github.com/apache/pulsar/pull/13246)
+- [C++] Support more pulsar command names and versions in Wireshark dissector 
[#13286](https://github.com/apache/pulsar/pull/13286)
+- [C++] Optimize MessageBuilder and SharedBuffer to avoid unnecessary memory 
copy [#13293](https://github.com/apache/pulsar/pull/13293)
+- [C++] Fix in Apple Silicon macOS the clang-format cannot find 
[#13333](https://github.com/apache/pulsar/pull/13333)
+- [C++] Add clang-format check for Pulsar Wireshark dissector 
[#13349](https://github.com/apache/pulsar/pull/13349)
+- [C++] Adjust clang-format search names 
[#13369](https://github.com/apache/pulsar/pull/13369)
+- [C++] Fix Wireshark dissector decode send command metadata behavior 
[#13471](https://github.com/apache/pulsar/pull/13471)
+- [C++] PIP 37: Support large message size 
[#13627](https://github.com/apache/pulsar/pull/13627)
+- [C++] Fix the consumer configuration inconsistency with Java client 
[#14070](https://github.com/apache/pulsar/pull/14070)
+- [Python] Provide __str__ operator for BytesSchema 
[#12593](https://github.com/apache/pulsar/pull/12593)
+- [Python] Support is_connected in Python Client 
[#13662](https://github.com/apache/pulsar/pull/13662)
+- [C] Add missing includes in reader_configuration.h 
[#12966](https://github.com/apache/pulsar/pull/12966)
+- [C] Add pulsar_client_subscribe_multi_topics and 
pulsar_client_subscribe_pattern 
[#12965](https://github.com/apache/pulsar/pull/12965)
+
+### Pulsar IO and Pulsar Functions
+
+- [Functions] Prevent NPE while stopping a non started Pulsar LogAppender 
[#12643](https://github.com/apache/pulsar/pull/12643)
+- [Functions] Allow configuring different implementations for Pulsar functions 
state store [#12646](https://github.com/apache/pulsar/pull/12646)
+- [Functions] Clean os even when statusFuture complete exceptionally 
[#12767](https://github.com/apache/pulsar/pull/12767)
+- [Functions] Override inactive_topic_policies in Pulsar Functions namespace 
creation [#13048](https://github.com/apache/pulsar/pull/13048)
+- [Functions] Add possibility to pass additional JVM arguments to the function 
JVM (additionalJavaRuntimeArguments) 
[#13282](https://github.com/apache/pulsar/pull/13282)
+- [Functions] Fix `getTlsTrustChainBytes` not work when functions worker not 
run with broker [#13875](https://github.com/apache/pulsar/pull/13875)
+- [Functions] Fix distributed log metadata not correctly initialized 
[#13891](https://github.com/apache/pulsar/pull/13891)
+- [Functions] Remove sensitive information from log 
[#14159](https://github.com/apache/pulsar/pull/14159)
+- [IO Connector] Pass client builder if no service url provided to debezium 
connector [#12145](https://github.com/apache/pulsar/pull/12145)
+- [IO Connector] Fix: "Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server 
: Login failed for user 'sa'.." in MS SQL integration test 
[12374](https://github.com/apache/pulsar/pull/12374)
+- [IO Connector] Fix the marshal and unmarshal the sink config 
[#12625](https://github.com/apache/pulsar/pull/12625)
+- [IO Connector] Support renaming the file that has been processed 
[#13373](https://github.com/apache/pulsar/pull/13373)
+- [IO Connector] Support Fixed and ENUM datatypes for ElasticSearch Sink 
[#13800](https://github.com/apache/pulsar/pull/13800)
+- [IO Connector] Implement --retain-key-ordering (KEY_SHARED subscription) for 
Sinks [#14083](https://github.com/apache/pulsar/pull/14083)
+
+### Observability
+
+- [Broker] Expose broker bundles metrics to prometheus 
[#12366](https://github.com/apache/pulsar/pull/12366)
+- [Broker] Add publishRateLimitedTimes to topic metrics 
[#13538](https://github.com/apache/pulsar/pull/13538)
+- [Broker] Fix bundle metrics would overwrite loadbalance metrics 
[#13641](https://github.com/apache/pulsar/pull/13641)
+- [Broker] Fix managed cursor acknowledgment state metric names 
[#13844](https://github.com/apache/pulsar/pull/13844)
+- [Java Client] Add pending-queue size metrics to producer stats 
[#12674](https://github.com/apache/pulsar/pull/12674)
+
+### CLI
+- [Pulsar Admin] Support a mapping from brokers to partitioned topics that 
each broker serves [#11763](https://github.com/apache/pulsar/pull/11763)
+- [Pulsar Admin] Support the termination of a partitioned topic 
[#11893](https://github.com/apache/pulsar/pull/11893)
+- [Pulsar Admin] Update command descriptions from old 
'property/cluster/namespace' format to current 'tenant/namespace' format 
[#10485](https://github.com/apache/pulsar/pull/10485)
+- [Pulsar Admin] Add remove-subscription-types-enabled command for namespace 
[#12392](https://github.com/apache/pulsar/pull/12392)
+- [Pulsar Admin] Fix output format of string by pulsar-admin command 
[#11878](https://github.com/apache/pulsar/pull/11878)
+- [Pulsar Admin] Add a metric to get the earliest time in the backlog 
[#12523](https://github.com/apache/pulsar/pull/12523)
+- [Pulsar Admin] Reduce severity of log "refreshing key manager" in 
KeyManagerProxy [#12594](https://github.com/apache/pulsar/pull/12594)
+- [Pulsar Admin] Support getting a list of topics under a namespace bundle 
[#12632](https://github.com/apache/pulsar/pull/12632)
+- [Pulsar Admin] Add get-replicated-subscription-status command for topic 
[#12891](https://github.com/apache/pulsar/pull/12891)
+- [Pulsar Admin] Add remove-subscription-types-enabled command for topic 
[#12983](https://github.com/apache/pulsar/pull/12983)
+- [Pulsar Admin] Validate the size options in cmd for topic and namespace 
[#13002](https://github.com/apache/pulsar/pull/13002)
+- [Pulsar Admin] Support subscription across multiple clusters 
[#13482](https://github.com/apache/pulsar/pull/13482)
+- [Pulsar Admin] Support deduplication across multiple clusters 
[#13487](https://github.com/apache/pulsar/pull/13487)
+- [Pulsar Admin] Support message TTL across multiple clusters 
[#13484](https://github.com/apache/pulsar/pull/13484)
+- [Pulsar Admin] Support persistence policies across multiple clusters 
[#13483](https://github.com/apache/pulsar/pull/13483)
+- [Pulsar Admin] Support publish rate across multiple clusters 
[#13496](https://github.com/apache/pulsar/pull/13496)
+- [Pulsar Admin] Support max consumers across multiple clusters 
[#13521](https://github.com/apache/pulsar/pull/13521)
+- [Pulsar Admin] Support max producer across multiple clusters 
[#13519](https://github.com/apache/pulsar/pull/13519)
+- [Pulsar Admin] Support compaction threshold across multiple clusters 
[#13513](https://github.com/apache/pulsar/pull/13513)
+- [Pulsar Admin] Support offload policies across multiple clusters 
[#13534](https://github.com/apache/pulsar/pull/13534)
+- [Pulsar Admin] Support max unacked messages per consumer across multiple 
clusters [#13547](https://github.com/apache/pulsar/pull/13547)
+- [Pulsar Admin] Support max message size support across multiple clusters 
[#13579](https://github.com/apache/pulsar/pull/13579)
+- [Pulsar Admin] Support deduplication snapshot interval across multiple 
clusters [#13578](https://github.com/apache/pulsar/pull/13578)
+- [Pulsar Admin] Support delayed delivery policy across multiple clusters 
[#13550](https://github.com/apache/pulsar/pull/13550)
+- [Pulsar Admin] Support max unacked messages on subscription across multiple 
clusters [#13549](https://github.com/apache/pulsar/pull/13549)
+- [Pulsar Admin] Support replicator dispatch rate across multiple clusters 
[#13624](https://github.com/apache/pulsar/pull/13624)
+- [Pulsar Admin] Support max subscriptions per topic across multiple clusters 
[#13623](https://github.com/apache/pulsar/pull/13623)
+- [Pulsar Admin] Move schema compatibility strategy cmd from topics to 
topicPolicies [#14225](https://github.com/apache/pulsar/pull/14225)
+- [Pulsar CLI] Add restart command to pulsar-daemon 
[#12279](https://github.com/apache/pulsar/pull/12279)
+- [Pulsar CLI] Print log for standalone when configuration is failed to load 
[#12280](https://github.com/apache/pulsar/pull/12280)
+- [Client Tool] Support Disabling Replication 
[#13659](https://github.com/apache/pulsar/pull/13659)
+- [Perf Tool] Add auth for transaction perf 
[#14271](https://github.com/apache/pulsar/pull/14271)
+
+### Others
+- [Proxy] Fix Pulsar Proxy to re-use authentication instance 
[#12245](https://github.com/apache/pulsar/pull/12245)
+- [Proxy] Fix auto-cert refresh when proxy connects to broker 
[#14130](https://github.com/apache/pulsar/pull/14130)
+- [WebSocket] Fix the batch message ack 
[#12530](https://github.com/apache/pulsar/pull/12530)
+- [Package Management] check service status before run commands 
[#12847](https://github.com/apache/pulsar/pull/12847)
+- [Package Management] Add package management filesystem storage into the 
distribution lib [#13202](https://github.com/apache/pulsar/pull/13202)
+- [Package Management] Fix the filesystem storage failure 
[#13218](https://github.com/apache/pulsar/pull/13218)
+- [Schema] Fix pulsar use json or avro primitive schema 
[#12886](https://github.com/apache/pulsar/pull/12886)
+- [Tiered Storage] Fix FileSystemManagedLedgerOffloader can not cleanup 
outdated ledger [#12309](https://github.com/apache/pulsar/pull/12309)
+- [Tiered Storage] Fix NoClassDefFoundError: com/google/inject/AbstractModule 
in pulsar-io/batch-data-generator and Jcloud offloader 
[#14150](https://github.com/apache/pulsar/pull/14150)
+- Add lua wireshark for pulsar 
[#13564](https://github.com/apache/pulsar/pull/13564)
+- Fix missing new line at the end of proxy.conf 
[#14359](https://github.com/apache/pulsar/pull/14359)
+
+### Library updates
+
+- Upgrade function's Go client version to v0.7.0 
[#12839](https://github.com/apache/pulsar/pull/12839)
+- Upgrade dependencies (guava and what brought in older guava) to get rid of 
the guava-related CVE-2018-10237 and CVE-2020-8908 
[#13716](https://github.com/apache/pulsar/pull/13716)
+- Use dependencyManagement to enforce snakeyaml version to 1.30 
[#13722](https://github.com/apache/pulsar/pull/13722)
+- Upgrade dependencies to get rid of pulsar-io/jdbc related CVE-2020-13692 
[#13753](https://github.com/apache/pulsar/pull/13753)
+- Remove --illegal-access errors resulting from Google Guice (upgrade to 5.0.1 
and JClouds to 2.4.0) [#13810](https://github.com/apache/pulsar/pull/13810)
+- Upgrade jakarta.el to 3.0.4 to get rid of CVE-2021-28170 
[#13943](https://github.com/apache/pulsar/pull/13943)
+- Upgrade Netty to 4.1.73.Final 
[#13981](https://github.com/apache/pulsar/pull/13981)
+- Remove net.jodah.failsafe dependency (fix JDK17 build) 
[#14124](https://github.com/apache/pulsar/pull/14124)
+- Upgrade netty version to 4.1.74.Final 
[#14257](https://github.com/apache/pulsar/pull/14257)
+
+### 2.9.2
+
+#### 2022-04-08
+
+#### Security
+- Get rid of CVEs in Solr connector 
[#13822](https://github.com/apache/pulsar/pull/13822)
+- Get rid of CVEs in InfluxDB connector 
[#13821](https://github.com/apache/pulsar/pull/13821)
+- Get rid of CVEs in batch-data-generator 
[#13820](https://github.com/apache/pulsar/pull/13820)
+- Get rid of CVEs brought in with aerospike 
[#13819](https://github.com/apache/pulsar/pull/13819)
+- Suppress false positive Avro CVE-2021-43045 
[#13764](https://github.com/apache/pulsar/pull/13764)
+- Upgrade protobuf to 3.16.1 to address CVE-2021-22569 
[#13695](https://github.com/apache/pulsar/pull/13695)
+- Upgrade Jackson to 2.12.6 
[#13694](https://github.com/apache/pulsar/pull/13694)
+- Upgrade Log4j to 2.17.1 to address CVE-2021-44832 
[#13552](https://github.com/apache/pulsar/pull/13552)
+- Upgrade to Log4J 2.17.0 to mitigate CVE-2021-45105 
[#13392](https://github.com/apache/pulsar/pull/13392)
+- Cipher params not work in KeyStoreSSLContext 
[#13322](https://github.com/apache/pulsar/pull/13322)
+- Use JDK default security provider when Conscrypt isn't available 
[#12938](https://github.com/apache/pulsar/pull/12938)
+- Return if namespace policies are read only 
[#12514](https://github.com/apache/pulsar/pull/12514)
+- Upgrade Postgre driver to 42.2.25 to get rid of CVE-2022-21724 
[#14119](https://github.com/apache/pulsar/pull/14119)
+- Bump slf4j from 1.7.25 to 1.7.32 
[#13595](https://github.com/apache/pulsar/pull/13595)
+- Upgrade Netty to 4.1.72 - CVE-2021-43797 
[#13328](https://github.com/apache/pulsar/pull/13328)
+
+#### Broker
+- Fix lost message issue due to ledger rollover. 
[#14664](https://github.com/apache/pulsar/pull/14664)
+- Fix thread leak in MLTransactionMetadataStore 
[#14524](https://github.com/apache/pulsar/pull/14524)
+- Fix npe in ManagedLedgerImpl 
[#14481](https://github.com/apache/pulsar/pull/14481)
+- Fix ``Future.join()`` causing deadlock. 
[#14469](https://github.com/apache/pulsar/pull/14469)
+- Fix Broker HealthCheck Endpoint Exposes Race Conditions 
[#14367](https://github.com/apache/pulsar/pull/14367)
+- Validate rack name [#14336](https://github.com/apache/pulsar/pull/14336)
+- Fix avg-messagePerEntry metrics for consumer 
[#14330](https://github.com/apache/pulsar/pull/14330)
+- Fix the wrong parameter in the log. 
[#14309](https://github.com/apache/pulsar/pull/14309)
+- Fix batch ack count is a negative issue. 
[#14288](https://github.com/apache/pulsar/pull/14288)
+- Bug fix: IllegalArgumentException: Invalid period 0.0 to calculate rate 
[#14280](https://github.com/apache/pulsar/pull/14280)
+- Clean up individually deleted messages before the mark-delete position 
[#14261](https://github.com/apache/pulsar/pull/14261)
+- If mark-delete operation fails, mark the cursor as "dirty" 
[#14256](https://github.com/apache/pulsar/pull/14256)
+- Fix detecting number of NICs in EC2 
[#14252](https://github.com/apache/pulsar/pull/14252)
+- Remove log unacked msg. [#14246](https://github.com/apache/pulsar/pull/14246)
+- Change broker producer fence log level 
[#14196](https://github.com/apache/pulsar/pull/14196)
+- Avoid creating any topics in `NamespaceService#checkTopicExists` during 
topic lookup. [#14134](https://github.com/apache/pulsar/pull/14134)
+- Fix NPE of cumulative ack mode and incorrect unack message count 
[#14021](https://github.com/apache/pulsar/pull/14021)
+- Fix NPE - ``ReplicatedSubscriptionsController`` send marker message when 
enable deduplicated. [#14017](https://github.com/apache/pulsar/pull/14017)
+- KeyShared stickyHashRange subscription: prevent stuck subscription in case 
of consumer restart [#14014](https://github.com/apache/pulsar/pull/14014)
+- Add null check to workaround NPE in unit tests with Mockito/PowerMock 
[#14006](https://github.com/apache/pulsar/pull/14006)
+- Fix handling of consumers with equal names on on key shared selector with 
consistent hashing [#13991](https://github.com/apache/pulsar/pull/13991)
+- Trim configuration value string which contains blank prefix or suffix 
[#13984](https://github.com/apache/pulsar/pull/13984)
+- WaitingCursors potential heap memory leak  
[#13939](https://github.com/apache/pulsar/pull/13939)
+- Fix read schema compatibility strategy priority 
[#13938](https://github.com/apache/pulsar/pull/13938)
+- Fix SystemTopicBasedTopicPoliciesService NPE issue. 
[#13840](https://github.com/apache/pulsar/pull/13840)
+- NPE when get isAllowAutoUploadSchema 
[#13831](https://github.com/apache/pulsar/pull/13831)
+- Fix topic produced through REST not support Authorization 
[#13771](https://github.com/apache/pulsar/pull/13771)
+- Fix call sync method in async rest API for 
``internalGetSubscriptionsForNonPartitionedTopic`` 
[#13745](https://github.com/apache/pulsar/pull/13745)
+- Fix the deadlock while using zookeeper thread to create ledger 
[#13744](https://github.com/apache/pulsar/pull/13744)
+- Fix inefficient forEach loop 
[#13742](https://github.com/apache/pulsar/pull/13742)
+- Fix non persistent topic subscription error. 
[#13685](https://github.com/apache/pulsar/pull/13685)
+- Fix invalid rack name cause bookie join rack failed 
[#13683](https://github.com/apache/pulsar/pull/13683)
+- Release old bundle from ownership cache when operator split bundle 
[#13678](https://github.com/apache/pulsar/pull/13678)
+- Avoid call sync method in async rest API for force delete subscription  
[#13668](https://github.com/apache/pulsar/pull/13668)
+- Avoid call sync method in async rest API for delete subscription 
[#13666](https://github.com/apache/pulsar/pull/13666)
+- Fix getInternalStats occasional lack of LeaderInfo 
[#13656](https://github.com/apache/pulsar/pull/13656)
+- Fix internal topic effect by InactiveTopicPolicy. 
[#13611](https://github.com/apache/pulsar/pull/13611)
+- Fix bug :Infinity value for CPU or Bandwidth usage 
[#13609](https://github.com/apache/pulsar/pull/13609)
+- Change ``ContextClassLoader`` to ``NarClassLoader`` in BrokerInterceptor 
[#13589](https://github.com/apache/pulsar/pull/13589)
+- Fix NPE when unloading namespace bundle 
[#13571](https://github.com/apache/pulsar/pull/13571)
+- Allow both limit and limitsize be null 
[#13557](https://github.com/apache/pulsar/pull/13557)
+- The log prints NamespaceService#isServiceUnitActive exception stack 
information. [#13553](https://github.com/apache/pulsar/pull/13553)
+- Update log content  [#13540](https://github.com/apache/pulsar/pull/13540)
+- HealthCheck v2 failed [#13525](https://github.com/apache/pulsar/pull/13525)
+- Change ContextClassLoader to NarClassLoader in AdditionalServlet 
[#13501](https://github.com/apache/pulsar/pull/13501)
+- Optimize the debug log that affects performance, and unify the style 
[#13498](https://github.com/apache/pulsar/pull/13498)
+- Fix multi roles authz cannot handle empty roles case 
[#13477](https://github.com/apache/pulsar/pull/13477)
+- Fix the NPE in system topics policies service 
[#13469](https://github.com/apache/pulsar/pull/13469)
+- Fix race conditions in closing producers and consumers 
[#13428](https://github.com/apache/pulsar/pull/13428)
+- Fix deadlock in metadata-store callback thread for branch 2.9 
[#13426](https://github.com/apache/pulsar/pull/13426)
+- Remove check resource when delete failure domain 
[#13421](https://github.com/apache/pulsar/pull/13421)
+- Fix create the dynamic configuration resource if not exist 
[#13420](https://github.com/apache/pulsar/pull/13420)
+- Fix batch message ack does not decrease the unacked-msg count. 
[#13383](https://github.com/apache/pulsar/pull/13383)
+- Fix dead loop in BacklogQuotaManager.dropBacklogForTimeLimit 
[#13249](https://github.com/apache/pulsar/pull/13249)
+- Modify return result of NamespacesBase#internalGetPublishRate 
[#13237](https://github.com/apache/pulsar/pull/13237)
+- Optimize ManagedLedger Ledger Ownership Check 
[#13222](https://github.com/apache/pulsar/pull/13222)
+- Fix shedding heartbeat ns 
[#13208](https://github.com/apache/pulsar/pull/13208)
+- Fix when deleting topic with NotFoundException, do not return to client. 
[#13203](https://github.com/apache/pulsar/pull/13203)
+- Clean up active consumer on already closed connection 
[#13196](https://github.com/apache/pulsar/pull/13196)
+- Update cursor last active timestamp when reseting cursor  
[#13166](https://github.com/apache/pulsar/pull/13166)
+- Use current resourceUsage value as historyUsage when leader change in 
ThresholdShedder [#13136](https://github.com/apache/pulsar/pull/13136)
+- Don't attempt to delete pending ack store unless transactions are enabled 
[#13041](https://github.com/apache/pulsar/pull/13041)
+- Fix race condition in ResourceLockImpl#revalidate 
[#13006](https://github.com/apache/pulsar/pull/13006)
+- Fix NPE in `PersistentTopic.checkSubscriptionTypesEnable` 
[#12961](https://github.com/apache/pulsar/pull/12961)
+- Fix wrong isEmpty method of ConcurrentOpenLongPairRangeSet 
[#12953](https://github.com/apache/pulsar/pull/12953)
+- Correct param of delete method for v1 topic 
[#12936](https://github.com/apache/pulsar/pull/12936)
+- Change create topic return error to Status.BAD_REQUEST 
[#12919](https://github.com/apache/pulsar/pull/12919)
+- Fix topic policy listener deleted by mistake. 
[#12904](https://github.com/apache/pulsar/pull/12904)
+- Remove readerCaches and close reader when exception occurs in 
SystemTopicBasedTopicPoliciesService 
[#12873](https://github.com/apache/pulsar/pull/12873)
+- Fix deleting tenants with active namespaces with 500. 
[#12848](https://github.com/apache/pulsar/pull/12848)
+- Bug Fix: topic policy is not properly init if namespace is loaded first. 
[#12833](https://github.com/apache/pulsar/pull/12833)
+- Add broker config isAllowAutoUpdateSchema 
[#12786](https://github.com/apache/pulsar/pull/12786)
+- Fix TopicPoliciesCacheNotInitException issue. 
[#12773](https://github.com/apache/pulsar/pull/12773)
+- The problem of two exception handling 
[#12744](https://github.com/apache/pulsar/pull/12744)
+- Handle lookup redirect for V1-topics with different cluster 
[#12743](https://github.com/apache/pulsar/pull/12743)
+- Fix race condition in PersistentTopic#addReplicationCluster 
[#12729](https://github.com/apache/pulsar/pull/12729)
+- Remove catching `NamingException`. 
[#12725](https://github.com/apache/pulsar/pull/12725)
+- Even if always compatible is set, Consumers cannot be created 
[#12721](https://github.com/apache/pulsar/pull/12721)
+- Fix znode leakage caused by deleting tenant 
[#12711](https://github.com/apache/pulsar/pull/12711)
+- Remove unused listeners if it have no listeners. 
[#12654](https://github.com/apache/pulsar/pull/12654)
+- Optimize exception information for schemas 
[#12647](https://github.com/apache/pulsar/pull/12647)
+- Support retry when creating reader of Topic Policies 
[#12622](https://github.com/apache/pulsar/pull/12622)
+- Fix String should use equals but not ==. 
[#12619](https://github.com/apache/pulsar/pull/12619)
+- Fix 12614, waitingForPingResponse needs to be modified with volatile for 
concurrent sence  [#12615](https://github.com/apache/pulsar/pull/12615)
+- Cleanup ProxyPublishConsumeTest 
[#12607](https://github.com/apache/pulsar/pull/12607)
+- Fix additional servlets nar might extract to null directory 
[#12585](https://github.com/apache/pulsar/pull/12585)
+- Fix log typo in NamespaceService#checkHeartbeatNamespace  
[#12582](https://github.com/apache/pulsar/pull/12582)
+- Clean up the metadata of the non-persistent partitioned topics. 
[#12550](https://github.com/apache/pulsar/pull/12550)
+- Add git branch information for PulsarVersion 
[#12541](https://github.com/apache/pulsar/pull/12541)
+- Websocket should pass the encryption context to the consumers 
[#12539](https://github.com/apache/pulsar/pull/12539)
+- The count of topics on the bundle is less than 2, skip split 
[#12527](https://github.com/apache/pulsar/pull/12527)
+- Remove redundant null check for getInternalListener 
[#12474](https://github.com/apache/pulsar/pull/12474)
+- Optimize the code: remove extra spaces 
[#12470](https://github.com/apache/pulsar/pull/12470)
+- Fix wrong property name in NamespaceIsolationDataImpl#secondary 
[#12433](https://github.com/apache/pulsar/pull/12433)
+- Fix the null point caused by deleting the system topic policy 
[#12367](https://github.com/apache/pulsar/pull/12367)
+- Future completed twice in the method of  impl.MLPendingAckStore#closeAsync 
[#12362](https://github.com/apache/pulsar/pull/12362)
+- Fix the race of delete subscription and delete topic 
[#12240](https://github.com/apache/pulsar/pull/12240)
+- Fix delete authentication policies when delete topic. 
[#12215](https://github.com/apache/pulsar/pull/12215)
+- Fix update ledger list to znode version mismatch failed, ledger not delete 
[#12015](https://github.com/apache/pulsar/pull/12015)
+- Fix issues 11964, deadlock bug when use key_shared mode 
[#11965](https://github.com/apache/pulsar/pull/11965)
+- Fix validateGlobalNamespaceOwnership wrap exception issue. 
[#14269](https://github.com/apache/pulsar/pull/14269)
+- Fix reader skipped remaining compacted data during the topic unloading. 
[#13629](https://github.com/apache/pulsar/pull/13629)
+- Return message ID from compacted ledger while the compaction cursor reach 
the end of the topic [#13533](https://github.com/apache/pulsar/pull/13533)
+- Fix getting the last message-id from an empty compact ledger 
[#13476](https://github.com/apache/pulsar/pull/13476)
+- Fix lost compaction data due to compaction properties missed during 
reset-cursor [#12698](https://github.com/apache/pulsar/pull/12698)
+- Do not move the non-durable cursor position when trimming ledgers while 
topic with compaction [#12602](https://github.com/apache/pulsar/pull/12602)
+- Fix can't read the latest message of the compacted topic 
[#14449](https://github.com/apache/pulsar/pull/14449)
+- Fix skips compacted data for reader/consumer 
[#12464](https://github.com/apache/pulsar/pull/12464)
+- Fix wrong behaviour caused by not cleaning up topic policy service state. 
[#14503](https://github.com/apache/pulsar/pull/14503)
+- Avoid thread deadlock problem when creating topic policy reader 
[#13837](https://github.com/apache/pulsar/pull/13837)
+- Bug Fix: topic policy is not properly init if namespace is loaded first. 
[#13422](https://github.com/apache/pulsar/pull/13422)
+- Fix parse BigDecimal [#14019](https://github.com/apache/pulsar/pull/14019)
+- Fix: bug when allAll bucket 
[#13467](https://github.com/apache/pulsar/pull/13467)
+- Support GET_BACKLOG_SIZE topic op after enable auth 
[#12850](https://github.com/apache/pulsar/pull/12850)
+- Reduce the readFailureBackoff time 
[#12444](https://github.com/apache/pulsar/pull/12444)
+- Add readWorkerThreadsThrottlingEnabled to conf/bookkeeper.conf 
[#12666](https://github.com/apache/pulsar/pull/12666)
+
+#### Transaction
+- Fix cursor readPosition is bigger than maxPosition in OpReadEntry 
[#14667](https://github.com/apache/pulsar/pull/14667)
+- Fix MLTransactionMetadataStore.update async fail 
[#14532](https://github.com/apache/pulsar/pull/14532)
+- Fix end transaction at state of timeout 
[#14370](https://github.com/apache/pulsar/pull/14370)
+- Optimize testEndTBRecoveringWhenManagerLedgerDisReadable 
[#14303](https://github.com/apache/pulsar/pull/14303)
+- Delete changeMaxReadPositionAndAddAbortTimes when checkIfNoSnapshot 
[#14276](https://github.com/apache/pulsar/pull/14276)
+- Adopt single thread pool in TC 
[#14238](https://github.com/apache/pulsar/pull/14238)
+- Fix send normal message can't change MaxReadPosition 
[#14192](https://github.com/apache/pulsar/pull/14192)
+- Optimize transaction timeout 
[#14172](https://github.com/apache/pulsar/pull/14172)
+- Fix subscription ack transaction marker. 
[#14170](https://github.com/apache/pulsar/pull/14170)
+- Fix OpBase.callback is not called in 
TransactionMetaStoreHandler#failPendingRequest 
[#14133](https://github.com/apache/pulsar/pull/14133)
+- Fix deadlock on txn semaphore permit exhaustion 
[#14131](https://github.com/apache/pulsar/pull/14131)
+- Fix unack message count for transaction Ack while disabled batch index ack 
[#14071](https://github.com/apache/pulsar/pull/14071)
+- Fix individual ack with transaction decrease unAckMessageCounnt 
[#14020](https://github.com/apache/pulsar/pull/14020)
+- Resolve the performance bottleneck of TransactionBufferHandle 
[#13988](https://github.com/apache/pulsar/pull/13988)
+- RetryException should not be return 
[#13828](https://github.com/apache/pulsar/pull/13828)
+- Fix recover of TransactionBuffer 
[#13739](https://github.com/apache/pulsar/pull/13739)
+- Duplicate TYPE of Prometheus metrics 
[#13704](https://github.com/apache/pulsar/pull/13704)
+- Remove txn add partition info log 
[#13670](https://github.com/apache/pulsar/pull/13670)
+- Fix no response to client when handleSubscribe because PendingAckHandleImpl 
init fail [#13655](https://github.com/apache/pulsar/pull/13655)
+- PendingAckHandleImpl handle isInCacheRequest 
[#13481](https://github.com/apache/pulsar/pull/13481)
+- Stop TB recovering with exception 
[#13425](https://github.com/apache/pulsar/pull/13425)
+- Optimize transaction FieldUpdater to static final 
[#13396](https://github.com/apache/pulsar/pull/13396)
+- Delete the redundant code 
[#13327](https://github.com/apache/pulsar/pull/13327)
+- Allow transaction to be committed or aborted in the state of aborting or 
committing. [#13323](https://github.com/apache/pulsar/pull/13323)
+- Remove request if can not send 
[#13308](https://github.com/apache/pulsar/pull/13308)
+- Fix generate transactionId some comments 
[#13234](https://github.com/apache/pulsar/pull/13234)
+- Fix transaction sequenceId generate error. 
[#13209](https://github.com/apache/pulsar/pull/13209)
+- No TransactionCoordinatorNotFound, but automatic reconnect 
[#13135](https://github.com/apache/pulsar/pull/13135)
+- Add a check for uninitialized PendingAck 
[#13088](https://github.com/apache/pulsar/pull/13088)
+- Handle exception double [#12881](https://github.com/apache/pulsar/pull/12881)
+- Stop TP replaying with Exception 
[#12700](https://github.com/apache/pulsar/pull/12700)
+- Stop TB recovering with exception 
[#12636](https://github.com/apache/pulsar/pull/12636)
+- Txn client check timeout 
[#12521](https://github.com/apache/pulsar/pull/12521)
+- Fix maxReadPosition with normal publish 
[#12386](https://github.com/apache/pulsar/pull/12386)
+- Fix bugs, Exception thrower by TB::appendBufferToTxn must be 
ManagedLedgerException.  [#12376](https://github.com/apache/pulsar/pull/12376)
+- Merge transactionBuffer exception into a class 
[#12358](https://github.com/apache/pulsar/pull/12358)
+- Add transaction perf [#11933](https://github.com/apache/pulsar/pull/11933)
+- Adopt Single_thread to handle TcClient connecting 
[#13969](https://github.com/apache/pulsar/pull/13969)
+- Stop TC replaying with exception 
[#12705](https://github.com/apache/pulsar/pull/12705)
+- Fix performance [#13253](https://github.com/apache/pulsar/pull/13253)
+
+#### Admin
+- Fix Broker HealthCheck Endpoint Exposes Race Conditions. 
[#14658](https://github.com/apache/pulsar/pull/14658)
+- Fix delete namespace issue. 
[#14657](https://github.com/apache/pulsar/pull/14657)
+- Make sure policies.is_allow_auto_update_schema not null 
[#14409](https://github.com/apache/pulsar/pull/14409)
+- Fix delete namespace issue. 
[#14215](https://github.com/apache/pulsar/pull/14215)
+- Fix NPE when reset-cursor at a non-existent topic (RestException without 
cause) [#13573](https://github.com/apache/pulsar/pull/13573)
+- Add transaction admin [#13447](https://github.com/apache/pulsar/pull/13447)
+- Print topic internal info as formatted json 
[#12709](https://github.com/apache/pulsar/pull/12709)
+- Add --all option to get all version schema of topic 
[#12535](https://github.com/apache/pulsar/pull/12535)
+- Modify exception of set-properties for namespace 
[#12436](https://github.com/apache/pulsar/pull/12436)
+- Get schema validation enforce add applied. 
[#12349](https://github.com/apache/pulsar/pull/12349)
+- Add corresponding get command for namespace 
[#12322](https://github.com/apache/pulsar/pull/12322)
+- Pulsar admin exposes secret for source and sink 
[#13059](https://github.com/apache/pulsar/pull/13059)
+- Perfect judgment conditions of pulsar-admin 
[#12315](https://github.com/apache/pulsar/pull/12315)
+
+#### Proxy
+- Fix port exhaustion and connection issues in Pulsar Proxy 
[#14078](https://github.com/apache/pulsar/pull/14078)
+- Allow config of IO and acceptor threads in proxy 
[#14054](https://github.com/apache/pulsar/pull/14054)
+- Prevent leak of unreleased lookupRequestSemaphore permits 
[#13812](https://github.com/apache/pulsar/pull/13812)
+- Fix issue when Proxy fails to start and logs about an uncaught exception 
[#13171](https://github.com/apache/pulsar/pull/13171)
+- Add error log when new jetty client exception 
[#12840](https://github.com/apache/pulsar/pull/12840)
+- Remove unnecessary Pulsar Client usage from Pulsar Proxy 
[#13836](https://github.com/apache/pulsar/pull/13836)
+
+#### Clients
+- [Java] Fix ConsumerBuilderImpl#subscribeAsync blocks calling thread. 
[#14433](https://github.com/apache/pulsar/pull/14433)
+- [Java] Fix adding message to list potential issue 
[#14377](https://github.com/apache/pulsar/pull/14377)
+- [Java] Fix send to deadLetterTopic not working when reach maxRedeliverCount 
[#14317](https://github.com/apache/pulsar/pull/14317)
+- [Java] Fix time unit mismatch in errMsg when producer send fails. 
[#14299](https://github.com/apache/pulsar/pull/14299)
+- [Java] Fix PersistentAcknowledgmentsGroupingTracker set BitSet issue. 
[#14260](https://github.com/apache/pulsar/pull/14260)
+- [Java] Check ``getTlsTrustStorePath`` NPE when user forget to set it. 
[#14253](https://github.com/apache/pulsar/pull/14253)
+- [Java] Fix consume failure when BatchReceivePolicy#maxNumBytes < message 
size [#14139](https://github.com/apache/pulsar/pull/14139)
+- [Java] Use `scheduleWithFixedDelay` instead of `scheduleAtFixedRate` for 
java producer batch timer [#14125](https://github.com/apache/pulsar/pull/14125)
+- [Java] Add a default timeout for OAuth2 Metadata Resolver 
[#14056](https://github.com/apache/pulsar/pull/14056)
+- [Java] Fix send chunking message failed when ordering key is set. 
[#13699](https://github.com/apache/pulsar/pull/13699)
+- [Java] Fix send chunking message failed when encryption enabled 
[#13689](https://github.com/apache/pulsar/pull/13689)
+- [Java] Fix Producer semaphore permit release issue 
[#13682](https://github.com/apache/pulsar/pull/13682)
+- [Java] Fix the wrong multi-topic has message available behavior 
[#13634](https://github.com/apache/pulsar/pull/13634)
+- [Java] Use PulsarByteBufAllocator to allocate buffer for chunks 
[#13536](https://github.com/apache/pulsar/pull/13536)
+- [Java] Fix resources leak when create producer failed 
[#13505](https://github.com/apache/pulsar/pull/13505)
+- [Java] Fix semaphore and memory leak when chunks failed to enqueue 
[#13454](https://github.com/apache/pulsar/pull/13454)
+- [Java] Fix invalid setting of enabled ciphers to fix warning from BoringSSL 
[#13435](https://github.com/apache/pulsar/pull/13435)
+- [Java] Fix multi topic reader has message available behavior 
[#13332](https://github.com/apache/pulsar/pull/13332)
+- [Java] Improve consumer listener logic 
[#13273](https://github.com/apache/pulsar/pull/13273)
+- [Java] Fix memory leak when message payload processor is configured 
[#13233](https://github.com/apache/pulsar/pull/13233)
+- [Java] Change the time units from ns to ms 
[#13057](https://github.com/apache/pulsar/pull/13057)
+- [Java] Use sendAsync instead of send when produce message to retry topic. 
[#12946](https://github.com/apache/pulsar/pull/12946)
+- [Java] Avoid IllegalStateException in ClientCnx debug logs 
[#12899](https://github.com/apache/pulsar/pull/12899)
+- [Java] Fix pending queue-size stats for batch messages 
[#12704](https://github.com/apache/pulsar/pull/12704)
+- [Java] Fix invalid firstSentAt in log message when timeout first time 
[#12588](https://github.com/apache/pulsar/pull/12588)
+- [Java] Add conf backoff values 
[#12520](https://github.com/apache/pulsar/pull/12520)
+- [Java] Update producer stats when producer close 
[#12500](https://github.com/apache/pulsar/pull/12500)
+- [Java] Fix a typo in UnAckedMessageTracker 
[#12467](https://github.com/apache/pulsar/pull/12467)
+- [Java] Fix the retry topic's `REAL_TOPIC` & `ORIGIN_MESSAGE_ID` property 
[#12451](https://github.com/apache/pulsar/pull/12451)
+- [Java] Change the producer fence error log to debug level 
[#12447](https://github.com/apache/pulsar/pull/12447)
+- [Java] Add log error tracking for semaphore count leak 
[#12410](https://github.com/apache/pulsar/pull/12410)
+- [Java] Fix race condition of OpSendMsgQueue when publishing messages 
[#14231](https://github.com/apache/pulsar/pull/14231)
+- [C++] Fix wrong unit of Access Token Response's `expires_in` field 
[#14554](https://github.com/apache/pulsar/pull/14554)
+- [C++] Fix thread safety issue for multi topic consumer  
[#14380](https://github.com/apache/pulsar/pull/14380)
+- [C++] Fix pulsar client cpp build fail in gcc-4.8.5 
[#14053](https://github.com/apache/pulsar/pull/14053)
+- [C++] Fix hasMessageAvailable returns wrong value for last message 
[#13883](https://github.com/apache/pulsar/pull/13883)
+- [C++] Fix in macOS CMake might find error boost-python libs path 
[#13193](https://github.com/apache/pulsar/pull/13193)
+- [C++] Fix libcurl miss auth header when broker return 307 
[#13112](https://github.com/apache/pulsar/pull/13112)
+- [C++] Define and expose PULSAR_VERSION macro 
[#12769](https://github.com/apache/pulsar/pull/12769)
+- [C++] Fix request timeout for GetLastMessageId doesn't work 
[#12586](https://github.com/apache/pulsar/pull/12586)
+- [C++] Support setting priority for consumers 
[#12526](https://github.com/apache/pulsar/pull/12526)
+- [C++] Fix connection read error logging 
[#12492](https://github.com/apache/pulsar/pull/12492)
+- [C++] Use weak ref to ClientConnection for timeout task 
[#12409](https://github.com/apache/pulsar/pull/12409)
+- [C++] Fix Version.h not found when CMake binary directory is customized 
[#13324](https://github.com/apache/pulsar/pull/13324)
+- [C++] Fix GCC compilation failure caused by warning macro 
[#14402](https://github.com/apache/pulsar/pull/14402)
+- [C++] Fix frequent segmentation fault of Python tests by refactoring 
ExecutorService [#12427](https://github.com/apache/pulsar/pull/12427)
+- [Python] Apply clang-format check for python wrapper 
[#13418](https://github.com/apache/pulsar/pull/13418)
+- [Python] Python schema support custom Avro configurations for Enum type 
[#12642](https://github.com/apache/pulsar/pull/12642)
+- [Python] JsonSchema encoding is not idempotent 
[#12490](https://github.com/apache/pulsar/pull/12490)
+- [Python] Cannot use any values that evaluates to False 
[#12489](https://github.com/apache/pulsar/pull/12489)
+- [Python] Python client support using custom Avro schema definition 
[#12516](https://github.com/apache/pulsar/pull/12516)
+- [WebSocket] Fix ``ClassCastException`` when user create 
``MultiTopicReader``. [#14316](https://github.com/apache/pulsar/pull/14316)
+- [WebSocket] Add debug log for WebSocket. 
[#12458](https://github.com/apache/pulsar/pull/12458)
+
+#### CleanUp
+- Remove unnecessary boxing unboxing 
[#12790](https://github.com/apache/pulsar/pull/12790)
+- Optimize if statement [#12741](https://github.com/apache/pulsar/pull/12741)
+- Remove unnecessary  string operation 
[#12719](https://github.com/apache/pulsar/pull/12719)
+- Remove redundant placeholders 
[#12717](https://github.com/apache/pulsar/pull/12717)
+- Remove unused code in PersistentTopic.java 
[#12715](https://github.com/apache/pulsar/pull/12715)
+- Remove unnecessary powermock annotation 
[#12713](https://github.com/apache/pulsar/pull/12713)
+- Remove useless method "PersistentTopic#getPersistentTopic" 
[#12655](https://github.com/apache/pulsar/pull/12655)
+- Remove unused isTxnMessage 
[#12472](https://github.com/apache/pulsar/pull/12472)
+- Optimize SecurityUtility code flow 
[#12431](https://github.com/apache/pulsar/pull/12431)
+- Remove redundant code [#12424](https://github.com/apache/pulsar/pull/12424)
+
+#### Doc
+- Fix doc for the wrong default value of `maxPendingChunkedMessage` 
[#14144](https://github.com/apache/pulsar/pull/14144)
+- Update notice year. [#13653](https://github.com/apache/pulsar/pull/13653)
+- Fix java doc for MultipleListenerValidator 
[#12389](https://github.com/apache/pulsar/pull/12389)
+
+#### Pulsar SQL
+- Fix PulsarRecordCursor deserialize issue. 
[#14379](https://github.com/apache/pulsar/pull/14379)
+- Support protobuf/timestamp 
[#13287](https://github.com/apache/pulsar/pull/13287)
+- Handle message null schema version in PulsarRecordCursor 
[#12809](https://github.com/apache/pulsar/pull/12809)
+- Support query chunked messages feature in Pulsar SQL 
[#12720](https://github.com/apache/pulsar/pull/12720)
+- Pulsar SQL support query big entry data 
[#12448](https://github.com/apache/pulsar/pull/12448)
+- Fix time field use error 
[#12249](https://github.com/apache/pulsar/pull/12249)
+
+#### Dependency
+- Bump netty version to 4.1.74.Final 
[#14257](https://github.com/apache/pulsar/pull/14257)
+- Upgrade commons-cli to 1.5.0 
[#14094](https://github.com/apache/pulsar/pull/14094)
+- Upgrade Gson version 2.8.6 to 2.8.9 
[#13610](https://github.com/apache/pulsar/pull/13610)
+- Fix issue of mixed SLF4J library versions in presto libs 
[#13603](https://github.com/apache/pulsar/pull/13603)
+- Remove the unused junit4 dependency in managed ledger 
[#13514](https://github.com/apache/pulsar/pull/13514)
+- Upgrade to BookKeeper 4.14.3 
[#12760](https://github.com/apache/pulsar/pull/12760)
+- Some dependencies in integration tests scope should be test 
[#12696](https://github.com/apache/pulsar/pull/12696)
+- Upgrade debezium to 1.7.1 
[#12644](https://github.com/apache/pulsar/pull/12644)
+- Upgrade BK to 4.14.4 and Grpc to 1.42.1 
[#13714](https://github.com/apache/pulsar/pull/13714)
+
+#### Test
+- BacklogQuotaManagerTest#testProducerExceptionAndThenUnblockSizeQuota 
[#14213](https://github.com/apache/pulsar/pull/14213)
+- BacklogQuotaManagerTest.testConsumerBacklogEvictionTimeQuotaWithEmptyLedger 
[#13724](https://github.com/apache/pulsar/pull/13724)
+- Fix flakiness issue when spying ServerCnx 
[#13608](https://github.com/apache/pulsar/pull/13608)
+- Fix flaky test for BrokerServiceLookupTest.testModularLoadManagerSplitBundle 
[#13159](https://github.com/apache/pulsar/pull/13159)
+- Fix flaky caused by message receive timeout in testBlockBrokerDispatching 
[#12954](https://github.com/apache/pulsar/pull/12954)
+- Fix flaky test in PersistentStreamingDispatcherBlockConsumerTest 
[#12943](https://github.com/apache/pulsar/pull/12943)
+- Fix flaky test in testReplicatorProducerName 
[#12898](https://github.com/apache/pulsar/pull/12898)
+- JavaInstanceTest should be AssertEquals 
[#12836](https://github.com/apache/pulsar/pull/12836)
+- ElasticSearchClientTests tests time out 
[#12694](https://github.com/apache/pulsar/pull/12694)
+- Close Zk database on unit tests 
[#12649](https://github.com/apache/pulsar/pull/12649)
+- Optimize the tests extends from TransactionTestBase 
[#12560](https://github.com/apache/pulsar/pull/12560)
+- Broker resource group test optimize fail msg 
[#12438](https://github.com/apache/pulsar/pull/12438)
+- Fix some tests not enabled in integration tests 
[#12417](https://github.com/apache/pulsar/pull/12417)
+- Fix windows test path probleam 
[#12398](https://github.com/apache/pulsar/pull/12398)
+- Fix ProxyServiceStarterTest flaky tests 
[#12344](https://github.com/apache/pulsar/pull/12344)
+- AdminApiTest.testNamespaceSplitBundleConcurrent 
[#14565](https://github.com/apache/pulsar/pull/14565)
+- Add test to ensure correct zk children cache invalidation 
[#14178](https://github.com/apache/pulsar/pull/14178)
+- Upgrade Mockito to latest stable 3.x version, 3.12.4 
[#13622](https://github.com/apache/pulsar/pull/13622)
+- Add @Test annotation to test methods 
[#12640](https://github.com/apache/pulsar/pull/12640)
+
+#### Build
+- Add suppression for pulsar-package-bookkeeper-storage 
[#13451](https://github.com/apache/pulsar/pull/13451)
+- Suppress false positive check for netty-tcnative-classes 
[#13364](https://github.com/apache/pulsar/pull/13364)
+
+#### Tool
+- Fix NPE in cmdTopics [#13450](https://github.com/apache/pulsar/pull/13450)
+- Add missed import [#13037](https://github.com/apache/pulsar/pull/13037)
+- Support listenerThreads configuration. 
[#12892](https://github.com/apache/pulsar/pull/12892)
+- Improve exception info for invaild time-related option 
[#12828](https://github.com/apache/pulsar/pull/12828)
+- Fix doc for pulsar-admin bookies cmd 
[#12542](https://github.com/apache/pulsar/pull/12542)
+
+#### Function
+- Miss runtime set in GoInstanceConfig 
[#13031](https://github.com/apache/pulsar/pull/13031)
+- Remove corrupt visible testing annotation in function workers 
[#12621](https://github.com/apache/pulsar/pull/12621)
+- Pulsar admin exposes secrets for function 
[#12950](https://github.com/apache/pulsar/pull/12950)
+
+#### CLI
+- Support auto-recovery service in pulsar cli 
[#12985](https://github.com/apache/pulsar/pull/12985)
+- Enable CLI to publish non-batched messages 
[#12641](https://github.com/apache/pulsar/pull/12641)
+
+#### CI
+- Replace deprecated "adopt" OpenJDK distribution with "temurin" in GitHub 
Actions config [#12945](https://github.com/apache/pulsar/pull/12945)
+
+#### Connector
+- [ES-Sink] Use topic name as the index name if indexName is not configured 
[#13064](https://github.com/apache/pulsar/pull/13064)
+- [ES-Sink] Correct @FieldDoc defaultValue for some fields 
[#12697](https://github.com/apache/pulsar/pull/12697)
+- Don't create AvroData for each KafkaSourceRecord 
[#12859](https://github.com/apache/pulsar/pull/12859)
+
+#### Tiered Storage
+- Add retry to tolerate the offload index file read failure 
[#12452](https://github.com/apache/pulsar/pull/12452)
+- Fix the read performance issue in the offload readAsync 
[#12443](https://github.com/apache/pulsar/pull/12443)
+
+### 2.8.3
+
+#### 2022-03-21
+
+### Important Notices
+
+- Fix detecting number of NICs in EC2 
[#14252](https://github.com/apache/pulsar/pull/14252). In the event that Pulsar 
cannot determine the NIC speed from the host, please set 
`loadBalancerOverrideBrokerNicSpeedGbps`.
+- Bump BookKeeper 4.14.3 [12906](https://github.com/apache/pulsar/pull/12906)
+- Add broker config `isAllowAutoUpdateSchema` 
[12786](https://github.com/apache/pulsar/pull/12786)
+
+### Security
+- Upgrade Postgres driver to 42.2.25 to get rid of CVE-2022-21724 
[14119](https://github.com/apache/pulsar/pull/14119)
+- Get rid of CVEs in Solr connector 
[13822](https://github.com/apache/pulsar/pull/13822)
+- Get rid of CVEs in InfluxDB connector 
[13821](https://github.com/apache/pulsar/pull/13821)
+- Get rid of CVEs in batch-data-generator 
[13820](https://github.com/apache/pulsar/pull/13820)
+- Get rid of CVEs brought in with aerospike 
[13819](https://github.com/apache/pulsar/pull/13819)
+- [owasp] suppress false positive Avro CVE-2021-43045 
[13764](https://github.com/apache/pulsar/pull/13764)
+- Upgrade protobuf to 3.16.1 to address CVE-2021-22569 
[13695](https://github.com/apache/pulsar/pull/13695)
+- Upgrade Jackson to 2.12.6 
[13694](https://github.com/apache/pulsar/pull/13694)
+- Upgrade Log4j to 2.17.1 to address CVE-2021-44832 
[13552](https://github.com/apache/pulsar/pull/13552)
+- Cipher params not work in KeyStoreSSLContext 
[13322](https://github.com/apache/pulsar/pull/13322)
+- [Broker] Remove tenant permission verification when list partitioned-topic 
[13138](https://github.com/apache/pulsar/pull/13138)
+- Use JDK default security provider when Conscrypt isn't available 
[12938](https://github.com/apache/pulsar/pull/12938)
+- [Authorization] Return if namespace policies are read only 
[12514](https://github.com/apache/pulsar/pull/12514)
+
+### Pulsar Admin
+- Make sure policies.is_allow_auto_update_schema not null 
[14409](https://github.com/apache/pulsar/pull/14409)
+- pulsar admin exposes secret for source and sink 
[13059](https://github.com/apache/pulsar/pull/13059)
+- Fix deleting tenants with active namespaces with 500. 
[13020](https://github.com/apache/pulsar/pull/13020)
+- [function] pulsar admin exposes secrets for function 
[12950](https://github.com/apache/pulsar/pull/12950)
+
+### Bookkeeper
+- Upgrade BK to 4.14.4 and Grpc to 1.42.1 
[13714](https://github.com/apache/pulsar/pull/13714)
+- Bump BookKeeper 4.14.3 [12906](https://github.com/apache/pulsar/pull/12906)
+
+### Broker
+- Fix the wrong parameter in the log. 
[14309](https://github.com/apache/pulsar/pull/14309)
+- Fix batch ack count is negative issue. 
[14288](https://github.com/apache/pulsar/pull/14288)
+- bug fix: IllegalArgumentException: Invalid period 0.0 to calculate rate 
[14280](https://github.com/apache/pulsar/pull/14280)
+- Clean up individually deleted messages before the mark-delete position 
[14261](https://github.com/apache/pulsar/pull/14261)
+- If mark-delete operation fails, mark the cursor as "dirty" 
[14256](https://github.com/apache/pulsar/pull/14256)
+- Fixed detecting number of NICs in EC2 
[14252](https://github.com/apache/pulsar/pull/14252)
+- Remove log unacked msg. [14246](https://github.com/apache/pulsar/pull/14246)
+- Change broker producer fence log level 
[14196](https://github.com/apache/pulsar/pull/14196)
+- Fix NPE of cumulative ack mode and incorrect unack message count 
[14021](https://github.com/apache/pulsar/pull/14021)
+- KeyShared stickyHashRange subscription: prevent stuck subscription in case 
of consumer restart [14014](https://github.com/apache/pulsar/pull/14014)
+- Trim configuration value string which contains blank prefix or suffix 
[13984](https://github.com/apache/pulsar/pull/13984)
+- waitingCursors potential  heap memory leak  
[13939](https://github.com/apache/pulsar/pull/13939)
+- Fix read schema compatibility strategy priority 
[13938](https://github.com/apache/pulsar/pull/13938)
+- NPE when get isAllowAutoUploadSchema 
[13831](https://github.com/apache/pulsar/pull/13831)
+- Fix call sync method in async rest API for 
``internalGetSubscriptionsForNonPartitionedTopic`` 
[13745](https://github.com/apache/pulsar/pull/13745)
+- Fix the deadlock while using zookeeper thread to create ledger 
[13744](https://github.com/apache/pulsar/pull/13744)
+- Fix inefficient forEach loop 
[13742](https://github.com/apache/pulsar/pull/13742)
+- [Issue 13640] Fix non persistent topic subscription error. 
[13685](https://github.com/apache/pulsar/pull/13685)
+- Fix invalid rack name cause bookie join rack failed 
[13683](https://github.com/apache/pulsar/pull/13683)
+- Avoid call sync method in async rest API for force delete subscription  
[13668](https://github.com/apache/pulsar/pull/13668)
+- Avoid call sync method in async rest API for delete subscription 
[13666](https://github.com/apache/pulsar/pull/13666)
+- Fix getInternalStats occasional lack of LeaderInfo 
[13656](https://github.com/apache/pulsar/pull/13656)
+- Fix reader skipped remaining compacted data during the topic unloading. 
[13629](https://github.com/apache/pulsar/pull/13629)
+- [Issue 13479] Fixed internal topic effect by InactiveTopicPolicy. 
[13611](https://github.com/apache/pulsar/pull/13611)
+- Fix bug :Infinity value for CPU or Bandwidth usage 
[13609](https://github.com/apache/pulsar/pull/13609)
+- Change ``ContextClassLoader`` to ``NarClassLoader`` in BrokerInterceptor 
[13589](https://github.com/apache/pulsar/pull/13589)
+- Fix NPE when unloading namespace bundle 
[13571](https://github.com/apache/pulsar/pull/13571)
+- update log content  [13540](https://github.com/apache/pulsar/pull/13540)
+- Return message ID from compacted ledger while the compaction cursor reach 
the end of the topic [13533](https://github.com/apache/pulsar/pull/13533)
+- Change ContextClassLoader to NarClassLoader in AdditionalServlet 
[13501](https://github.com/apache/pulsar/pull/13501)
+- fix(Auth): Fix multi roles authz cannot handle empty roles case 
[13477](https://github.com/apache/pulsar/pull/13477)
+- Fix getting the last message-id from an empty compact ledger 
[13476](https://github.com/apache/pulsar/pull/13476)
+- Fixes the NPE in system topics policies service 
[13469](https://github.com/apache/pulsar/pull/13469)
+- Fix race conditions in closing producers and consumers 
[13428](https://github.com/apache/pulsar/pull/13428)
+- Fix batch message ack does not decrease the unacked-msg count. 
[13383](https://github.com/apache/pulsar/pull/13383)
+- [Issue 13194][pulsar-broker] Fix dead loop in 
BacklogQuotaManager.dropBacklogForTimeLimit 
[13249](https://github.com/apache/pulsar/pull/13249)
+- Modify return result of NamespacesBase#internalGetPublishRate 
[13237](https://github.com/apache/pulsar/pull/13237)
+- Optimize ManagedLedger Ledger Ownership Check 
[13222](https://github.com/apache/pulsar/pull/13222)
+- Close old compacted ledger when open new. 
[13210](https://github.com/apache/pulsar/pull/13210)
+- fix shedding heartbeat ns 
[13208](https://github.com/apache/pulsar/pull/13208)
+- Fix when deleting topic with NotFoundException, do not return to client. 
[13203](https://github.com/apache/pulsar/pull/13203)
+- Update cursor last active timestamp when reseting cursor  
[13166](https://github.com/apache/pulsar/pull/13166)
+- Remove tenant permission verification when list partitioned-topic 
[13138](https://github.com/apache/pulsar/pull/13138)
+- Use current resourceUsage value as historyUsage when leader change in 
ThresholdShedder [13136](https://github.com/apache/pulsar/pull/13136)
+- Don't attempt to delete pending ack store unless transactions are enabled 
[13041](https://github.com/apache/pulsar/pull/13041)
+- Fix NPE in `PersistentTopic.checkSubscriptionTypesEnable` 
[12961](https://github.com/apache/pulsar/pull/12961)
+- Fix wrong isEmpty method of ConcurrentOpenLongPairRangeSet 
[12953](https://github.com/apache/pulsar/pull/12953)
+- Correct param of delete method for v1 topic 
[12936](https://github.com/apache/pulsar/pull/12936)
+- Clean up the metadata of the non-persistent partitioned topics. 
[12910](https://github.com/apache/pulsar/pull/12910)
+- Fix topic policy listener deleted by mistake. 
[12904](https://github.com/apache/pulsar/pull/12904)
+- Fix deleting tenants with active namespaces with 500. 
[12848](https://github.com/apache/pulsar/pull/12848)
+- [Issue 12757] add broker config isAllowAutoUpdateSchema 
[12786](https://github.com/apache/pulsar/pull/12786)
+- Remove unused listeners if it have no listeners. 
[12654](https://github.com/apache/pulsar/pull/12654)
+- Clean up the metadata of the non-persistent partitioned topics. 
[12550](https://github.com/apache/pulsar/pull/12550)
+- [managedledger] NPE on OpAddEntry while ManagedLedger is closing 
[12364](https://github.com/apache/pulsar/pull/12364)
+- fix issues 11964, deadlock bug when use key_shared mode 
[11965](https://github.com/apache/pulsar/pull/11965)
+
+### Build
+- [C++] Fix GCC compilation failure caused by warning macro 
[14402](https://github.com/apache/pulsar/pull/14402)
+- [C++] Fix Version.h not found when CMake binary directory is customized 
[13324](https://github.com/apache/pulsar/pull/13324)
+- [Issue 9888] add python3.9 on manylinux2014 build support 
[10954](https://github.com/apache/pulsar/pull/10954)
+
+### C++ Client
+- Fix GCC compilation failure caused by warning macro 
[14402](https://github.com/apache/pulsar/pull/14402)
+- Fix pulsar client cpp build fail in gcc-4.8.5 
[14053](https://github.com/apache/pulsar/pull/14053)
+- Fix hasMessageAvailable returns wrong value for last message 
[13883](https://github.com/apache/pulsar/pull/13883)
+- Fix Version.h not found when CMake binary directory is customized 
[13324](https://github.com/apache/pulsar/pull/13324)
+- Fix in macOS CMake might find error boost-python libs path 
[13193](https://github.com/apache/pulsar/pull/13193)
+
+### CI
+- Upgrade Windows runner os to windows-2022 and generator 
[14368](https://github.com/apache/pulsar/pull/14368)
+- Replace deprecated "adopt" OpenJDK distribution with "temurin" in GitHub 
Actions config [12945](https://github.com/apache/pulsar/pull/12945)
+
+### Pulsar CLI
+- Feat(cli): support autorecovery service in pulsar cli 
[12985](https://github.com/apache/pulsar/pull/12985)
+- [pulsar-perf] Write histogram files for consume command 
[12569](https://github.com/apache/pulsar/pull/12569)
+
+### Java Client
+- Fix adding message to list potential issue 
[14377](https://github.com/apache/pulsar/pull/14377)
+- Fix send to deadLetterTopic not working when reach maxRedeliverCount 
[14317](https://github.com/apache/pulsar/pull/14317)
+- Fix time unit mismatch in errMsg when producer send fails. 
[14299](https://github.com/apache/pulsar/pull/14299)
+- Fix PersistentAcknowledgmentsGroupingTracker set BitSet issue. 
[14260](https://github.com/apache/pulsar/pull/14260)
+- Check ``getTlsTrustStorePath`` NPE when user forget to set it. 
[14253](https://github.com/apache/pulsar/pull/14253)
+- [Issue 12262] Fix consume failure when BatchReceivePolicy#maxNumBytes < 
message size [14139](https://github.com/apache/pulsar/pull/14139)
+- Use `scheduleWithFixedDelay` instead of `scheduleAtFixedRate` for java 
producer batch timer [14125](https://github.com/apache/pulsar/pull/14125)
+- Add a default timeout for OAuth2 Metadata Resolver 
[14056](https://github.com/apache/pulsar/pull/14056)
+- Fix send chunking message failed when ordering key is set. 
[13699](https://github.com/apache/pulsar/pull/13699)
+- Fixed Producer semaphore permit release issue 
[13682](https://github.com/apache/pulsar/pull/13682)
+- Fix the wrong multi-topic has message available behavior 
[13634](https://github.com/apache/pulsar/pull/13634)
+- Use PulsarByteBufAllocator to allocate buffer for chunks 
[13536](https://github.com/apache/pulsar/pull/13536)
+- Fix resources leak when create producer failed 
[13505](https://github.com/apache/pulsar/pull/13505)
+- Fix semaphore and memory leak when chunks failed to enqueue 
[13454](https://github.com/apache/pulsar/pull/13454)
+- Fix invalid setting of enabled ciphers to fix warning from BoringSSL 
[13435](https://github.com/apache/pulsar/pull/13435)
+- [Producer] Change the time units from ns to ms 
[13057](https://github.com/apache/pulsar/pull/13057)
+- Fix consume message order issue when use listener. 
[13023](https://github.com/apache/pulsar/pull/13023)
+- Use sendAsync instead of send when produce message to retry topic. 
[12946](https://github.com/apache/pulsar/pull/12946)
+- [Java Client] Avoid IllegalStateException in ClientCnx debug logs 
[12899](https://github.com/apache/pulsar/pull/12899)
+- [pulsar-client] Add conf backoff values 
[12520](https://github.com/apache/pulsar/pull/12520)
+- Add log error tracking for semaphore count leak 
[12410](https://github.com/apache/pulsar/pull/12410)
+
+### Compaction
+- Fix reader skipped remaining compacted data during the topic unloading. 
[13629](https://github.com/apache/pulsar/pull/13629)
+- Return message ID from compacted ledger while the compaction cursor reach 
the end of the topic [13533](https://github.com/apache/pulsar/pull/13533)
+- [Broker] Fix getting the last message-id from an empty compact ledger 
[13476](https://github.com/apache/pulsar/pull/13476)
+
+### Functions
+- Fix(functions): missing runtime set in GoInstanceConfig 
[13031](https://github.com/apache/pulsar/pull/13031)
+- [function] pulsar admin exposes secrets for function 
[12950](https://github.com/apache/pulsar/pull/12950)
+
+### Pulsar IO
+- Pulsar admin exposes secret for source and sink 
[13059](https://github.com/apache/pulsar/pull/13059)
+- Pass client builder if no service url provided to debezium connector  
[12145](https://github.com/apache/pulsar/pull/12145)
+- [Cherry-pick] Pass client builder to debezium database history 
[12112](https://github.com/apache/pulsar/pull/12112)
+- Pass client builder if no service url provided to debezium connector 
[14040](https://github.com/apache/pulsar/pull/14040)
+
+### Key-Shared Subscription
+- [Issue 12885] Fix unordered consuming case in Key_Shared subscription. 
[12890](https://github.com/apache/pulsar/pull/12890)
+
+### Pulsar Metadata
+- AbstractMetadataStore: invalidate childrenCache correctly when node created 
[14177](https://github.com/apache/pulsar/pull/14177)
+
+### Metrics
+- Fix: bug when allAll bucket 
[13467](https://github.com/apache/pulsar/pull/13467)
+
+### Pulsar proxy
+- Fix port exhaustion and connection issues in Pulsar Proxy 
[14078](https://github.com/apache/pulsar/pull/14078)
+- Allow config of IO and acceptor threads in proxy 
[14054](https://github.com/apache/pulsar/pull/14054)
+- Remove unnecessary Pulsar Client usage from Pulsar Proxy 
[13836](https://github.com/apache/pulsar/pull/13836)
+
+### Python Client
+- Apply clang-format check for python wrapper 
[13418](https://github.com/apache/pulsar/pull/13418)
+
+### Schema
+- Fix parse BigDecimal [14019](https://github.com/apache/pulsar/pull/14019)
+- Fix pulsar use json or avro primitive schema. 
[12886](https://github.com/apache/pulsar/pull/12886)
+
+### SQL
+- Support protobuf/timestamp 
[13287](https://github.com/apache/pulsar/pull/13287)
+- Fix time field use error [12249](https://github.com/apache/pulsar/pull/12249)
+
+### Test
+- Improved 9 flaky tests.
+
+### Tools
+- Fix NPE in cmdTopics [13450](https://github.com/apache/pulsar/pull/13450)
+- [pulsar-perf] Support listenerThreads configuration. 
[12892](https://github.com/apache/pulsar/pull/12892)
+- [docs] Fix doc for pulsar-admin bookies cmd 
[12542](https://github.com/apache/pulsar/pull/12542)
+
+### Topic policy
+- [Broker] Avoid thread deadlock problem when creating topic policy reader 
[13837](https://github.com/apache/pulsar/pull/13837)
+- Fixed internal topic effect by InactiveTopicPolicy. 
[13816](https://github.com/apache/pulsar/pull/13816)
+
+### Transaction
+- Fix topicTransactionBuffer handle null snapshot (#12758) 
[14510](https://github.com/apache/pulsar/pull/14510)
+- Fix transaction system topic create in loop 
[12889](https://github.com/apache/pulsar/pull/12889)
+- Fix transaction system topic create in loop. 
[12749](https://github.com/apache/pulsar/pull/12749)
+
+### Websocket
+- Fix ``ClassCastException`` when user create ``MultiTopicReader``. 
[14316](https://github.com/apache/pulsar/pull/14316)
+
+### Dependency
+- Upgrade Gson version 2.8.6 to 2.8.9 
[13610](https://github.com/apache/pulsar/pull/13610)
+- Upgrade commons-cli to 1.5.0 
[14094](https://github.com/apache/pulsar/pull/14094)
+- Bump netty version to 4.1.74.Final 
[14257](https://github.com/apache/pulsar/pull/14257)
+
 ### 2.9.1
 #### 2021-12-20
 

Reply via email to