The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.1.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
- over 3.430k downloads on crates!
- over 623 GitHub stars!
Changes
New features / enhancements:
- Enabled configurable server-side timeout for metadata queries. As a result, users that tighten their general server-side timeouts will no longer suffer from metadata queries timing out (because now they have longer timeouts specified by default). #1171
- Added function to deserialize
CloudConfig
from anyReader
. #1183 - Relaxed
Sized
requirement inSerializeRow
implementation forBox
. The constraint was implicit and unnecessary. #1277 - Made coalescing delay configurable. Now, it's also possible to set the delay to any number of milliseconds, which may speed up throughput-bound use cases. #1297
- Made bind address for driver's local sockets configurable. #1300
- Made bind port range for driver's driver's local sockets configurable. #1303
Bug fixes:
- Added missing fields in
Session
'sDebug
implementation. #1301 - Fixed nodes info to include zero-token nodes (they were missing from
ClusterState::get_nodes_info()
). #1308 ⚠️ Altered default load balancing policy's logic so that datacenter failover is NOT inhibited by local Consistency or SerialConsistency. This inhibition was a behaviour that no other driver exhibited, and it caused unintuitive empty query plans. #1312
API cleanups / better types:
- Made entities around
Partitioner
pub
again, as they showed to be required by, among others,cql-stress
. The traits were sealed to prevent adding implementations by downstream crates. #1298
Internal API cleanups/refactors:
- Elided needless clone upon
Session
creation. #1306
Documentation:
- Renamed remaining occurrences of
Query
toStatement
(those that were accidentally omitted before 1.0.0). #1278 - Fixed error returned by
Session::await_schema_agreement
(we had forgot to update docs when the change was done). #1283 - Fixed broken links in derive macro docs. #1292
- Updated maintenance procedures for after 1.0.0 was released. #1302
- Updated documentation theme to 1.8.6. #1305
- Added
--no-merges
option togit shortlog
used for count commits per author for each release. We decided that merge commits should not count as meaningful impact on the driver. #1311
CI / developer tool improvements:
- Reduced CI running time by various optimisations (caching, removing redundant steps, avoiding actual build in favour of
cargo check
, etc.). #1274 - Sped up Cassandra cluster setup in CI. #1276
- Moved tests contained in
session_test.rs
, which require running ScyllaDB cluster, from library (unit) tests to integration tests. This is another step on the path to make unit tests runnable without a set up cluster. (#1291) - clippy was appeased again #1309.
Others:
- Disabled tablets in tests involving materialized views, as the ScyllaDB version available at the time (
scylla-2025.1.0
) does not support tablets + materialized views combination. #1304
Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
- https://github.com/scylladb/scylla-rust-driver
Contributions are most welcome!
The official crates.io registry entry is here:
Thank you for your attention, please do not hesitate to contact us if you have any questions, issues, feature requests, or are simply interested in our driver!
Contributors since the last release:
commits | author |
---|---|
22 | Karol Baryła |
18 | Mikołaj Uzarski |
18 | Wojciech Przytuła |
4 | Roman Hargrave |
1 | Collin Styles |
1 | Vartan Babayan |
1 | dependabot[bot] |