This is an automated email from the ASF dual-hosted git repository. technoboy pushed a commit to branch doc_release_3.1.0 in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit 8ef4daf213ce0955ddc4e53a042d518de2ccd47d Author: Jiwe Guo <[email protected]> AuthorDate: Tue Aug 8 12:23:31 2023 +0800 Update pulsar-3.1.0 release note --- data/release-java.js | 1 + data/release-pulsar.js | 9 + release-notes/versioned/client-java-3.1.0.md | 19 ++ release-notes/versioned/pulsar-3.1.0.md | 282 +++++++++++++++++++++++++++ 4 files changed, 311 insertions(+) diff --git a/data/release-java.js b/data/release-java.js index cf4f8f8e7e7..730e7d77b7c 100644 --- a/data/release-java.js +++ b/data/release-java.js @@ -1,4 +1,5 @@ module.exports = [ +{tagName: "v3.1.0",vtag:"3.1.x",releaseNotes:"/release-notes/versioned/client-java-3.1.0/",doc:"/docs/3.1.x/client-libraries-java",version:"v3.1.x"}, {tagName: "v3.0.0",vtag:"3.0.x",releaseNotes:"/release-notes/versioned/client-java-3.0.0/",doc:"/docs/3.0.x/client-libraries-java",version:"v3.0.x"}, {tagName: "v2.11.2",vtag:"2.11.x",releaseNotes:"/release-notes/versioned/client-java-2.11.2/",doc:"/docs/2.11.x/client-libraries-java",version:"v2.11.x"}, {tagName: "v2.11.1",vtag:"2.11.x",releaseNotes:"/release-notes/versioned/client-java-2.11.1/",doc:"/docs/2.11.x/client-libraries-java",version:"v2.11.x"}, diff --git a/data/release-pulsar.js b/data/release-pulsar.js index b70d96af103..9fa84cf22f2 100644 --- a/data/release-pulsar.js +++ b/data/release-pulsar.js @@ -1,4 +1,13 @@ module.exports = [ + { + "author": "Technoboy-", + "tagName": "v3.1.0", + "publishedAt": "2023-08-10T16:37:40Z", + "vtag": "3.1.x", + "releaseNotes": "/release-notes/versioned/pulsar-3.1.0/", + "doc": "/docs/3.1.x", + "version": "v3.1.x" + }, { "author": "RobertIndie", "tagName": "v3.0.0", diff --git a/release-notes/versioned/client-java-3.1.0.md b/release-notes/versioned/client-java-3.1.0.md new file mode 100644 index 00000000000..0402f4c3d54 --- /dev/null +++ b/release-notes/versioned/client-java-3.1.0.md @@ -0,0 +1,19 @@ +--- +id: client-java-3.1.0 +title: Client Java 3.1.0 +sidebar_label: Client Java 3.1.0 +--- + +- Disable polling pattern topics when TopicListWatcher is enabled. [#20779](https://github.com/apache/pulsar/pull/20779) +- fix negative message re-delivery twice issue [#20750](https://github.com/apache/pulsar/pull/20750) +- Fix subscribing pattern topics through Proxy not working [#20739](https://github.com/apache/pulsar/pull/20739) +- Messages lost when consumer reconnect [#20695](https://github.com/apache/pulsar/pull/20695) +- Fix deadlock issue of consumer while using multiple IO threads [#20669](https://github.com/apache/pulsar/pull/20669) +- Make the whole grabCnx() progress atomic [#20595](https://github.com/apache/pulsar/pull/20595) +- Swallow Conscrypt ClassNotFoundException [#20371](https://github.com/apache/pulsar/pull/20371) +- thread-safe seek [#20321](https://github.com/apache/pulsar/pull/20321) +- Document Java Client's Seek logic thread-safety improved in 20242 [#20284](https://github.com/apache/pulsar/pull/20284) +- Fix where the function getMsgNumInReceiverQueue always returns 0 when using message listener [#20245](https://github.com/apache/pulsar/pull/20245) +- Java Client's Seek Logic Not Threadsafe 1 [#20242](https://github.com/apache/pulsar/pull/20242) +- SchemaDefinition handle JSR310_CONVERSION_ENABLED property [#20201](https://github.com/apache/pulsar/pull/20201) +- Enable custom Encrypt/Decrypt Methods for ReaderImplementation. [#12599](https://github.com/apache/pulsar/pull/12599) diff --git a/release-notes/versioned/pulsar-3.1.0.md b/release-notes/versioned/pulsar-3.1.0.md new file mode 100644 index 00000000000..587c678cafe --- /dev/null +++ b/release-notes/versioned/pulsar-3.1.0.md @@ -0,0 +1,282 @@ +--- +id: pulsar-3.1.0 +title: Apache Pulsar 3.1.0 +sidebar_label: Apache Pulsar 3.1.0 +--- + +#### 2023-08-10 + +### Important notice +- + +### PIPs +- PIP-275:Introduce topicOrderedExecutorThreadNum to deprecate numWorkerThreadsForNonPersistentTopic [#20504](https://github.com/apache/pulsar/pull/20504) +- PIP-255 Part-2: Make the partition assignment strategy pluggable [#20537](https://github.com/apache/pulsar/pull/20537) + +### Broker +- Fix MessageDeduplication throw NPE when enable broker dedup and set namespace disable deduplication. [#20905](https://github.com/apache/pulsar/pull/20905) +- In replication scenario, remote consumer could not be registered if there has no message was sent [#20888](https://github.com/apache/pulsar/pull/20888) +- Fix IndexOutOfBoundsException in the CompactedTopicUtils [#20887](https://github.com/apache/pulsar/pull/20887) +- Add annotation for topic compaction strategy [#20858](https://github.com/apache/pulsar/pull/20858) +- Fix inconsensus namespace policies by `getPoliciesIfCached` [#20855](https://github.com/apache/pulsar/pull/20855) +- Pass `bytesToRead` when reading compacted entries [#20850](https://github.com/apache/pulsar/pull/20850) +- Fix the built-in admin failed to delete a topic with a custom authz provider [#20848](https://github.com/apache/pulsar/pull/20848) +- Avoid print redirect exception log when get list from bundle [#20846](https://github.com/apache/pulsar/pull/20846) +- Inconsistent behaviour for topic auto_creation [#20843](https://github.com/apache/pulsar/pull/20843) +- Follow up 4196 use `PulsarByteBufAllocator` handle OOM [#20837](https://github.com/apache/pulsar/pull/20837) +- Add broker filter sync method back to guarantee the API compatibility [#20826](https://github.com/apache/pulsar/pull/20826) +- Fix direct memory leak by delayed index OutOfDirectMemory [#20823](https://github.com/apache/pulsar/pull/20823) +- Avoid infinite bundle unloading [#20822](https://github.com/apache/pulsar/pull/20822) +- Add the MessageExpirer interface to make code clear [#20800](https://github.com/apache/pulsar/pull/20800) +- Broker failed to load v1 namespace resources cache [#20783](https://github.com/apache/pulsar/pull/20783) +- Can not receive any messages after switch to standby cluster [#20767](https://github.com/apache/pulsar/pull/20767) +- Fix get topic policies as null during clean cache [#20763](https://github.com/apache/pulsar/pull/20763) +- Fix typo in ServerCnx.java [#20762](https://github.com/apache/pulsar/pull/20762) +- Avoid throwing RestException in BrokerService [#20761](https://github.com/apache/pulsar/pull/20761) +- Call ServerCnxcloseProducer from correct thread [#20747](https://github.com/apache/pulsar/pull/20747) +- Ignore openIDTokenIssuerTrustCertsFilePath conf when blank [#20745](https://github.com/apache/pulsar/pull/20745) +- Support pluggable topic compaction service - part2 [#20718](https://github.com/apache/pulsar/pull/20718) +- Revert "Skip loading broker interceptor when disableBrokerInterceptors is true 20422" [#20710](https://github.com/apache/pulsar/pull/20710) +- Gracefully shutdown does not work with admin cli in standalone [#20709](https://github.com/apache/pulsar/pull/20709) +- Improve CompactedTopicImpl lock [#20697](https://github.com/apache/pulsar/pull/20697) +- Added the skipped message handler for ServiceUnitStateChannel [#20677](https://github.com/apache/pulsar/pull/20677) +- Make ExtensibleLoadManagerImpl's broker filter pure async [#20666](https://github.com/apache/pulsar/pull/20666) +- Add log on topic or subscription when enable rate limit. [#20660](https://github.com/apache/pulsar/pull/20660) +- Make get list from bundle Admin API async [#20652](https://github.com/apache/pulsar/pull/20652) +- Fix the publish latency spike from the contention of MessageDeduplication [#20647](https://github.com/apache/pulsar/pull/20647) +- Support pluggable topic compaction service - part1 [#20645](https://github.com/apache/pulsar/pull/20645) +- Fix get owned service units NPE [#20625](https://github.com/apache/pulsar/pull/20625) +- Topic policy can not be work well if replay policy message has any exception. [#20613](https://github.com/apache/pulsar/pull/20613) +- Fix the publish latency spike issue with large number of producers [#20607](https://github.com/apache/pulsar/pull/20607) +- AuthenticationFilter.doFilter [#20598](https://github.com/apache/pulsar/pull/20598) +- Fix NPE when reset Replicator's cursor by position. [#20597](https://github.com/apache/pulsar/pull/20597) +- Add consumer-id into the log when doing subscribe. [#20568](https://github.com/apache/pulsar/pull/20568) +- Release orphan replicator after topic closed [#20567](https://github.com/apache/pulsar/pull/20567) +- New load balancer system topic should not be auto-created now [#20566](https://github.com/apache/pulsar/pull/20566) +- Remove unused cache executor in `PulsarService` [#20563](https://github.com/apache/pulsar/pull/20563) +- Handle get owned namespaces admin API in ExtensibleLoadManager [#20552](https://github.com/apache/pulsar/pull/20552) +- Handle heartbeat namespace in ExtensibleLoadManager [#20551](https://github.com/apache/pulsar/pull/20551) +- Validate authz earlier in delete subscription logic [#20549](https://github.com/apache/pulsar/pull/20549) +- Should not throw NotFoundException when metadata already exists. [#20539](https://github.com/apache/pulsar/pull/20539) +- REST Client Producer fails with TLS only [#20535](https://github.com/apache/pulsar/pull/20535) +- Fix redirect loop when using ExtensibleLoadManager and list in bundle admin API [#20528](https://github.com/apache/pulsar/pull/20528) +- Restore solution for certain topic unloading race conditions [#20527](https://github.com/apache/pulsar/pull/20527) +- Emit the namespace bundle listener event on extensible load manager [#20525](https://github.com/apache/pulsar/pull/20525) +- Choose random thread for consumerFlow in PersistentDispatcherSingleActiveConsumer [#20522](https://github.com/apache/pulsar/pull/20522) +- Disable EntryFilters for system topics [#20514](https://github.com/apache/pulsar/pull/20514) +- Support get/remove permissions for AuthorizationProvider [#20496](https://github.com/apache/pulsar/pull/20496) +- Improve efficiency of checking message deletion [#20490](https://github.com/apache/pulsar/pull/20490) +- Reformat property in generateResponseWithEntry [#20481](https://github.com/apache/pulsar/pull/20481) +- Add metric prefix for `topic_load_times` [#20472](https://github.com/apache/pulsar/pull/20472) +- Fix return the earliest position when query position by timestamp. [#20457](https://github.com/apache/pulsar/pull/20457) +- Support revoking permission for AuthorizationProvider [#20456](https://github.com/apache/pulsar/pull/20456) +- Replace String.intern() with Guava Interner [#20432](https://github.com/apache/pulsar/pull/20432) +- Remove uneffective solution for reducing GC pressure [#20428](https://github.com/apache/pulsar/pull/20428) +- Skip loading broker interceptor when disableBrokerInterceptors is true [#20422](https://github.com/apache/pulsar/pull/20422) +- Avoid `PersistentSubscription.expireMessages` logic check backlog twice. [#20416](https://github.com/apache/pulsar/pull/20416) +- Change limitStatsLogging config default value to true [#20409](https://github.com/apache/pulsar/pull/20409) +- PIP-255 Part-1: Add listener interface for namespace service [#20406](https://github.com/apache/pulsar/pull/20406) +- Use immutable base cursor properties [#20400](https://github.com/apache/pulsar/pull/20400) +- Fix partitioned __change_events topic is policy topic [#20392](https://github.com/apache/pulsar/pull/20392) +- Do not expose bucketDelayedIndexStats [#20383](https://github.com/apache/pulsar/pull/20383) +- Fix flaky test - testClusterMigrationWithReplica… [#20379](https://github.com/apache/pulsar/pull/20379) +- Change some static fields referencing mutable objects to ordinary instance fields in BrokerService [#20372](https://github.com/apache/pulsar/pull/20372) +- Fix pre-create non-partitioned system topics for load balance extension [#20370](https://github.com/apache/pulsar/pull/20370) +- Fix memory leak when rebatchMessage [#20369](https://github.com/apache/pulsar/pull/20369) +- Invalidate metadata children cache after key deleted [#20363](https://github.com/apache/pulsar/pull/20363) +- Fix managedLedger.getConfig().getProperties().putAll(properties) NPE [#20361](https://github.com/apache/pulsar/pull/20361) +- Update rest endpoint method names to avoid swagger conflict [#20359](https://github.com/apache/pulsar/pull/20359) +- Fix broker load manager class filter NPE [#20350](https://github.com/apache/pulsar/pull/20350) +- Copy BrokerEntryMetadata when rebatchMessage [#20337](https://github.com/apache/pulsar/pull/20337) +- In Key_Shared mode: remove unnecessary mechanisms of message skip to avoid unnecessary consumption stuck [#20335](https://github.com/apache/pulsar/pull/20335) +- When creating a namespace anti-affinity group with the default local policies, use the bundle size supplied by the user. [#20327](https://github.com/apache/pulsar/pull/20327) +- Fix skip message API when hole messages exists [#20326](https://github.com/apache/pulsar/pull/20326) +- Gracefully shut down load balancer extension [#20315](https://github.com/apache/pulsar/pull/20315) +- Fix class name typo `PrecisPublishLimiter` to "Precise" [#20310](https://github.com/apache/pulsar/pull/20310) +- Allow Access to System Topic Metadata for Reader Creation Post-Namespace Deletion [#20304](https://github.com/apache/pulsar/pull/20304) +- Fix NPE cause by topic publish rate limiter. [#20302](https://github.com/apache/pulsar/pull/20302) +- Remove Streaming Dispatcher Code [#20279](https://github.com/apache/pulsar/pull/20279) +- Fix `UnsupportedOperationException` when update topic properties. [#20261](https://github.com/apache/pulsar/pull/20261) +- Fix ledger cachemiss size metric [#20257](https://github.com/apache/pulsar/pull/20257) +- Fix default bundle size used while setting bookie affinity [#20250](https://github.com/apache/pulsar/pull/20250) +- Fix the behavior of delayed message in Key_Shared mode [#20233](https://github.com/apache/pulsar/pull/20233) +- Fix infinite ack of Replicator after topic is closed [#20232](https://github.com/apache/pulsar/pull/20232) +- Producer created by replicator is not displayed in topic stats [#20229](https://github.com/apache/pulsar/pull/20229) +- Use bulk operation instead of iteration [#20219](https://github.com/apache/pulsar/pull/20219) +- Fix Return value of getPartitionedStats doesn't contain subscription type [#20210](https://github.com/apache/pulsar/pull/20210) +- Improve knownBrokers update in ModularLoadManagerImpl [#20196](https://github.com/apache/pulsar/pull/20196) +- Skip split bundle if only one broker [#20190](https://github.com/apache/pulsar/pull/20190) +- Fix deadlock of metadata store [#20189](https://github.com/apache/pulsar/pull/20189) +- Fix `RoaringBitmap.contains` can't check value 65535 [#20176](https://github.com/apache/pulsar/pull/20176) +- Release EntryBuffer after parse proto object [#20170](https://github.com/apache/pulsar/pull/20170) +- Remove useless field in the DelayedMessageIndexBucketSegment.proto [#20166](https://github.com/apache/pulsar/pull/20166) +- Optimization protobuf code in the bucket delayed tracker [#20158](https://github.com/apache/pulsar/pull/20158) +- Move bitmap from lastMutableBucket to ImmutableBucket [#20156](https://github.com/apache/pulsar/pull/20156) +- Producer/Consumer should call allowTopicOperationAsync [#20142](https://github.com/apache/pulsar/pull/20142) +- Fix entry filter feature for the non-persistent topic [#20141](https://github.com/apache/pulsar/pull/20141) +- Optimize delayed metadata index bitmap [#20136](https://github.com/apache/pulsar/pull/20136) +- Fast fix infinite HTTP call getSubscriptions caused by wrong topicName [#20131](https://github.com/apache/pulsar/pull/20131) +- Make timer execute immediately after load index [#20126](https://github.com/apache/pulsar/pull/20126) +- Cache LedgerHandle in BookkeeperBucketSnapshotStorage [#20117](https://github.com/apache/pulsar/pull/20117) +- Pin AppendIndexMetadataInterceptor to field in `ManagedLedgerInterceptorImpl` [#20112](https://github.com/apache/pulsar/pull/20112) +- Close temporary open ledger in BookkeeperBucketSnapshotStorage [#20111](https://github.com/apache/pulsar/pull/20111) +- Fix use error TimeUnit to record publish latency [#20074](https://github.com/apache/pulsar/pull/20074) +- Fix the reason label of authentication metrics [#20030](https://github.com/apache/pulsar/pull/20030) +- Save createIfMissing in TopicLoadingContext [#19993](https://github.com/apache/pulsar/pull/19993) +- Log resource usage rate of brokers that need to be offloaded in ThresholdShedder [#19983](https://github.com/apache/pulsar/pull/19983) +- Fix getPartitionedStats miss subscription's messageAckRate [#19870](https://github.com/apache/pulsar/pull/19870) +- Fix wrong logic of method TopicName.getPartition(int index) [#19841](https://github.com/apache/pulsar/pull/19841) +- Fix `Update contains no change` error when use `--update-auth-data` flag to update function/sink/source [#19450](https://github.com/apache/pulsar/pull/19450) +- Add `topic_load_failed` metric [#19236](https://github.com/apache/pulsar/pull/19236) +- Support getStats/update partitioned topic with `-partition-` [#19235](https://github.com/apache/pulsar/pull/19235) +- Do not filter system topic while shedding. [#18949](https://github.com/apache/pulsar/pull/18949) +- If ledger lost, cursor mark delete position can not forward [#18620](https://github.com/apache/pulsar/pull/18620) +- Do not grant permission for each partition to reduce unnecessary zk metadata [#18222](https://github.com/apache/pulsar/pull/18222) +- Support cgroup v2 by using `jdk.internal.platform.Metrics` in Pulsar Loadbalancer [#16832](https://github.com/apache/pulsar/pull/16832) + +### Clients +- Disable polling pattern topics when TopicListWatcher is enabled. [#20779](https://github.com/apache/pulsar/pull/20779) +- fix negative message re-delivery twice issue [#20750](https://github.com/apache/pulsar/pull/20750) +- Fix subscribing pattern topics through Proxy not working [#20739](https://github.com/apache/pulsar/pull/20739) +- Messages lost when consumer reconnect [#20695](https://github.com/apache/pulsar/pull/20695) +- Fix deadlock issue of consumer while using multiple IO threads [#20669](https://github.com/apache/pulsar/pull/20669) +- Make the whole grabCnx() progress atomic [#20595](https://github.com/apache/pulsar/pull/20595) +- Swallow Conscrypt ClassNotFoundException [#20371](https://github.com/apache/pulsar/pull/20371) +- thread-safe seek [#20321](https://github.com/apache/pulsar/pull/20321) +- Document Java Client's Seek logic thread-safety improved in 20242 [#20284](https://github.com/apache/pulsar/pull/20284) +- Fix where the function getMsgNumInReceiverQueue always returns 0 when using message listener [#20245](https://github.com/apache/pulsar/pull/20245) +- Java Client's Seek Logic Not Threadsafe 1 [#20242](https://github.com/apache/pulsar/pull/20242) +- SchemaDefinition handle JSR310_CONVERSION_ENABLED property [#20201](https://github.com/apache/pulsar/pull/20201) +- Enable custom Encrypt/Decrypt Methods for ReaderImplementation. [#12599](https://github.com/apache/pulsar/pull/12599) + +### Pulsar IO and Pulsar Functions +- [IO] Not restart instance when kafka source poll exception. [#20795](https://github.com/apache/pulsar/pull/20795) +- [IO] Add notifyError method on PushSource. [#20791](https://github.com/apache/pulsar/pull/20791) +- [IO] elastic-search sink connector not support JSON.String schema. [#20741](https://github.com/apache/pulsar/pull/20741) +- [IO] Close the kafka source connector got stuck [#20698](https://github.com/apache/pulsar/pull/20698) +- [IO] Close the kafka source connector if there is uncaught exception [#20424](https://github.com/apache/pulsar/pull/20424) +- [IO] add protobuf ByteString to pulsar-io jdbc core [#20259](https://github.com/apache/pulsar/pull/20259) +- [IO] KCA: handle kafka sources that use commitRecord [#20121](https://github.com/apache/pulsar/pull/20121) +- [IO] Fix the wrong format of the logs [#20907](https://github.com/apache/pulsar/pull/20907) +- [IO] Remove useless configuration for Pulsar SQL [#20605](https://github.com/apache/pulsar/pull/20605) +- [IO] Some optimized points in 9224 [#19027](https://github.com/apache/pulsar/pull/19027) +- [FN] Exit JVM when main thread throws exception [#20689](https://github.com/apache/pulsar/pull/20689) +- [FN] TLS args admin download command use zero arity [#20513](https://github.com/apache/pulsar/pull/20513) +- [FN] Optimize string concatenation in user metrics gen [#20499](https://github.com/apache/pulsar/pull/20499) +- [FN] Support customizing TLS config for function download command [#20482](https://github.com/apache/pulsar/pull/20482) +- [FN] enable Go function token auth and TLS [#20468](https://github.com/apache/pulsar/pull/20468) +- [FN] Reset idle timer correctly [#20450](https://github.com/apache/pulsar/pull/20450) +- [FN] Add stateStorageURL and pulsarWebService URL to go InstanceConfig [#20443](https://github.com/apache/pulsar/pull/20443) +- [FN] Go functions must retrieve consumers by non-partitioned topic ID [#20413](https://github.com/apache/pulsar/pull/20413) +- [FN] Go functions need to use static grpcPort in k8s runtime [#20404](https://github.com/apache/pulsar/pull/20404) +- [FN] Correct TLS cert config translation from broker to fn worker [#20297](https://github.com/apache/pulsar/pull/20297) +- [FN] JavaInstanceStarter --tls_allow_insecure default to false [#20267](https://github.com/apache/pulsar/pull/20267) +- [FN] Allow unknown fields in connectors config [#20116](https://github.com/apache/pulsar/pull/20116) +- [FN] Use functions classloader in TopicSchema.newSchemaInstance() to fix ClassNotFoundException when using custom SerDe classes. (targeted for master) [#20115](https://github.com/apache/pulsar/pull/20115) +- [FN] Upgrade Kotlin version from 1.4.32 to 1.8.20. (targeted for master) [#20114](https://github.com/apache/pulsar/pull/20114) +- [FN] Check user metric len before iterating [#20021](https://github.com/apache/pulsar/pull/20021) +- [FN] Support multiple input topics for Go runtime [#20000](https://github.com/apache/pulsar/pull/20000) +- [FN] Make pulsar-admin support update py/go with package url [#19897](https://github.com/apache/pulsar/pull/19897) +- [FN] Fix JavaInstanceStarter inferring type class name error [#19896](https://github.com/apache/pulsar/pull/19896) +- [FN] Fix function update error [#19895](https://github.com/apache/pulsar/pull/19895) +- [FN] Make KubernetesRuntime translate characters in function tenant, namespace, and name during function removal to avoid label errors [#19584](https://github.com/apache/pulsar/pull/19584) + + +### Observability +- [Metrics] Add JVM start time metric [#20381](https://github.com/apache/pulsar/pull/20381) +- [Metrics] Topic with double quote breaks the prometheus format [#20230](https://github.com/apache/pulsar/pull/20230) + + +### CLI +- [Admin] Set ns level backlog quota does not take effect if retention exists [#20690](https://github.com/apache/pulsar/pull/20690) +- [Admin] Remove duplicate topics name when `deleteNamespace` [#20683](https://github.com/apache/pulsar/pull/20683) +- [Admin] Make admin.cli throw exception instead of silent catch [#20530](https://github.com/apache/pulsar/pull/20530) +- [Admin] Pretty print bookies racks-placement command output [#20516](https://github.com/apache/pulsar/pull/20516) +- [Admin] Make failed `bin/pulsar-admin source` command exit with code `1 (failed)` instead of `0 (success)` [#20503](https://github.com/apache/pulsar/pull/20503) +- [Admin] Using AuthorizationService to revoke the permissions. [#20478](https://github.com/apache/pulsar/pull/20478) +- [Admin] Return BAD_REQUEST on cluster data is null for createCluster [#20346](https://github.com/apache/pulsar/pull/20346) +- [Admin] Enhancing Transaction Buffer Stats and Introducing TransactionBufferInternalStats API [#20330](https://github.com/apache/pulsar/pull/20330) +- [Admin] Fix examine messages if total message is zero [#20152](https://github.com/apache/pulsar/pull/20152) +- [Admin] Make subscriptions on NonPersistentTopic non-durable [#19741](https://github.com/apache/pulsar/pull/19741) +- [Admin] Report earliest msg in partitioned backlog [#19465](https://github.com/apache/pulsar/pull/19465) +- [CLI] Fix the variable producerName of BatchMsgContainer is null [#20819](https://github.com/apache/pulsar/pull/20819) +- [CLI] Fix error messages in `CmdNameSpaces` and `CmdTopics` [#20701](https://github.com/apache/pulsar/pull/20701) +- [CLI] Dedicated docs tools [#20700](https://github.com/apache/pulsar/pull/20700) +- [CLI] pulsar-client produce: allow to produce AVRO message from strings [#20654](https://github.com/apache/pulsar/pull/20654) +- [CLI] Client: allow to specify KeyValue's schema key (Avro Key support) [#20447](https://github.com/apache/pulsar/pull/20447) +- [CLI] Fulfill add-opens to function-localrunner also [#20417](https://github.com/apache/pulsar/pull/20417) +- [CLI] Allow pulser-client consume create a replicated subscription [#20316](https://github.com/apache/pulsar/pull/20316) +- [CLI] Add `--cleanupSubscription` to pulsar-admin [#20028](https://github.com/apache/pulsar/pull/20028) +- [CLI] Fix logging noise while admin tool exit [#19884](https://github.com/apache/pulsar/pull/19884) +- [CLI] PerformanceProducer do not produce expected number of messages. [#19775](https://github.com/apache/pulsar/pull/19775) +- [CLI] Pulsar-perf: refactor to reduce code duplication [#19279](https://github.com/apache/pulsar/pull/19279) + +### Others +- [TXN] Add log when can't send TcClientConnectRequest to broker. [#20880](https://github.com/apache/pulsar/pull/20880) +- [TXN] Use PulsarResource check for topic existence instead of brokerservice.getTopic() [#20569](https://github.com/apache/pulsar/pull/20569) +- [TXN] Unwrap the completion exception. [#20396](https://github.com/apache/pulsar/pull/20396) +- [TXN] Implement compatibility for transaction buffer segmented snapshot feature upgrade [#20235](https://github.com/apache/pulsar/pull/20235) +- [TXN] Fix transaction is not aborted when send or ACK failed [#20055](https://github.com/apache/pulsar/pull/20055) +- [TXN] fix consumer can receive aborted txn message when readType is replay [#19815](https://github.com/apache/pulsar/pull/19815) +- [ML] cleanup numManagedLedgerWorkerThreads [#20454](https://github.com/apache/pulsar/pull/20454) +- [ML] Fix ledger left in OPEN state when enable `inactiveLedgerRollOverTimeMs` [#20276](https://github.com/apache/pulsar/pull/20276) +- [ML] There are two same-named managed ledgers in the one broker [#18688](https://github.com/apache/pulsar/pull/18688) +- [META] Bookie Info lost by notification race condition. [#20642](https://github.com/apache/pulsar/pull/20642) +- [META] Adding the missed bookie id in the registration manager. [#20641](https://github.com/apache/pulsar/pull/20641) +- [META] Upgrade to jetcd to 0.7.5 [#20339](https://github.com/apache/pulsar/pull/20339) +- [META] Switch to the metadata store thread after zk operation [#20303](https://github.com/apache/pulsar/pull/20303) +- [META] deadlock of zkSessionWatcher when zkConnection loss [#20122](https://github.com/apache/pulsar/pull/20122) +- [META] Support set metadata size threshold for compression. [#19561](https://github.com/apache/pulsar/pull/19561) +- [WS] Add cryptoKeyReaderFactoryClassName into the file websocket.conf [#20840](https://github.com/apache/pulsar/pull/20840) +- [WS] Remove unnecessary ping/pong implementation [#20733](https://github.com/apache/pulsar/pull/20733) +- [WS] Use allowTopicOperationAsync for authz checks [#20299](https://github.com/apache/pulsar/pull/20299) +- [WS] Use async auth method to support OIDC [#20238](https://github.com/apache/pulsar/pull/20238) +- [MISC] Stop logging full stacktrace when `SecurityUtility.loadConscryptProvider()` fails to find Conscrypt with unknown error [#20705](https://github.com/apache/pulsar/pull/20705) +- [MISC] Fix typo in pip template [#20556](https://github.com/apache/pulsar/pull/20556) +- [MISC] Use ubuntu 22.04 for Pulsar images [#20475](https://github.com/apache/pulsar/pull/20475) +- [MISC] Upgrade Netty to 4.1.93.Final [#20423](https://github.com/apache/pulsar/pull/20423) +- [misc] Consolidate certs in broker (and some proxy) tests [#20353](https://github.com/apache/pulsar/pull/20353) +- [MISC] Catch TimeoutException when logging about time outs [#20349](https://github.com/apache/pulsar/pull/20349) +- [Schema] Only handle exception when there has [#20730](https://github.com/apache/pulsar/pull/20730) +- [Schema] Add admin cli for testCompatibility [#19974](https://github.com/apache/pulsar/pull/19974) +- [Build] Fix generating javadoc issue [#20922](https://github.com/apache/pulsar/pull/20922) +- [build] Do not bundle swagger dependencies [#20687](https://github.com/apache/pulsar/pull/20687) +- [Build] Build function-go in golang image [#20665](https://github.com/apache/pulsar/pull/20665) +- [Build] Configure git-commit-id-plugin to skip git describe [#20550](https://github.com/apache/pulsar/pull/20550) +- [Build] Fix the pulsar-all image may use the wrong upstream image [#20435](https://github.com/apache/pulsar/pull/20435) +- [Build] Fix publish image script [#20305](https://github.com/apache/pulsar/pull/20305) +- [Build] Capture local build scans on ge.apache.org to benefit from deep build insights [#20187](https://github.com/apache/pulsar/pull/20187) + +### Library updates +- Upgrade Guava to 32.1.1 to address CVE-2023-2976 [#20699](https://github.com/apache/pulsar/pull/20699) +- Upgrade snappy-java to address multiple CVEs [#20604](https://github.com/apache/pulsar/pull/20604) +- Upgrade Jetty to address CVEs [#20461](https://github.com/apache/pulsar/pull/20461) +- Suppress etcd CVE warnings [#20342](https://github.com/apache/pulsar/pull/20342) +- Upgrade PyYaml version to 6.0.1 [#20831](https://github.com/apache/pulsar/pull/20831) +- Upgrade jackson version to 2.15.0 for CVE-2022-1471 [#20177](https://github.com/apache/pulsar/pull/20177) +- Upgrade prometheus client_golang to v1.12.2 to fix CVE-2022-21698 [#20579](https://github.com/apache/pulsar/pull/20579) +- Upgrade Netty to 4.1.93.Final [#20423](https://github.com/apache/pulsar/pull/20423) +- Upgrade to jetcd to 0.7.5 [#20339](https://github.com/apache/pulsar/pull/20339) +- Upgrade Kotlin version from 1.4.32 to 1.8.20. (targeted for master) [#20114](https://github.com/apache/pulsar/pull/20114) + +### Documentation +- Correcting spelling mistakes in the pulsar-broker module [#20798](https://github.com/apache/pulsar/pull/20798) +- Fix doc of admin cli create-subscription [#20680](https://github.com/apache/pulsar/pull/20680) +- Change the method of generating reference docs titles. [#20557](https://github.com/apache/pulsar/pull/20557) +- Improve doc for delayed message [#20374](https://github.com/apache/pulsar/pull/20374) +- Correcting spelling mistakes [#20340](https://github.com/apache/pulsar/pull/20340) +- Correcting spelling mistakes [#20329](https://github.com/apache/pulsar/pull/20329) +- ConnectorDocGenerator support Java 9+ [#20100](https://github.com/apache/pulsar/pull/20100) +- Add link to PIP proposal [#19911](https://github.com/apache/pulsar/pull/19911) + +Here are the most noteworthy changes in this release. + + + +For the complete list, including all features, enhancements, and bug fixes, check out the following resources. + +- [Documentation merged in 3.1 (pulsar-site repo)](https://github.com/apache/pulsar-site/pulls?q=is%3Apr+is%3Amerged+milestone%3A3.1.0+) + + +> A special thanks to the following contributors (alphabetic Github IDs) who contributed to Pulsar 3.0.0: +> Technoboy-, crossoverJie, lifepuzzlefun, poorbarcode, coderzc, liangyepianzhou, Demogorgon314, mattisonchao, BewareMyPower, yaalsn, zymap, lhotari, daziz, shibd, rdhabalia, eltociear, tisonkun, aloyszhang, michaeljmarshall, 315157973, JooHyukKim, zhanghaou, heesung-sn, codelipenghui, eolivelli, ethqunzhong, massakam, StevenLuMT, gaoran10, ericsyh, zuobiao-zhou, AnonHxy, xiaotongwang1, maanders-tibco, yuruguo, vineeth1995, flowchartsman, hanmz, nicoloboschi, Shawyeok, RobertIndie, nodec [...]
