Hello, The Apache Curator team is pleased to announce the release of version 4.1.0. Apache Curator is a Java/JVM client library for Apache ZooKeeper[1], a distributed coordination service. Apache Curator includes a high-level API framework and utilities to make using Apache ZooKeeper much easier and more reliable. It also includes recipes for common use cases and extensions such as service discovery and a Java 8 asynchronous DSL. For more details, please visit the project website: http://curator.apache.org/
The most recent source release can be obtained from an Apache Mirror: http://www.apache.org/dyn/closer.cgi/curator/ (mirror sync times may vary) The binary artifacts for Curator are available from Maven Central and its mirrors. For general information on Apache Curator, please visit the project website: http://curator.apache.org Release Notes: ** Bug * [CURATOR-405] - Connection loss not leading to ConnectionState.LOST and causing logs to fill * [CURATOR-452] - ChildData.getData() can be null * [CURATOR-455] - Curator's EnsembleProvider.getConnectionString() is not re-called once the session expiration has been injected * [CURATOR-460] - Timed tolerance for connection suspended leads to simultaneous leaders * [CURATOR-462] - InterProcessSemaphoreV2 leaves orphaned lease node if acquiring the semaphore is interrupted at the wrong time * [CURATOR-472] - Test-only code started to be called in prod * [CURATOR-475] - Cannot effectively set connectionTimeout < 1000ms * [CURATOR-476] - PathChildrenCache never gets initialized if a child dies even before a data watch is registered for it * [CURATOR-479] - org.apache.curator.x.async.modeled.details.CachedModeledFrameworkImpl.children() does not work * [CURATOR-480] - org.apache.curator.x.async.modeled.details.ModeledFrameworkImpl.delete(int) is not using version parameter * [CURATOR-483] - Sequential PersistentNodes with protection don't resync after reconnection * [CURATOR-489] - CreateOption.doProtected uses null protectedId when applied via AsyncCreateBuilderImpl * [CURATOR-491] - PathChildrenCache can process background jobs after being closed * [CURATOR-495] - Race and possible dead locks with RetryPolicies and several Curator Recipes ** Improvement * [CURATOR-447] - TreeCache: Improve memory usage and concurrent update logic * [CURATOR-448] - Include curator framework state in error messages * [CURATOR-450] - Dead link in "Getting Started" documentation * [CURATOR-468] - Closing an active leader selector always logs spurious error * [CURATOR-471] - ZooKeeper 3.5.4-beta is Java 8 minimum - Curator should follow * [CURATOR-477] - Ability to turn off Zk Watches in Curator Framework * [CURATOR-487] - GzipCompressionProvider produces a lot of finalizable objects * [CURATOR-492] - Time to upgrade the Apache parent pom again * [CURATOR-494] - Make ZKPaths.makePath() methods to allocate less garbage ** Test * [CURATOR-490] - Make the tests more resilient * [CURATOR-493] - Fix test case with testDeleteChildrenConcurrently Regards, The Curator Team [1] Apache ZooKeeper https://zookeeper.apache.org/
