This is an automated email from the ASF dual-hosted git repository. rgao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push: new 9861dfb1208 [release][WebSite] Update release notes for `2.9.2` (#15080) 9861dfb1208 is described below commit 9861dfb1208c4b6b8a1f17ef026e9af71c3e784c Author: ran <gaoran...@126.com> AuthorDate: Mon Apr 18 22:15:56 2022 +0800 [release][WebSite] Update release notes for `2.9.2` (#15080) ### Motivation The Pulsar 2.9.2 was released, need to update the release notes. ### Modifications Update the release notes for Pulsar `2.9.2`. --- site2/website/release-notes.md | 348 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 348 insertions(+) diff --git a/site2/website/release-notes.md b/site2/website/release-notes.md index 10b8de7c3ab..4e42d7443cb 100644 --- a/site2/website/release-notes.md +++ b/site2/website/release-notes.md @@ -296,6 +296,354 @@ - Remove net.jodah.failsafe dependency (fix JDK17 build) [#14124](https://github.com/apache/pulsar/pull/14124) - Upgrade netty version to 4.1.74.Final [#14257](https://github.com/apache/pulsar/pull/14257) +### 2.9.2 + +#### 2022-04-08 + +#### Security +- Get rid of CVEs in Solr connector [#13822](https://github.com/apache/pulsar/pull/13822) +- Get rid of CVEs in InfluxDB connector [#13821](https://github.com/apache/pulsar/pull/13821) +- Get rid of CVEs in batch-data-generator [#13820](https://github.com/apache/pulsar/pull/13820) +- Get rid of CVEs brought in with aerospike [#13819](https://github.com/apache/pulsar/pull/13819) +- Suppress false positive Avro CVE-2021-43045 [#13764](https://github.com/apache/pulsar/pull/13764) +- Upgrade protobuf to 3.16.1 to address CVE-2021-22569 [#13695](https://github.com/apache/pulsar/pull/13695) +- Upgrade Jackson to 2.12.6 [#13694](https://github.com/apache/pulsar/pull/13694) +- Upgrade Log4j to 2.17.1 to address CVE-2021-44832 [#13552](https://github.com/apache/pulsar/pull/13552) +- Upgrade to Log4J 2.17.0 to mitigate CVE-2021-45105 [#13392](https://github.com/apache/pulsar/pull/13392) +- Cipher params not work in KeyStoreSSLContext [#13322](https://github.com/apache/pulsar/pull/13322) +- Use JDK default security provider when Conscrypt isn't available [#12938](https://github.com/apache/pulsar/pull/12938) +- Return if namespace policies are read only [#12514](https://github.com/apache/pulsar/pull/12514) +- Upgrade Postgre driver to 42.2.25 to get rid of CVE-2022-21724 [#14119](https://github.com/apache/pulsar/pull/14119) +- Bump slf4j from 1.7.25 to 1.7.32 [#13595](https://github.com/apache/pulsar/pull/13595) +- Upgrade Netty to 4.1.72 - CVE-2021-43797 [#13328](https://github.com/apache/pulsar/pull/13328) + +#### Broker +- Fix lost message issue due to ledger rollover. [#14664](https://github.com/apache/pulsar/pull/14664) +- Fix thread leak in MLTransactionMetadataStore [#14524](https://github.com/apache/pulsar/pull/14524) +- Fix npe in ManagedLedgerImpl [#14481](https://github.com/apache/pulsar/pull/14481) +- Fix ``Future.join()`` causing deadlock. [#14469](https://github.com/apache/pulsar/pull/14469) +- Fix Broker HealthCheck Endpoint Exposes Race Conditions [#14367](https://github.com/apache/pulsar/pull/14367) +- Validate rack name [#14336](https://github.com/apache/pulsar/pull/14336) +- Fix avg-messagePerEntry metrics for consumer [#14330](https://github.com/apache/pulsar/pull/14330) +- Fix the wrong parameter in the log. [#14309](https://github.com/apache/pulsar/pull/14309) +- Fix batch ack count is a negative issue. [#14288](https://github.com/apache/pulsar/pull/14288) +- Bug fix: IllegalArgumentException: Invalid period 0.0 to calculate rate [#14280](https://github.com/apache/pulsar/pull/14280) +- Clean up individually deleted messages before the mark-delete position [#14261](https://github.com/apache/pulsar/pull/14261) +- If mark-delete operation fails, mark the cursor as "dirty" [#14256](https://github.com/apache/pulsar/pull/14256) +- Fix detecting number of NICs in EC2 [#14252](https://github.com/apache/pulsar/pull/14252) +- Remove log unacked msg. [#14246](https://github.com/apache/pulsar/pull/14246) +- Change broker producer fence log level [#14196](https://github.com/apache/pulsar/pull/14196) +- Avoid creating any topics in `NamespaceService#checkTopicExists` during topic lookup. [#14134](https://github.com/apache/pulsar/pull/14134) +- Fix NPE of cumulative ack mode and incorrect unack message count [#14021](https://github.com/apache/pulsar/pull/14021) +- Fix NPE - ``ReplicatedSubscriptionsController`` send marker message when enable deduplicated. [#14017](https://github.com/apache/pulsar/pull/14017) +- KeyShared stickyHashRange subscription: prevent stuck subscription in case of consumer restart [#14014](https://github.com/apache/pulsar/pull/14014) +- Add null check to workaround NPE in unit tests with Mockito/PowerMock [#14006](https://github.com/apache/pulsar/pull/14006) +- Fix handling of consumers with equal names on on key shared selector with consistent hashing [#13991](https://github.com/apache/pulsar/pull/13991) +- Trim configuration value string which contains blank prefix or suffix [#13984](https://github.com/apache/pulsar/pull/13984) +- WaitingCursors potential heap memory leak [#13939](https://github.com/apache/pulsar/pull/13939) +- Fix read schema compatibility strategy priority [#13938](https://github.com/apache/pulsar/pull/13938) +- Fix SystemTopicBasedTopicPoliciesService NPE issue. [#13840](https://github.com/apache/pulsar/pull/13840) +- NPE when get isAllowAutoUploadSchema [#13831](https://github.com/apache/pulsar/pull/13831) +- Fix topic produced through REST not support Authorization [#13771](https://github.com/apache/pulsar/pull/13771) +- Fix call sync method in async rest API for ``internalGetSubscriptionsForNonPartitionedTopic`` [#13745](https://github.com/apache/pulsar/pull/13745) +- Fix the deadlock while using zookeeper thread to create ledger [#13744](https://github.com/apache/pulsar/pull/13744) +- Fix inefficient forEach loop [#13742](https://github.com/apache/pulsar/pull/13742) +- Fix non persistent topic subscription error. [#13685](https://github.com/apache/pulsar/pull/13685) +- Fix invalid rack name cause bookie join rack failed [#13683](https://github.com/apache/pulsar/pull/13683) +- Release old bundle from ownership cache when operator split bundle [#13678](https://github.com/apache/pulsar/pull/13678) +- Avoid call sync method in async rest API for force delete subscription [#13668](https://github.com/apache/pulsar/pull/13668) +- Avoid call sync method in async rest API for delete subscription [#13666](https://github.com/apache/pulsar/pull/13666) +- Fix getInternalStats occasional lack of LeaderInfo [#13656](https://github.com/apache/pulsar/pull/13656) +- Fix internal topic effect by InactiveTopicPolicy. [#13611](https://github.com/apache/pulsar/pull/13611) +- Fix bug :Infinity value for CPU or Bandwidth usage [#13609](https://github.com/apache/pulsar/pull/13609) +- Change ``ContextClassLoader`` to ``NarClassLoader`` in BrokerInterceptor [#13589](https://github.com/apache/pulsar/pull/13589) +- Fix NPE when unloading namespace bundle [#13571](https://github.com/apache/pulsar/pull/13571) +- Allow both limit and limitsize be null [#13557](https://github.com/apache/pulsar/pull/13557) +- The log prints NamespaceService#isServiceUnitActive exception stack information. [#13553](https://github.com/apache/pulsar/pull/13553) +- Update log content [#13540](https://github.com/apache/pulsar/pull/13540) +- HealthCheck v2 failed [#13525](https://github.com/apache/pulsar/pull/13525) +- Change ContextClassLoader to NarClassLoader in AdditionalServlet [#13501](https://github.com/apache/pulsar/pull/13501) +- Optimize the debug log that affects performance, and unify the style [#13498](https://github.com/apache/pulsar/pull/13498) +- Fix multi roles authz cannot handle empty roles case [#13477](https://github.com/apache/pulsar/pull/13477) +- Fix the NPE in system topics policies service [#13469](https://github.com/apache/pulsar/pull/13469) +- Fix race conditions in closing producers and consumers [#13428](https://github.com/apache/pulsar/pull/13428) +- Fix deadlock in metadata-store callback thread for branch 2.9 [#13426](https://github.com/apache/pulsar/pull/13426) +- Remove check resource when delete failure domain [#13421](https://github.com/apache/pulsar/pull/13421) +- Fix create the dynamic configuration resource if not exist [#13420](https://github.com/apache/pulsar/pull/13420) +- Fix batch message ack does not decrease the unacked-msg count. [#13383](https://github.com/apache/pulsar/pull/13383) +- Fix dead loop in BacklogQuotaManager.dropBacklogForTimeLimit [#13249](https://github.com/apache/pulsar/pull/13249) +- Modify return result of NamespacesBase#internalGetPublishRate [#13237](https://github.com/apache/pulsar/pull/13237) +- Optimize ManagedLedger Ledger Ownership Check [#13222](https://github.com/apache/pulsar/pull/13222) +- Fix shedding heartbeat ns [#13208](https://github.com/apache/pulsar/pull/13208) +- Fix when deleting topic with NotFoundException, do not return to client. [#13203](https://github.com/apache/pulsar/pull/13203) +- Clean up active consumer on already closed connection [#13196](https://github.com/apache/pulsar/pull/13196) +- Update cursor last active timestamp when reseting cursor [#13166](https://github.com/apache/pulsar/pull/13166) +- Use current resourceUsage value as historyUsage when leader change in ThresholdShedder [#13136](https://github.com/apache/pulsar/pull/13136) +- Don't attempt to delete pending ack store unless transactions are enabled [#13041](https://github.com/apache/pulsar/pull/13041) +- Fix race condition in ResourceLockImpl#revalidate [#13006](https://github.com/apache/pulsar/pull/13006) +- Fix NPE in `PersistentTopic.checkSubscriptionTypesEnable` [#12961](https://github.com/apache/pulsar/pull/12961) +- Fix wrong isEmpty method of ConcurrentOpenLongPairRangeSet [#12953](https://github.com/apache/pulsar/pull/12953) +- Correct param of delete method for v1 topic [#12936](https://github.com/apache/pulsar/pull/12936) +- Change create topic return error to Status.BAD_REQUEST [#12919](https://github.com/apache/pulsar/pull/12919) +- Fix topic policy listener deleted by mistake. [#12904](https://github.com/apache/pulsar/pull/12904) +- Remove readerCaches and close reader when exception occurs in SystemTopicBasedTopicPoliciesService [#12873](https://github.com/apache/pulsar/pull/12873) +- Fix deleting tenants with active namespaces with 500. [#12848](https://github.com/apache/pulsar/pull/12848) +- Bug Fix: topic policy is not properly init if namespace is loaded first. [#12833](https://github.com/apache/pulsar/pull/12833) +- Add broker config isAllowAutoUpdateSchema [#12786](https://github.com/apache/pulsar/pull/12786) +- Fix TopicPoliciesCacheNotInitException issue. [#12773](https://github.com/apache/pulsar/pull/12773) +- The problem of two exception handling [#12744](https://github.com/apache/pulsar/pull/12744) +- Handle lookup redirect for V1-topics with different cluster [#12743](https://github.com/apache/pulsar/pull/12743) +- Fix race condition in PersistentTopic#addReplicationCluster [#12729](https://github.com/apache/pulsar/pull/12729) +- Remove catching `NamingException`. [#12725](https://github.com/apache/pulsar/pull/12725) +- Even if always compatible is set, Consumers cannot be created [#12721](https://github.com/apache/pulsar/pull/12721) +- Fix znode leakage caused by deleting tenant [#12711](https://github.com/apache/pulsar/pull/12711) +- Remove unused listeners if it have no listeners. [#12654](https://github.com/apache/pulsar/pull/12654) +- Optimize exception information for schemas [#12647](https://github.com/apache/pulsar/pull/12647) +- Support retry when creating reader of Topic Policies [#12622](https://github.com/apache/pulsar/pull/12622) +- Fix String should use equals but not ==. [#12619](https://github.com/apache/pulsar/pull/12619) +- Fix 12614, waitingForPingResponse needs to be modified with volatile for concurrent sence [#12615](https://github.com/apache/pulsar/pull/12615) +- Cleanup ProxyPublishConsumeTest [#12607](https://github.com/apache/pulsar/pull/12607) +- Fix additional servlets nar might extract to null directory [#12585](https://github.com/apache/pulsar/pull/12585) +- Fix log typo in NamespaceService#checkHeartbeatNamespace [#12582](https://github.com/apache/pulsar/pull/12582) +- Clean up the metadata of the non-persistent partitioned topics. [#12550](https://github.com/apache/pulsar/pull/12550) +- Add git branch information for PulsarVersion [#12541](https://github.com/apache/pulsar/pull/12541) +- Websocket should pass the encryption context to the consumers [#12539](https://github.com/apache/pulsar/pull/12539) +- The count of topics on the bundle is less than 2, skip split [#12527](https://github.com/apache/pulsar/pull/12527) +- Remove redundant null check for getInternalListener [#12474](https://github.com/apache/pulsar/pull/12474) +- Optimize the code: remove extra spaces [#12470](https://github.com/apache/pulsar/pull/12470) +- Fix wrong property name in NamespaceIsolationDataImpl#secondary [#12433](https://github.com/apache/pulsar/pull/12433) +- Fix the null point caused by deleting the system topic policy [#12367](https://github.com/apache/pulsar/pull/12367) +- Future completed twice in the method of impl.MLPendingAckStore#closeAsync [#12362](https://github.com/apache/pulsar/pull/12362) +- Fix the race of delete subscription and delete topic [#12240](https://github.com/apache/pulsar/pull/12240) +- Fix delete authentication policies when delete topic. [#12215](https://github.com/apache/pulsar/pull/12215) +- Fix update ledger list to znode version mismatch failed, ledger not delete [#12015](https://github.com/apache/pulsar/pull/12015) +- Fix issues 11964, deadlock bug when use key_shared mode [#11965](https://github.com/apache/pulsar/pull/11965) +- Fix validateGlobalNamespaceOwnership wrap exception issue. [#14269](https://github.com/apache/pulsar/pull/14269) +- Fix reader skipped remaining compacted data during the topic unloading. [#13629](https://github.com/apache/pulsar/pull/13629) +- Return message ID from compacted ledger while the compaction cursor reach the end of the topic [#13533](https://github.com/apache/pulsar/pull/13533) +- Fix getting the last message-id from an empty compact ledger [#13476](https://github.com/apache/pulsar/pull/13476) +- Fix lost compaction data due to compaction properties missed during reset-cursor [#12698](https://github.com/apache/pulsar/pull/12698) +- Do not move the non-durable cursor position when trimming ledgers while topic with compaction [#12602](https://github.com/apache/pulsar/pull/12602) +- Fix can't read the latest message of the compacted topic [#14449](https://github.com/apache/pulsar/pull/14449) +- Fix skips compacted data for reader/consumer [#12464](https://github.com/apache/pulsar/pull/12464) +- Fix wrong behaviour caused by not cleaning up topic policy service state. [#14503](https://github.com/apache/pulsar/pull/14503) +- Avoid thread deadlock problem when creating topic policy reader [#13837](https://github.com/apache/pulsar/pull/13837) +- Bug Fix: topic policy is not properly init if namespace is loaded first. [#13422](https://github.com/apache/pulsar/pull/13422) +- Fix parse BigDecimal [#14019](https://github.com/apache/pulsar/pull/14019) +- Fix: bug when allAll bucket [#13467](https://github.com/apache/pulsar/pull/13467) +- Support GET_BACKLOG_SIZE topic op after enable auth [#12850](https://github.com/apache/pulsar/pull/12850) +- Reduce the readFailureBackoff time [#12444](https://github.com/apache/pulsar/pull/12444) +- Add readWorkerThreadsThrottlingEnabled to conf/bookkeeper.conf [#12666](https://github.com/apache/pulsar/pull/12666) + +#### Transaction +- Fix cursor readPosition is bigger than maxPosition in OpReadEntry [#14667](https://github.com/apache/pulsar/pull/14667) +- Fix MLTransactionMetadataStore.update async fail [#14532](https://github.com/apache/pulsar/pull/14532) +- Fix end transaction at state of timeout [#14370](https://github.com/apache/pulsar/pull/14370) +- Optimize testEndTBRecoveringWhenManagerLedgerDisReadable [#14303](https://github.com/apache/pulsar/pull/14303) +- Delete changeMaxReadPositionAndAddAbortTimes when checkIfNoSnapshot [#14276](https://github.com/apache/pulsar/pull/14276) +- Adopt single thread pool in TC [#14238](https://github.com/apache/pulsar/pull/14238) +- Fix send normal message can't change MaxReadPosition [#14192](https://github.com/apache/pulsar/pull/14192) +- Optimize transaction timeout [#14172](https://github.com/apache/pulsar/pull/14172) +- Fix subscription ack transaction marker. [#14170](https://github.com/apache/pulsar/pull/14170) +- Fix OpBase.callback is not called in TransactionMetaStoreHandler#failPendingRequest [#14133](https://github.com/apache/pulsar/pull/14133) +- Fix deadlock on txn semaphore permit exhaustion [#14131](https://github.com/apache/pulsar/pull/14131) +- Fix unack message count for transaction Ack while disabled batch index ack [#14071](https://github.com/apache/pulsar/pull/14071) +- Fix individual ack with transaction decrease unAckMessageCounnt [#14020](https://github.com/apache/pulsar/pull/14020) +- Resolve the performance bottleneck of TransactionBufferHandle [#13988](https://github.com/apache/pulsar/pull/13988) +- RetryException should not be return [#13828](https://github.com/apache/pulsar/pull/13828) +- Fix recover of TransactionBuffer [#13739](https://github.com/apache/pulsar/pull/13739) +- Duplicate TYPE of Prometheus metrics [#13704](https://github.com/apache/pulsar/pull/13704) +- Remove txn add partition info log [#13670](https://github.com/apache/pulsar/pull/13670) +- Fix no response to client when handleSubscribe because PendingAckHandleImpl init fail [#13655](https://github.com/apache/pulsar/pull/13655) +- PendingAckHandleImpl handle isInCacheRequest [#13481](https://github.com/apache/pulsar/pull/13481) +- Stop TB recovering with exception [#13425](https://github.com/apache/pulsar/pull/13425) +- Optimize transaction FieldUpdater to static final [#13396](https://github.com/apache/pulsar/pull/13396) +- Delete the redundant code [#13327](https://github.com/apache/pulsar/pull/13327) +- Allow transaction to be committed or aborted in the state of aborting or committing. [#13323](https://github.com/apache/pulsar/pull/13323) +- Remove request if can not send [#13308](https://github.com/apache/pulsar/pull/13308) +- Fix generate transactionId some comments [#13234](https://github.com/apache/pulsar/pull/13234) +- Fix transaction sequenceId generate error. [#13209](https://github.com/apache/pulsar/pull/13209) +- No TransactionCoordinatorNotFound, but automatic reconnect [#13135](https://github.com/apache/pulsar/pull/13135) +- Add a check for uninitialized PendingAck [#13088](https://github.com/apache/pulsar/pull/13088) +- Handle exception double [#12881](https://github.com/apache/pulsar/pull/12881) +- Stop TP replaying with Exception [#12700](https://github.com/apache/pulsar/pull/12700) +- Stop TB recovering with exception [#12636](https://github.com/apache/pulsar/pull/12636) +- Txn client check timeout [#12521](https://github.com/apache/pulsar/pull/12521) +- Fix maxReadPosition with normal publish [#12386](https://github.com/apache/pulsar/pull/12386) +- Fix bugs, Exception thrower by TB::appendBufferToTxn must be ManagedLedgerException. [#12376](https://github.com/apache/pulsar/pull/12376) +- Merge transactionBuffer exception into a class [#12358](https://github.com/apache/pulsar/pull/12358) +- Add transaction perf [#11933](https://github.com/apache/pulsar/pull/11933) +- Adopt Single_thread to handle TcClient connecting [#13969](https://github.com/apache/pulsar/pull/13969) +- Stop TC replaying with exception [#12705](https://github.com/apache/pulsar/pull/12705) +- Fix performance [#13253](https://github.com/apache/pulsar/pull/13253) + +#### Admin +- Fix Broker HealthCheck Endpoint Exposes Race Conditions. [#14658](https://github.com/apache/pulsar/pull/14658) +- Fix delete namespace issue. [#14657](https://github.com/apache/pulsar/pull/14657) +- Make sure policies.is_allow_auto_update_schema not null [#14409](https://github.com/apache/pulsar/pull/14409) +- Fix delete namespace issue. [#14215](https://github.com/apache/pulsar/pull/14215) +- Fix NPE when reset-cursor at a non-existent topic (RestException without cause) [#13573](https://github.com/apache/pulsar/pull/13573) +- Add transaction admin [#13447](https://github.com/apache/pulsar/pull/13447) +- Print topic internal info as formatted json [#12709](https://github.com/apache/pulsar/pull/12709) +- Add --all option to get all version schema of topic [#12535](https://github.com/apache/pulsar/pull/12535) +- Modify exception of set-properties for namespace [#12436](https://github.com/apache/pulsar/pull/12436) +- Get schema validation enforce add applied. [#12349](https://github.com/apache/pulsar/pull/12349) +- Add corresponding get command for namespace [#12322](https://github.com/apache/pulsar/pull/12322) +- Pulsar admin exposes secret for source and sink [#13059](https://github.com/apache/pulsar/pull/13059) +- Perfect judgment conditions of pulsar-admin [#12315](https://github.com/apache/pulsar/pull/12315) + +#### Proxy +- Fix port exhaustion and connection issues in Pulsar Proxy [#14078](https://github.com/apache/pulsar/pull/14078) +- Allow config of IO and acceptor threads in proxy [#14054](https://github.com/apache/pulsar/pull/14054) +- Prevent leak of unreleased lookupRequestSemaphore permits [#13812](https://github.com/apache/pulsar/pull/13812) +- Fix issue when Proxy fails to start and logs about an uncaught exception [#13171](https://github.com/apache/pulsar/pull/13171) +- Add error log when new jetty client exception [#12840](https://github.com/apache/pulsar/pull/12840) +- Remove unnecessary Pulsar Client usage from Pulsar Proxy [#13836](https://github.com/apache/pulsar/pull/13836) + +#### Clients +- [Java] Fix ConsumerBuilderImpl#subscribeAsync blocks calling thread. [#14433](https://github.com/apache/pulsar/pull/14433) +- [Java] Fix adding message to list potential issue [#14377](https://github.com/apache/pulsar/pull/14377) +- [Java] Fix send to deadLetterTopic not working when reach maxRedeliverCount [#14317](https://github.com/apache/pulsar/pull/14317) +- [Java] Fix time unit mismatch in errMsg when producer send fails. [#14299](https://github.com/apache/pulsar/pull/14299) +- [Java] Fix PersistentAcknowledgmentsGroupingTracker set BitSet issue. [#14260](https://github.com/apache/pulsar/pull/14260) +- [Java] Check ``getTlsTrustStorePath`` NPE when user forget to set it. [#14253](https://github.com/apache/pulsar/pull/14253) +- [Java] Fix consume failure when BatchReceivePolicy#maxNumBytes < message size [#14139](https://github.com/apache/pulsar/pull/14139) +- [Java] Use `scheduleWithFixedDelay` instead of `scheduleAtFixedRate` for java producer batch timer [#14125](https://github.com/apache/pulsar/pull/14125) +- [Java] Add a default timeout for OAuth2 Metadata Resolver [#14056](https://github.com/apache/pulsar/pull/14056) +- [Java] Fix send chunking message failed when ordering key is set. [#13699](https://github.com/apache/pulsar/pull/13699) +- [Java] Fix send chunking message failed when encryption enabled [#13689](https://github.com/apache/pulsar/pull/13689) +- [Java] Fix Producer semaphore permit release issue [#13682](https://github.com/apache/pulsar/pull/13682) +- [Java] Fix the wrong multi-topic has message available behavior [#13634](https://github.com/apache/pulsar/pull/13634) +- [Java] Use PulsarByteBufAllocator to allocate buffer for chunks [#13536](https://github.com/apache/pulsar/pull/13536) +- [Java] Fix resources leak when create producer failed [#13505](https://github.com/apache/pulsar/pull/13505) +- [Java] Fix semaphore and memory leak when chunks failed to enqueue [#13454](https://github.com/apache/pulsar/pull/13454) +- [Java] Fix invalid setting of enabled ciphers to fix warning from BoringSSL [#13435](https://github.com/apache/pulsar/pull/13435) +- [Java] Fix multi topic reader has message available behavior [#13332](https://github.com/apache/pulsar/pull/13332) +- [Java] Improve consumer listener logic [#13273](https://github.com/apache/pulsar/pull/13273) +- [Java] Fix memory leak when message payload processor is configured [#13233](https://github.com/apache/pulsar/pull/13233) +- [Java] Change the time units from ns to ms [#13057](https://github.com/apache/pulsar/pull/13057) +- [Java] Use sendAsync instead of send when produce message to retry topic. [#12946](https://github.com/apache/pulsar/pull/12946) +- [Java] Avoid IllegalStateException in ClientCnx debug logs [#12899](https://github.com/apache/pulsar/pull/12899) +- [Java] Fix pending queue-size stats for batch messages [#12704](https://github.com/apache/pulsar/pull/12704) +- [Java] Fix invalid firstSentAt in log message when timeout first time [#12588](https://github.com/apache/pulsar/pull/12588) +- [Java] Add conf backoff values [#12520](https://github.com/apache/pulsar/pull/12520) +- [Java] Update producer stats when producer close [#12500](https://github.com/apache/pulsar/pull/12500) +- [Java] Fix a typo in UnAckedMessageTracker [#12467](https://github.com/apache/pulsar/pull/12467) +- [Java] Fix the retry topic's `REAL_TOPIC` & `ORIGIN_MESSAGE_ID` property [#12451](https://github.com/apache/pulsar/pull/12451) +- [Java] Change the producer fence error log to debug level [#12447](https://github.com/apache/pulsar/pull/12447) +- [Java] Add log error tracking for semaphore count leak [#12410](https://github.com/apache/pulsar/pull/12410) +- [Java] Fix race condition of OpSendMsgQueue when publishing messages [#14231](https://github.com/apache/pulsar/pull/14231) +- [C++] Fix wrong unit of Access Token Response's `expires_in` field [#14554](https://github.com/apache/pulsar/pull/14554) +- [C++] Fix thread safety issue for multi topic consumer [#14380](https://github.com/apache/pulsar/pull/14380) +- [C++] Fix pulsar client cpp build fail in gcc-4.8.5 [#14053](https://github.com/apache/pulsar/pull/14053) +- [C++] Fix hasMessageAvailable returns wrong value for last message [#13883](https://github.com/apache/pulsar/pull/13883) +- [C++] Fix in macOS CMake might find error boost-python libs path [#13193](https://github.com/apache/pulsar/pull/13193) +- [C++] Fix libcurl miss auth header when broker return 307 [#13112](https://github.com/apache/pulsar/pull/13112) +- [C++] Define and expose PULSAR_VERSION macro [#12769](https://github.com/apache/pulsar/pull/12769) +- [C++] Fix request timeout for GetLastMessageId doesn't work [#12586](https://github.com/apache/pulsar/pull/12586) +- [C++] Support setting priority for consumers [#12526](https://github.com/apache/pulsar/pull/12526) +- [C++] Fix connection read error logging [#12492](https://github.com/apache/pulsar/pull/12492) +- [C++] Use weak ref to ClientConnection for timeout task [#12409](https://github.com/apache/pulsar/pull/12409) +- [C++] Fix Version.h not found when CMake binary directory is customized [#13324](https://github.com/apache/pulsar/pull/13324) +- [C++] Fix GCC compilation failure caused by warning macro [#14402](https://github.com/apache/pulsar/pull/14402) +- [C++] Fix frequent segmentation fault of Python tests by refactoring ExecutorService [#12427](https://github.com/apache/pulsar/pull/12427) +- [Python] Apply clang-format check for python wrapper [#13418](https://github.com/apache/pulsar/pull/13418) +- [Python] Python schema support custom Avro configurations for Enum type [#12642](https://github.com/apache/pulsar/pull/12642) +- [Python] JsonSchema encoding is not idempotent [#12490](https://github.com/apache/pulsar/pull/12490) +- [Python] Cannot use any values that evaluates to False [#12489](https://github.com/apache/pulsar/pull/12489) +- [Python] Python client support using custom Avro schema definition [#12516](https://github.com/apache/pulsar/pull/12516) +- [WebSocket] Fix ``ClassCastException`` when user create ``MultiTopicReader``. [#14316](https://github.com/apache/pulsar/pull/14316) +- [WebSocket] Add debug log for WebSocket. [#12458](https://github.com/apache/pulsar/pull/12458) + +#### CleanUp +- Remove unnecessary boxing unboxing [#12790](https://github.com/apache/pulsar/pull/12790) +- Optimize if statement [#12741](https://github.com/apache/pulsar/pull/12741) +- Remove unnecessary string operation [#12719](https://github.com/apache/pulsar/pull/12719) +- Remove redundant placeholders [#12717](https://github.com/apache/pulsar/pull/12717) +- Remove unused code in PersistentTopic.java [#12715](https://github.com/apache/pulsar/pull/12715) +- Remove unnecessary powermock annotation [#12713](https://github.com/apache/pulsar/pull/12713) +- Remove useless method "PersistentTopic#getPersistentTopic" [#12655](https://github.com/apache/pulsar/pull/12655) +- Remove unused isTxnMessage [#12472](https://github.com/apache/pulsar/pull/12472) +- Optimize SecurityUtility code flow [#12431](https://github.com/apache/pulsar/pull/12431) +- Remove redundant code [#12424](https://github.com/apache/pulsar/pull/12424) + +#### Doc +- Fix doc for the wrong default value of `maxPendingChunkedMessage` [#14144](https://github.com/apache/pulsar/pull/14144) +- Update notice year. [#13653](https://github.com/apache/pulsar/pull/13653) +- Fix java doc for MultipleListenerValidator [#12389](https://github.com/apache/pulsar/pull/12389) + +#### Pulsar SQL +- Fix PulsarRecordCursor deserialize issue. [#14379](https://github.com/apache/pulsar/pull/14379) +- Support protobuf/timestamp [#13287](https://github.com/apache/pulsar/pull/13287) +- Handle message null schema version in PulsarRecordCursor [#12809](https://github.com/apache/pulsar/pull/12809) +- Support query chunked messages feature in Pulsar SQL [#12720](https://github.com/apache/pulsar/pull/12720) +- Pulsar SQL support query big entry data [#12448](https://github.com/apache/pulsar/pull/12448) +- Fix time field use error [#12249](https://github.com/apache/pulsar/pull/12249) + +#### Dependency +- Bump netty version to 4.1.74.Final [#14257](https://github.com/apache/pulsar/pull/14257) +- Upgrade commons-cli to 1.5.0 [#14094](https://github.com/apache/pulsar/pull/14094) +- Upgrade Gson version 2.8.6 to 2.8.9 [#13610](https://github.com/apache/pulsar/pull/13610) +- Fix issue of mixed SLF4J library versions in presto libs [#13603](https://github.com/apache/pulsar/pull/13603) +- Remove the unused junit4 dependency in managed ledger [#13514](https://github.com/apache/pulsar/pull/13514) +- Upgrade to BookKeeper 4.14.3 [#12760](https://github.com/apache/pulsar/pull/12760) +- Some dependencies in integration tests scope should be test [#12696](https://github.com/apache/pulsar/pull/12696) +- Upgrade debezium to 1.7.1 [#12644](https://github.com/apache/pulsar/pull/12644) +- Upgrade BK to 4.14.4 and Grpc to 1.42.1 [#13714](https://github.com/apache/pulsar/pull/13714) + +#### Test +- BacklogQuotaManagerTest#testProducerExceptionAndThenUnblockSizeQuota [#14213](https://github.com/apache/pulsar/pull/14213) +- BacklogQuotaManagerTest.testConsumerBacklogEvictionTimeQuotaWithEmptyLedger [#13724](https://github.com/apache/pulsar/pull/13724) +- Fix flakiness issue when spying ServerCnx [#13608](https://github.com/apache/pulsar/pull/13608) +- Fix flaky test for BrokerServiceLookupTest.testModularLoadManagerSplitBundle [#13159](https://github.com/apache/pulsar/pull/13159) +- Fix flaky caused by message receive timeout in testBlockBrokerDispatching [#12954](https://github.com/apache/pulsar/pull/12954) +- Fix flaky test in PersistentStreamingDispatcherBlockConsumerTest [#12943](https://github.com/apache/pulsar/pull/12943) +- Fix flaky test in testReplicatorProducerName [#12898](https://github.com/apache/pulsar/pull/12898) +- JavaInstanceTest should be AssertEquals [#12836](https://github.com/apache/pulsar/pull/12836) +- ElasticSearchClientTests tests time out [#12694](https://github.com/apache/pulsar/pull/12694) +- Close Zk database on unit tests [#12649](https://github.com/apache/pulsar/pull/12649) +- Optimize the tests extends from TransactionTestBase [#12560](https://github.com/apache/pulsar/pull/12560) +- Broker resource group test optimize fail msg [#12438](https://github.com/apache/pulsar/pull/12438) +- Fix some tests not enabled in integration tests [#12417](https://github.com/apache/pulsar/pull/12417) +- Fix windows test path probleam [#12398](https://github.com/apache/pulsar/pull/12398) +- Fix ProxyServiceStarterTest flaky tests [#12344](https://github.com/apache/pulsar/pull/12344) +- AdminApiTest.testNamespaceSplitBundleConcurrent [#14565](https://github.com/apache/pulsar/pull/14565) +- Add test to ensure correct zk children cache invalidation [#14178](https://github.com/apache/pulsar/pull/14178) +- Upgrade Mockito to latest stable 3.x version, 3.12.4 [#13622](https://github.com/apache/pulsar/pull/13622) +- Add @Test annotation to test methods [#12640](https://github.com/apache/pulsar/pull/12640) + +#### Build +- Add suppression for pulsar-package-bookkeeper-storage [#13451](https://github.com/apache/pulsar/pull/13451) +- Suppress false positive check for netty-tcnative-classes [#13364](https://github.com/apache/pulsar/pull/13364) + +#### Tool +- Fix NPE in cmdTopics [#13450](https://github.com/apache/pulsar/pull/13450) +- Add missed import [#13037](https://github.com/apache/pulsar/pull/13037) +- Support listenerThreads configuration. [#12892](https://github.com/apache/pulsar/pull/12892) +- Improve exception info for invaild time-related option [#12828](https://github.com/apache/pulsar/pull/12828) +- Fix doc for pulsar-admin bookies cmd [#12542](https://github.com/apache/pulsar/pull/12542) + +#### Function +- Miss runtime set in GoInstanceConfig [#13031](https://github.com/apache/pulsar/pull/13031) +- Remove corrupt visible testing annotation in function workers [#12621](https://github.com/apache/pulsar/pull/12621) +- Pulsar admin exposes secrets for function [#12950](https://github.com/apache/pulsar/pull/12950) + +#### CLI +- Support auto-recovery service in pulsar cli [#12985](https://github.com/apache/pulsar/pull/12985) +- Enable CLI to publish non-batched messages [#12641](https://github.com/apache/pulsar/pull/12641) + +#### CI +- Replace deprecated "adopt" OpenJDK distribution with "temurin" in GitHub Actions config [#12945](https://github.com/apache/pulsar/pull/12945) + +#### Connector +- [ES-Sink] Use topic name as the index name if indexName is not configured [#13064](https://github.com/apache/pulsar/pull/13064) +- [ES-Sink] Correct @FieldDoc defaultValue for some fields [#12697](https://github.com/apache/pulsar/pull/12697) +- Don't create AvroData for each KafkaSourceRecord [#12859](https://github.com/apache/pulsar/pull/12859) + +#### Tiered Storage +- Add retry to tolerate the offload index file read failure [#12452](https://github.com/apache/pulsar/pull/12452) +- Fix the read performance issue in the offload readAsync [#12443](https://github.com/apache/pulsar/pull/12443) + ### 2.8.3 #### 2022-03-21