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