Skip to content

v0.11.0

Compare
Choose a tag to compare
@james-d-elliott james-d-elliott released this 29 Jul 12:04
· 36 commits to master since this release
f8b9177

v0.11.0 (2024-07-29)

Features

BREAKING CHANGES

While I endeavor to avoid breaking changes some are necessary to support both better outcomes for implementers and fix issues which are not desirable. This release packs a quite a few, so it's important to take the time to read. While the details on adapting are not comprehensive, they should easy to understand and clarification will be added where it makes sense. Feel free to open a discussion if you're having issues migrating.

  • MAJOR: A majority of the functionality that exists within the metadata package has been completely reworked. The rework has added a number of great validation options for implementers as well as allowing them to more easily manage metadata blobs and the refresh of these blobs in their own domain logic. This will require substantial work for anyone currently using it. I will aim to make a discussion explaining all of it in the coming days.
  • The following fields and backwards compatible elements have been removed; Icon field from the CredentialEntity struct, WebAuthnIcon function from the User interface, RPIcon/RPOrigin/Timeout fields from the Config struct, Transports field from the CredentialCreationResponse (new field has existed in the AuthenticatorAttestationResponse struct for quite some time which matches the spec).
  • The Backup Eligible and Backup State flags within the CredentialFlags struct (field of the Credential struct) are now strictly validated to be consistent with the spec. This breaks implementations which do not strictly adhere to the specification. Several major providers either have or are currently "upgrading" existing WebAuthn credential records to BE and BS passkeys.
  • The default modality values are now empty by default. This allows additional browser flows to be accessible to implementers. This change will change default behavior. Previously the required resident key value was set to false, and the user verification option was set to 'preferred'. Implementers looking for consistent values should customize the Authenticator Selection Criteria during registration.