Skip to content

v0.3.0

Pre-release
Pre-release

Choose a tag to compare

@iinuwa iinuwa released this 28 Aug 14:24
· 11 commits to main since this release
98d6a8e

This release is a big milestone toward our goal of providing a Credential portal. To that end, we have changed the structure of credentialsd to fit the patterns from credentialsd portal. We also now have a dependency on xdg-desktop-portal to use credentialsd.

linux-credentials/xdg-desktop-portal contains the patches needed to run xdg-desktop-portal while we work on upstreaming the changes.

Screenshot-20260828T061943

Known Issues

UI service does not start automatically

The xyz.iinuwa.credentialsd.UiControl service should be D-Bus activatable, but it does not start properly. To use credentialsd, you will have to manually run systemctl --user start xyz.iinuwa.credentialsd.UiControl.service. We will fix this in a subsequent patch release.

USB requests spam logs

The logging level for polling USB was accidentally set to INFO instead of trace, so many logs will be shown while a passkey request is active. This will be fixed in the next patch release.

Firefox Flatpak depends on Freedesktop Beta SDK

The Firefox Flatpak requires a newer version of Glibc than is available on the released versions of the Freedesktop SDK for Flatpak. It is built with the 26.08 beta SDK, which means to install it, you must enable the beta repository with the command below. We will update the Flatpak as soon as the 26.08 SDK is released.

flatpak remote-add --user --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo

Alternatively, you can use the credentialsd-helper@iinuwa.xyz-0.2.0.xpi Firefox extension and the associated credentialsd-webextension package included in the release artifacts below.

Breaking Changes

  • daemon: Removed FlowControl service in favor of portal handler.
  • daemon: Added a dependency on a patched xdg-desktop-portal to run credentialsd.
  • daemon: Send CTAP2 hybrid QR code data to UI over a file descriptor.
  • daemon: Require origin parameter to be set on CreateCredential and GetCredential.
  • daemon: Flatten request inputs to remove request_json field, making construction more straightforward.
  • ui: Reordered parameters in RequestingApplication, and made app name optional.
  • ui: Send client PIN to daemon over a file descriptor.
  • ui: Move discovery from UI service to daemon.
  • ui: Lookup app display name from UI instead of daemon.

Improvements

  • ci: Move build directory to take better advantage of caching. (Thank you, @norepro!)
  • daemon: Added a handler service to handle Credential portal requests on behalf of xdg-desktop-portal.
  • daemon: Accept top_origin as an optional parameter to CreateCredential and GetCredential.
  • daemon: Expand list of trusted callers to paths where distros commonly place xdg-desktop-portal.
  • daemon: Remove busy loop on USB polling taking up a bunch of CPU.
  • daemon: Validate related origins requests.
  • daemon: Add support for CTAP2 hybrid over BLE behind a feature flag.
  • daemon: Deduplicate USB state events emitted over D-Bus.
  • daemon: Don't use hybrid when not available
  • daemon: Cancel other transports, if one succeeded/failed
  • daemon: Return InvalidStateError to caller when credential is excluded.
  • ui: Add Georgian translations. (Thank you, @EkaterinePapava!)
  • ui: Add a portal backend API to credentialsd-ui.
  • ui: Allow setting client PIN during the flow when required.
  • ui: Send initial list of devices on UI initialization.
  • ui: Reorganize credential selection screen to promote hybrid QR code.
  • ui: Convert UI templates to Blueprint.
  • webext: Ignore conditional mediation requests.
  • webext: Fix request routing issues when multiple tabs are active.
  • webext: Only start extension during WebAuthn calls for performance.
  • webext: Propagate gateway errors to JavaScript correctly.
  • webext: Load Firefox extension on all sites

PRs merged

New Contributors

Full Changelog: v0.2.0...v0.3.0