Skip to content

Release 1.2.0 #1360

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 27, 2025
Merged

Release 1.2.0 #1360

merged 4 commits into from
May 27, 2025

Conversation

wprzytula
Copy link
Collaborator

@wprzytula wprzytula commented May 26, 2025

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:

  • over 3.877k downloads on crates!
  • over 633 GitHub stars!

Changes

New features / enhancements:

  • Added flatten attribute to SerializeRow derive macro. The attribute is inspired and analogous to the one found in serde #1144
  • Introduced CQL Vector type full support #1165.
  • Added nil() method for CqlTimeuuid #1314.
  • Added MaybeUnset::from_option() convenience constructor to reduce boilerplate #1317.
  • Exposed coordinator that served the request #1287.
  • Enabled enforcing a coordinator for the request #1326.
  • Derived Debug for timestamp generator types #1341.
  • Introduced CachingSessionBuilder #1345.
  • Preparation now is done on exactly one shard on each node (instead of all shards), which reduces unnecessary overhead #1320.
  • Fetching schema version when awaiting for schema agreement is now done on one connection per node only (as opposed to all connnections), which reduces unnecessary overhead #1323.
  • PreparedStatement is materialized only where needed, avoiding unnecessary allocations #1329.
  • Exposed an option to allow skipping result metadata when executing prepared statements using CachingSession #1340.

Bug fixes:

  • Fixed a bug that the driver panicked if the shard returned by the LoadBalancingPolicy was out of range for the chosen node #1325.
  • Fixed a bug that Metrics::percentiles() would return the number of observations in the corresponding bucket instead of the mean value of the bucket #1327.
  • Nodes with all connections broken are now ignored during schema agreement. This fixes the bug that such nodes made schema agreement awaiting fail #1355.

Internal API cleanups/refactors:

  • LatencyAwareness uses existing Iterator's methods instead of hand-crafted logic #1330.
  • Renamed PreparedIteratorConfig to PreparedPagerConfig, because it was a remnant of the legacy naming #1335
  • Removed Node::is_down() and related code, as the event-based node status mechanism is error prone and was not used anyway #1358.

Documentation:

  • Described scylla-cql API's considerations - versioning requirements, guarantees, etc. #1322.
  • Updated dependencies of the docs #1333.
  • Fixed md redirections for multiversion support in the docs #1334.
  • Moved flatten attribute docs to SerializeRow, as it had been put in a wrong place #1144.

CI / developer tool improvements:

  • Proxy now supports negotiated compression #1246.
  • Added test for the UDT case when metadata is present but the value is missing #1315.
  • Fixed warnings in serverless tests #1316.
  • Reorganised integration tests into a clear tree-like structure (#1350, #1351).
  • Clippy was appeased again, after new lints were introduced in Rust 1.87 #1357.
  • Improved our use of Clippy: migrated from allow() to expect(), removed unnecessary lints and enabled of checking public API with Clippy #1359.

Others:

  • MSRV was raised to 1.80 #1319, and then to 1.81 #1356.

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

@wprzytula wprzytula requested review from Lorak-mmk and muzarski May 26, 2025 18:49
@wprzytula wprzytula self-assigned this May 26, 2025
@wprzytula wprzytula added this to the 1.2.0 milestone May 26, 2025
Copy link

github-actions bot commented May 26, 2025

cargo semver-checks found no API-breaking changes in this PR.
Checked commit: bc6b24d

@wprzytula wprzytula force-pushed the prepare-release-1.2.0 branch from 9755b83 to 3954dbf Compare May 26, 2025 18:58
@wprzytula wprzytula force-pushed the prepare-release-1.2.0 branch from 3954dbf to bc6b24d Compare May 27, 2025 13:50
@wprzytula wprzytula merged commit bc6b24d into scylladb:main May 27, 2025
13 checks passed
@wprzytula wprzytula deleted the prepare-release-1.2.0 branch May 27, 2025 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants