Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Keyring v4 is a return to its roots - lightweight, minimal, cross-platform - with the extensibility of v2 and v3 preserved for specialized use cases.
For built-in credential store implementations, we're back to using the macOS Keychain Services, the Windows Credential Manager, and the *nix Secret Service (e.g., the Gnome keyring or KDE Wallet). The default features now enable all three (one per platform), but if you suppress the default feature set you can pick and choose by specifying specific features (or none, if you are bringing your own credential store instead).
We are back to using only one implementation of the Secret Service, and it's fully synchronous (so no async runtime included).
The mock credential remains for testing purposes, but it is never selected as the "default" credential store.
Support for using the linux keyutils as a credential store is being moved out to the linux-keyutils crate.
Support for using both the keyutils and the Secret Service together is also being moved out to a separate crate.
Users who have been with keyring from v2 or v3, and who didn't use keyutils, should be able to upgrade to this version simply by removing all their feature specifications; no code changes will be needed.