Hi,
This
release of the DataStax C# Driver for Apache Cassandra adds support for Cassandra 4.0 features like multiple nodes on the same address with different ports (
CASSANDRA-7544) and
transient replication (in beta). It also adds experimental support for protocol v5
(in beta).
We have also decided to
implement CSHARP-664 but the optimization is only enabled with protocol v5 (Cassandra 4.0+) or DseV2 (DSE 6.0+). This is due to the fact that CASSANDRA-10786 is only implemented in protocol v5 and DseV2 so earlier protocol versions still suffer from the issue described in CASSANDRA-7910 when the client reuses the metadata from the prepared statement (CSHARP-664). This means that you will never hit the issue described in CASSANDRA-7910 with any version of the C# driver but you will only get the optimization if you use protocol v5 or DseV2.
Note that protocol v5 is still in beta and therefore it can still be changed before the final version is released. We don't support or recommend using protocol v5 in a production environment at this time but you can contribute to the ongoing Cassandra 4.0 testing effort by enabling protocol v5 on the C# driver and running tests with your own workloads. You can also use Cassandra 4.0 without protocol v5 (v4 will be used instead). Feel free to share your feedback with the Apache Cassandra community on the ASF slack channels or on the mailing lists (you can find them
here).
Finally, this release of the DataStax C# Driver for Apache Cassandra also adds support for LZ4 compression on .NET Core (
CSHARP-719).
See the full list of improvements and bug fixes contained in this release below.
DataStax C# Driver for Apache Cassandra 3.15.0
Features
- [CSHARP-871] - Add support for system.peers_v2
- [CSHARP-886] - Add beta version native protocol flag and ensure we have test coverage of v5
- [CSHARP-887] - Transient Replication Support
- [CSHARP-895] - Add Table.CreateAsync and Table.CreateIfNotExistsAsync
- [CSHARP-719] - Support LZ4 compression in .NET Core
Improvements
- [CSHARP-664] - Use prepared statement result_metadata for execute row responses
Bug fixes
- [CSHARP-659] - Query trace retrieval fails when started_at is null
- [CSHARP-884] - Race condition in the ControlConnection Dispose method can leak connections
- [CSHARP-894] - Batch Statements cause a warning on TokenMap due to null keyspace
- [CSHARP-896] - Invalid deserialization when paging a rowset and a schema change happens
Documentation
- [CSHARP-812] - Add documentation about batch support for LINQ and Mapper
- [CSHARP-833] - KeyspaceMetadata.ExportAsString API docs incorrectly state that it exports the table creation statements
- [CSHARP-881] - Add section about ServerName and certificate name mismatches to SSL docs
- [CSHARP-882] - Add a section to the driver manual with information on Statements
DataStax Enterprise C# Driver 2.10.2
Bug fixes
- [CSHARP-659] - Query trace retrieval fails when started_at is null
- [CSHARP-884] - Race condition in the ControlConnection Dispose method can leak connections
- [CSHARP-894] - Batch Statements cause a warning on TokenMap due to null keyspace
- [CSHARP-896] - Invalid deserialization when paging a rowset and a schema change happens
DataStax C# Graph Extension 2.1.1
Improvements
- [CSHARP-893] - Upgrade dependencies of C# Graph Extension to fix security vulnerabilities