[RELEASE] Java driver 4.10.0

65 views
Skip to first unread message

Alexandre Dutra

unread,
Jan 19, 2021, 12:39:23 PM1/19/21
to DataStax Java Driver for Apache Cassandra User Mailing List
Hi,

The Java driver team is pleased to announce that driver 4.10.0 was released last week.

This minor version fixes a few bugs and improves the overall stability and performance of the driver, and is recommended for all users. 

Please note: DSE Graph users are required to take action before upgrading.

This release also brings exciting new features:
  • Cross-datacenter failover: we re-introduced the ability to perform cross-datacenter failover using the driver's built-in load balancing policies, just like it existed in driver 3. See Load Balancing in the manual for details. This feature is disabled by default.
  • Consistency downgrading retries: we also introduced an alternate retry policy that downgrades the consistency level when retrying, equivalent to the one found in driver 3. See this FAQ entry for more information.
  • Improved random UUID generation: we modified the implementation of Uuids.random(): this method now uses a non-cryptographic random number generator. For most users, this change should yield better performance when generating UUIDs. However, in the unlikely case where your application requires cryptographic strength for UUID generation, check the upgrade guide for alternatives.
  • Fine-grained control over keyspaces to compute a token map for: it is now possible to specify which keyspaces to include and/or exclude. Beware that system and DSE keyspaces are now by default excluded from token map computation; in the unlikely event that you need token awareness on such keyspaces, see the upgrade guide for instructions.
  • BlockHound integration: the driver has now a better support for BlockHound and reactive, non-blocking applications in general. We also have a new page in the manual about Non-blocking programming that is worth reading.
  • DSE Graph dependencies are now considered optional driver dependencies. As noted above, if you are a DSE Graph user, this may have consequences for your application. The upgrade guide has detailed explanations.
Here's the full changelog:
  • [improvement] JAVA-2907: Switch Tinkerpop to an optional dependency
  • [improvement] JAVA-2904: Upgrade Jackson to 2.12.0 and Tinkerpop to 3.4.9
  • [bug] JAVA-2911: Prevent control connection from scheduling too many reconnections
  • [bug] JAVA-2902: Consider computed values when validating constructors for immutable entities
  • [new feature] JAVA-2899: Re-introduce cross-DC failover in driver 4
  • [new feature] JAVA-2900: Re-introduce consistency downgrading retries
  • [new feature] JAVA-2903: BlockHound integration
  • [improvement] JAVA-2877: Allow skipping validation for individual mapped entities
  • [improvement] JAVA-2871: Allow keyspace exclusions in the metadata, and exclude system keyspaces by default
  • [improvement] JAVA-2449: Use non-cryptographic random number generation in Uuids.random()
  • [improvement] JAVA-2893: Allow duplicate keys in DefaultProgrammaticDriverConfigLoaderBuilder
  • [documentation] JAVA-2894: Clarify usage of Statement.setQueryTimestamp
  • [bug] JAVA-2889: Remove TypeSafe imports from DriverConfigLoader
  • [bug] JAVA-2883: Use root locale explicitly when changing string case
  • [bug] JAVA-2890: Fix off-by-one error in UdtCodec
  • [improvement] JAVA-2905: Prevent new connections from using a protocol version higher than the negotiated one
  • [bug] JAVA-2647: Handle token types in QueryBuilder.literal()
  • [bug] JAVA-2887: Handle composite profiles with more than one key and/or backed by only one profile
As usual, the driver is available from Maven central:

<dependency>
  <groupId>com.datastax.oss</groupId>
  <artifactId>java-driver-core</artifactId>
  <version>4.10.0</version>
</dependency>

Thanks,

Alex Dutra
Reply all
Reply to author
Forward
0 new messages