Releases: hwchen/keyring-rs
v3.0.3: Fix feature linux-native
Earlier releases didn't correctly use the keyring when the linux-native
feature was specified. This release does.
Thanks to @Brooooooklyn for finding this issue!
v3.0.2: fix iOS and doc issues in v3 release
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.)
v3.0.0-rc.2: Likely final candidate for next major release
This is likely the final RC for the v3 release. Please try it out and provide feedback. From the README:
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.
v3.0.0-rc.1: Next major version
From the README:
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 only API change between v2 and v3 is that the default feature set has gone away: you must now specify explicitly which crate-supported keystores you want included. So keyring clients will need to update their Cargo.toml
file, but not their code.
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.
v2.3.3: Updates for Rust 1.78
Rust 1.78 introduced a new clippy check and better guards on Windows when making slices from raw bytes. These changes required one small change in the platform-independent code and two small changes in the Windows-specific code.
v2.3.1: Windows platform update; minimum rust version specified
This release includes a contribution by @russellbanks which changes windows to use the windows-sys
crate instead of winapi
, as suggested by @thewh1teagle.
Specifies a minimum stable rust version of 1.68, which is the one that was current when this major version was released. Only the library is warranted to build on 1.68. In particular, none of the tests or examples will work; they require 1.70 for dev dependencies.
v2.3.0: Support OpenBSD
Thanks to @klemensn, this release should build and run on OpenBSD.
v2.2.0: rework default feature set
In response to #153 and #148, suppressing the default feature set now suppresses the platform keystore dependencies on all platforms and uses the mock keystore as the default.
PLEASE NOTE: While this behavior is a breaking change on Mac, Windows, and FreeBSD, the behavior on those platforms before was unintended and undefined (suppressing default features did nothing), so this is considered a bug fix rather than a semver-breaking change that requires a major version bump.
v2.1.0: add runtime indication of credential persistence
This minor release adds support for asking credential stores at runtime about the lifetime of their stored credentials. See the documentation of CredentialPersistence
for details.