Releases: 1Password/passkey-rs
Releases · 1Password/passkey-rs
Passkey v0.5.0
- Migrate project to Rust 2024 edition
passkey-authenticator v0.5.0
- Ignore the deprecated
rkoption in requests (#67) - ⚠ BREAKING: Add
user_handleas an optional parameter inCredentialStore::find_credentials
to allow filtering onuser_handle. (#67) - Stop returning an error when we find credentials in the
exclude_credentialslist.
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
UserValidationMethodtrait has been updated to useUiHint
to give the implementation more information about the request, which can be used
to decide whether additional validations are needed. To reflect this, the
UserValidationMethodtrait now also returns which validations were performed. (#76) - ⚠ BREAKING: Change the
CredentialStoreandUserValidationMethodassociated type constraint
to a newPasskeyAccessortrait instead of theTryInto<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_infomethod 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
usernameanduser_display_nameto thePasskeytype 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::Responseto have all the fields from ctap 2.2 (#88)
Passkey v0.4
passkey-authenticator v0.4.0
- Added: support for controlling generated credential's ID length to Authenticator (#49)
- ⚠ BREAKING: Removal of
Authenticator::set_display_nameandAuthenticator::display_namemethods (#51)
passkey-client v0.4.0
- ⚠ BREAKING: Update android asset link verification (#51)
- Change
asset_link_urlparameter inUnverifiedAssetLink::newto be required rather than optional. - Remove internal string in
ValidationError::InvalidAssetLinkUrlvariant.
- Change
- Remove special casing of responses for specific RPs (#51)
- Added
RpIdValidator::is_valid_rp_idto verify that an rp_id is valid to be used as such (#51)
passkey-types v0.4.0
- ⚠ BREAKING: Removal of
CredentialPropertiesOutput::authenticator_display_name(#51)
passkey-v0.3.0
Passkey v0.3.0
passkey-authenticator v0.3.0
- Added: support for signature counters
- ⚠ BREAKING: Add
update_credentialfunction toCredentialStore(#23). - Add
make_credentials_with_signature_countertoAuthenticator.
- ⚠ BREAKING: Add
- ⚠ 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.
- Removed:
- Added: Support for discoverable credentials
- ⚠ BREAKING: Added:
CredentialStore::get_infowhich returnsStoreInfocontainingDiscoverabilitySupport. - ⚠ BREAKING: Changed:
CredentialStore::save_credentialnow also takesOptions. - Changed:
Authenticator::make_credentialsnow returns an error if a discoverable credential was requested but not supported by the store.
- ⚠ BREAKING: Added:
passkey-client v0.3.0
- Changed: The
Clientno longer hardcodes the UV value sent to theAuthenticator(#22). - Changed: The
Clientno longer hardcodes the RK value sent to theAuthenticator(#27). - The client now supports additional user-defined properties in the client data, while also clarifying how the client
handles client data and its hash.- ⚠ BREAKING: Changed:
registerandauthenticatetakeClientData<E>instead ofOption<Vec<u8>>. - ⚠ BREAKING: Changed: Custom client data hashes are now specified using
DefaultClientDataWithCustomHash(Vec<u8>)instead of
Some(Vec<u8>). - Added: Additional fields can be added to the client data using
DefaultClientDataWithExtra(ExtraData).
- ⚠ BREAKING: Changed:
- Added: The
Clientnow has the ability to adjust the response for quirky relying parties
when a fully featured response would break their server side validation. (#31) - ⚠ BREAKING: Added the
Originenum which is now the origin parameter for the following methods (#32):Client::registertakes animpl Into<Origin>instead of a&UrlClient::authenticatetakes animpl Into<Origin>instead of a&UrlRpIdValidator::assert_domaintakes an&Origininstead of a&Url
- ⚠ BREAKING: The collected client data will now have the android app signature as the origin when a request comes from an app directly. (#32)
passkey-types v0.3.0
CollectedClientDatais now generic and supports additional strongly typed fields. (#28)- Changed:
CollectedClientDatahas changed toCollectedClientData<E = ()>
- Changed:
- The
Clientnow returnsCredProps::rkdepending on the authenticator's capabilities. (#29) - ⚠ BREAKING: Rename webauthn extension outputs to be consistent with inputs. (#33)
- ⚠ BREAKING: Create new extension inputs for the CTAP authenticator inputs. (#33)
- ⚠ BREAKING: Add unsigned extension outputs for the CTAP authenticator outputs. (#34)
- ⚠ BREAKING: Add ability for
Passkeyto store associated extension data. (#36) - ⚠ BREAKING: Change version and extension information in
ctap2::get_infofrom strings to enums. (#39) - ⚠ BREAKING: Add missing CTAP2.1 fields to
make_credential::Responseandget_assertion::Response. (#39) - Make the
PublicKeyCredentialoutputs equatable in swift. (#39)
Full Changelog: passkey-v0.2.0...passkey-v0.3.0