The ScyllaDB team is pleased to announce ScyllaDB CPP RS Driver 1.1.0, an API-compatible rewrite of GitHub - scylladb/cpp-driver: Scylla C/C++ Driver · GitHub as a wrapper for the Rust driver. It fully replaces the CPP driver, which has already reached its End of Life.
Some minor features still need to be included. See Limitations section in README.md.
The underlying Rust Driver used version: 1.7.0.
Starting with these release notes, we will be including changes from Rust Driver that can impact this driver in the changelog. Those changes will be marked with the crab emoji
.
Entries that require special attention (e.g. because of potential build system breakage) will be marked with the warning emoji
.
Changes since 1.0.1:
Lib name change
Because of problems described in #464, the library name has been changed from scylla-cpp-driver to scylladb. This change is reflected in the CMake and pkg-config files, as well as in the library file name itself. You may need to update your build system to reflect this change.
Changelog
Bumped Rust Driver to 1.7.0 (#479).
Enhancements / new features:
- Optimised performance of request result (#429).
- Updated
opensslandopenssl-sysdependencies, which introduces support for OpenSSL 4.x. Note that this is for building from source only, as our released packages use OpenSSL 3.x and are built with OpenSSL 3.0.2 headers (#466).
Introduced refill trigger in connection pool. Now a refill is triggered automatically upon two kinds of events: 1) client routes change 2) node status changes to UP, which decreases reconnection delay in those situations (Rust Driver #1630).
Bug fixes:
Made driver reject lz4 frame bodies shorter than the 4-byte size prefix (Rust Driver #1642).
Fixed panic in metadata/readeroccurring on runtime shutdown (Rust Driver #1644).
Statements executed with SERIAL/LOCAL_SERIALconsistency are now treated as LWT for routing, reducing Paxos contention (Rust Driver #1647).
Fixed read_inetport conversion (Rust Driver #1649).
Node attribute changes are now handled correctly w.r.t. HostFilter(Rust Driver #1654).
Fixed panic in connection pool on out-of-range shard (Rust Driver #1656).
Fixed shard aware port range crash (and other problems) (Rust Driver #1657).
Require first_tablet < last_tablet(Rust Driver #1660).
Fixed (again) ser/deser of tuples that are shorter than the metadata says (Rust Driver #1708).
Documentation:
- Bumped sphinx-multiversion-scylla from 0.3.7 to 0.3.8 (#440).
- Bumped sphinx-scylladb-theme from 1.9.1 to 1.9.2 (#442).
CI / developer tool improvements:
- Made CI install Rust toolchain in macOS packages job (#437).
- Added milestone sync workflow (#439) and updated it to consolidated view (#441).
- Made CI fail fast on integration test binary cache miss (#447).
- Pinned all github actions to specific Hash (#465).
- Deduplicated testing integration stubs (#473).
Build system / packaging:
Uppercase all CMake OPENSSL variables (#435).- Improved build system’s maintainability: documented and refactored CMakeCargo bridge. (#445).
Renamed the library from scylla-cpp-drivertoscylladb(#472).- Ensured openssl 3.0 compatibility of released packages, fixed transitive dependencies registration in CMake and pkg-config (#476).
- Fixed tests’ static link order (#478).
Congrats to all contributors and thanks everyone for using our driver!
The source code of the driver can be found here:
Contributions are most welcome!
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 1.0.0:
| commits | author |
|---|---|
| 79 | Wojciech Przytuła |
| 32 | Karol Baryła |
| 25 | Dmitry Kropachev |
| 4 | David Garcia |
| 2 | dependabot[bot] |
| 1 | Anna Stuchlik |
| 1 | Copilot |
| 1 | Dani Tweig |
| 1 | Maike Rühle |
| 1 | Roy Dahan |
| 1 | sylwiaszunejko |