NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3505 most downloaded on crates.io
CQL data types and primitives, for interacting with ScyllaDB.
Last release 22 days ago
15 Sep 2026
Ships fairly regularly
a new release about every 2 months
Some releases are documented
notes for 8 of 28 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
29 releases · first in 2022
One column per quarter.
Nothing published for this version
Connection: changed #[expect(deprecated)] to #[allow(deprecated)] on set_linger because older Tokio verions don't mark is as deprecated ( #1787 ).
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.8.0,
an asynchronous CQL driver for Rust, optimized for ScyllaDB, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
QueryPager (used by Session::execute_iter and Session::query_iter) was optimized for single-page queries. Now it only starts a tokio::task if there is more than one page (#1739).QueryPager now treats each page as a fully separate request: new execution plan is produced for each page, downgraded consistency is reset. Driver still tries to stick to the same coordinator for subsequent pages: the first element of the plan for the next page will be the coordinator of the previous page (#1739).QueryPager (used by Session::execute_iter and Session::query_iter) now supports Speculative Execution (#1783).Client Routes feature now choose an IP randomly for each connection if DNS resolves to multiple IPs (#1805).CqlTimestamp with more functionalities: trait derives, useful constants and operations against std::time::Duration (#1776, #1834).scylla-ccm-bridge is extracted for reuse in different projects (#1810).Keyspace struct now has a new tablets field, indicating if the keyspace is vnode- or tablet-based. This info fetched from system tables and used by the driver for more precise routing (#1720).RetrySession is now created lazily when needed, to save an allocation on the hot path (#1833).Bug fixes:
Metrics::get_latency_percentile_ms that caused it to return completely wrong value (#1749).enable_shard_aware_drivers: false is now recognized as Scylla, not Cassandra (#1719).Client Routes: non-sticky routes are now correctly overwritten on updates (#1822).RequestInfo passed to RetrySession now gets current (so potentially downgraded) consistency, instead of the original consistency (#1758, #1770).IgnoreWriteError decision (#1761).Internal refactors:
cfg sprawl from metrics feature across the codebase (#1750).scylla-proxy (#1744).CqlTimeuuid::lsb_signed is now properly documented. Timeuuid ordering test is hardened (#1766).Documentation:
CI / tests / developer tool improvements:
Client Routes test utils (#1795).#[expect(deprecated)] to #[allow(deprecated)] on set_linger because older Tokio verions don't mark is as deprecated (#1787).Dependencies:
Others:
Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
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 |
|---|---|
| 116 | Karol Baryła |
| 112 | Wojciech Przytuła |
| 25 | renovate[bot] |
| 19 | Patrycja Ziemkiewicz |
| 2 | Dawid Pawlik |
| 2 | Floze |
| 2 | phalat |
| 2 | Paulina Czajkowska |
| 1 | Anna Stuchlik |
| 1 | Photon101 |
| 1 | Vismay |
| 1 | dependabot[bot] |
…of scylla-cql . This allows us to make breaking changes in scylla-cql from now on, without affecting the scylla crate's public API. ( #1604 , #1609 ,…
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.7.0,
an asynchronous CQL driver for Rust, optimized for ScyllaDB, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
Session directly (#1658).ClusterState to get node by host id (#1646).ClusterState (#1666).scylla crate VectorIterator and other Vector-related types (#1650).get_tracing_info now waits for the request duration to be available (#1652).size_hint) and traits (ExactSizeIterator) for our iterators (#1664).CqlValue::Vector (#1705).Bug fixes:
SERIAL/LOCAL_SERIAL consistency are now treated as LWT for routing, reducing Paxos contention (#1647).metadata/reader occurring on runtime shutdown (#1644).HostFilter (#1654).REUSEADDR is used (#1622).read_inet port conversion (#1649).first_tablet < last_tablet when parsing tablet hint from the server (#1660).system_traces.sessions (#1698).RequiredHostAbsent error, which always displayed host id 0 (#1700).Internal refactors:
scylla-cql crate that is exposed in scylla crate's public API into a new scylla-cql-core crate, which is now a dependency of scylla-cql. This allows us to make breaking changes in scylla-cql from now on, without affecting the scylla crate's public API. (#1604, #1609, #1593).scylla crate's dependencies (scylla-cql-core, scylla-cql) to specific versions, to prevent resolving incompatible dependencies. Now users will no longer suffer from incompability of scylla with scylla-cql[-core] (#1715).Documentation:
DefaultRetryPolicy decision matrix (#1633).connection_address semantics in Coordinator (#1651).CI / developer tool improvements:
many_connections test to prevent file descriptor exhaustion (#1621).test_schema_await_required_host_absent (#1709).Others:
Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
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 |
|---|---|
| 155 | Karol Baryła |
| 26 | Wojciech Przytuła |
| 5 | Copilot |
| 4 | Stanisław Czech |
| 2 | copilot-swe-agent[bot] |
| 1 | David Garcia |
| 1 | Lukasz Sojka |
| 1 | Matt Van Horn |
| 1 | Photon101 |
| 1 | Sai Asish Y |
| 1 | conorbros |
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.6.0, an asynchronous CQL driver for Rust, optimized for ScyllaDB, but also compatible
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.6.0,
an asynchronous CQL driver for Rust, optimized for ScyllaDB, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
durable_writes field was added to Keyspace struct (#1578).Warning: Removal of the above workaround may break some misconfigured setups.
Driver uses rpc_address column from system.peers / system.local tables to get addresses it uses to connect to nodes. This column is populated using broadcast-rpc-address configuration (or rpc-address if the former is not present).
If addresses retrieved from those tables are not reachable by the driver, it won't be able to establish a session.
The workaround that was removed made driver ignore the address from system.local, and instead use the address that we used to open the control connection (which initially happens to be one of the provided contact points). In the misconfigured setup it would allow the driver to connect to only a single node, resulting is severely deficient session. Such setup won't work at all now.
Bug fixes:
Session::query_iter / Session::execute_iter now correctly refresh driver metadata (if enabled in session config) after a DDL statement is executed using those APIs (#1579).LIST ROLES of) if they were executed as prepared statements (#1581).Documentation:
total_connections metric docstring (#1586).CI / developer tool improvements:
mdbook test (#1591).examples/ folder (#1594).cassandra:cassandra, which broke our tests. Fixed that by using flags to explicitly create the superuser (#1601).wait_for_connection and inject_event_to_cc methods to our testing proxy (#1610).Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
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 |
|---|---|
| 61 | Wojciech Przytuła |
| 13 | Karol Baryła |
| 4 | Hanna Marszałek |
| 3 | Dmitry Kropachev |
| 3 | Jakub Janowski |
| 2 | copilot-swe-agent[bot] |
| 2 | dependabot[bot] |
| 1 | Dani Tweig |
| 1 | David Garcia |
| 1 | Dawid Pawlik |
| 1 | Copilot |
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.5.0, an asynchronous CQL driver for Rust, optimized for ScyllaDB, but also compatible
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.5.0,
an asynchronous CQL driver for Rust, optimized for ScyllaDB, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
⚠️ Enabled hostname verification for OpenSSL. This is an important security improvement, and brings our OpenSSL usage to parity with Rustls (which doesn't even allow disabling verification in any easy way). Warning: it may cause the driver to be unable to connect to your cluster if you use OpenSSL and your node certs don't have node IP in SAN (#1491).
Introduced configurable DNS resolution timeout. Check out hostname_resolution_timeout method on SessionBuilder (#1113).
Internal requests performed by the driver that fetch schema and topology are now prepared. It may slightly lower the load on cluster in some scenarios, especially when there is a great amount of driver sessions existing at the same time. (#1530).
Schema agreement wait (performed by Session::await_schema_agreement and automatically after DDL requests unless disabled) no longer fails immediately after any error. Instead, it retries when the error is classified as non-permanent (#1473, #1479).
Implemented Debug for ColumnSpecsGuard (#1522).
Added support for secrecy 0.10, including SecretString and SecretSlice (#1523).
Implemented SerializeValue for MaybeEmpty (#1525).
Allowed (de)serialization of Cow<'_, T> values (#1545).
Introduced scylla_unstable cfg flag to gate all unstable features (#1505).
Implemented unstable HostListener mechanism for CPP-RS Driver (#1496).
⚠️ Removed "unstable cloud" feature, as it was abandoned long time ago. The removed feature was marked as unstable, so this is not a semver-major change, but it may cause compilation error if your code used this feature (#1487).
Bug fixes:
Session::execute_iter and Session::query_iter now correctly handle USE keyspace requests (by switching keyspace on all connections) and DDL requests (by awaiting schema agreement unless disabled). (#1548).frozen flag is no longer considered when type checking upon (de)serialization (#1500).MetadataError::FetchError now has correct message when printed. Before this fix, it was accidentally hardcoded to "transparent" (#1539).vector of collections - extremely niche use case (#1567).Internal cleanups/refactors:
collect_array in custom_type_parser (#1494).value_tests.rs (#1511).&String with &str where possible (#1529).Documentation:
data-types.md (#1474).permit_dc_failover (#1489).duration.md (#1516).CI / developer tool improvements:
cargo test is now discouraged in favor of using nextest. Behaviors of the two may diverge, and cargo test could possibly even break in the future (#1568).test_schema_await_with_unreachable_node (#1471).RequiredHostAbsent error (#1475).test_pager_timeouts timeouts to prevent flakiness (#1484).Others:
Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
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 |
|---|---|
| 122 | Karol Baryła |
| 48 | Wojciech Przytuła |
| 5 | Stanisław Czech |
| 4 | dependabot[bot] |
| 3 | Mikołaj Uzarski |
| 3 | Yaniv Kaul |
| 2 | Piotr Dulikowski |
| 2 | copilot-swe-agent[bot] |
| 1 | Andres Medina |
It was accessible to users with PreparedStatement::get_result_set_col_specs , which is now deprecated and will return initial result metadata. Use get…
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.4.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
SELECT * queries), and in many cases performance (because driver won't have to request result metadata for each request). (#1463).PreparedStatement is now mutable in order to support the above extension. It was accessible to users with PreparedStatement::get_result_set_col_specs, which is now deprecated and will return initial result metadata. Use get_current_result_set_col_specs instead (#1445).execute_iter, query_iter) now respect client-side timeout settings, treating is as timeout for fetching a single page (#1458).DeserializeRow derive macro now supports default_when_null field attribute (#1403).'static bounds from QueryPager::rows_stream method (#1427).Bug fixes:
execute_iter, query_iter) is now performed for each page, not only the first one (#1449).Internal cleanups/refactors:
id and lwt fields were moved to shared data of PreparedStatement (#1442).PreparedStatement variants have been centralized to make reasoning about it easier (#1446).QueryResult::into_rows_result (#1461).Documentation:
Cargo.toml (#1459).CI / developer tool improvements:
test_default_policy_is_tablet_aware that started to fail because of Scylla changes (#1412).#[deprecated] attribute is added (#1450, #1464).Others:
Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
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 |
|---|---|
| 127 | Karol Baryła |
| 24 | Wojciech Przytuła |
| 3 | Mikołaj Uzarski |
| 2 | Stanisław Czech |
| 1 | Collin Styles |
| 1 | spoorn |
| 1 | dependabot[bot] |
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.3.1, an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible wi
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.3.1,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
Bytes as CQL blob. This works in tandem with the already present blob -> Bytes deserialization capability (#1397).Bug fixes:
scylla_cql::deserialize module appear in mirror module in scylla crate (#1406).Documentation:
Scylla with ScyllaDB, following the official naming (#1393).Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
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 |
|---|---|
| 49 | Wojciech Przytuła |
| 8 | Karol Baryła |
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.3.0, an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible wi
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.3.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
DefaultPolicy now filters out disconnected nodes, which is a useful optimisation (#1364).ExecutionError::EmptyPlan error message (#1371).Box<str> and Arc<str> (#1382).Bug fixes:
Internal API cleanups/refactors:
run_request and unified autohandling of specific responses. This simplifies the code and makes it more bug-resitant (#1375).Documentation:
enforce_coordinator example is extended to show how to inspect the coordinator of a request (#1346).Others:
sphinx-scylladb-theme from 1.8.6 to 1.8.7 (#1388).clippy::uninlined_format_args lint) (#1389).Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
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 |
|---|---|
| 44 | Karol Baryła |
| 23 | Wojciech Przytuła |
| 1 | Mikołaj Uzarski |
| 1 | dependabot[bot] |
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.2.0, an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible wi
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 1.2.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
flatten attribute to SerializeRow derive macro. The attribute is inspired and analogous to the one found in serde #1144nil() method for CqlTimeuuid #1314.MaybeUnset::from_option() convenience constructor to reduce boilerplate #1317.Debug for timestamp generator types #1341.CachingSessionBuilder #1345.PreparedStatement is materialized only where needed, avoiding unnecessary allocations #1329.CachingSession #1340.Bug fixes:
LoadBalancingPolicy was out of range for the chosen node #1325.Metrics::percentiles() would return the number of observations in the corresponding bucket instead of the mean value of the bucket #1327.Internal API cleanups/refactors:
LatencyAwareness uses existing Iterator's methods instead of hand-crafted logic #1330.PreparedIteratorConfig to PreparedPagerConfig, because it was a remnant of the legacy naming #1335Node::is_down() and related code, as the event-based node status mechanism is error prone and was not used anyway #1358.Documentation:
scylla-cql API's considerations - versioning requirements, guarantees, etc. #1322.flatten attribute docs to SerializeRow, as it had been put in a wrong place #1144.CI / developer tool improvements:
allow() to expect(), removed unnecessary lints and enabled of checking public API with Clippy #1359.Others:
Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
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 |
|---|---|
| 108 | Wojciech Przytuła |
| 20 | Mikołaj Uzarski |
| 19 | Karol Baryła |
| 8 | Andres Medina |
| 8 | smoczy123 |
| 4 | Andrés Medina |
| 2 | David Garcia |
| 2 | Vartan Babayan |
| 1 | Dmitry Kropachev |
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →