v3.0.1: Support for new keystores and binary secrets
The major functional change between v2 and v3 is the addition of synchronous support for the Secret Service via the dbus-secret-service crate. This means that keyring users of the Secret Service no longer need to link with an async runtime.
The main API change between v2 and v3 is the addition of support for non-string (i.e., binary) "password" data. To accommodate this, two changes have been made:
-
There are two new methods on
Entry
objects:set_secret
andget_secret
. These are the analogs ofset_password
andget_password
, but instead of taking or returning strings they take or return binary data (byte arrays/vectors). -
The v2 method
delete_password
has been renameddelete_credential
, both to clarify what's actually being deleted and to emphasize that it doesn't matter whether it's holding a "password" or a "secret".
Another API change between v2 and v3 is that the notion of a default feature set has gone away: you must now specify explicitly which crate-supported keystores you want included (other than the mock
keystore, which is always present). So all keyring client developers will need to update their Cargo.toml
file to use the new features correctly.
All v2 data is fully forward-compatible with v3 data; there have been no changes at all in that respect.
The MSRV has been moved to 1.75, and all direct dependencies are at their latest stable versions.
(The original 3.0.0 release had a compile-time issue related to Error traits in some environments; v3.0.1 fixes that.)