michaeljmarshall commented on a change in pull request #12425: URL: https://github.com/apache/pulsar/pull/12425#discussion_r739465614
########## File path: site2/website/release-notes.md ########## @@ -1,6 +1,439 @@ ## Apache Pulsar Release Notes +### 2.9.0 — 2021-06-12 <a id=“2.9.0”></a> + +### News and noteworthy +- PIP-45 Pluggable metadata interface introduced many changes about ZooKeeper Metadata Management: consistency, resilience, stability, tech debt reduction (less code duplication) +- Pulsar IO: Oracle Debezium Connector, new Schema Aware Elasticsearch Sink Connector +- Many improvements to the Pulsar clients, with PIP-83, PIP-91, PIP-96 +- Geo Replication improvements: PIP-88 Replicate schemas across clusters +- Now you can run Apache Kafka Connect Sinks as Pulsar Sinks [#9927](https://github.com/apache/pulsar/pull/9927) + +## Breaking changes +- Now Pulsar requires ZooKeeper 3.6.x because it leverages the Persistent Recursive Watches feature (see PIP-45) +- The discovery service has been removed. [12119](https://github.com/apache/pulsar/pull/12119) +- The Pulsar Standalone docker image has been removed. [11657](https://github.com/apache/pulsar/pull/11657) + +#### PIPs +- [PIP 96] Add message payload processor for Pulsar client [#12088](https://github.com/apache/pulsar/pull/12088) +- [PIP 99] Pulsar Proxy Extensions [#11838](https://github.com/apache/pulsar/pull/11838) +- [PIP 89] PIP-89: Timed log events [#11944](https://github.com/apache/pulsar/pull/11944) +- [PIP 82] Tenant and namespace level rate limiting [#11918](https://github.com/apache/pulsar/pull/11918) +- [PIP 91] Separate lookup timeout from operation timeout [#11627](https://github.com/apache/pulsar/pull/11627) +- [PIP 88] Replicate schemas across clusters [#11441](https://github.com/apache/pulsar/pull/11441) +- [PIP 83] Pulsar Reader: Message consumption with pooled buffer [#11725](https://github.com/apache/pulsar/pull/11725) +- [PIP 64] Rest API Produce message [PIP 64](https://github.com/apache/pulsar/pull/8125) +- [PIP 45] Pluggable metadata interface [PIP 45](https://github.com/apache/pulsar/wiki/PIP-45%3A-Pluggable-metadata-interface) + +#### Pulsar IO and Pulsar Functions + +- Added Debezium Source for MS SQL Server. [12256](https://github.com/apache/pulsar/pull/12256) +- Upgrading Debezium to 1.7. [12295](https://github.com/apache/pulsar/pull/12295) +- Allow Pulsar Functions localrun to exit on error. [12278](https://github.com/apache/pulsar/pull/12278) +- [pulsar-io-kinesis] add missing dependency. [12246](https://github.com/apache/pulsar/pull/12246) +- Support for draining workers. [12178](https://github.com/apache/pulsar/pull/12178) +- [pulsar-functions-go] support set subscription position. [11990](https://github.com/apache/pulsar/pull/11990) +- [function] enable protobuf-native schema support for function. [11868](https://github.com/apache/pulsar/pull/11868) +- [pulsar-functions-go] sync to the latest function proto. [11853](https://github.com/apache/pulsar/pull/11853) +- [Functions]Support protobuf schema for pulsar function. [11709](https://github.com/apache/pulsar/pull/11709) +- [Functions] Remove unused class which didn't get reverted. [11707](https://github.com/apache/pulsar/pull/11707) +- [Functions] Support KEY_BASED batch builder for Java based functions and sources. [11706](https://github.com/apache/pulsar/pull/11706) +- PIP-85: [pulsar-io] pass pulsar client via context to connector. [11056](https://github.com/apache/pulsar/pull/11056) + +#### Java Client +- [Java Client] Use failPendingMessages to ensure proper cleanup. [12259](https://github.com/apache/pulsar/pull/12259) +- [Java Client] Remove unnecessary stats incremement. [12229](https://github.com/apache/pulsar/pull/12229) +- [Java Client] Remove unnecessary synchronization; Simplify initialization. [12228](https://github.com/apache/pulsar/pull/12228) +- [pulsar-client] Add partition-change api for producer/consumer interceptors. [12287](https://github.com/apache/pulsar/pull/12287) +- Fix deadLetterPolicy is not working with key shared subscription under partitioned topic. [12148](https://github.com/apache/pulsar/pull/12148) +- [Client] Fix endless receiveAsync loop in MultiTopicsConsumer. [12044](https://github.com/apache/pulsar/pull/12044) +- [Client] Reduce redundant FLOW requests for non-durable multi-topics consumer. [11802](https://github.com/apache/pulsar/pull/11802) +- [pulsar-client] Fix: set and return topic name on message api. [11743](https://github.com/apache/pulsar/pull/11743) +- PIP-91: Separate lookup timeout from operation timeout. [11627](https://github.com/apache/pulsar/pull/11627) +- [Java Client] Switch from pretty print to compact print for configs. [11609](https://github.com/apache/pulsar/pull/11609) +- Java Client: remove usage of reflection while using Pulsar Implementation classes. [11636](https://github.com/apache/pulsar/pull/11636) + +#### C++ Client +- [C++] Support configuring optional scope field for OAuth2 authentication. [12305](https://github.com/apache/pulsar/pull/12305) +- [Python] Do not sort schema fields by default. [12232](https://github.com/apache/pulsar/pull/12232) +- [Python Schema] Support setting namespace for python schema. [12175](https://github.com/apache/pulsar/pull/12175) +- [C++] Support setting priority for the consumer. [12076](https://github.com/apache/pulsar/pull/12076) +- [C++] Fixed attempting to connect to multiple IP addresses. [11958](https://github.com/apache/pulsar/pull/11958) +- [Python] Expose Client.shutdown() method. [11955](https://github.com/apache/pulsar/pull/11955) +- [C++] Handle error when shutting down client after forks. [11954](https://github.com/apache/pulsar/pull/11954) +- [C++] Move all C symbols into C++ pulsar namespace. [11919](https://github.com/apache/pulsar/pull/11919) +- [pulsar-client-cpp] Expose getLastMessageId in the Reader API. [11723](https://github.com/apache/pulsar/pull/11723) +- [C++] Add padding characters to base64 encoded protobuf native schema. [11492](https://github.com/apache/pulsar/pull/11492) + +#### Proxy +- [Proxy] set default httpProxyTimeout to 5 minutes. [12299](https://github.com/apache/pulsar/pull/12299) +- Fixed NPE in ProxyConnection with no auth data. [12111](https://github.com/apache/pulsar/pull/12111) +- [Issue-11966][pulsar-proxy] set default http proxy request timeout. [11971](https://github.com/apache/pulsar/pull/11971) +- Fixed Proxy leaking oubound connections. [11848](https://github.com/apache/pulsar/pull/11848) + +#### Metrics +- [Metrics] Add support for splitting topic and partition label in Prometheus. [12225](https://github.com/apache/pulsar/pull/12225) + +#### Library updates +- [security] Upgrade netty to 4.1.68.Final. [12218](https://github.com/apache/pulsar/pull/12218) +- Added JLine 2.x for ZK CLI tool. [12102](https://github.com/apache/pulsar/pull/12102) +- upgrade aircompressor to 0.20. [11790](https://github.com/apache/pulsar/pull/11790) +- [Security] Upgrade Jetty to 9.4.43.v20210629. [11660](https://github.com/apache/pulsar/pull/11660) +- [Security] Upgrade commons-compress to 1.21. [11345](https://github.com/apache/pulsar/pull/11345) +- [Security] Bump Netty version to 4.1.66.Final. [11344](https://github.com/apache/pulsar/pull/11344) + +### Tiered Storage +- Fix the potential race condition in the BlobStore readhandler. [12123](https://github.com/apache/pulsar/pull/12123) + + +#### Misc +- [Authorization] AuthorizationService should use provider's canLookupAsync method. [11777](https://github.com/apache/pulsar/pull/11777) +- Bugfix: Fix rackaware placement policy init error. [12097](https://github.com/apache/pulsar/pull/12097) +- Fix returned wrong hash ranges for the consumer with same consumer name. [12212](https://github.com/apache/pulsar/pull/12212) +- Avoid trying to refresh MetadataCaches when we're disconnected from ZK. [12120](https://github.com/apache/pulsar/pull/12120) +- Avoid potentially blocking calls to metadata on critical threads. [12339](https://github.com/apache/pulsar/pull/12339) +- useV2WireProtocol for bookkeeper autorecovery. [12311](https://github.com/apache/pulsar/pull/12311) +- Release: allow Integration Tests Jar to be deployed to Maven central. [12292](https://github.com/apache/pulsar/pull/12292) +- Ensure the ownership cache lock expiring triggers an unload. [12194](https://github.com/apache/pulsar/pull/12194) +- BookkeeperClientFactory should pass in the ZK instance. [12192](https://github.com/apache/pulsar/pull/12192) +- ModularLoadManager should not attempt to update the load report on ZK if we're not connected. [12191](https://github.com/apache/pulsar/pull/12191) +- Return the last position of the compacted data while the original data been deleted. [12161](https://github.com/apache/pulsar/pull/12161) +- Fix incorrect returned last message ID while the `lastConfirmedEntry` with negative entry ID. [12277](https://github.com/apache/pulsar/pull/12277) +- [issue-12272] PulsarAuthorizationProvider initialization. [12273](https://github.com/apache/pulsar/pull/12273) +- fix ttl expiry does not take effect. [12266](https://github.com/apache/pulsar/pull/12266) +- The loadbalancer should avoid offload the heartbeat namespace. [12252](https://github.com/apache/pulsar/pull/12252) +- fix lost message issues 12221. [12223](https://github.com/apache/pulsar/pull/12223) +- Disable stats recorder for built-in PulsarClient. [12217](https://github.com/apache/pulsar/pull/12217) +- [pulsar-server] support v1 api to create non-partition topic. [12122](https://github.com/apache/pulsar/pull/12122) +- [pulsar-broker] support remove-ttl api for V1 namespace. [12121](https://github.com/apache/pulsar/pull/12121) +- [Issue 1240][C++] Support setting ConsumerEventListener in pulsar cpp client. [12118](https://github.com/apache/pulsar/pull/12118) +- [pulsar-broker] Broker auto refresh bk-client certs to avoid cnx failure after cert refresh. [12107](https://github.com/apache/pulsar/pull/12107) +- [pulsar-client] Fix NPE in pulsar bolt while publishing messages. [12106](https://github.com/apache/pulsar/pull/12106) +- Fix wrong key-hash selector used for new consumers after all the previous consumers disconnected. [12035](https://github.com/apache/pulsar/pull/12035) +- [PIP-92] Part-1: Separate Topic Policies into a separate class. [12034](https://github.com/apache/pulsar/pull/12034) +- Avoid adding duplicated BrokerEntryMetadata. [12018](https://github.com/apache/pulsar/pull/12018) +- Remove deprecated netty allocator tiny size. [12012](https://github.com/apache/pulsar/pull/12012) +- [Standalone] Fix the assignment of a custom stream-storage-port number. [11995](https://github.com/apache/pulsar/pull/11995) +- [testclient] Printing aggregated data when client exit. [11985](https://github.com/apache/pulsar/pull/11985) +- [standalone] remove noisy log on pulsar standalone startup. [11970](https://github.com/apache/pulsar/pull/11970) +- Print position info when can't find next valid position.. [11969](https://github.com/apache/pulsar/pull/11969) +- [Issue #11799][logging] PIP-89: Timed log events. [11944](https://github.com/apache/pulsar/pull/11944) +- [Issue 11936] forget to call SendCallback on producer close. [11939](https://github.com/apache/pulsar/pull/11939) +- [website][upgrade]feat: pulsar functions docs migratin for version next/2.8.0/2.7.3. [11938](https://github.com/apache/pulsar/pull/11938) +- Avoid to infinitely split bundle. [11937](https://github.com/apache/pulsar/pull/11937) +- Update the default log pattern. [11935](https://github.com/apache/pulsar/pull/11935) +- [Transaction] add method to clear up transaction buffer snapshot. [11934](https://github.com/apache/pulsar/pull/11934) +- [pulsar-client]Add a optional params scope for pulsar oauth2 client. [11931](https://github.com/apache/pulsar/pull/11931) Review comment: Nit: this was an update to the Java client. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
