PackageTrack
Sign in Get early access

passkey-types

Rust type definitions for the webauthn and CTAP specifications

0.5.0 4.7M downloads/mo #4668 most downloaded on crates.io 1Password/passkey-rs

What this package is like to depend on

Last release 7 months ago

07 Jan 2026

Ships fairly regularly

a new release about every 5 months

Most releases are documented

notes for 6 of 7 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

7 releases · first in 2023

1 release in the last 12 months

see the full history below

Release timeline

7 releases · Feb 2023 to Jan 2026
2024 2025 2026
Release Pre-release

Releases

latest 7
  1. 0.5.0 07 Jan 2026
    Release notes
    • Migrate project to Rust 2024 edition

    passkey-authenticator v0.5.0

    • Ignore the deprecated rk option in requests (#67)
    • ⚠ BREAKING: Add user_handle as an optional parameter in CredentialStore::find_credentials
      to allow filtering on user_handle. (#67)
    • Stop returning an error when we find credentials in the exclude_credentials list.
      This allows for updating/replacing credentials should the user so wish. (#67)
    • Fix hmac-secret logic around the second salt (#67)
    • ⚠ BREAKING: Fix Ctap2Api trait to correctly call the concrete method to prevent recursion (#67)
    • ⚠ BREAKING: The UserValidationMethod trait has been updated to use UiHint
      to give the implementation more information about the request, which can be used
      to decide whether additional validations are needed. To reflect this, the
      UserValidationMethod trait now also returns which validations were performed. (#76)
    • ⚠ BREAKING: Change the CredentialStore and UserValidationMethod associated type constraint
      to a new PasskeyAccessor trait instead of the TryInto<Passkey>, making it possible to use a
      custom passkey representation type that goes throughout the entire flow without losing any
      additional information through a conversion. (#87)
    • ⚠ BREAKING: The Ctap2Api::get_info method now returns a boxed response due to the size of
      the response. (#88)

    passkey-client v0.5.0

    • ⚠ BREAKING: Add support for RelatedOrigins to the RpIdVerifier through a generic fetcher (#67)

    passkey-types v0.5.0

    • Make output types Hashable in Swift code gen (#67)
    • Support stringified booleans in webauthn requests (#67)
    • Be more tolerant to failed deserialization of optional vectors (#67)
    • ⚠ BREAKING: Add username and user_display_name to the Passkey type and its mock builder. (#87)
    • Update CTAP2 types to ignore unknown values during deserialization,
      just like their WebAuthn equivalents. (#88)
    • ⚠ BREAKING: Update ctap2::get_info::Response to have all the fields from ctap 2.2 (#88)
    Open source →
    Release notes

    chore: Release passkey-types version 0.5.0

    Open source →
    Release notes
    • Ignore the deprecated rk option in requests (#67)
    • ⚠ BREAKING: Add user_handle as an optional parameter in CredentialStore::find_credentials to allow filtering on user_handle. (#67)
    • Stop returning an error when we find credentials in the exclude_credentials list. This allows for updating/replacing credentials should the user so wish. (#67)
    • Fix hmac-secret logic around the second salt (#67)
    • ⚠ BREAKING: Fix Ctap2Api trait to correctly call the concrete method to prevent recursion (#67)
    • ⚠ BREAKING: The UserValidationMethod trait has been updated to use UiHint to give the implementation more information about the request, which can be used to decide whether additional validations are needed. To reflect this, the UserValidationMethod trait now also returns which validations were performed. (#76)
    • ⚠ BREAKING: Change the CredentialStore and UserValidationMethod associated type constraint to a new PasskeyAccessor trait instead of the TryInto<Passkey>, making it possible to use a custom passkey representation type that goes throughout the entire flow without losing any additional information through a conversion. (#87)
    • ⚠ BREAKING: The Ctap2Api::get_info method now returns a boxed response due to the size of the response. (#88)
    Open source →
  2. 0.4.0 17 Dec 2024
    Release notes

    chore: Release passkey-types version 0.4.0

    Open source →
    Release notes
    • Added: support for controlling generated credential's ID length to Authenticator (#49)
    • ⚠ BREAKING: Removal of Authenticator::set_display_name and Authenticator::display_name methods (#51)
    Open source →
  3. 0.3.0 13 Sep 2024
    Release notes
    • Added: support for signature counters
      • ⚠ BREAKING: Add update_credential function to CredentialStore (#23).
      • Add make_credentials_with_signature_counter to Authenticator.
    • ⚠ BREAKING: Merge functions in UserValidationMethod (#24)
      • Removed: UserValidationMethod::check_user_presence
      • Removed: UserValidationMethod::check_user_verification
      • Added: UserValidationMethod::check_user. This function now performs both user presence and user verification checks. The function now also returns which validations were performed, even if they were not requested.
    • Added: Support for discoverable credentials
      • ⚠ BREAKING: Added: CredentialStore::get_info which returns StoreInfo containing DiscoverabilitySupport.
      • ⚠ BREAKING: Changed: CredentialStore::save_credential now also takes Options.
      • Changed: Authenticator::make_credentials now returns an error if a discoverable credential was requested but not supported by the store.
    Open source →
  4. 0.2.0 14 Dec 2023
    Release notes

    Most of these changes are adding fields to structs which are breaking changes due to the current lack of builder methods for these types. Due to this, additions of fields to structs or variants to enums won't be marked as breaking in this release's notes. Other types of breaking changes will be explicitly called out.

    • ⚠ BREAKING: Update bitflags from v1 to v2. This means ctap2::Flags no longer implement PartialOrd, Ord and Hash as those traits aren't applicable.
    • Added a transports field to ctap2::get_info::Response
    • Changes in webauthn::PublicKeyCredential:
      • ⚠ BREAKING: authenticator_attachment is now optional
      • ⚠ BREAKING: client_extension_results's type has been renamed from AuthenticationExtensionsClientOutputs to AuthenticatorExtensionsClientOutputs
    • Changes for webauthn::PublicKeyCredentialRequestOptions:
      • timeout now supports deserializing from a stringified number
      • user_verification will now ignore unknown values instead of returning an error on deserialization
      • Add hints field (#9)
      • Add attestation and attestation_formats fields
    • Changes for webauthn::AuthenticatorAssertionResponse
      • Add attestation_object field
    • Changes for webauthn::PublicKeyCredentialCreationOptions:
      • timeout now supports deserializing from a stringified number
      • Add hints field (#9)
      • Add attestation_formats field
    • Fix webauthn::CollectedClientData JSON serialization to correctly follow the spec. (#6)
      • Add unknown_keys field
      • Always serializes cross_origin with a boolean even if it is set to None
      • ⚠ BREAKING: Remove from #[typeshare] generation as #[serde(flatten)] on unknown_keys is not supported.
    • Add webauthn::ClientDataType::PaymentGet variant.
    • Make all enums with unit variants Clone, Copy, PartialEq and Eq
    • Add support for the CredProps extension with authenticatorDisplayName
    Open source →
  5. 0.1.1 28 Jul 2023
    Release notes
    • Update the public suffix list
    Open source →
  6. 0.1.0 22 Feb 2023
    Release notes

    A new crate! This crate houses the swappable cryptographic backends for different libraries should you wish/need to use a different set of libraries than the default RustCrypto libraries. As always PRs are accepted to add new backends should you wish to not use plenty of newtypes to get around the orphan rules.

    • New RngBackend trait which replaces the pre-existing passkey-types::rand::random_vec function. Use this new method as passkey-crypto::rng::Rng::random_vec.
    Open source →
  7. 0.0.1 08 Feb 2023

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive