This is an automated email from the ASF dual-hosted git repository. technoboy pushed a commit to branch release-2.11.0 in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit f87d46889cf9614e2b91d7a31e652e6765b956de Author: Jiwe Guo <[email protected]> AuthorDate: Wed Jan 11 11:38:57 2023 +0800 Update release note --- release-notes/versioned/client-cpp-2.11.0.md | 34 ++ release-notes/versioned/client-java-2.11.0.md | 47 ++ release-notes/versioned/client-python-2.11.0.md | 17 + release-notes/versioned/client-websocket-2.11.0.md | 10 + release-notes/versioned/pulsar-2.11.0.md | 554 +++++++++++++++++++++ releases.json | 1 + 6 files changed, 663 insertions(+) diff --git a/release-notes/versioned/client-cpp-2.11.0.md b/release-notes/versioned/client-cpp-2.11.0.md new file mode 100644 index 00000000000..8ca4e5660d1 --- /dev/null +++ b/release-notes/versioned/client-cpp-2.11.0.md @@ -0,0 +1,34 @@ +--- +id: client-cpp-2.11.0 +title: Client CPP 2.11.0 +sidebar_label: Client CPP 2.11.0 +--- + +- [feature][C++] Add basic authentication [#15822](https://github.com/apache/pulsar/pull/15822) +- [feature][C++] Support multiple brokers in service URL [#17162](https://github.com/apache/pulsar/pull/17162) +- [improve][C++] Use an atomic state_ instead of the lock to improve performance [#16940](https://github.com/apache/pulsar/pull/16940) +- [improve][C++] Add producerId to the log of closed producer [#17079](https://github.com/apache/pulsar/pull/17079) +- [improve][C++] Add getLastMessageIdAsync in Consumer [#16182](https://github.com/apache/pulsar/pull/16182) +- [improve][C++] Rename function name: pulsar_producer_configuration_set_crypto_failure_action [#16031](https://github.com/apache/pulsar/pull/16031) +- [improve][C++] Unblock all threads when Pulsar client is closed [#15726](https://github.com/apache/pulsar/pull/15726) +- [improve][C++] Avoid race condition causing double callback on close [#15508](https://github.com/apache/pulsar/pull/15508) +- [improve][C++] Add subscription properties to consumer for cpp [#15020](https://github.com/apache/pulsar/pull/15020) +- [improve][C++] Use an atomic state_ instead of the lock to improve performance [#16940](https://github.com/apache/pulsar/pull/16940) +- [improve][C++] Reset havePendingPingRequest flag for any data received from broker [#17658](https://github.com/apache/pulsar/pull/17658) +- [cleanup][C++] Remove the flaky and meaningless tests [#15271](https://github.com/apache/pulsar/pull/15271) +- [fix][C++] Fix potential segfault when resending messages [#17395](https://github.com/apache/pulsar/pull/17395) +- [fix][C++] Support retry and apply operation timeout for lookup requests [#17410](https://github.com/apache/pulsar/pull/17410) +- [fix][C++] Fix multi-topics consumer close segmentation fault [#17239](https://github.com/apache/pulsar/pull/17239) +- [fix][C++] Wait until event loop terminates when closing the Client [#15316](https://github.com/apache/pulsar/pull/15316) +- [fix][C++] Fix rpm and deb packaging [#17064](https://github.com/apache/pulsar/pull/17064) +- [fix][C++] Fix getLastMessageIdAsync returns ResultNotConnected after seek [#16943](https://github.com/apache/pulsar/pull/16943) +- [fix][C++] Generate correct well-known OpenID configuration URL [#15928](https://github.com/apache/pulsar/pull/15928) +- [fix][C++] Fix single message metadata not set correctly [#15072](https://github.com/apache/pulsar/pull/15072) +- [fix][C++] Fix UnknownError might be returned for a partitioned producer [#15161](https://github.com/apache/pulsar/pull/15161) +- [fix][C++] Fix connection is not closed when broker closes the connection to proxy[#14070](https://github.com/apache/pulsar/pull/14070) +- [fix][C++] Fix send callback might not be invoked in key based batching [#14898](https://github.com/apache/pulsar/pull/14898) +- [fix][C++] Fix C++ client compile error because of keyword optional is redundant in PaddingDemo.proto [#14862](https://github.com/apache/pulsar/pull/14862) +- [fix][C++] Fix segmentation fault when creating socket failed [#14834](https://github.com/apache/pulsar/pull/14834) +- [fix][C++] Fix the race condition of connect timeout task [#14823](https://github.com/apache/pulsar/pull/14823) +- [fix][C++] Fix producer is never destructed until client is closed [#14797](https://github.com/apache/pulsar/pull/14797) +- [fix][C++] Close messages_ when PartitionedConsumer is closed [#16887](https://github.com/apache/pulsar/pull/16887) \ No newline at end of file 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..6e4e4406858 --- /dev/null +++ b/release-notes/versioned/client-java-2.11.0.md @@ -0,0 +1,47 @@ +--- +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] 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] 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] Returns immutable data set when using TableView [#14833](https://github.com/apache/pulsar/pull/14833) +- [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] 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] Unwrap completion exception for Lookup Services [#17717](https://github.com/apache/pulsar/pull/17717) +- [fix][Java] Fixed ack failure in ReaderImpl due to null messageId [#17728](https://github.com/apache/pulsar/pull/17728) +- [fix][Java] Fix scheduledExecutorProvider not shutdown [#17527](https://github.com/apache/pulsar/pull/17527) +- [fix][Java] Fix the message present in incoming queue after go to DLQ [#17326](https://github.com/apache/pulsar/pull/17326) +- [fix][Java] Fix reach redeliverCount client can't send messages to DLQ [#17287](https://github.com/apache/pulsar/pull/17287) +- [fix][Java] Fix reach redeliverCount client can't send batch messags [#17317](https://github.com/apache/pulsar/pull/17317) +- [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 subscription topic name error [#16719](https://github.com/apache/pulsar/pull/16719) +- [fix][Java] Release memory usage for invalid messages [#16835](https://github.com/apache/pulsar/pull/16835) +- [fix][Java] Fix client memory limit currentUsage leak and semaphore release duplicated in ProducerImpl [#16837](https://github.com/apache/pulsar/pull/16837) +- [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) diff --git a/release-notes/versioned/client-python-2.11.0.md b/release-notes/versioned/client-python-2.11.0.md new file mode 100644 index 00000000000..5ac29fa099e --- /dev/null +++ b/release-notes/versioned/client-python-2.11.0.md @@ -0,0 +1,17 @@ +--- +id: client-python-2.11.0 +title: Client Python 2.11.0 +sidebar_label: Client Python 2.11.0 +--- + +- [improve][Python] Add getLastMessageIdAsync C binding [#16255](https://github.com/apache/pulsar/pull/16255) +- [improve][Python] Use MacOS 10.15 as the target OS version for Python wheel files [#15788](https://github.com/apache/pulsar/pull/15788) +- [improve][Python] Adjust scripts to build wheel files for Python 3.7 on Mac [#15407](https://github.com/apache/pulsar/pull/15407) +- [improve][Python] Change python cp35-cp35m lib build version to manylinux1 [#15180](https://github.com/apache/pulsar/pull/15180) +- [improve][Python] Generate universal2 wheel files for MacOS [#15054](https://github.com/apache/pulsar/pull/15054) +- [improve][Python] Add script to generate Wheel files for macOS [#15024](https://github.com/apache/pulsar/pull/15024) +- [improve][Python] Add build for wheels on Alpine Linux [#15016](https://github.com/apache/pulsar/pull/15016) +- [improve][Python] Add build for ARM64 on Linux and Python 3.10 [#15004](https://github.com/apache/pulsar/pull/15004) +- [cleanup][Python] Remove dependencies only need by Python2 [#15460](https://github.com/apache/pulsar/pull/15460) +- [cleanup][Python] Remove scripts to create wheel files in vagrant VMs [#15459](https://github.com/apache/pulsar/pull/15459) +- [fix][Python] Remove reserved keys when JsonSchema is being encoded [#15947](https://github.com/apache/pulsar/pull/15947) \ 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..5564ba49c59 --- /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..07d70d7bb8e --- /dev/null +++ b/release-notes/versioned/pulsar-2.11.0.md @@ -0,0 +1,554 @@ +--- +id: pulsar-2.11.0 +title: Apache Pulsar 2.11.0 +sidebar_label: Apache Pulsar 2.11.0 +--- + +#### 2022-08-16 + +### 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 [#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-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) +- Ledger handle leak when update schema [#17283](https://github.com/apache/pulsar/pull/17283) +- 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) +- 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) +- Fix namespace backlog quota check with retention [#17706](https://github.com/apache/pulsar/pull/17706) +- Set revalidateAfterReconnection true for certain failures [#17664](https://github.com/apache/pulsar/pull/17664) +- ServerCnx: log at warning level when topic not found [#16225](https://github.com/apache/pulsar/pull/16225) +- Correctly handle list configuration values [#17661](https://github.com/apache/pulsar/pull/17661) +- Allow to configure and disable the size of lookahead for detecting fixed delays in messages [#17907](https://github.com/apache/pulsar/pull/17907) +- Fix the broker shutdown issue after Zookeeper node crashed [#17909](https://github.com/apache/pulsar/pull/17909) +- Fix the wrong NIC speed rate unit [#17890](https://github.com/apache/pulsar/pull/17890) +- Make BookieId work with PulsarRegistrationDriver [#17762](https://github.com/apache/pulsar/pull/17762) +- Prevent new connection request when broker is closing [#17314](https://github.com/apache/pulsar/pull/17314) +- Prevent partitioned metadata lookup request when broker is closing [#17315](https://github.com/apache/pulsar/pull/17315) +- Consumer can't consume messages because there has two sames topics in one broker [#17526](https://github.com/apache/pulsar/pull/17526) +- Fix broker irrational behavior when it is closing [#17085](https://github.com/apache/pulsar/pull/17085) +- Fix NPE when ResourceGroupService execute scheduled task [#17840](https://github.com/apache/pulsar/pull/17840) +- Optimize getting ledger and entry id from entry [#17108](https://github.com/apache/pulsar/pull/17108) +- Unregister topic policy listener if managed ledger close failed [#17652](https://github.com/apache/pulsar/pull/17652) +- Cancel the loadShedding task when closing pulsar service [#17632](https://github.com/apache/pulsar/pull/17632) +- 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) +- Make deleteTopicPolicies serialized is executed when close topic [#15811](https://github.com/apache/pulsar/pull/15811) +- Avoid messages being repeatedly replayed with SHARED subscriptions (streaming dispatcher) [#17163](https://github.com/apache/pulsar/pull/17163) +- Optimize the shutdown sequence of broker service when it close [#16756](https://github.com/apache/pulsar/pull/16756) +- 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) +- 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) +- Move the state check forward [#17020](https://github.com/apache/pulsar/pull/17020) +- Improve naming for delete topic error [#16965](https://github.com/apache/pulsar/pull/16965) +- 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) +- Prevent StackOverFlowException in SHARED subscription [#16968](https://github.com/apache/pulsar/pull/16968) +- Improve the package download process [#16365](https://github.com/apache/pulsar/pull/16365) +- Skip mis-configured resource usage(>100%) in load balancer [#16937](https://github.com/apache/pulsar/pull/16937) +- Not allow terminating system topic [#17006](https://github.com/apache/pulsar/pull/17006) +- 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) +- Remove unnecessary lock on the stats thread [#16983](https://github.com/apache/pulsar/pull/16983) +- Fix memory leak if entry exists in cache [#16996](https://github.com/apache/pulsar/pull/16996) +- Fix ConcurrentModificationException when ModularLoadManagerImpl start [#16953](https://github.com/apache/pulsar/pull/16953) +- Split TLS transport encryption support from authentication [#16819](https://github.com/apache/pulsar/pull/16819) +- Support start multiple bookies for BKCluster [#16847](https://github.com/apache/pulsar/pull/16847) +- 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) +- Improve get the basic authentication config [#16526](https://github.com/apache/pulsar/pull/16526) +- Change delete pending ack position from foreach to firstKey [#16927](https://github.com/apache/pulsar/pull/16927) +- Adapt basic authentication configuration with prefix [#16935](https://github.com/apache/pulsar/pull/16935) +- 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) +- Support clear old bookie data for BKCluster [#16744](https://github.com/apache/pulsar/pull/16744) +- Fix consumer does not abide by the max unacks limitation for Key_Shared subscription [#16718](https://github.com/apache/pulsar/pull/16718) +- Avoid ConcurrentModificationException for ModularLoadManagerImpl.cleanupDeadBrokersData() [#16690](https://github.com/apache/pulsar/pull/16690) +- 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) +- 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) +- PulsarLedgerManager: add missed return statement [#16607](https://github.com/apache/pulsar/pull/16607) +- The configuration loadBalancerNamespaceMaximumBundles is invalid [#16552](https://github.com/apache/pulsar/pull/16552) +- 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) +- Add config maxUnloadBundleNumPerShedding for UniformLoadShedder [#16409](https://github.com/apache/pulsar/pull/16409) +- Fix etcd cluster error and add test for etcd cluster [#16309](https://github.com/apache/pulsar/pull/16309) +- 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) +- 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) +- 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) +- Add decode InputStream for Schema [#16659](https://github.com/apache/pulsar/pull/16659) +- 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] 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] Refactor SchemaHash to reduce call of hashFunction in SchemaHash [#17948](https://github.com/apache/pulsar/pull/17948) +- [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] Reduce code duplication in admin client [#16377](https://github.com/apache/pulsar/pull/16377) +- [Java] Remove redundant check for chunked message TotalChunkMsgSize in ConsumerImpl [#16797](https://github.com/apache/pulsar/pull/16797) +- [Java] Fix client memory limit currentUsage leak and semaphore release duplicated in ProducerImpl [#16837](https://github.com/apache/pulsar/pull/16837) +- [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] Optimize pause when creating sub consumers in multi-topic consumer [#14566](https://github.com/apache/pulsar/pull/14566) +- [C++] Reset havePendingPingRequest flag for any data received from broker [#17658](https://github.com/apache/pulsar/pull/17658) +- [C++] Fix potential segfault when resending messages [#17395](https://github.com/apache/pulsar/pull/17395) +- [C++] Support multiple brokers in service URL [#17162](https://github.com/apache/pulsar/pull/17162) +- [C++] Support retry and apply operation timeout for lookup requests [#17410](https://github.com/apache/pulsar/pull/17410) +- [C++] Use an atomic state_ instead of the lock to improve performance [#16940](https://github.com/apache/pulsar/pull/16940) +- [C++] Fix multi-topics consumer close segmentation fault [#17239](https://github.com/apache/pulsar/pull/17239) +- [C++] Fix rpm and deb packaging [#17064](https://github.com/apache/pulsar/pull/17064) +- [C++] Add producerId to the log of closed producer [#17079](https://github.com/apache/pulsar/pull/17079) +- [C++] Add basic authentication [#15822](https://github.com/apache/pulsar/pull/15822) +- [C++] Add getLastMessageIdAsync in Consumer [#16182](https://github.com/apache/pulsar/pull/16182) +- [C++] Rename function name: pulsar_producer_configuration_set_crypto_failure_action [#16031](https://github.com/apache/pulsar/pull/16031) +- [C++] Generate correct well-known OpenID configuration URL [#15928](https://github.com/apache/pulsar/pull/15928) +- [C++] Unblock all threads when Pulsar client is closed [#15726](https://github.com/apache/pulsar/pull/15726) +- [C++] Avoid race condition causing double callback on close [#15508](https://github.com/apache/pulsar/pull/15508) +- [C++] Wait until event loop terminates when closing the Client [#15316](https://github.com/apache/pulsar/pull/15316) +- [C++] Remove the flaky and meaningless tests [#15271](https://github.com/apache/pulsar/pull/15271) +- [C++] Fix UnknownError might be returned for a partitioned producer [#15161](https://github.com/apache/pulsar/pull/15161) +- [C++] Fix single message metadata not set correctly [#15072](https://github.com/apache/pulsar/pull/15072) +- [C++] Add subscription properties to consumer for cpp [#15020](https://github.com/apache/pulsar/pull/15020) +- [C++] Fix connection is not closed when broker closes the connection to proxy[#14070](https://github.com/apache/pulsar/pull/14070) +- [C++] Fix send callback might not be invoked in key based batching [#14898](https://github.com/apache/pulsar/pull/14898) +- [C++] Fix C++ client compile error because of keyword optional is redundant in PaddingDemo.proto [#14862](https://github.com/apache/pulsar/pull/14862) +- [C++] Fix segmentation fault when creating socket failed [#14834](https://github.com/apache/pulsar/pull/14834) +- [C++] Fix the race condition of connect timeout task [#14823](https://github.com/apache/pulsar/pull/14823) +- [C++] Fix producer is never destructed until client is closed [#14797](https://github.com/apache/pulsar/pull/14797) +- [C++] Close messages_ when PartitionedConsumer is closed [#16887](https://github.com/apache/pulsar/pull/16887) +- [Python] Add basic authentication [#17482](https://github.com/apache/pulsar/pull/17482) +- [Python] Add getLastMessageIdAsync C binding [#16255](https://github.com/apache/pulsar/pull/16255) +- [Python] Remove reserved keys when JsonSchema is being encoded [#15947](https://github.com/apache/pulsar/pull/15947) +- [Python] Use MacOS 10.15 as the target OS version for Python wheel files [#15788](https://github.com/apache/pulsar/pull/15788) +- [Python] Remove dependencies only needed by Python 2 [#15460](https://github.com/apache/pulsar/pull/15460) +- [Python] Remove scripts to create wheel files in vagrant VMs [#15459](https://github.com/apache/pulsar/pull/15459) +- [Python] Adjust scripts to build wheel files for Python 3.7 on Mac [#15407](https://github.com/apache/pulsar/pull/15407) +- [Python] Change python cp35-cp35m lib build version to manylinux1 [#15180](https://github.com/apache/pulsar/pull/15180) +- [Python] Generate universal2 wheel files for macOS [#15054](https://github.com/apache/pulsar/pull/15054) +- [Python] Add scripts to generate wheel files for macOS [#15024](https://github.com/apache/pulsar/pull/15024) +- [Python] Add build for wheels on Alpine Linux [#15016](https://github.com/apache/pulsar/pull/15016) +- [Python] Add build for ARM64 on Linux and Python 3.10 [#15004](https://github.com/apache/pulsar/pull/15004) + +### Pulsar IO and Pulsar Functions +- [Functions] Ensure InternalConfigurationData data model is compatible across different versions [#17690](https://github.com/apache/pulsar/pull/17690) +- [Functions] Add the ability to customize logging level for Go & Python functions [#16939](https://github.com/apache/pulsar/pull/16939) +- [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] 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] Kinesis sink: fix NPE with KeyValue schema and no value [#17959](https://github.com/apache/pulsar/pull/17959) +- [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 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] 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] Pulsar shell: allow to create a new config (--file) with a relative path [#17675](https://github.com/apache/pulsar/pull/17675) +- [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] 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) + +### 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] 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] 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] 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] 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) +- [WebSocket] Support encryption in websocket proxy [#16234](https://github.com/apache/pulsar/pull/16234) +- [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] 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) +- 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 +- 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 feature. + +- Add docs about [system topic](https://pulsar.apache.org/docs/next/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/next/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/next/security-basic-auth) [#15734](https://github.com/apache/pulsar/pull/15734) +- Add docs about [isolation deployments](https://pulsar.apache.org/docs/next/administration-isolation) [#15802](https://github.com/apache/pulsar/pull/15802) +- Information architecture redesigns and improvements for [Pulsar Functions](https://pulsar.apache.org/docs/next/functions-overview) and add a new topic about [how to get started](https://pulsar.apache.org/docs/next/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/next/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/next/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/next/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 docs for Pulsar 2.11.0. +> [704237006](https://github.com/704237006), [AlphaWang](https://github.com/AlphaWang), [Anonymitaet](https://github.com/Anonymitaet), [asafm](https://github.com/asafm), [cbornet](https://github.com/cbornet), [codelipenghui](https://github.com/codelipenghui), [coderzc](https://github.com/coderzc), [Demogorgon314](https://github.com/Demogorgon314), [ericsyh](https://github.com/ericsyh), [fantapsody](https://github.com/fantapsody), [futeng](https://github.com/futeng), [hangc0276](https://g [...] diff --git a/releases.json b/releases.json index 2476ab3697a..5473c058037 100644 --- a/releases.json +++ b/releases.json @@ -1,4 +1,5 @@ [ + "2.11.0", "2.10.3", "2.10.2", "2.10.1",
