Releases: linux-credentials/oo7
Release list
0.7.0.alpha
oo7-daemon
Various fixes and improvements following oo7-daemon's inclusion in GNOME OS. Most notably, successfully migrated keyrings are no longer deleted. Instead, a <keyring-name>.stamp file is created to prevent re-migration, leaving the cleanup of old data to the user rather than risking loss of sensitive data.
oo7-pam
The PAM module no longer fork/exec's oo7-daemon directly. oo7-daemon is started as a systemd user service, and a dedicated oo7-daemon-login binary is fork/exec'd with a single responsibility: hand the login password to oo7-daemon once it is up and ready, reducing the risk of race conditions.
oo7-cli
The CLI received several new features:
--jsonflag for JSON outputmigratecommand to migrate v0 (gnome-keyring) or KWallet keyrings to the v1 format supported by oo7-daemon, allowing users to test migration before switching- Built-in prompter for headless environments: when no keyring is unlocked, the CLI asks for the password directly on the terminal
kwallet-parser / kwallet-cli
Two new crates. kwallet-parser parses KWallet keyring files in both legacy (Blowfish-ECB + SHA1) and modern (Blowfish-CBC + PBKDF2-SHA512) formats, used by both oo7-cli and oo7-daemon for migration. kwallet-cli is a small debugging tool for reading KWallet files directly.
git-credential-oo7
A new binary crate for handling git credentials, a replacement for git-credential-libsecret.
oo7-macros
Addition of the dont_match_name attribute, mimicking libsecret's SECRET_SCHEMA_DONT_MATCH_NAME. See the library documentation for more details.
oo7
The client library now uses oo7-daemon to run its test suite, meaning tests no longer affect the currently running keyring and no longer require a running keyring implementation. The D-Bus code path is now almost fully covered.
Along with various little bug fixes here and there, translations updates and more!
0.6.0
v0.6.0-alpha
This is the first release of the three following components:
- oo7-daemon, a replacement of gnome-keyring-daemon or kwallet. It has support for both KDE and GNOME prompting mechanism, used to ask the user to type the password to unlock their keyring. Note that this is an alpha release so bugs are expected.
- oo7-python, python bindings of oo7 making it possibly to use the library from Python.
- oo7-macros, provides schemas support to oo7
The release also comes with various fixes, reduced dependencies and a much better test coverage than the previous release. Enjoy
0.5.0
What's Changed
- client: Relax IncorrectSecret condition by @bilelmoussaoui in #219
- cli: Add custom keyring file support by @bilelmoussaoui in #221
- server: Merge Prompting into main by @bilelmoussaoui in #224
- server: match items if search attributes are a subset by @noxpardalis in #234
- client: Manually add a content-type attribute by @bilelmoussaoui in #245
- client: Export ContentType by @bilelmoussaoui in #246
- daemon: Do not restrict caps on unit file by @A6GibKm in #252
- portal: Dont ask for app tokens with schema by @A6GibKm in #251
- server: Demote info! to debug! by @A6GibKm in #255
- Add --verbose flags to daemon and portal impl by @A6GibKm in #254
- daemons: Use DoNotQueue when opening connection by @A6GibKm in #261
- cli: Improve help and output by @A6GibKm in #260
- cli: Display Examples header in bold+underline by @A6GibKm in #264
- service: Serve default collection at alias path by @A6GibKm in #267
- README: Add testing instructions by @A6GibKm in #256
- Make services dbus activable by @A6GibKm in #259
- Port to the 2024 edition by @A6GibKm in #203
- Add more logging and always ask for DoNotQueue by @A6GibKm in #265
- server: Use connection builder by @A6GibKm in #263
- client: Improve From semantics for Key by @A6GibKm in #278
- server: Improve Ownership by @A6GibKm in #277
- client: Stop giving mac as Zeroizing by @A6GibKm in #279
- client: file: item: Remove two clones by @A6GibKm in #280
- client: encrypted_item: Remove unnecesary allocs by @A6GibKm in #281
- client: file: Add {,de}serialization test for Item by @A6GibKm in #282
- Systemd creds by @A6GibKm in #253
- client: Add new Mac struct for constant time eq by @A6GibKm in #284
New Contributors
- @noxpardalis made their first contribution in #234
Full Changelog: 0.4.3...0.5.0
0.4.3
0.4.2
What's Changed
Relax the condition when validating the file backend keyring secret and provide various APIs to allow the developer to recover the non-broken items in a keyring or delete the broken ones.
The root cause of the issue has not been identified but at least apps will continue to work as normal if the developer uses Keyring::with_broken_item_cleanup instead of Keyring::new.
More details can be found in #207
0.4.0
What's Changed
- portal: Support migration from legacy keyring format by @ueno in #76
- service: Add signals for collection create/delete/change by @haecker-felix in #82
- client: Add a generic Secret type by @bilelmoussaoui in #151
- client: Don't panic if a cryptography operation fails by @bilelmoussaoui in #172
The server side implementation is still WIP. On the other hand, the secret portal implementation is ready 🎉.
0.3.3
Bilal Elmoussaoui:
- client/item: Force tuple usage when serializing
- client: Use async UnixStream
0.3.2
Kévin Commaille: