Async CQL driver for Rust, optimized for ScyllaDB!
APACHE-2.0 License
Bot releases are visible (Hide)
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.14.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
API cleanups / breaking changes:
execute_unpaged
/ execute_single_page
/ execute_iter
) rather than the page size associated with the statement object. Other changes include (#1061):
Bytes
.execute_single_page
instead of being a field in QueryResult
.page_size
on the statements mandatory and providing the default value.SerializeCql
was renamed to SerializeValue
because old name turned out to be confusing for users. (#1000)chrono
, time
and secret
were renamed to chrono-04
, time-03
and secrecy-08
to allow us to support new major versions of those libraries in the future. (#939)QueryResult.col_specs
was changed from being a field to a method in order to allow sharing it with PreparedStatement
. (#1065)ResultMetadata.paging_state
field to Rows.paging_state_response
. This is because paging state is something that changes on each paged request and should not be cached by PreparedStatement
. (#1065)New features / enhancements:
STARTUP
message (DRIVER_NAME
, DRIVER_VERSION
) can now be configured using new SelfIdentity
API in SessionBuilder
. (#1039).unwrap()
s with .expect()
s in the code generated by our derive macros. This is done to avoid angering unwrap_used
clippy lint and to provide better error messages if those panics are ever triggered. (#1055)Documentation:
PreparedStatement
. (#986)CI / developer tool improvements:
[tokio::test]
is used with [ntest::timeout]
Others:
CONTRIBUTING.md
. (#997)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 |
---|---|
163 | Wojciech Przytuła |
55 | Mikołaj Uzarski |
17 | Karol Baryła |
3 | David Garcia |
2 | Lucas Kent |
2 | Piotr Dulikowski |
1 | Daniel Reis |
1 | Dmitry Kropachev |
1 | Kailokk |
Published by wprzytula about 2 months ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.13.2,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
Bug fixes:
use_cached_metadata
flag was set on a PreparedStatement
(#1063)Documentation:
DefaultPolicy
(Load Balancing) with a lot of comments intended for developers to understand its logic easier (#1062)CI / developer tool improvements:
cfg
allowlist (after such allowlist was made mandatory) (#1049)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!
Published by wprzytula 3 months ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.13.1,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
Bug fixes:
log
logger work with the driver again (#992)Query
) (#1038)Documentation:
tracing
and log
libraries and provided an example (#992)CI / developer tool improvements:
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!
Published by Lorak-mmk 5 months ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.13.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
API cleanups / breaking changes:
LoadBalancingPolicy
would return a Plan
consisting of Node
s;Node
it can optionally specify the Shard
to contact as well. This is crucial for proper Tablets support (see above). Main PR #944, with follow up #969
Token
: added constructor and normalization to increase type-safety (#948)histogram::Histogram
, from public API (#935)num_enum
dependency. It was unstable, and we managed to do without it, so it no longer appears in the public API. (#931)scylla-cql
definitions which weren't intended for access from outside the driver. (#933)New features / enhancements:
FromRow
derive macro to suppport structs with unnamed fields. Before, only structs with named fields were supported. (#985)strum
and strum_macros
dependencies. They were unstable, and we managed to do without it. (#934)Documentation:
QueryResult::rows
. The preferred method is the more type safe QueryResult::rows_typed
. Moreover, QueryResult::rows
is going to be deprecated in the next release, once the new lazy deserialization framework is introduced. We thus recommend switching to rows_typed
wherever possible. (#955)CI / developer tool improvements:
pub
s (#958)chrono
deprecations (#951)cargo clean
before tests (#929)uninlined_format_args
clippy lint", as rust-analyzer
now properly supports semantic analysis of such format args. (#945)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 |
---|---|
40 | Karol Baryła |
24 | Mikołaj Uzarski |
10 | Wojciech Przytuła |
1 | Piotr Dulikowski |
1 | Piotr Grabowski |
Published by Lorak-mmk 9 months ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.12.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
API cleanups / breaking changes:
CqlTimeuuid
type. Timeuuid
CQL type now corresponds to the new type instead of Uuid
. The purpose of new type is mostly providing correct semantics (matching the database) with regard to sorting / comparing / hashing (#894)num_bigint::BigInt
are now hidden behind feature flag. Support for num_bigint 0.4
is added. You can enable support for chosen version using num-bigint-03
/ num-bigint-04
feature flags (#902)bigdecimal
dependency version is bumped to 0.4. Similarly to BigInt
, usages of bigdecimal
are now behind feature-flag bigdecimal-04
(#922)New features / enhancements:
SerializeRow
and SerializeCql
derive macros now support skip
field attribute to skip some fields during serialization (#903)Documentation:
SerializeRow
/ SerializeCql
derive macros is now rendered only in scylla
crate. Previously it was only visible in scylla-cql
due to an oversight, which made it hard to discover for users. It is not possible to render it in both crates without duplicating it in code because of rustdoc limitation (#907)Session
objects and recommendations about sharing Session
objects between threads. You can find this section in Connecting to the cluster
page of book (#914)Bug fixes:
time
-related were put behind chrono
feature flag instead of time
feature flag (#898)chrono
introduced an arguably breaking change - changing values of NaiveDate::MIN/MAX
. We changed our tests to nor rely on those values. If you used those values as markers / placeholders in database, you may not be able to deserialize them with new version ofchrono
(#919)CI / developer tool improvements:
Cargo.lock.msrv
file and ways to update this file when min_rust job are now documented in CONTRIBUTING.md
(#913)mdbook
. In order to be able to build it with mdbook
we had a wrapper script that stripped those sections before calling mdbook
. Now this script is replaced by preprocessor script called automatically by mdbook
- so just calling mdbook
commands "just works" again now (#910).:::{warning}
text
:::
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 |
---|---|
31 | Mikołaj Uzarski |
31 | Karol Baryła |
13 | Piotr Dulikowski |
2 | Oliver Bøving |
1 | David Garcia |
1 | Nick Sippl-Swezey |
Published by Lorak-mmk 10 months ago
Due to our mistake, crate scylla-macros 0.2.2
contained a breaking change, while only being a minor version bump.
This resulted in the driver breaking for some existing projects that use version 0.10.x
.
You can find more detailed explanation here: https://github.com/scylladb/scylla-rust-driver/issues/891
To solve this situation:
scylla-macros 0.3.0
was released identical to 0.2.2
and 0.2.2
was yanked.scylla-cql 0.0.11
was released, the only changed from 0.0.10
is scylla-macros
dependency bumped to 0.3.0
.scylla 0.11.1
was released, the only change from 0.11.0
is updating the scylla-cql
and scylla-macros
dependencies. 0.11.0
was yanked.Additionally, we published scylla-macros 0.2.3
, equivalent to 0.2.1
, to minimize breakage in existing projects.
Published by Lorak-mmk 10 months ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.11.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
The main feature of this PR is refactor of serialization API. Old traits and structs (Value
, ValueList
, BatchValues
- renamed to LegacyBatchValues
, SerializedValues
- renamed to LegacySerializedValues
) are replaced by new ones (SerializeCql
, SerializeRow
, new BatchValues
, new SerializedValues
). There are wrappers and helper implementations provided, designed to aid in gradually migrating to new API - see the migration guide in the book for more information. Old traits and structs will be removed in one of future versions.
New serialization API has a benefit of type safety - now, if you use wrong type for a bind marker in a query, you will get an understandable error locally (without actually executing the query on the database) instead of cryptic deserialization error from Scylla, or worse - silent data corruption.
API cleanups / breaking changes:
New features / enhancements:
i16
to u16
(#824)Default
for MaybeUnset
(#883)Documentation:
Bug fixes:
Option<&&str>
in one place to work around possible rustc bug (#838)CI / developer tool improvements:
needless_borrows_for_generic_args
(#861)make ci
so that developers can notice errors while testing locally (#877)cqlsh
to unblock CI (#873)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 | Piotr Dulikowski |
67 | Karol Baryła |
5 | Jan Ciołek |
5 | Sylwia Szunejko |
1 | David Garcia |
1 | Mikhail Pogretskiy |
1 | Nick Sippl-Swezey |
1 | Oliver Bøving |
1 | RoDmitry |
1 | Samuel Orji |
1 | Yaniv Kaul |
Published by piodul about 1 year ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.10.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
API cleanups / breaking changes:
Serial
and LocalSerial
levels to Consistency
enum because those are valid levels for LWT SELECT
s. LegacyConsistency
became redundant so it was removed. (#792)pub
specifiers removed but those should not result in API-break. (#773)StatementConfig
private - it is used internally and does not appear in any public API. retry_policy
field is moved there from Query
, PreparedStatement
and Batch
. (#772)pick()
and fallback()
methods. Signature of ReplicaSet::choose_filtered()
is slightly changed (a reference is added to predicate
's argument). (#777)New features / enhancements:
std::hash
. Changed all it's usages to take advantage of this functionality, getting rid of a lot of needless allocations of partition key. This decreased number of allocations and improved performance. (#758)scylla-macros
now use produce proper compilation errors instead of panicking, resulting in nicer error messages. (#818)HashMap
and HashSet
with custom hashers. (#808)&[u8]
, which allows deriving ValueList
for structs with &[u8]
fields. (#790)write_coalescing()
method from SessionBuilder
to GenericSessionBuilder
as there is nothing preventing using it in Cloud. (#778)cluster_metadata_refresh_interval
method on GenericSessionBuilder
. (#776)Documentation:
AddressTranslator
trait. (#796)main
branch. It also defaults to latest release. (#784)Bug fixes:
chrono
dependency to the one that supports functionality that we use. (#807)CI / developer tool improvements:
RELEASE.md
. (#785)SessionBuilder
vs GenericSessionBuilder
) to prevent CloudSessionBuilder
not getting the functionalities that it should. (#781)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 |
---|---|
79 | Wojciech Przytuła |
34 | Piotr Dulikowski |
4 | Anna Stuchlik |
2 | Pavel Kirilin |
1 | Karol Baryła |
1 | Collin Styles |
1 | Jan Ciołek |
1 | Lucas Kent |
1 | Rishabh Aryal |
1 | koheatel |
Published by piodul about 1 year ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.9.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
API cleanups / breaking changes:
Session::estimate_replicas_for_query
. The same effect can be achieved via slightly longer session.get_cluster_data().get_token_endpoints()
. (https://github.com/scylladb/scylla-rust-driver/pull/768)Session::get_tracing_info_custom
. The parameters passed to that function (number of retries, delay between retries, consistency level) can now be set on the per-session level basis, and get_tracing_info
should be used instead. (https://github.com/scylladb/scylla-rust-driver/pull/768)Consistency
and SerialConsistency
from the scylla::statement::batch
module. Those are already available through more convenient import paths. (https://github.com/scylladb/scylla-rust-driver/pull/767)QueryResult
from scylla::transport::connection
module. It is already reexported from the scylla
module which should be more convenient. (https://github.com/scylladb/scylla-rust-driver/pull/763)scylla::routing::Node
struct. It hasn't been used by any of our APIs and had a very similar name to scylla::transport::Node
, so it would only be a source of confusion if left alone any longer. (https://github.com/scylladb/scylla-rust-driver/pull/762)scylla-cql
crate, as well as two internal functions related to frame compression/decompression. (https://github.com/scylladb/scylla-rust-driver/pull/764)CloudConfig
struct has been exposed to the users. The purpose of this change is to aid in implementing Scylla Cloud support in the cpp-rust-driver
project. (https://github.com/scylladb/scylla-rust-driver/pull/750)New features / enhancements:
tokio::tracing
span in a human-readable form. Previously, it was also emitted, but in a form that is hard to parse by a human. (https://github.com/scylladb/scylla-rust-driver/pull/766)Session::calculate_token_for_partition_key
is added. It allows to calculate a partition key only by using a partitioner and values of a partition key, no PreparedStatement
object is needed. (https://github.com/scylladb/scylla-rust-driver/pull/757)scale
parameter in LatencyAwarePolicy
, which is exposed in cpp driver but was missing from the rust implementation's API, is now exposed. The previous default value has been changed. (https://github.com/scylladb/scylla-rust-driver/pull/733)Bug fixes:
RoutingInfo
struct to load balancing policies used to have incorrect consistency level set. This is now fixed, and a regression test has been added. (https://github.com/scylladb/scylla-rust-driver/pull/743)CI / developer tool improvements:
Others:
clone.rs
example has been removed. It promoted bad practices; we recommend only using one Session
object per application. (https://github.com/scylladb/scylla-rust-driver/pull/728)SimpleStrategy
has been removed from examples and documentation. This strategy will become deprecated in ScyllaDB in the future, and we no longer want to promote its use in learning materials. (https://github.com/scylladb/scylla-rust-driver/pull/726)ccm
tool, used by the CI, requires Python 2 which is no longer available in the ubuntu-latest runner. Requirement for Python 2 will be dropped with the next ScyllaDB release, and the system version will be upgraded again after this happens. (https://github.com/scylladb/scylla-rust-driver/pull/752)docker compose
version has been upgraded from V1 to V2 in the CI. The old one stopped receiving updates. (https://github.com/scylladb/scylla-rust-driver/pull/761)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 |
---|---|
20 | Piotr Dulikowski |
15 | Wojciech Przytuła |
11 | Piotr Grabowski |
3 | Jan Ciolek |
2 | David Garcia |
2 | Gor Stepanyan |
1 | Lucas Kent |
Published by piodul over 1 year ago
Features:
Security fixes:
chrono
dependency no longer requires the oldtime
feature. That feature implies a transitive dependency on time
crate in version 0.1, which has a vulnerability. More details here: https://rustsec.org/advisories/RUSTSEC-2020-0071 (https://github.com/scylladb/scylla-rust-driver/pull/723)Bugfixes:
Enhancements:
SessionConfig::add_known_nodes{_addr}
and SessionBuilder::known_nodes{_addr}
functions were made more generic and now they accept a wider range of argument types. (https://github.com/scylladb/scylla-rust-driver/pull/705)RUST_BACKTRACE=full
environment variable which causes full backtraces to be printed when panic occurs in tests. This should help in debugging issues, especially those that only occur in CI. (https://github.com/scylladb/scylla-rust-driver/pull/719)Published by piodul over 1 year ago
Bugfixes:
execute_iter
. (#700)Enhancements:
set_retry_policy
/get_retry_policy
methods were brought back (they were removed previously with the introduction of execution profiles). (#707)CI:
Published by piodul over 1 year ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.8.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
New features / enhancements:
DefaultPolicy
, which is configurable and offers the same functionality as the previous, composable policies. (#612)BatchValues
trait was simplified with the help of recently introduced Generic Associated Types (GATs). (#596)impl FromCqlVal for CqlDuration
, which was previously missing, was added. (#623)impl FromCqlVal for Date
, which was previously missing, was added. (#638)secrecy::Secret
was added. To enable it, you need to enable the secret
feature. (#619)Session::calculate_token
is now public. (#658)Clone
trait. (#669)deser_cql_value
function was made public. It is used by the scylla-rust-udf
library. (#630)ahash
in tests. It wasn't really needed and, in some cases, could trigger a bug in the cargo resolver with a cryptic error message, which could prevent the whole project from compiling. (#625)scylla-cql
by using the #[scylla_crate = "scylla_cql"]
attribute. (#628)AddressTranslator
to be more dynamic - for example, if a node's IP changes and all connections are closed, if the AddressTranslator
reacts to this quickly then the driver can re-establish connections to this node much more quickly. (#641)Bug fixes:
Session::query_iter
/execute_iter
methods will now correctly work when used to send a write request. (#644)Performance improvements:
Connection::query_all
that was used to fetch cluster metadata has been replaced with Connection::query_iter
. The new method does not concatenate results from multiple pages into single one, but rather returns an iterator which allows processing the rows as they are fetched in the background. This should reduce memory usage during metadata fetch in some extreme cases. Moreover, the new method fits the upcoming "iterator-based deserialization" API rework better. (#645)PreparedStatement
is now cheaper to clone. Its internals that allocated on clone are now wrapped in an Arc
. (#653)CI / developer tool improvements:
Makefile
now boots Scylla nodes sequentially. This slows down the boot process, but the old method is technically incorrect and could result in a fail - the new method follows the best practices. (#647)Other:
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 |
66 | Piotr Dulikowski |
18 | Michał Sala |
5 | Jan Ciolek |
5 | Wojciech Mitros |
3 | Jan Ciołek |
3 | Thomas BESSOU |
1 | Gor Stepanyan |
1 | Sining (Stephen) Ma |
1 | Ten0 |
Published by piodul almost 2 years ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.7.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Some interesting statistics:
Bugs fixed:
CachingSession
used to cache not only prepared statement IDs but also query parameters (such as page size) and those parameters overrode the ones provdided to CachingSession::execute
. This caused strange and inconsistent behavior. Now, query parameters are not cached but are always taken from the Query
object provided to CachingSession::execute
(https://github.com/scylladb/scylla-rust-driver/pull/598)query_iter
/execute_iter
is used to perform a write with a DowngradingConsistencyPolicy
(https://github.com/scylladb/scylla-rust-driver/pull/609)system.clients
table (https://github.com/scylladb/scylla-rust-driver/pull/611)scylla-macros
crate can now be used on generic structs (https://github.com/scylladb/scylla-rust-driver/pull/565)New features/enhancements:
TokenAwareStrategy
to choose the nodes for queries in a predefined order, bypassing any shuffling coming from the child policy. This reduces the number of retries needed to perform an LWT update in case when multiple clients try to update the same key (https://github.com/scylladb/scylla-rust-driver/pull/578)LatencyAwarePolicy
has been added which mimics the behavior of C++ driver's latency aware routing. The new policy measures latency on a per-node basis and prefers nodes with lower latencies. Although this policy may be useful for some use cases, caution is advised as it was deprecated in C++ driver and also removed from the Java driver (https://github.com/scylladb/scylla-rust-driver/pull/536)AuthenticatorProvider
and AuthenticatorSession
traits. The previous, hardcoded password authentication scheme is now offered as PlainTextAuthenticator
(although the SessionBuilder::user
method was kept for convenience) (https://github.com/scylladb/scylla-rust-driver/pull/572)CachingSession
now supports custom hashers for use in the internal hashmap. By default, the default hasher from the standard library is used, but a more efficient implementation can be chosen by the user (https://github.com/scylladb/scylla-rust-driver/pull/577)impl_from_cql_value_from_method!
macro is added that allows you to easily generate FromCqlValue
impls from your extension trait methods (https://github.com/scylladb/scylla-rust-driver/pull/601)Value
trait used for serialization was implemented for Box
and for references to unsized types, allowing to cover trait objects (dyn T
) as well (https://github.com/scylladb/scylla-rust-driver/pull/590)CI / developer tools:
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 |
---|---|
63 | Wojciech Przytuła |
10 | Michał Sala |
10 | Thomas BESSOU |
9 | Piotr Dulikowski |
5 | Colin O'Brien |
2 | Gor Stepanyan |
2 | colin-grapl |
1 | Jan Ciolek |
1 | Joseph Perez |
1 | Lucas Kent |
1 | Piotr Grabowski |
Published by piodul about 2 years ago
Published by piodul about 2 years ago
The ScyllaDB team is pleased to announce ScyllaDB Rust Driver 0.6.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
The numbers are constantly growing:
=== Notable changes ===
batch
method now returns QueryResult
instead of BatchResult
. It no longer ignores rows returned by the database and it is now possible to learn whether a LWT batch has been applied or not.ClusterData::get_endpoints
.msb_ignore
parameter) is now available.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 last release:
commits|author
30 Jan Ciolek
10 Wojciech Przytuła
9 Piotr Dulikowski
4 Joseph Perez
2 Gor Stepanyan
2 Piotr Sarna
1 Thomas BESSOU
Published by psarna about 2 years ago
The ScyllaDB team is delighted to announce ScyllaDB Rust Driver 0.5.0,
an asynchronous CQL driver for Rust, optimized for Scylla, but also compatible with Apache Cassandra!
Cool, ever growing open-source stats:
=== Notable changes ===
Also, the usual stuff: fixes, speedups, amendments, doc updates and example updates were all applied.
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 last release:
commits|author
28 Wojciech Przytuła
14 Piotr Sarna
13 Piotr Dulikowski
13 Jan Ciołek
2 Lucas Kent
1 David Garcia
1 Gor Stepanyan
Published by psarna over 2 years ago
Published by psarna over 2 years ago