All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.3.2 2024-10-24
- Update
cbor-smol
dependency to v0.5.0
0.3.1 2024-10-18
- Implement
TryFrom<iso7816::command::CommandView<'a>>
forRequest<'a>
0.3.0 2024-08-01
- Use enums instead of string constants
- Introduce
Version
,Extension
andTransport
enums and use them inctap2::get_info
- Fix serialization of the
AttestationStatementFormat
enum and use it inctap2::make_credential
- Introduce
- Remove
Deserialize
implementation forctap2::get_assertion::Response
- Remove
Serialize
implementation forctap2::{get_assertion, make_credential}::Request
- Move
AttestationStatement
,AttestationStatementFormat
,NoneAttestationStatement
,PackedAttestationStatement
fromctap2::make_credential
into thectap2
module
- Add a
std
feature (disabled by default) - Add
arbitrary::Arbitrary
implementations for all requests behind anarbitrary
feature (disabled by default) - Add support for CTAP 2.2 (#38)
- Add support for the
thirdPartyPayment
extension behind athird-party-payment
feature (disabled by default) - Add new fields to
get_info
- Add unsigned extension outputs to
make_credential
andget_assertion
- Add enterprise attestation support to
get_assertion
- Add support for attestation statements in
get_assertion
- Add support for attestation format preferences
- Add support for the
- Derive
Copy
forctap2::AttestationStatementFormat
0.2.0 - 2024-06-21
- Rename
url
toicon
inPublicKeyCredentialRpEntity
and ignore its content (#9) - Truncate overlong
name
anddisplayName
values forPublicKeyCredentialEntity
instances (#30) - Send empty response to clientPin instead of empty map (#13)
- Use references rather owned byte vectors to reduce the size of structs (#16)
- Accept more than 12 algorithms (#17)
- Add support for the
largeBlobKey
extension (#18) - Remove
AuthenticatorDataFlags::EMPTY
(useAuthenticatorDataFlags::empty()
instead) - Allow missing algorithms in COSE keys (#8)
- Remove unused
REALISTIC_MAX_MESSAGE_SIZE
constant - Handle overlong
icon
values inPublicKeyCredentialUserEntity
(#27) - Update for compatibility with PIN protocol 2
- Add support for permissions in
ctap2::client_pin
- Replace
cose
module withcosey
dependency (#36) - Mark
get_assertion::{ExtensionsInput, ExtensionsOutput}
andmake_credential::Extensions
as non-exhaustive and implementDefault
- Mark CTAP2 request and response types as non-exhaustive where possible
- Use references where possible
- Put uncommon fields in
get_info
behindget-info-full
feature flag and add fields for CTAP 2.1 - Use byte arrays instead of slices or Bytes<_> where possible
- Make
att_stmt
optional inmake_credential::Response
, preparing for CTAP 2.2
0.1.2 - 2022-03-07
Yanked 0.1.1 instead of 0.1.0 by mistake, re-releasing.
0.1.1 - 2022-03-07
- add CTAP2.1 Selection command
- add CTAP2.1 options
We will release this and yank 0.1.0, to avoid a minor version bump.
0.1.0 - 2022-03-05
- use 2021 edition
- make CTAP1 and CTAP2 more homogeneous
- add Authenticator traits
- lower
MAX_CREDENTIAL_ID_LENGTH
to 255 bytes, which seems to be the limit used in practice (coming from U2F's size bytes) - replace
MESSAGE_SIZE
with a theoretical and a realistic constant - use iso7816 0.1.0 release