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

technoboy 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 c99157e6633 Update release note for 2.11.0 (#373)
c99157e6633 is described below

commit c99157e66331228ab9c8f26cd5c37895ed7fc00e
Author: Jiwei Guo <[email protected]>
AuthorDate: Fri Jan 13 14:44:24 2023 +0800

    Update release note for 2.11.0 (#373)
---
 release-notes/versioned/client-java-2.11.0.md      |  48 ++
 release-notes/versioned/client-websocket-2.11.0.md |  10 +
 release-notes/versioned/pulsar-2.11.0.md           | 606 +++++++++++++++++++++
 3 files changed, 664 insertions(+)

diff --git a/release-notes/versioned/client-java-2.11.0.md 
b/release-notes/versioned/client-java-2.11.0.md
new file mode 100644
index 00000000000..b3279f03864
--- /dev/null
+++ b/release-notes/versioned/client-java-2.11.0.md
@@ -0,0 +1,48 @@
+---
+id: client-java-2.11.0
+title: Client Java 2.11.0
+sidebar_label: Client Java 2.11.0
+---
+
+- [feature][Java] Support Reader Interceptor 
[#14729](https://github.com/apache/pulsar/pull/14729)
+- [improve][Java] Refactor SchemaHash to reduce call of hashFunction in 
SchemaHash [#17948](https://github.com/apache/pulsar/pull/17948)
+- [improve][Java] Improve performance of multi-topic consumer with more than 
one IO thread [#16336](https://github.com/apache/pulsar/pull/16336)
+- [improve][Java] Add initialization for the OpSendMsg 
[#16256](https://github.com/apache/pulsar/pull/16256)
+- [improve][Java] Replace ScheduledExecutor to improve performance of message 
consumption [#16236](https://github.com/apache/pulsar/pull/16236)
+- [improve][Java] Send CloseConsumer on client timeout 
[#16616](https://github.com/apache/pulsar/pull/16616)
+- [improve][Java] Make DeadLetterPolicy deserializable 
[#16513](https://github.com/apache/pulsar/pull/16513)
+- [improve][Java] Switch to rely on Netty for Hostname Verification 
[#15824](https://github.com/apache/pulsar/pull/15824)
+- [improve][Java] Remove sensitive msg from consumer/producer stats log 
[#15483](https://github.com/apache/pulsar/pull/15483)
+- [improve][Java] Add pending messages information while printing the producer 
stats [#15440](https://github.com/apache/pulsar/pull/15440)
+- [improve][Java] Check consumer schema null in advance 
[#15327](https://github.com/apache/pulsar/pull/15327)
+- [improve][Java] Returns immutable data set when using TableView 
[#14833](https://github.com/apache/pulsar/pull/14833)
+- [improve][Java] Avoid timer task run before previous subscribe complete 
[#14818](https://github.com/apache/pulsar/pull/14818)
+- [improve][Java] Optimize pause when creating sub consumers in multi-topic 
consumer [#14566](https://github.com/apache/pulsar/pull/14566)
+- [cleanup][Java] Reduce code duplication in admin client 
[#16377](https://github.com/apache/pulsar/pull/16377)
+- [cleanup][Java] Remove redundant check for chunked message TotalChunkMsgSize 
in ConsumerImpl [#16797](https://github.com/apache/pulsar/pull/16797)
+- [fix][Java] Fixed ack failure in ReaderImpl due to null messageId 
[#17728](https://github.com/apache/pulsar/pull/17728)
+- [fix][Java] Unwrap completion exception for Lookup Services 
[#17717](https://github.com/apache/pulsar/pull/17717)
+- [fix][Java] Fix scheduledExecutorProvider not shutdown 
[#17527](https://github.com/apache/pulsar/pull/17527)
+- [fix][Java] Fix the message present in incoming queue after going to DLQ 
[#17326](https://github.com/apache/pulsar/pull/17326)
+- [fix][Java] Fix reach redeliverCount client can't send batch messags 
[#17317](https://github.com/apache/pulsar/pull/17317)
+- [fix][Java] Fix reach redeliverCount client can't send messages to DLQ 
[#17287](https://github.com/apache/pulsar/pull/17287)
+- [fix][Java] LastBatchSendNanoTime initialization 
[#17058](https://github.com/apache/pulsar/pull/17058)
+- [fix][Java] Fixed inactive cnx channel causing the request to fail to time 
out and fail to return [#17051](https://github.com/apache/pulsar/pull/17051)
+- [fix][Java] Release semaphore before discarding messages in 
batchMessageContainer [#17019](https://github.com/apache/pulsar/pull/17019)
+- [fix][Java] Fix client memory limit currentUsage leak and semaphore release 
duplicated in ProducerImpl [#16837](https://github.com/apache/pulsar/pull/16837)
+- [fix][Java] Release memory usage for invalid messages 
[#16835](https://github.com/apache/pulsar/pull/16835)
+- [fix][Java] Fix subscription topic name error 
[#16719](https://github.com/apache/pulsar/pull/16719)
+- [fix][Java] Add message key if exists to deadLetter messages 
[#16615](https://github.com/apache/pulsar/pull/16615)
+- [fix][Java] Fix large messages sometimes cannot be split into chunks 
[#16196](https://github.com/apache/pulsar/pull/16196)
+- [fix][Java] Only trigger the batch receive timeout when having pending batch 
receives requests [#16160](https://github.com/apache/pulsar/pull/16160)
+- [fix][Java] Fix the startMessageId can't be respected as the ChunkMessageID 
[#16154](https://github.com/apache/pulsar/pull/16154)
+- [fix][Java] Fix auto cluster failover can't resolve host bug 
[#16152](https://github.com/apache/pulsar/pull/16152)
+- [fix][Java] Prevent the trigger from running concurrently in the memory 
limit controller [#15737](https://github.com/apache/pulsar/pull/15737)
+- [fix][Java] Fix messages sent by producers without schema cannot be decoded 
[#15622](https://github.com/apache/pulsar/pull/15622)
+- [fix][Java] Fix flaky BatchMessageTest by initializing lastBatchSendNanoTime 
[#15406](https://github.com/apache/pulsar/pull/15406)
+- [fix][Java] Fix inconsistent parameter of 
TopicPolicies.getSubscriptionDispatchRate 
[#15293](https://github.com/apache/pulsar/pull/15293)
+- [fix][Java] Fix typo in ConsumerBuilder 
[#15194](https://github.com/apache/pulsar/pull/15194)
+- [fix][Java] Fix performance regression with message listener 
[#15162](https://github.com/apache/pulsar/pull/15162)
+- [fix][Java] ConsumerBuilderImpl can not set null to deadLetterPolicy 
[#14980](https://github.com/apache/pulsar/pull/14980)
+- [fix][Java] Fix message publishing stuck when enabling batch 
[#14870](https://github.com/apache/pulsar/pull/14870)
+- [fix][Java] Fix NPE of MultiTopicsConsumerImpl due to race condition 
[#18287](https://github.com/apache/pulsar/pull/18287)
\ No newline at end of file
diff --git a/release-notes/versioned/client-websocket-2.11.0.md 
b/release-notes/versioned/client-websocket-2.11.0.md
new file mode 100644
index 00000000000..4fee6451aa1
--- /dev/null
+++ b/release-notes/versioned/client-websocket-2.11.0.md
@@ -0,0 +1,10 @@
+---
+id: client-websocket-2.11.0
+title: Client Websocket 2.11.0
+sidebar_label: Client Websocket 2.11.0
+---
+
+- [feature][WebSocket] Support encryption in Websocket proxy 
[#16234](https://github.com/apache/pulsar/pull/16234)
+- [improve][WebSocket] Add KeyStore support in WebSocket, Function Worker 
HTTPS Servers [#15084](https://github.com/apache/pulsar/pull/15084)
+- [fix][WebSocket] Fix MultiTopicReader#getConsumer ClassCastException 
[#15534](https://github.com/apache/pulsar/pull/15534)
+- [fix][WebSocket] Fix ClassCastException when user create MultiTopicReader 
[#14316](https://github.com/apache/pulsar/pull/14316)
\ No newline at end of file
diff --git a/release-notes/versioned/pulsar-2.11.0.md 
b/release-notes/versioned/pulsar-2.11.0.md
new file mode 100644
index 00000000000..bfe0840ab2d
--- /dev/null
+++ b/release-notes/versioned/pulsar-2.11.0.md
@@ -0,0 +1,606 @@
+---
+id: pulsar-2.11.0
+title: Apache Pulsar 2.11.0
+sidebar_label: Apache Pulsar 2.11.0
+---
+
+#### 2023-01-11
+
+### Important notice
+- Rename Pulsar txn metrics to specify OpenMetrics 
[#16581](https://github.com/apache/pulsar/pull/16581)
+- Rename Pulsar schema metrics to specify OpenMetrics 
[#16610](https://github.com/apache/pulsar/pull/16610)
+- Rename Pulsar lb metrics to specify OpenMetrics 
[#16611](https://github.com/apache/pulsar/pull/16611)
+- Remove jul-to-slf4j [#16320](https://github.com/apache/pulsar/pull/16320)
+- Fix get non-persistent topics issue in Namespaces 
[#16170](https://github.com/apache/pulsar/pull/16170)
+- Fix producer/consume permission can’t get schema 
[#15956](https://github.com/apache/pulsar/pull/15956)
+- Add verification for configured default backlog quota and retention 
[#15441](https://github.com/apache/pulsar/pull/15441)
+- Fix ineffective broker LoadBalance 
[#15314](https://github.com/apache/pulsar/pull/15314)
+- Ensure the deletion consistency of topic and schema 
[#14608](https://github.com/apache/pulsar/pull/14608)
+- Transaction cumulative ack redeliver change 
[#14371](https://github.com/apache/pulsar/pull/14371)
+- Bump prometheus client version from 0.5.0 to 0.15.0 
[#13785](https://github.com/apache/pulsar/pull/13785)
+- [PIP-158] Split client TLS transport encryption from authentication 
[#15634](https://github.com/apache/pulsar/pull/15634)
+- [PIP-155] Remove Python 2 support 
[#15376](https://github.com/apache/pulsar/pull/15376)
+- [PIP-156] Build Pulsar Server on Java 17 
[#15264](https://github.com/apache/pulsar/pull/15264)
+- [PIP-162] Enable system topic by default 
[#15619](https://github.com/apache/pulsar/pull/15619)
+
+### PIPs
+- [PIP 37] Support chunking with Shared subscription 
[#16202](https://github.com/apache/pulsar/pull/16202)
+- [PIP-74] Pulsar client memory limits 
[#14400](https://github.com/apache/pulsar/pull/14400)
+- [PIP-81] Split createNewMetadataLedger into multiple methods for reuse 
[#15425](https://github.com/apache/pulsar/pull/15425)
+- [PIP 97] Update Authentication Interfaces to Include Async Authentication 
Methods [#12104](https://github.com/apache/pulsar/pull/12104)
+- [PIP-100] Support pluggable topic factory 
[#12235](https://github.com/apache/pulsar/pull/12235)
+- [PIP-105] Store Subscription properties 
[#15757](https://github.com/apache/pulsar/pull/15757)
+- [PIP-117] Change Pulsar standalone defaults 
[#15478](https://github.com/apache/pulsar/pull/15478)
+- [PIP-132] Include message header size when checking maxMessageSize for 
non-batch messages on the client side 
[#14007](https://github.com/apache/pulsar/pull/14007)
+- [PIP-136] Sync Pulsar metadata across multiple clouds 
[#16425](https://github.com/apache/pulsar/pull/16425)
+- [PIP-143] Support split bundle by specified boundaries 
[#13796](https://github.com/apache/pulsar/pull/13796)
+- [PIP-145] Improve performance of regex subscriptions 
[#14505](https://github.com/apache/pulsar/pull/14505)
+- [PIP-146] ManagedCursorInfo compression 
[#14542](https://github.com/apache/pulsar/pull/14542)
+- [PIP 149] Make the REST Admin API fully async 
[#14365](https://github.com/apache/pulsar/issues/14365)
+- [PIP-152] Support subscription level dispatch rate limiter setting 
[#15295](https://github.com/apache/pulsar/issues/15295)
+- [PIP-153] Optimize metadataPositions in MLPendingAckStore 
[#15137](https://github.com/apache/pulsar/pull/15137)
+- [PIP-160] Make transactions work more efficiently by aggregation operation 
for transaction log and pending ack store 
[#15370](https://github.com/apache/pulsar/issues/15370)
+- [PIP-161] Exclusive Producer: ability to fence out an existing Producer 
[#15488](https://github.com/apache/pulsar/pull/15488)
+- [PIP-163] Add lowWaterMark check before appending entry to TB 
[#15424](https://github.com/apache/pulsar/pull/15424)
+- [PIP-166] Add MANUAL delivery semantics for Functions 
[#16279](https://github.com/apache/pulsar/pull/16279)
+- [PIP-179] Support the admin API to check unknown request parameters 
[#16135](https://github.com/apache/pulsar/issues/16135)
+- [PIP-181] Pulsar Shell 
[#16250](https://github.com/apache/pulsar/issues/16250)
+- [PIP-184] Topic specific consumer priorityLevel 
[#16715](https://github.com/apache/pulsar/issues/16715)
+- [PIP-187] Add API to analyze a subscription backlog and provide an accurate 
value [#16545](https://github.com/apache/pulsar/issues/16545)
+- [PIP-189] No batching if only one message in batch 
[#18548](https://github.com/apache/pulsar/issues/18548)
+- [PIP-201] Extensions mechanism for Pulsar Admin CLI tools 
[#17158](https://github.com/apache/pulsar/issues/17158)
+
+### Broker
+- [PIP 81] Split the individual acknowledgments into multiple entries
+    - Add range set wrapper to support record dirty ledgers 
[#15607](https://github.com/apache/pulsar/pull/15607)
+    - Notifications for faster topic discovery 
[#16062](https://github.com/apache/pulsar/pull/16062)
+    - Split createNewMetadataLedger into multiple methods for reuse 
[#15425](https://github.com/apache/pulsar/pull/15425)
+- [PIP 105] Store Subscription properties
+    - Store Subscription properties 
[#15757](https://github.com/apache/pulsar/pull/15757)
+    - Pulsar Admin: create subscription with Properties 
[#15503](https://github.com/apache/pulsar/pull/15503)
+    - Fix error on recycled SubscriptionPropertiesList 
[#15335](https://github.com/apache/pulsar/pull/15335)
+- [PIP 160] Make transactions work more efficiently by aggregation operation 
for transaction log and pending ack store
+    - Pending ack log store enables the batch feature 
[#16707](https://github.com/apache/pulsar/pull/16707)
+    - Metrics stats of Transaction buffered writer 
[#16758](https://github.com/apache/pulsar/pull/16758)
+    - Transaction buffered writer supports Timer 
[#16727](https://github.com/apache/pulsar/pull/16727)
+    - Transaction log store enables the batch feature 
[#16685](https://github.com/apache/pulsar/pull/16685)
+    - Protocol changes and configuration changes for transaction batch log 
[#16617](https://github.com/apache/pulsar/pull/16617)
+    - Txn buffered writer for transaction log batch 
[#16428](https://github.com/apache/pulsar/pull/16428)
+- [PIP 145] Improve performance of regex subscriptions
+    - Enable evaluating subscription pattern on broker side 
[#14804](https://github.com/apache/pulsar/pull/14804)
+    - Notifications for faster topic discovery 
[#16062](https://github.com/apache/pulsar/pull/16062)
+- [PIP-156] Build Pulsar Server on Java 17
+    - Build changes by dropping some required checks 
[#15496](https://github.com/apache/pulsar/pull/15496)
+    - Build Pulsar Server on Java 17 
[#15264](https://github.com/apache/pulsar/pull/15264)
+
+- Add logs for why namespace bundle been split 
[#19003](https://github.com/apache/pulsar/pull/19003)
+- Omit making a copy of CommandAck when there are no broker interceptors 
[#18997](https://github.com/apache/pulsar/pull/18997)
+- Fix deadlock in PendingAckHandleImpl 
[#18989](https://github.com/apache/pulsar/pull/18989)
+- Copy proto command fields into final variables in ServerCnx 
[#18987](https://github.com/apache/pulsar/pull/18987)
+- Transaction pending ack store future not completely problem 
[#18943](https://github.com/apache/pulsar/pull/18943)
+- Update interceptor handler exception 
[#18940](https://github.com/apache/pulsar/pull/18940)
+- Do not require encryption on system topics 
[#18898](https://github.com/apache/pulsar/pull/18898)
+- Fix incorrect Nic usage collected by pulsar 
[#18882](https://github.com/apache/pulsar/pull/18882)
+- Fix PendingAckHandleImpl when pendingAckStoreProvider.checkInitializedBefore 
failed [#18859](https://github.com/apache/pulsar/pull/18859)
+- Ignore the exception of creating namespace 
[#18837](https://github.com/apache/pulsar/pull/18837)
+- Fixing can not delete namespace by force 
[#18826](https://github.com/apache/pulsar/pull/18826)
+- Avoid OOM not trigger PulsarByteBufAllocator outOfMemoryListener when use 
ByteBufAllocator.DEFAULT.heapBuffer 
[#18747](https://github.com/apache/pulsar/pull/18747)
+- System topic writer/reader connection not counted 
[#18603](https://github.com/apache/pulsar/pull/18603)
+- DnsResolverUtil.TTL should be greater than zero 
[#18565](https://github.com/apache/pulsar/pull/18565)
+- Persist correct markDeletePosition to prevent message loss 
[#18237](https://github.com/apache/pulsar/pull/18237)
+- Fix delete_when_subscriptions_caught_up doesn't work while have active 
consumers [#18320](https://github.com/apache/pulsar/pull/18320)
+- Read local cookie when start pulsar standalone 
[#18260](https://github.com/apache/pulsar/pull/18260)
+- Remove the redundant judgment logic of ManagedCursorImpl 
[#18205](https://github.com/apache/pulsar/pull/18205)
+- Fix unexpected behaviour by invoke PulsarConfigurationLoader#convertFrom 
[#18816](https://github.com/apache/pulsar/pull/18816)
+- Fix the wrong behaviour when set overrideBrokerNicSpeedGbps 
[#18818](https://github.com/apache/pulsar/pull/18818)
+- Fix the breaking change of standalone metadata initialization 
[#18909](https://github.com/apache/pulsar/pull/18909)
+- Transaction buffer recover blocked by readNext 
[#18969](https://github.com/apache/pulsar/pull/18969)
+- Fix duplicated schemas creation 
[#18701](https://github.com/apache/pulsar/pull/18701)
+- Read local cookie when start pulsar standalone 
[#18260](https://github.com/apache/pulsar/pull/18260)
+- The Pulsar standalone bookie is not getting passed the config from 
standalone.conf [#18126](https://github.com/apache/pulsar/pull/18126)
+- Reduce unnecessary calling span() when filtering read entries 
[#18106](https://github.com/apache/pulsar/pull/18106)
+- Change update schema auth from tenant to produce 
[#18074](https://github.com/apache/pulsar/pull/18074)
+- Fixed delayed delivery after read operation error 
[#18098](https://github.com/apache/pulsar/pull/18098)
+- Fix memory leak while Offloading ledgers 
[#18500](https://github.com/apache/pulsar/pull/18500)
+- Cache invalidation due to concurrent access 
[#18076](https://github.com/apache/pulsar/pull/18076)
+- Fix unable to start multiple bookies for BKCluster 
[#18072](https://github.com/apache/pulsar/pull/18072)
+- Compare batch index when accumulating acks and updating batchDeletedIndexes 
[#18042](https://github.com/apache/pulsar/pull/18042)
+- Limit the memory used by reads end-to-end 
[#18245](https://github.com/apache/pulsar/pull/18245)
+- Consumer backlog eviction policy should not reset read position for consumer 
[#18037](https://github.com/apache/pulsar/pull/18037)
+- Allow to configure and disable the size of lookahead for detecting fixed 
delays in messages [#17907](https://github.com/apache/pulsar/pull/17907)
+- Fix create ns [#17864](https://github.com/apache/pulsar/pull/17864)
+- Fix the wrong NIC speed rate unit 
[#17890](https://github.com/apache/pulsar/pull/17890)
+- Fix numerical overflow bug while reading data from tiered storage 
[#18595](https://github.com/apache/pulsar/pull/18595)
+- Support lower boundary shedding for ThresholdShedder 
[#17456](https://github.com/apache/pulsar/pull/17456)
+- Avoid unnecessary creation of BitSetRecyclable objects 
[#17998](https://github.com/apache/pulsar/pull/17998)
+- Fix broker cache eviction of entries read by active cursors 
[#17273](https://github.com/apache/pulsar/pull/17273)
+- Fix issue where leader broker information isn't available after 10 minutes 
[#17401](https://github.com/apache/pulsar/pull/17401)
+- Fix NPE when ResourceGroupService execute scheduled task 
[#17840](https://github.com/apache/pulsar/pull/17840)
+- Make BookieId work with PulsarRegistrationDriver 
[#17762](https://github.com/apache/pulsar/pull/17762)
+- Fix namespace backlog quota check with retention 
[#17706](https://github.com/apache/pulsar/pull/17706)
+- Cleanup state when lock revalidation gets LockBusyException 
[#17700](https://github.com/apache/pulsar/pull/17700)
+- Fix parsing partitionedKey with Base64 encode issue 
[#17687](https://github.com/apache/pulsar/pull/17687)
+- Standalone Add param of --metadata-url for runing with metadata 
[#17077](https://github.com/apache/pulsar/pull/17077)
+- Correctly set byte and message out totals per subscription 
[#18451](https://github.com/apache/pulsar/pull/18451)
+- Implementation of Delayed Transaction Messages 
[#17548](https://github.com/apache/pulsar/pull/17548)
+- Set revalidateAfterReconnection true for certain failures 
[#17664](https://github.com/apache/pulsar/pull/17664)
+- Unregister topic policy listener if managed ledger close failed 
[#17652](https://github.com/apache/pulsar/pull/17652)
+- Correctly handle list configuration values 
[#17661](https://github.com/apache/pulsar/pull/17661)
+- Cancel the loadShedding task when closing pulsar service 
[#17632](https://github.com/apache/pulsar/pull/17632)
+- Consumer can't consume messages because there has two sames topics in one 
broker [#17526](https://github.com/apache/pulsar/pull/17526)
+- Prevent partitioned metadata lookup request when broker is closing 
[#17315](https://github.com/apache/pulsar/pull/17315)
+- Prevent new connection request when broker is closing 
[#17314](https://github.com/apache/pulsar/pull/17314)
+- Ledger handle leak when update schema 
[#17283](https://github.com/apache/pulsar/pull/17283)
+- Add metrics for entry cache insertion, eviction 
[#17248](https://github.com/apache/pulsar/pull/17248)
+- Do not send duplicate reads to BK/offloaders 
[#17241](https://github.com/apache/pulsar/pull/17241)
+- Fix system service namespace create internal event topic 
[#17867](https://github.com/apache/pulsar/pull/17867)
+- Fix getPositionAfterN infinite loop 
[#17971](https://github.com/apache/pulsar/pull/17971)
+- Fix memory leak in case of error conditions in PendingReadsManager 
[#17995](https://github.com/apache/pulsar/pull/17995)
+- After the broker is restarted, the cache dynamic configuration is invalid 
[#17035](https://github.com/apache/pulsar/pull/17035)
+- Fix if dynamicConfig item in ZK do not exist in broker cause NPE 
[#17705](https://github.com/apache/pulsar/pull/17705)
+- Fix the broker shutdown issue after Zookeeper node crashed 
[#17909](https://github.com/apache/pulsar/pull/17909)
+- Fix broker irrational behavior when it is closing 
[#17085](https://github.com/apache/pulsar/pull/17085)
+- ServerCnx: log at warning level when topic not found 
[#16225](https://github.com/apache/pulsar/pull/16225)
+- Optimize getting ledger and entry id from entry 
[#17108](https://github.com/apache/pulsar/pull/17108)
+- Topic policy reader can't recover when get any exception 
[#17562](https://github.com/apache/pulsar/pull/17562)
+- Multiple consumer dispatcher stuck when unackedMessages greater than 
maxUnackedMessages [#17483](https://github.com/apache/pulsar/pull/17483)
+- Fix memoryLimitController currentUsage and MaxQueueSize semaphore leak when 
batchMessageContainer add message exception 
[#17276](https://github.com/apache/pulsar/pull/17276)
+- Fix arithmetic exception for LeastResourceUsageWithWeight strategy 
[#17149](https://github.com/apache/pulsar/pull/17149)
+- Fix update topic remove properties 
[#17231](https://github.com/apache/pulsar/pull/17231)
+- Fix ack with txn compute ackedCount error 
[#17016](https://github.com/apache/pulsar/pull/17016)
+- Improve cursor.getNumberOfEntries if isUnackedRangesOpenCacheSetEnabled=true 
[#17465](https://github.com/apache/pulsar/pull/17465)
+- Fix dispatch duplicated messages with Exclusive mode 
[#17237](https://github.com/apache/pulsar/pull/17237)
+- Remove internalUpdateOffloadPolicies to keep the same behavior update topic 
policy [#17236](https://github.com/apache/pulsar/pull/17236)
+- Fix update topic remove properties 
[#17231](https://github.com/apache/pulsar/pull/17231)
+- Fix arithmetic exception for LeastResourceUsageWithWeight strategy 
[#17149](https://github.com/apache/pulsar/pull/17149)
+- Fix pulsarLedgerIdGenerator can't delete index path when zk metadata store 
config rootPath [#17192](https://github.com/apache/pulsar/pull/17192)
+- Avoid messages being repeatedly replayed with SHARED subscriptions 
(streaming dispatcher) [#17163](https://github.com/apache/pulsar/pull/17163)
+- Add ServerCnx state check before server handle request 
[#17084](https://github.com/apache/pulsar/pull/17084)
+- Pass subscriptionName to auth service 
[#17123](https://github.com/apache/pulsar/pull/17123)
+- Support loadBalancerSheddingIntervalMinutes dynamic configuration 
[#16408](https://github.com/apache/pulsar/pull/16408)
+- Fix out of order data replication 
[#17154](https://github.com/apache/pulsar/pull/17154)
+- Fix schema does not replicate successfully 
[#17049](https://github.com/apache/pulsar/pull/17049)
+- Optimize the shutdown sequence of broker service when it close 
[#16756](https://github.com/apache/pulsar/pull/16756)
+- Modernizer managed ledger 
[#16363](https://github.com/apache/pulsar/pull/16363)
+- Make deleteTopicPolicies serialized is executed when close topic 
[#15811](https://github.com/apache/pulsar/pull/15811)
+- Streaming dispatcher stuck after reading the first entry with SHARED 
subscriptions [#17143](https://github.com/apache/pulsar/pull/17143)
+- Fix calculate avg message per entry 
[#17046](https://github.com/apache/pulsar/pull/17046)
+- Fix bundle-data metadata leak because bundle stats was not cleaned up 
[#17095](https://github.com/apache/pulsar/pull/17095)
+- Duplicate ByteBuffer when Caching Backlogged Consumers 
[#17105](https://github.com/apache/pulsar/pull/17105)
+- Fix offload read handle NPE 
[#17056](https://github.com/apache/pulsar/pull/17056)
+- Increment topic stats outbound message counters and update rate after 
messages have been written to the TCP/IP connection 
[#17043](https://github.com/apache/pulsar/pull/17043)
+- Move the state check forward 
[#17020](https://github.com/apache/pulsar/pull/17020)
+- Follow up on #16968 to restore some behavior in 
PersistentDispatcherMultipleConsumers 
[#17018](https://github.com/apache/pulsar/pull/17018)
+- Remove exception log when access status.html 
[#17025](https://github.com/apache/pulsar/pull/17025)
+- Not allow terminating system topic 
[#17006](https://github.com/apache/pulsar/pull/17006)
+- Fix memory leak if entry exists in cache 
[#16996](https://github.com/apache/pulsar/pull/16996)
+- Remove unnecessary lock on the stats thread 
[#16983](https://github.com/apache/pulsar/pull/16983)
+- Prevent StackOverFlowException in SHARED subscription 
[#16968](https://github.com/apache/pulsar/pull/16968)
+- Improve naming for delete topic error 
[#16965](https://github.com/apache/pulsar/pull/16965)
+- Fix ConcurrentModificationException when ModularLoadManagerImpl start 
[#16953](https://github.com/apache/pulsar/pull/16953)
+- Skip mis-configured resource usage(>100%) in load balancer 
[#16937](https://github.com/apache/pulsar/pull/16937)
+- Adapt basic authentication configuration with prefix 
[#16935](https://github.com/apache/pulsar/pull/16935)
+- Change delete pending ack position from foreach to firstKey 
[#16927](https://github.com/apache/pulsar/pull/16927)
+- Fix MaxQueueSize semaphore release leak in createOpSendMsg 
[#16915](https://github.com/apache/pulsar/pull/16915)
+- PulsarLedgerManager to pass correct error code to BK client 
[#16857](https://github.com/apache/pulsar/pull/16857)
+- Support start multiple bookies for BKCluster 
[#16847](https://github.com/apache/pulsar/pull/16847)
+- Split TLS transport encryption support from authentication 
[#16819](https://github.com/apache/pulsar/pull/16819)
+- Fix misleading -c option in pulsar standalone 
[#16838](https://github.com/apache/pulsar/pull/16838)
+- Fix rack awareness cache expiration data race 
[#16825](https://github.com/apache/pulsar/pull/16825)
+- Fix Repeated messages of shared dispatcher 
[#16812](https://github.com/apache/pulsar/pull/16812)
+- Avoid IllegalStateException while client_version is not set 
[#16788](https://github.com/apache/pulsar/pull/16788)
+- Optimize concurrent collection's shrink logic 
[#16754](https://github.com/apache/pulsar/pull/16754)
+- Fix consumer does not abide by the max unacks limitation for Key_Shared 
subscription [#16718](https://github.com/apache/pulsar/pull/16718)
+- Support clear old bookie data for BKCluster 
[#16744](https://github.com/apache/pulsar/pull/16744)
+- Avoid ConcurrentModificationException for 
ModularLoadManagerImpl.cleanupDeadBrokersData() 
[#16690](https://github.com/apache/pulsar/pull/16690)
+- Improve get the basic authentication config 
[#16526](https://github.com/apache/pulsar/pull/16526)
+- Retry to delete the namespace if new topics created during the namespace 
deletion [#16676](https://github.com/apache/pulsar/pull/16676)
+- Fix consumer does not abide by the max unacks limitation for Shared 
subscription [#16670](https://github.com/apache/pulsar/pull/16670)
+- Add decode InputStream for Schema 
[#16659](https://github.com/apache/pulsar/pull/16659)
+- Support for get token from HTTP params 
[#16650](https://github.com/apache/pulsar/pull/16650)
+- Make defaultOffloader create after offloaderStats overrides 
[#16638](https://github.com/apache/pulsar/pull/16638)
+- BadVersionException when splitting bundles, delay 100ms and try again 
[#16612](https://github.com/apache/pulsar/pull/16612)
+- The configuration loadBalancerNamespaceMaximumBundles is invalid 
[#16552](https://github.com/apache/pulsar/pull/16552)
+- PulsarLedgerManager: add missed return statement 
[#16607](https://github.com/apache/pulsar/pull/16607)
+- Retry when DistributedIdGenerator has BadVersion error 
[#16491](https://github.com/apache/pulsar/pull/16491)
+- Fixed error when delayed messages trackers state grows to >1.5GB 
[#16490](https://github.com/apache/pulsar/pull/16490)
+- Fix RawReader hasMessageAvailable returns true when no messages 
[#16443](https://github.com/apache/pulsar/pull/16443)
+- Fix No such ledger exception 
[#16420](https://github.com/apache/pulsar/pull/16420)
+- Improve the package download process 
[#16365](https://github.com/apache/pulsar/pull/16365)
+- Add config maxUnloadBundleNumPerShedding for UniformLoadShedder 
[#16409](https://github.com/apache/pulsar/pull/16409)
+- Skip reading more entries for a pending read with no more entries 
[#16400](https://github.com/apache/pulsar/pull/16400)
+- Recycle OpReadEntry in some corner cases 
[#16399](https://github.com/apache/pulsar/pull/16399)
+- Add dynamic configuration for UniformLoadShedder 
[#16391](https://github.com/apache/pulsar/pull/16391)
+- Fix RawReader out of order 
[#16390](https://github.com/apache/pulsar/pull/16390)
+- Create the cursor ledger lazily to improve the subscribe performance 
[#16389](https://github.com/apache/pulsar/pull/16389)
+- Release the entry in getEarliestMessagePublishTimeOfPos 
[#16386](https://github.com/apache/pulsar/pull/16386)
+- Update CPU ResourceUsage before updating SystemResourceUsage usage 
[#16366](https://github.com/apache/pulsar/pull/16366)
+- Use shared broker client scheduled executor provider 
[#16338](https://github.com/apache/pulsar/pull/16338)
+- Fix etcd cluster error and add test for etcd cluster 
[#16309](https://github.com/apache/pulsar/pull/16309)
+- Do not use IO thread for consumerFlow in Shared subscription 
[#16304](https://github.com/apache/pulsar/pull/16304)
+- Provide new load balance placement strategy implementation based on the 
least resource usage with weight 
[#16281](https://github.com/apache/pulsar/pull/16281)
+- Fix TopicTransactionBuffer ledger apend marker throw 
ManagedLedgerAlreadyClosedException 
[#16265](https://github.com/apache/pulsar/pull/16265)
+- Avoid go through all the consumers to get the message ack owner 
[#16245](https://github.com/apache/pulsar/pull/16245)
+- Reduce the consumers list sort by priority level 
[#16243](https://github.com/apache/pulsar/pull/16243)
+- Reduce the re-schedule message read operation for 
PersistentDispatcherMultipleConsumers 
[#16241](https://github.com/apache/pulsar/pull/16241)
+- Fix NPE when invoke replaceBookie. 
[#16239](https://github.com/apache/pulsar/pull/16239)
+- Fix getInternalStats occasional lack of LeaderInfo again 
[#16238](https://github.com/apache/pulsar/pull/16238)
+- Fix NPE when drop backlog for time limit 
[#16235](https://github.com/apache/pulsar/pull/16235)
+- Improve error msg when client is unauthorized 
[#16224](https://github.com/apache/pulsar/pull/16224)
+- Fix compaction subscription acknowledge Marker msg issue 
[#16205](https://github.com/apache/pulsar/pull/16205)
+- Fix subscribe dispatcher limiter not be initialized 
[#16175](https://github.com/apache/pulsar/pull/16175)
+- Using handle instead of handleAsync to avoid using common pool thread 
[#17403](https://github.com/apache/pulsar/pull/17403)
+- Use LinkedHashSet for config items of type Set to preserve elements order 
[#16138](https://github.com/apache/pulsar/pull/16138)
+- Fix topic dispatch rate limiter not init on broker-level 
[#16084](https://github.com/apache/pulsar/pull/16084)
+- Fix NPE when get /admin/v2/namespaces/public/default/maxTopicsPerNamespace 
[#16076](https://github.com/apache/pulsar/pull/16076)
+- Add config to allow deliverAt time to be strictly honored 
[#16068](https://github.com/apache/pulsar/pull/16068)
+- Add switch for enable/disable distribute bundles evenly in LoadManager 
[#16059](https://github.com/apache/pulsar/pull/16059)
+- Fix thread safety issues in accessing ManagedCursorContainer.heap ArrayList 
[#16049](https://github.com/apache/pulsar/pull/16049)
+- Make invalid namespace and topic name logs more descriptive 
[#16047](https://github.com/apache/pulsar/pull/16047)
+- Terminate JVM when initialize-cluster-metadata command fails 
[#16039](https://github.com/apache/pulsar/pull/16039)
+- Avoid storing MessageMetadata instances returned by peekMessageMetadata 
[#15983](https://github.com/apache/pulsar/pull/15983)
+- Fix topic policies update not check message expiry 
[#15941](https://github.com/apache/pulsar/pull/15941)
+- Fix reach max tenants error if the tenant already exists 
[#15932](https://github.com/apache/pulsar/pull/15932)
+- Close transactionBufferClient before closing the internal Pulsar client 
[#15922](https://github.com/apache/pulsar/pull/15922)
+- Remove topic -> namespace cache of LedgerOffloaderStatsImpl 
[#15869](https://github.com/apache/pulsar/pull/15869)
+- Fix NPE when ledger id not found in OpReadEntry 
[#15837](https://github.com/apache/pulsar/pull/15837)
+- Fix topic-level replicator rate limiter not init 
[#15825](https://github.com/apache/pulsar/pull/15825)
+- Fix NPE in MessageDeduplication 
[#15820](https://github.com/apache/pulsar/pull/15820)
+- Configure DLog Bookie, Pulsar, and Admin clients via pass through config 
[#15818](https://github.com/apache/pulsar/pull/15818)
+- Fix the broker close hanged issue 
[#15755](https://github.com/apache/pulsar/pull/15755)
+- Disable memory limit controller in internal Pulsar clients 
[#15752](https://github.com/apache/pulsar/pull/15752)
+- Add timeout for unload namespace bundle 
[#15719](https://github.com/apache/pulsar/pull/15719)
+- Support schemaValidationEnforced on topic level 
[#15712](https://github.com/apache/pulsar/pull/15712)
+- Fix NPE when put value to RangeCache 
[#15707](https://github.com/apache/pulsar/pull/15707)
+- Fast return if ack cumulative illegal 
[#15695](https://github.com/apache/pulsar/pull/15695)
+- Fix creating producer failure when set backlog quota 
[#15663](https://github.com/apache/pulsar/pull/15663)
+- Fix logging in shutdown when broker shutdown 
[#15626](https://github.com/apache/pulsar/pull/15626)
+- Fix MetadataStoreException$NotFoundException while doing topic lookup 
[#15633](https://github.com/apache/pulsar/pull/15633)
+- Use dispatchRateLimiterLock to update dispatchRateLimiter 
[#15601](https://github.com/apache/pulsar/pull/15601)
+- Add .yaml suffix support for broker filter config file 
[#15600](https://github.com/apache/pulsar/pull/15600)
+- Add newline to the end of standalone.conf 
[#15591](https://github.com/apache/pulsar/pull/15591)
+- Create "standalone" cluster when starting standalone server 
[#15583](https://github.com/apache/pulsar/pull/15583)
+- Close publishLimiter when disable it 
[#15520](https://github.com/apache/pulsar/pull/15520)
+- Enable SO_REUSEADDR on listen sockets for broker,proxy 
[#15517](https://github.com/apache/pulsar/pull/15517)
+- Fix to avoid TopicStatsImpl NPE even if producerName is null 
[#15502](https://github.com/apache/pulsar/pull/15502)
+- Close connection if a ping or pong message cannot be sent 
[#15382](https://github.com/apache/pulsar/pull/15382)
+- Introduce BitRateUnit for calculate bitrate 
[#15435](https://github.com/apache/pulsar/pull/15435)
+- Add verification for configured default backlog quota and retention 
[#15441](https://github.com/apache/pulsar/pull/15441)
+- Change unnecessary atomic to basic type 
[#15369](https://github.com/apache/pulsar/pull/15369)
+- Support shrink for ConcurrentSortedLongPairSet 
[#15354](https://github.com/apache/pulsar/pull/15354)
+- Use shrink map for message redelivery 
[#15342](https://github.com/apache/pulsar/pull/15342)
+- Fix precision error in UsageUnit 
[#15322](https://github.com/apache/pulsar/pull/15322)
+- Optimized namespace-level dispatcherRateLimiter update 
[#15315](https://github.com/apache/pulsar/pull/15315)
+- Fix wrong unit of NIC speed on Linux 
[#15304](https://github.com/apache/pulsar/pull/15304)
+- Fix totalEntries calculation problem in 
AbstractBaseDispatcher#filterEntriesForConsumere 
[#15298](https://github.com/apache/pulsar/pull/15298)
+- Fix resource group does not report usage 
[#15292](https://github.com/apache/pulsar/pull/15292)
+- Tidy up the system topic 
[#15252](https://github.com/apache/pulsar/pull/15252)
+- Fix race condition between timeout and completion in OpAddEntry 
[#15233](https://github.com/apache/pulsar/pull/15233)
+- Improve skipping of DNS resolution when creating AuthenticationDataHttp 
instance [#15228](https://github.com/apache/pulsar/pull/15228)
+- Skip unnecessary DNS resolution when creating AuthenticationDataHttp 
instance [#15221](https://github.com/apache/pulsar/pull/15221)
+- Fix MessageDeduplication#inactiveProducers may not be persistence correctly 
[#15206](https://github.com/apache/pulsar/pull/15206)
+- Cancel fencedTopicMonitoringTask when topic closed normally 
[#15202](https://github.com/apache/pulsar/pull/15202)
+- Fix npe when doCacheEviction 
[#15184](https://github.com/apache/pulsar/pull/15184)
+- Make health check fail if dead locked threads are detected 
[#15155](https://github.com/apache/pulsar/pull/15155)
+- Fix parameter saslJaasBrokerSectionName in broker.conf 
[#15110](https://github.com/apache/pulsar/pull/15110)
+- Fix potential to add duplicated consumer 
[#15051](https://github.com/apache/pulsar/pull/15051)
+- Fix rewind failed when redeliverUnacknowledgedMessages 
[#15046](https://github.com/apache/pulsar/pull/15046)
+- Fix race condition in updating lastMarkDeleteEntry field 
[#15031](https://github.com/apache/pulsar/pull/15031)
+- Avoid heartbeat topic to offload 
[#15008](https://github.com/apache/pulsar/pull/15008)
+- Evict cache data according to the slowest markDeletedPosition 
[#14985](https://github.com/apache/pulsar/pull/14985)
+- Return if reset in progress 
[#14978](https://github.com/apache/pulsar/pull/14978)
+- Dynamic update broker-level subscribe-rate limter 
[#14890](https://github.com/apache/pulsar/pull/14890)
+- Fix wrong state for non-durable cursor 
[#14869](https://github.com/apache/pulsar/pull/14869)
+- Support advertised listeners for HTTP and HTTPS services 
[#14839](https://github.com/apache/pulsar/pull/14839)
+- Support dynamic update between non-zero values of 
topicPublisherThrottlingTickTimeMillis 
[#14782](https://github.com/apache/pulsar/pull/14782)
+- Support dynamic update between non-zero values of 
brokerPublisherThrottlingTickTimeMillis 
[#14759](https://github.com/apache/pulsar/pull/14759)
+- Fix incorrect entryId in warn log when reading entry from tiered storage 
[#14685](https://github.com/apache/pulsar/pull/14685)
+- Optimize PositionImpl toString, compareTo and hashCode methods 
[#14678](https://github.com/apache/pulsar/pull/14678)
+- Improve readability of ManagedCursorImpl source code 
[#14617](https://github.com/apache/pulsar/pull/14617)
+- Intercept ACK command by BrokerInterceptor 
[#14616](https://github.com/apache/pulsar/pull/14616)
+- Add filteredMsgCount for pulsar-admin broker-stats topics 
[#14531](https://github.com/apache/pulsar/pull/14531)
+- Fix NPE when subscription is already removed 
[#14363](https://github.com/apache/pulsar/pull/14363)
+- Fix backpressure handling in Jetty web server configuration 
[#14353](https://github.com/apache/pulsar/pull/14353)
+- Optimize find nics process 
[#14340](https://github.com/apache/pulsar/pull/14340)
+- Support pass http auth status 
[#14044](https://github.com/apache/pulsar/pull/14044)
+- Support caching to drain backlog consumers 
[#12258](https://github.com/apache/pulsar/pull/12258)
+- Strict bookie affinity group strategy 
[#12025](https://github.com/apache/pulsar/pull/12025)
+
+### Clients
+- [PIP 74] Pulsar client memory limits
+    - Support auto scaled consumer receiver queue 
[#14494](https://github.com/apache/pulsar/pull/14494)
+    - Support dynamic limit of consumer receiver queue 
[#14400](https://github.com/apache/pulsar/pull/14400)
+    - Support consumer client memory limit 
[#15216](https://github.com/apache/pulsar/pull/15216)
+- [Java] Fix multi-topic consumer stuck after redeliver messages 
[#18491](https://github.com/apache/pulsar/pull/18491)
+- [Java] Fix NPE of MultiTopicsConsumerImpl due to race condition 
[#18287](https://github.com/apache/pulsar/pull/18287)
+- [Java] Refactor SchemaHash to reduce call of hashFunction in SchemaHash 
[#17948](https://github.com/apache/pulsar/pull/17948)
+- [Java] Fix pendingLookupRequestSemaphore leak when channel inactive 
[#17856](https://github.com/apache/pulsar/pull/17856)
+- [Java] Unwrap completion exception for Lookup Services 
[#17717](https://github.com/apache/pulsar/pull/17717)
+- [Java] Fixed ack failure in ReaderImpl due to null messageId 
[#17728](https://github.com/apache/pulsar/pull/17728)
+- [Java] Fix scheduledExecutorProvider not shutdown 
[#17527](https://github.com/apache/pulsar/pull/17527)
+- [Java] LastBatchSendNanoTime initialization 
[#17058](https://github.com/apache/pulsar/pull/17058)
+- [Java] Fix inactive cnx channel causing the request to fail to time out and 
fail to return [#17051](https://github.com/apache/pulsar/pull/17051)
+- [Java] Release semaphore before discarding messages in batchMessageContainer 
[#17019](https://github.com/apache/pulsar/pull/17019)
+- [Java] Fix client memory limit currentUsage leak and semaphore release 
duplicated in ProducerImpl [#16837](https://github.com/apache/pulsar/pull/16837)
+- [Java] Remove redundant check for chunked message TotalChunkMsgSize in 
ConsumerImpl [#16797](https://github.com/apache/pulsar/pull/16797)
+- [Java] Reduce code duplication in admin client 
[#16377](https://github.com/apache/pulsar/pull/16377)
+- [Java] Release memory usage for invalid messages 
[#16835](https://github.com/apache/pulsar/pull/16835)
+- [Java] Fix subscription topic name error 
[#16719](https://github.com/apache/pulsar/pull/16719)
+- [Java] Send CloseConsumer on client timeout 
[#16616](https://github.com/apache/pulsar/pull/16616)
+- [Java] Add message key if exists to deadLetter messages 
[#16615](https://github.com/apache/pulsar/pull/16615)
+- [Java] Make DeadLetterPolicy deserializable 
[#16513](https://github.com/apache/pulsar/pull/16513)
+- [Java] Improve performance of multi-topic consumer with more than one IO 
thread [#16336](https://github.com/apache/pulsar/pull/16336)
+- [Java] Add initialization for the OpSendMsg 
[#16256](https://github.com/apache/pulsar/pull/16256)
+- [Java] Replace ScheduledExecutor to improve performance of message 
consumption [#16236](https://github.com/apache/pulsar/pull/16236)
+- [Java] Fix large messages sometimes cannot be split into chunks 
[#16196](https://github.com/apache/pulsar/pull/16196)
+- [Java] Only trigger the batch receive timeout when having pending batch 
receives requests [#16160](https://github.com/apache/pulsar/pull/16160)
+- [Java] Fix the startMessageId can't be respected as the ChunkMessageID 
[#16154](https://github.com/apache/pulsar/pull/16154)
+- [Java] Fix auto cluster failover can't resolve host bug 
[#16152](https://github.com/apache/pulsar/pull/16152)
+- [Java] Switch to rely on Netty for Hostname Verification 
[#15824](https://github.com/apache/pulsar/pull/15824)
+- [Java] Prevent the trigger from running concurrently in the memory limit 
controller [#15737](https://github.com/apache/pulsar/pull/15737)
+- [Java] Fix messages sent by producers without schema cannot be decoded 
[#15622](https://github.com/apache/pulsar/pull/15622)
+- [Java] Remove sensitive msg from consumer/producer stats log 
[#15483](https://github.com/apache/pulsar/pull/15483)
+- [Java] Add pending messages information while printing the producer stats 
[#15440](https://github.com/apache/pulsar/pull/15440)
+- [Java] Fix flaky BatchMessageTest by initializing lastBatchSendNanoTime 
[#15406](https://github.com/apache/pulsar/pull/15406)
+- [Java] Check consumer schema null in advance 
[#15327](https://github.com/apache/pulsar/pull/15327)
+- [Java] Fix inconsistent parameter of 
TopicPolicies.getSubscriptionDispatchRate 
[#15293](https://github.com/apache/pulsar/pull/15293)
+- [Java] Fix typo in ConsumerBuilder 
[#15194](https://github.com/apache/pulsar/pull/15194)
+- [Java] Fix performance regression with message listener 
[#15162](https://github.com/apache/pulsar/pull/15162)
+- [Java] ConsumerBuilderImpl can not set null to deadLetterPolicy 
[#14980](https://github.com/apache/pulsar/pull/14980)
+- [Java] Fix message publishing stuck when enabling batch 
[#14870](https://github.com/apache/pulsar/pull/14870)
+- [Java] Return immutable data set when using TableView 
[#14833](https://github.com/apache/pulsar/pull/14833)
+- [Java] Avoid timer task run before previous subscribe complete 
[#14818](https://github.com/apache/pulsar/pull/14818)
+- [Java] Support Reader Interceptor 
[#14729](https://github.com/apache/pulsar/pull/14729)
+- [Java] Support aggregate metrics for partition topic stats 
[#18214](https://github.com/apache/pulsar/pull/18214)
+- [Java] Add api to get producer/consumer stats for partition topic 
[#18212](https://github.com/apache/pulsar/pull/18212)
+- [Java] Optimize pause when creating sub consumers in multi-topic consumer 
[#14566](https://github.com/apache/pulsar/pull/14566)
+
+### Pulsar IO and Pulsar Functions
+- [Functions] Fix function failed to start if no typeClassName provided in 
FunctionDetails [#18111](https://github.com/apache/pulsar/pull/18111)
+- [Functions] Do not delete managed package when delete function 
[#18030](https://github.com/apache/pulsar/pull/18030)
+- [Functions] Fix the download of builtin Functions 
[#17877](https://github.com/apache/pulsar/pull/17877)
+- [Functions] Ensure InternalConfigurationData data model is compatible across 
different versions [#17690](https://github.com/apache/pulsar/pull/17690)
+- [Functions] Use the schema set by the Function when it returns a Record 
[#17142](https://github.com/apache/pulsar/pull/17142)
+- [Functions] Make mandatory to provide a schema in 
Context::newOutputRecordBuilder 
[#17118](https://github.com/apache/pulsar/pull/17118)
+- [Functions] Add the ability to customize logging level for Go & Python 
functions [#16939](https://github.com/apache/pulsar/pull/16939)
+- [Functions] Fixed error when user starts with the pulsar functions local 
runner [#16565](https://github.com/apache/pulsar/pull/16565)
+- [Functions] Fix netty.DnsResolverUtil compat issue on JDK9+ for the function 
Runtimes [#16423](https://github.com/apache/pulsar/pull/16423)
+- [Functions] Ensure bytes are a well-formed UTF-8 byte sequence when decoding 
the FunctionState bytes to string 
[#16199](https://github.com/apache/pulsar/pull/16199)
+- [Functions] Support Record<?> as Function output type 
[#16041](https://github.com/apache/pulsar/pull/16041)
+- [Functions] Configure DLog Bookie, Pulsar, and Admin clients via pass 
through config [#15818](https://github.com/apache/pulsar/pull/15818)
+- [Functions] Disable memory limit controller in internal Pulsar clients 
[#15752](https://github.com/apache/pulsar/pull/15752)
+- [Functions] Provide default error handler for function log appender 
[#15728](https://github.com/apache/pulsar/pull/15728)
+- [Functions] Support disabling non-TLS service port 
[#15328](https://github.com/apache/pulsar/pull/15328)
+- [Functions] Check executor null when close the FileSource 
[#15247](https://github.com/apache/pulsar/pull/15247)
+- [Functions] Fix UserConfigFunction example 
[#15240](https://github.com/apache/pulsar/pull/15240)
+- [Functions] Add a cache of versioned KeyValueSchemaImpl 
[#15122](https://github.com/apache/pulsar/pull/15122)
+- [Functions] Add KeyStore support in WebSocket, Function Worker HTTPS Servers 
[#15084](https://github.com/apache/pulsar/pull/15084)
+- [Functions] Handle NPE when getLeader returns null 
[#15058](https://github.com/apache/pulsar/pull/15058)
+- [Functions] Remove internal dependency: pulsar-functions-instance 
[#14925](https://github.com/apache/pulsar/pull/14925)
+- [Functions] Allow a Function<GenericObject,?> to access the original Schema 
of the Message and use it [#14847](https://github.com/apache/pulsar/pull/14847)
+- [Functions] Fix pulsar-managed runtimes failed start function with package 
URL from package management service 
[#14814](https://github.com/apache/pulsar/pull/14814)
+- [Functions] Set function channel to idle to prevent DNS resolution of 
deleted pod [#14750](https://github.com/apache/pulsar/pull/14750)
+- [Functions] Remove extra call to gi.stats.incrTotalProcessedSuccessfully() 
[#12316](https://github.com/apache/pulsar/pull/12316)
+- [Functions] Fix python instance not process zip file correctly 
[#16697](https://github.com/apache/pulsar/pull/16697)
+- [Functions] Missing assertion in KubernetesRuntimeTest::verifyJavaInstance 
[#16747](https://github.com/apache/pulsar/pull/16747)
+- [IO Connector] Only bundle kafka schema registry client 
[#18931](https://github.com/apache/pulsar/pull/18931)
+- [IO Connector] Fix message without schema issue 
[#18745](https://github.com/apache/pulsar/pull/18745)
+- [IO Connector] Kinesis sink: fix NPE with KeyValue schema and no value 
[#17959](https://github.com/apache/pulsar/pull/17959)
+- [IO Connector] Provide a HTTP Sink 
[#17581](https://github.com/apache/pulsar/pull/17581)
+- [IO Connector] IOConfigUtils support required and defaultValue annotations 
[#16785](https://github.com/apache/pulsar/pull/16785)
+- [IO Connector] Fixed Kafka source config for pulsar-io-kafka when 
consumerConfigProperties is null 
[#16731](https://github.com/apache/pulsar/pull/16731)
+- [IO Connector] Add reader config to pulsar-io-debezium and 
pulsar-io-kafka-connect-adaptor 
[#16675](https://github.com/apache/pulsar/pull/16675)
+- [IO Connector] Support transactions for JDBC connector 
[#16468](https://github.com/apache/pulsar/pull/16468)
+- [IO Connector] JDBC sinks: support upsert and row deletion 
[#16448](https://github.com/apache/pulsar/pull/16448)
+- [IO Connector] Add getSourceConfig method on SourceContext 
[#16305](https://github.com/apache/pulsar/pull/16305)
+- [IO Connector] KCA sinks: fix offset mapping when sanitizeTopicName=true 
[#15950](https://github.com/apache/pulsar/pull/15950)
+- [IO Connector] Allow pulsar_tool_env.sh PULSAR_MEM to be Overridden 
[#15868](https://github.com/apache/pulsar/pull/15868)
+- [IO Connector] JDBC sinks: support Avro specific datatypes 
[#15845](https://github.com/apache/pulsar/pull/15845)
+- [IO Connector] Sink support custom acknowledge type 
[#15491](https://github.com/apache/pulsar/pull/15491)
+- [IO Connector] Add getSinkConfig method to SinkContext 
[#15482](https://github.com/apache/pulsar/pull/15482)
+- [IO Connector] Handle Avro collections native types (GenericData.Array and 
Utf8 map keys) [#15432](https://github.com/apache/pulsar/pull/15432)
+- [IO Connector] Handle Avro collections native types (GenericData.Array and 
Utf8 map keys) [#15430](https://github.com/apache/pulsar/pull/15430)
+- [IO Connector] Add hashed id support 
[#15428](https://github.com/apache/pulsar/pull/15428)
+- [IO Connector] ElasticSearch Sink: option to output canonical key fields 
(JSON and Avro) [#15426](https://github.com/apache/pulsar/pull/15426)
+- [IO Connector] Replaced "Device" with "measurement" 
[#15416](https://github.com/apache/pulsar/pull/15416)
+- [IO Connector] Enable bulk flushing scheduling by default 
[#15244](https://github.com/apache/pulsar/pull/15244)
+- [IO Connector] Set sinkType in config file 
[#15174](https://github.com/apache/pulsar/pull/15174)
+- [IO Connector] Add a cache of versioned KeyValueSchemaImpl 
[#15122](https://github.com/apache/pulsar/pull/15122)
+- [IO Connector] Support 4paradigm/OpenMLDB jdbc sink connector 
[#15064](https://github.com/apache/pulsar/pull/15064)
+- [IO Connector] ElasticSearch Sink: option to disable SSL certificate 
validation [#14997](https://github.com/apache/pulsar/pull/14997)
+- [IO Connector] Add FULL_MESSAGE_IN_JSON_EXPAND_VALUE message format to 
Kinesis sink [#14929](https://github.com/apache/pulsar/pull/14929)
+
+### Observability
+- [Broker] Fix metrics string encoding 
[#18138](https://github.com/apache/pulsar/pull/18138)
+- [Broker] Fix EntryFilter stats 
[#17605](https://github.com/apache/pulsar/pull/17605)
+- [Broker] Add per-subscription EntryFilter metrics 
[#16932](https://github.com/apache/pulsar/pull/16932)
+- [Broker] Expose topic level storage write and read rate metrics 
[#16855](https://github.com/apache/pulsar/pull/16855)
+- [Broker] Rename Pulsar lb metrics to specify OpenMetrics 
[#16611](https://github.com/apache/pulsar/pull/16611)
+- [Broker] Rename Pulsar schema metrics to specify OpenMetrics 
[#16610](https://github.com/apache/pulsar/pull/16610)
+- [Broker] Rename Pulsar txn metrics to specify OpenMetrics 
[#16581](https://github.com/apache/pulsar/pull/16581)
+- [Broker] Optimise msgOutCounter and bytesOutCounter 
[#16214](https://github.com/apache/pulsar/pull/16214)
+- [Broker] Fail to expose managed ledger client stats to prometheus if 
bookkeeperClientExposeStatsToPrometheus is true 
[#16219](https://github.com/apache/pulsar/pull/16219)
+- [Broker] Add metrics for pulsar web service thread pool 
[#14742](https://github.com/apache/pulsar/pull/14742)
+- [Broker] Add support of PrometheusRawMetricsProvider for the Pulsar-Proxy 
[#14681](https://github.com/apache/pulsar/pull/14681)
+- [Broker] Add filteredMsgCount for pulsar-admin broker-stats topics 
[#14531](https://github.com/apache/pulsar/pull/14531)
+- [Broker] Improve /metrics endpoint performance 
[#14453](https://github.com/apache/pulsar/pull/14453)
+- [Broker] Offloader metrics 
[#13833](https://github.com/apache/pulsar/pull/13833)
+- [Broker] Improve /metrics endpoint performance 
[#14453](https://github.com/apache/pulsar/pull/14453)
+- [Broker] Add metrics for InMemoryDelayedDeliveryTracker's memory usage 
[#15867](https://github.com/apache/pulsar/pull/15867)
+
+### CLI
+- [Pulsar Admin] Fix NPE when get OffloadThreshold on namespace 
[#18061](https://github.com/apache/pulsar/pull/18061)
+- [Pulsar Admin] Add SNI header when tlsHostnameVerification is not enabled 
[#17543](https://github.com/apache/pulsar/pull/17543)
+- [Pulsar Admin] Unset namespace policy to improve deleting namespace 
[#17033](https://github.com/apache/pulsar/pull/17033)
+- [Pulsar Admin] Reduce PartitionedStats local REST call 
[#16916](https://github.com/apache/pulsar/pull/16916)
+- [Pulsar Admin] Make some police methods async in Namespaces 
[#16881](https://github.com/apache/pulsar/pull/16881)
+- [Pulsar Admin] Expose the last consumed flow timestamp for consumer stats 
[#16817](https://github.com/apache/pulsar/pull/16817)
+- [Pulsar Admin] Make some methods async in Namespaces 
[#16814](https://github.com/apache/pulsar/pull/16814)
+- [Pulsar Admin] Dynamic configuration for check unknown request parameters 
[#16781](https://github.com/apache/pulsar/pull/16781)
+- [Pulsar Admin] Make offload police methods async in Namespaces 
[#16760](https://github.com/apache/pulsar/pull/16760)
+- [Pulsar Admin] Support the admin API to check unknown request 
[#16577](https://github.com/apache/pulsar/pull/16577)
+- [Pulsar Admin] Make getBacklogQuotaMap method async in Namespaces 
[#16504](https://github.com/apache/pulsar/pull/16504)
+- [Pulsar Admin] Make GetMessageIdByTimestamp pure async 
[#16446](https://github.com/apache/pulsar/pull/16446)
+- [Pulsar Admin] Make splitNamespaceBundle and getTopicHashPositions async 
[#16411](https://github.com/apache/pulsar/pull/16411)
+- [Pulsar Admin] Make AutoSubscriptionCreation async 
[#16329](https://github.com/apache/pulsar/pull/16329)
+- [Pulsar Admin] Make SubscriptionExpirationTime method async 
[#16328](https://github.com/apache/pulsar/pull/16328)
+- [Pulsar Admin] Make some method on permission async 
[#16324](https://github.com/apache/pulsar/pull/16324)
+- [Pulsar Admin] Make unloadNamespaceBundle async 
[#16313](https://github.com/apache/pulsar/pull/16313)
+- [Pulsar Admin] Make Namespaces.deleteNamespaceBundle async 
[#16287](https://github.com/apache/pulsar/pull/16287)
+- [Pulsar Admin] Make deleteTopic method async 
[#16232](https://github.com/apache/pulsar/pull/16232)
+- [Pulsar Admin] Make compactionStatus method async 
[#16231](https://github.com/apache/pulsar/pull/16231)
+- [Pulsar Admin] Make terminate method async 
[#16227](https://github.com/apache/pulsar/pull/16227)
+- [Pulsar Admin] Make getList async 
[#16221](https://github.com/apache/pulsar/pull/16221)
+- [Pulsar Admin] Make getPartitionedTopicList method async 
[#16217](https://github.com/apache/pulsar/pull/16217)
+- [Pulsar Admin] Improve documentation for unackedMessages stat 
[#16213](https://github.com/apache/pulsar/pull/16213)
+- [Pulsar Admin] Make internalPeekNthMessage method async 
[#16192](https://github.com/apache/pulsar/pull/16192)
+- [Pulsar Admin] Fix get non-persistent topics issue in Namespaces 
[#16170](https://github.com/apache/pulsar/pull/16170)
+- [Pulsar Admin] Make getInternalStats method async 
[#16141](https://github.com/apache/pulsar/pull/16141)
+- [Pulsar Admin] Fix get-publish-rete Admin API handle exception behavior 
[#16001](https://github.com/apache/pulsar/pull/16001)
+- [Pulsar Admin] Release LookupRequestSemaphore before returning data 
[#15974](https://github.com/apache/pulsar/pull/13549)
+- [Pulsar Admin] Fix producer/consume permission can’t get schema 
[#15956](https://github.com/apache/pulsar/pull/15956)
+- [Pulsar Admin] Make publish rate and dispatch rate operation async 
[#15946](https://github.com/apache/pulsar/pull/15946)
+- [Pulsar Admin] Support to get topic properties 
[#15944](https://github.com/apache/pulsar/pull/15944)
+- [Pulsar Admin] New API to get subscription properties 
[#16095](https://github.com/apache/pulsar/pull/16095)
+- [Pulsar Admin] Make some operation subscription dispatchRate methods in 
Namespaces async [#15880](https://github.com/apache/pulsar/pull/15880)
+- [Pulsar Admin] Make some methods in SchemasResourceBase async 
[#15821](https://github.com/apache/pulsar/pull/15821)
+- [Pulsar Admin] Make some operation replication clusters async 
[#15760](https://github.com/apache/pulsar/pull/15760)
+- [Pulsar Admin] Make some methods of ClusterBase pure async 
[#15685](https://github.com/apache/pulsar/pull/15685)
+- [Pulsar Admin] Allow creating builtin functions in pulsar-admin CLI 
[#15671](https://github.com/apache/pulsar/pull/15671)
+- [Pulsar Admin] Enable users to specify TTL options in units other than 
seconds [#15657](https://github.com/apache/pulsar/pull/15657)
+- [Pulsar Admin] Make some operation SubscribeRate methods in Namespaces async 
[#15656](https://github.com/apache/pulsar/pull/15656)
+- [Pulsar Admin] Add transaction admin to get recover time in stats 
[#15654](https://github.com/apache/pulsar/pull/15654)
+- [Pulsar Admin] Make some operation auto topic creation in Namespaces async 
[#15621](https://github.com/apache/pulsar/pull/15621)
+- [Pulsar Admin] Add topic name and sub name for NotFound error message 
[#15606](https://github.com/apache/pulsar/pull/15606)
+- [Pulsar Admin] Make some methods in ResourceQuotasBase async 
[#15605](https://github.com/apache/pulsar/pull/15605)
+- [Pulsar Admin] Make some methods in TenantsBase async 
[#15603](https://github.com/apache/pulsar/pull/15603)
+- [Pulsar Admin] Make some operation messageTTL methods in Namespaces async 
[#15577](https://github.com/apache/pulsar/pull/15577)
+- [Pulsar Admin] Enable users to specify some time options in units other than 
seconds [#15563](https://github.com/apache/pulsar/pull/15563)
+- [Pulsar Admin] Make some methods of ClusterBase pure async 
[#15527](https://github.com/apache/pulsar/pull/15527)
+- [Pulsar Admin] Support filtering system topic when get list 
[#15410](https://github.com/apache/pulsar/pull/15410)
+- [Pulsar Admin] Make some methods of ClusterBase pure async 
[#15358](https://github.com/apache/pulsar/pull/15358)
+- [Pulsar Admin] Make some methods of ClusterBase pure async 
[#15318](https://github.com/apache/pulsar/pull/15318)
+- [Pulsar Admin] Add admin api updateTransactionCoordinatorNumber 
[#15296](https://github.com/apache/pulsar/pull/15296)
+- [Pulsar Admin] Put validateTopicOwnershipAsync before 
validateTopicOperationAsync 
[#15265](https://github.com/apache/pulsar/pull/15265)
+- [Pulsar Admin] Remove duplication validateTopicOwnershipAsync 
[#15120](https://github.com/apache/pulsar/pull/15410)
+- [Pulsar Admin] Fix pulsar-admin not prompting message when there is a 500 
error [#14856](https://github.com/apache/pulsar/pull/14856)
+- [Pulsar Admin] Add get active brokers api without cluster name 
[#14702](https://github.com/apache/pulsar/pull/14702)
+- [Pulsar Admin] Grab contextual stacktrace for sync methods 
[#14620](https://github.com/apache/pulsar/pull/14620)
+- [Pulsar Admin] Correct status message prompt 
[#14603](https://github.com/apache/pulsar/pull/14603)
+- [Pulsar CLI] Fix NPE in admin-CLI topic stats command 
[#18326](https://github.com/apache/pulsar/pull/18326)
+- [Pulsar CLI] Fix CLI client produce don't able to use multiple -m send 
multiple messages [#18238](https://github.com/apache/pulsar/pull/18238)
+- [Pulsar CLI] Pulsar shell: allow to create a new config (--file) with a 
relative path [#17675](https://github.com/apache/pulsar/pull/17675)
+- [Pulsar CLI] Pulsar shell: do not exit on user interrupt during commands 
[#18615](https://github.com/apache/pulsar/pull/18615)
+- [Pulsar CLI] Pulsar shell: allow cloning an existing config 
[#18608](https://github.com/apache/pulsar/pull/18608)
+- [Pulsar CLI] Pulsar shell: support relative paths 
[#17648](https://github.com/apache/pulsar/pull/17648)
+- [Pulsar CLI] Pulsar shell, Pulsar admin, Pulsar client and Pulsar perf: 
support for Windows [#17243](https://github.com/apache/pulsar/pull/17243)
+- [Pulsar CLI] Pulsar shell: add command to set/get property of a config 
[#17651](https://github.com/apache/pulsar/pull/17651)
+- [Pulsar CLI] Fix Pulsar shell custom commands execution 
[#17479](https://github.com/apache/pulsar/pull/17479)
+- [Pulsar CLI] CLI extensions: rename default location to 'cliextensions' 
[#17435](https://github.com/apache/pulsar/pull/17435)
+- [Pulsar CLI] Exclude windows script from the docker image 
[#17404](https://github.com/apache/pulsar/pull/17404)
+- [Pulsar CLI] Add a separate TLS transport encryption configuration 
[#16930](https://github.com/apache/pulsar/pull/16930)
+- [Pulsar CLI] Fix incorrect description for producing messages 
[#16876](https://github.com/apache/pulsar/pull/16876)
+- [Pulsar CLI] Use NoSplitter for subscription properties 
[#16862](https://github.com/apache/pulsar/pull/16862)
+- [Pulsar CLI] Add TLS provider support 
[#16700](https://github.com/apache/pulsar/pull/16700)
+- [Pulsar CLI] Support getEarliestTimeInBacklog at getPartitionedStats method 
[#16388](https://github.com/apache/pulsar/pull/16388)
+- [Pulsar CLI] Add query options to the get topics in Namespace 
[#16167](https://github.com/apache/pulsar/pull/16167)
+- [Pulsar CLI] Add cli cmd for subscription level dispatch-rate-limiter 
[#15862](https://github.com/apache/pulsar/pull/15862)
+- [Pulsar CLI] Disable Pulsar client memory limit by default 
[#15748](https://github.com/apache/pulsar/pull/15748)
+- [Pulsar CLI] Fix check on create function class name 
[#15700](https://github.com/apache/pulsar/pull/15862)
+- [Pulsar CLI] Support filtering system topic when get list 
[#15410](https://github.com/apache/pulsar/pull/15410)
+- [Pulsar CLI] Change the default for max-connections from 100 to 1 
[#15387](https://github.com/apache/pulsar/pull/15387)
+- [Pulsar CLI] Add short name for full name in admin cli 
[#14301](https://github.com/apache/pulsar/pull/14301)
+- [Client Tool] Using int instead of long in python scripts 
[#17215](https://github.com/apache/pulsar/pull/17215)
+- [Client Tool] Fix using directory '?' in the docker image 
[#17185](https://github.com/apache/pulsar/pull/17185)
+- [Client Tool] Handle ctrl-d and exit the shell 
[#17204](https://github.com/apache/pulsar/pull/17204)
+- [Client Tool] Add tlsTrustCertFilePath as CLI argument for 
pulsar-client-tool [#16961](https://github.com/apache/pulsar/pull/16961)
+- [Perf Tool] Able to set maxLookupRequest for pulsar-perf 
[#16967](https://github.com/apache/pulsar/pull/16967)
+- [Perf Tool] Pulsar-perf fails on jdk17 
[#18806](https://github.com/apache/pulsar/pull/18806)
+
+### Others
+- [Proxy] Fix refresh client auth 
[#17831](https://github.com/apache/pulsar/pull/17831)
+- [Proxy] Update proxy lookup throw exception type 
[#17600](https://github.com/apache/pulsar/pull/17600)
+- [Proxy] Add TLS transport encryption for broker client 
[#16833](https://github.com/apache/pulsar/pull/16833)
+- [Proxy] Fix client service URL 
[#16834](https://github.com/apache/pulsar/pull/16834)
+- [Proxy] Consolidate Netty channel flushes to mitigate syscall overhead 
[#16372](https://github.com/apache/pulsar/pull/16372)
+- [Proxy] Do not preserve host when forwarding admin requests 
[#16342](https://github.com/apache/pulsar/pull/16342)
+- [Proxy] Switch to rely on Netty for Hostname Verification 
[#15824](https://github.com/apache/pulsar/pull/15824)
+- [Proxy] Support zero-copy of NIC to NIC on Proxy 
[#15678](https://github.com/apache/pulsar/pull/15678)
+- [Proxy] Suggestion put brokerProxyAllowedTargetPorts in proxy.conf 
[#15069](https://github.com/apache/pulsar/pull/15069)
+- [Proxy] Exit if proxy service fails to start 
[#15076](https://github.com/apache/pulsar/pull/15076)
+- [Proxy] Add support of PrometheusRawMetricsProvider for the Pulsar-Proxy 
[#14681](https://github.com/apache/pulsar/pull/14681)
+- [Proxy] Fail proxy startup if brokerServiceURL is missing scheme 
[#14682](https://github.com/apache/pulsar/pull/14682)
+- [Proxy] Fix DNS server denial-of-service issue when DNS entry expires 
[#15403](https://github.com/apache/pulsar/pull/15403)
+- [Proxy] Remove unnecessary blocking DNS lookup in LookupProxyHandler 
[#15415](https://github.com/apache/pulsar/pull/15415)
+- [WebSocket] Support encryption in websocket proxy 
[#16234](https://github.com/apache/pulsar/pull/16234)
+- [WebSocket] Fix MultiTopicReader#getConsumer ClassCastException 
[#15534](https://github.com/apache/pulsar/pull/15534)
+- [WebSocket] Add KeyStore support in WebSocket, Function Worker HTTPS Servers 
[#15084](https://github.com/apache/pulsar/pull/15084)
+- [WebSocket] Fix ClassCastException when user create MultiTopicReader 
[#14316](https://github.com/apache/pulsar/pull/14316)
+- [Package Management] Fix the new path /data introduced regression 
[#15367](https://github.com/apache/pulsar/pull/15367)
+- [Schema] Add decode InputStream for Schema 
[#16659](https://github.com/apache/pulsar/pull/16659)
+- [Schema] Expose timestamp field for SchemaData&SchemaInfo 
[#16380](https://github.com/apache/pulsar/pull/16380)
+- [Schema] Add classLoader field for SchemaDefinition 
[#15915](https://github.com/apache/pulsar/pull/15915)
+- [Schema] Fix conversion of TimestampMillisConversion has no effect when 
Jsr310Conversion enabled [#15863](https://github.com/apache/pulsar/pull/15863)
+- [Schema] Ensure the deletion consistency of topic and schema 
[#14608](https://github.com/apache/pulsar/pull/14608)
+- [Tiered Storage] Shared subscription: improvement with offloaded ledgers 
[#16417](https://github.com/apache/pulsar/pull/16417)
+- [Tiered Storage] Fix the wrong secret key name get from env 
[#15814](https://github.com/apache/pulsar/pull/15814)
+- [Tiered Storage] Add pure S3 provider for the offloader 
[#15710](https://github.com/apache/pulsar/pull/15710)
+- [Tiered Storage] Autorecovery default reppDnsResolverClass to 
ZkBookieRackAffinityMapping 
[#15640](https://github.com/apache/pulsar/pull/15640)
+- [Tiered Storage] Reduce CPU usage when offloading ledgers 
[#15063](https://github.com/apache/pulsar/pull/15063)
+- [Tiered Storage] Fix potential NPE in MockManagedLedger 
[#15006](https://github.com/apache/pulsar/pull/15006)
+- [Tiered Storage] Add API to scan objects on Tiered Storage 
[#14930](https://github.com/apache/pulsar/pull/14930)
+- [Tiered Storage] Fix incorrect entryId in warn log when reading entry from 
tiered storage [#14685](https://github.com/apache/pulsar/pull/14685)
+- Include Pulsar shell in the released artifacts 
[#18583](https://github.com/apache/pulsar/pull/18583)
+- Add lombok plugin to solve Javadoc issue 
[#18520](https://github.com/apache/pulsar/pull/18520)
+- Remove cmd-line level test retries 
[#16524](https://github.com/apache/pulsar/pull/16524)
+- Fix potentially incompatible Java opts caused by IS_JAVA_8 
[#15444](https://github.com/apache/pulsar/pull/15444)
+- Remove obsolete jdk11 and errorprone-jdk11 maven profiles 
[#15505](https://github.com/apache/pulsar/pull/15505)
+- Remove internal dependency: pulsar-functions-instance 
[#14925](https://github.com/apache/pulsar/pull/14925)
+- Enable retries for apt-get when building Pulsar docker image 
[#14513](https://github.com/apache/pulsar/pull/15505)
+- Migrate Docker images and CI to Java 17 
[#14355](https://github.com/apache/pulsar/pull/14355)
+
+### Library updates
+- Remove versions that are handled by netty-bom 
[#18629](https://github.com/apache/pulsar/pull/18629)
+- Upgrade Netty to 4.1.86.Final and Netty Tcnative to 2.0.54.Final 
[#18599](https://github.com/apache/pulsar/pull/18599)
+- Upgrade jackson-databind to 2.13.4.2 to get rid of CVE-2022-42003 
[#18394](https://github.com/apache/pulsar/pull/18394)
+- Bump bookkeeper version to 4.15.3 
[#18455](https://github.com/apache/pulsar/pull/18455)
+- Upgrade jackson-databind to 2.13.4.2 to get rid of CVE-2022-42003 
[#18394](https://github.com/apache/pulsar/pull/18394)
+- Upgrade protobuf to 3.19.6 to get rid of CVE-2022-3171 
[#18086](https://github.com/apache/pulsar/pull/18086)
+- Bump commons-text to 1.10.0 fix CVE-2022-42889 
[#18053](https://github.com/apache/pulsar/pull/18053)
+- File tiered storage: upgrade jettison to get rid of CVE-2022-40149 
[#18022](https://github.com/apache/pulsar/pull/18022)
+- Upgrade scala-library to get rid of CVE-2022-36944 
[#18021](https://github.com/apache/pulsar/pull/18021)
+- Upgrade JacksonXML to 2.13.4 
[#18020](https://github.com/apache/pulsar/pull/18020)
+- Upgrade to Jetty to 9.4.48.v20220622 
[#16520](https://github.com/apache/pulsar/pull/16520)
+- Bump maven-dependency-plugin to 3.3.0 
[#16318](https://github.com/apache/pulsar/pull/16318)
+- Bump os-maven-plugin version from 1.4.1.Final to 1.7.0 
[#16308](https://github.com/apache/pulsar/pull/16308)
+- Bump presto.version to run PrestoServer on JDK11+ 
[#16163](https://github.com/apache/pulsar/pull/16163)
+- Update fastjson version to 1.2.83 
[#16148](https://github.com/apache/pulsar/pull/16148)
+- Bump PyYAML from 5.3.1 to 5.4.1 to solve CVE-2020-14343 
[#15989](https://github.com/apache/pulsar/pull/15989)
+- Bump spring version to 5.3.20 to solve CVE-2022-22970 
[#15699](https://github.com/apache/pulsar/pull/15699)
+- Bump snappy zstd version to fix CompressorCodecBackwardCompatTest on Apple 
M1 [#15698](https://github.com/apache/pulsar/pull/15698)
+- Athenz: do not use uber-jar and bump to 1.10.50 to remove jackson-databind 
shaded dependency [#14884](https://github.com/apache/pulsar/pull/14884)
+- Remove --illegal-access errors resulting from Google Guice - Pulsar IO, 
Offloaders and Pulsar SQL - Bump Guice to 5.1.0 
[#14300](https://github.com/apache/pulsar/pull/14300)
+- Bump prometheus client version from 0.5.0 to 0.15.0 
[#13785](https://github.com/apache/pulsar/pull/13785)
+- Upgrade log4j2 version to 2.18.0 
[#16884](https://github.com/apache/pulsar/pull/16884)
+
+### Documentation
+
+This section only highlights the availability of docs serving existing 
features.
+
+- Add docs about [system 
topic](https://pulsar.apache.org/docs/2.11.x/concepts-messaging#system-topic) 
[#14795](https://github.com/apache/pulsar/pull/14795)
+- Add a comprehensive reference table about [YAML 
configurations](https://pulsar.apache.org/docs/2.11.x/functions-cli) of Pulsar 
Functions [#15389](https://github.com/apache/pulsar/pull/15389)
+- Add instructions about [how to run CI from 
fork](https://pulsar.apache.org/contributing/#ci-testing-in-your-fork) to the 
Contribution Guide [#15535](https://github.com/apache/pulsar/pull/15535)
+- Add docs about [basic 
authentication](https://pulsar.apache.org/docs/2.11.x/security-basic-auth) 
[#15734](https://github.com/apache/pulsar/pull/15734)
+- Add docs about [isolation 
deployments](https://pulsar.apache.org/docs/2.11.x/administration-isolation) 
[#15802](https://github.com/apache/pulsar/pull/15802)
+- Redesign the information architecture and improve the content of [Pulsar 
Functions](https://pulsar.apache.org/docs/2.11.x/functions-overview) and add a 
new topic about [how to get 
started](https://pulsar.apache.org/docs/2.11.x/functions-quickstart) 
[#15975](https://github.com/apache/pulsar/pull/15975)
+- Add docs about [anti-affinity namespace distribution across failure 
domains](https://pulsar.apache.org/docs/2.11.x/administration-load-balance#distribute-anti-affinity-namespaces-across-failure-domains)
 [#16069](https://github.com/apache/pulsar/pull/16069)
+- Add an introductory table about [BookKeeper recovery 
metrics](https://pulsar.apache.org/docs/2.11.x/reference-metrics#replication-metrics)
 [#16554](https://github.com/apache/pulsar/pull/16554)
+- Publish REST API docs for 
[lookup](https://pulsar.apache.org/lookup-rest-api/?version=master) related 
operations [#16621](https://github.com/apache/pulsar/pull/16621)
+- Add more concepts and user tasks about [bookie 
isolation](https://pulsar.apache.org/docs/2.11.x/administration-isolation-bookie)
 [#16843](https://github.com/apache/pulsar/pull/16843)
+- Use 2.8.x/2.9.x/2.10.x doc set instead of version-specific doc set 
[#17074](https://github.com/apache/pulsar/pull/17074)
+
+For the comprehensive list of doc-related improvements in 2.11.0, you can go 
to 
[GitHub](https://github.com/apache/pulsar/pulls?q=is%3Apr+milestone%3A2.11.0+label%3Adoc+is%3Aclosed).
 
+
+> A special thanks to the following contributors (alphabetic Github IDs) who 
helped add the docs for Pulsar 2.11.0.
+>
+> [0xflotus](https://github.com/0xflotus), 
[315157973](https://github.com/315157973), 
[704237006](https://github.com/704237006), 
[AlphaWang](https://github.com/AlphaWang), [alpreu](https://github.com/alpreu), 
[AlvaroStream](https://github.com/AlvaroStream), 
[AnonHxy](https://github.com/AnonHxy),[Anonymitaet](https://github.com/Anonymitaet),
 [asafm](https://github.com/asafm), [cbornet](https://github.com/cbornet), 
[codelipenghui](https://github.com/codelipenghui), [coderzc](https://github 
[...]
\ No newline at end of file

Reply via email to