Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First alpha of v4 #243

Merged
merged 6 commits into from
Mar 12, 2025
Merged

First alpha of v4 #243

merged 6 commits into from
Mar 12, 2025

Conversation

brotskydotcom
Copy link
Collaborator

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.

1. Update edition to 2024 (MSRV 1.85)
2. Remove use of secret-service crate, which also removes zbus.
This has all the credential store changes, but not the mac keychain improvements.

It has only been tested on Mac.
1. remove remainders of async-secret-service feature.
2. update the README.
3. fix the CI workflow.
This removes the libdbus header issue.
@brotskydotcom brotskydotcom merged commit 53eda7d into hwchen:master Mar 12, 2025
11 checks passed
@brotskydotcom brotskydotcom deleted the v5 branch March 12, 2025 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant