1* Version 1.14.0 (2023-11-13) 2 ** fido2-cred -M, fido2-token -G: support raw client data via -w flag. 3 ** winhello: support U2F AppID extension for assertions. 4 ** winhello: fix restrictive parsing of the hmac-secret on assertions. 5 ** winhello: translate NTE_USER_CANCELLED to FIDO_ERR_OPERATION_DENIED; gh#685. 6 ** New API calls: 7 ** fido_assert_authdata_raw_len; 8 ** fido_assert_authdata_raw_ptr; 9 ** fido_assert_set_winhello_appid. 10 11* Version 1.13.0 (2023-02-20) 12 ** Support for linking against OpenSSL on Windows; gh#668. 13 ** New API calls: 14 - fido_assert_empty_allow_list; 15 - fido_cred_empty_exclude_list. 16 ** fido2-token: fix issue when listing large blobs. 17 ** Improved support for different fuzzing engines. 18 19* Version 1.12.0 (2022-09-22) 20 ** Support for COSE_ES384. 21 ** Support for hidraw(4) on FreeBSD; gh#597. 22 ** Improved support for FIDO 2.1 authenticators. 23 ** New API calls: 24 - es384_pk_free; 25 - es384_pk_from_EC_KEY; 26 - es384_pk_from_EVP_PKEY; 27 - es384_pk_from_ptr; 28 - es384_pk_new; 29 - es384_pk_to_EVP_PKEY; 30 - fido_cbor_info_certs_len; 31 - fido_cbor_info_certs_name_ptr; 32 - fido_cbor_info_certs_value_ptr; 33 - fido_cbor_info_maxrpid_minpinlen; 34 - fido_cbor_info_minpinlen; 35 - fido_cbor_info_new_pin_required; 36 - fido_cbor_info_rk_remaining; 37 - fido_cbor_info_uv_attempts; 38 - fido_cbor_info_uv_modality. 39 ** Documentation and reliability fixes. 40 41* Version 1.11.0 (2022-05-03) 42 ** Experimental PCSC support; enable with -DUSE_PCSC. 43 ** Improved OpenSSL 3.0 compatibility. 44 ** Use RFC1951 raw deflate to compress CTAP 2.1 largeBlobs. 45 ** winhello: advertise "uv" instead of "clientPin". 46 ** winhello: support hmac-secret in fido_dev_get_assert(). 47 ** New API calls: 48 - fido_cbor_info_maxlargeblob. 49 ** Documentation and reliability fixes. 50 ** Separate build and regress targets. 51 52* Version 1.10.0 (2022-01-17) 53 ** hid_osx: handle devices with paths > 511 bytes; gh#462. 54 ** bio: fix CTAP2 canonical CBOR encoding in fido_bio_dev_enroll_*(); gh#480. 55 ** winhello: fallback to GetTopWindow() if GetForegroundWindow() fails. 56 ** winhello: fallback to hid_win.c if webauthn.dll isn't available. 57 ** New API calls: 58 - fido_dev_info_set; 59 - fido_dev_io_handle; 60 - fido_dev_new_with_info; 61 - fido_dev_open_with_info. 62 ** Cygwin and NetBSD build fixes. 63 ** Documentation and reliability fixes. 64 ** Support for TPM 2.0 attestation of COSE_ES256 credentials. 65 66* Version 1.9.0 (2021-10-27) 67 ** Enabled NFC support on Linux. 68 ** Added OpenSSL 3.0 compatibility. 69 ** Removed OpenSSL 1.0 compatibility. 70 ** Support for FIDO 2.1 "minPinLength" extension. 71 ** Support for COSE_EDDSA, COSE_ES256, and COSE_RS1 attestation. 72 ** Support for TPM 2.0 attestation. 73 ** Support for device timeouts; see fido_dev_set_timeout(). 74 ** New API calls: 75 - es256_pk_from_EVP_PKEY; 76 - fido_cred_attstmt_len; 77 - fido_cred_attstmt_ptr; 78 - fido_cred_pin_minlen; 79 - fido_cred_set_attstmt; 80 - fido_cred_set_pin_minlen; 81 - fido_dev_set_pin_minlen_rpid; 82 - fido_dev_set_timeout; 83 - rs256_pk_from_EVP_PKEY. 84 ** Reliability and portability fixes. 85 ** Better handling of HID devices without identification strings; gh#381. 86 ** Fixed detection of Windows's native webauthn API; gh#382. 87 88* Version 1.8.0 (2021-07-22) 89 ** Dropped 'Requires.private' entry from pkg-config file. 90 ** Better support for FIDO 2.1 authenticators. 91 ** Support for Windows's native webauthn API. 92 ** Support for attestation format 'none'. 93 ** New API calls: 94 - fido_assert_set_clientdata; 95 - fido_cbor_info_algorithm_cose; 96 - fido_cbor_info_algorithm_count; 97 - fido_cbor_info_algorithm_type; 98 - fido_cbor_info_transports_len; 99 - fido_cbor_info_transports_ptr; 100 - fido_cred_set_clientdata; 101 - fido_cred_set_id; 102 - fido_credman_set_dev_rk; 103 - fido_dev_is_winhello. 104 ** fido2-token: new -Sc option to update a resident credential. 105 ** Documentation and reliability fixes. 106 ** HID access serialisation on Linux. 107 108* Version 1.7.0 (2021-03-29) 109 ** New dependency on zlib. 110 ** Fixed musl build; gh#259. 111 ** hid_win: detect devices with vendor or product IDs > 0x7fff; gh#264. 112 ** Support for FIDO 2.1 authenticator configuration. 113 ** Support for FIDO 2.1 UV token permissions. 114 ** Support for FIDO 2.1 "credBlobs" and "largeBlobs" extensions. 115 ** New API calls: 116 - fido_assert_blob_len; 117 - fido_assert_blob_ptr; 118 - fido_assert_largeblob_key_len; 119 - fido_assert_largeblob_key_ptr; 120 - fido_assert_set_hmac_secret; 121 - fido_cbor_info_maxcredbloblen; 122 - fido_cred_largeblob_key_len; 123 - fido_cred_largeblob_key_ptr; 124 - fido_cred_set_blob; 125 - fido_dev_enable_entattest; 126 - fido_dev_force_pin_change; 127 - fido_dev_has_uv; 128 - fido_dev_largeblob_get; 129 - fido_dev_largeblob_get_array; 130 - fido_dev_largeblob_remove; 131 - fido_dev_largeblob_set; 132 - fido_dev_largeblob_set_array; 133 - fido_dev_set_pin_minlen; 134 - fido_dev_set_sigmask; 135 - fido_dev_supports_credman; 136 - fido_dev_supports_permissions; 137 - fido_dev_supports_uv; 138 - fido_dev_toggle_always_uv. 139 ** New fido_init flag to disable fido_dev_open's U2F fallback; gh#282. 140 ** Experimental NFC support on Linux; enable with -DNFC_LINUX. 141 142* Version 1.6.0 (2020-12-22) 143 ** Fix OpenSSL 1.0 and Cygwin builds. 144 ** hid_linux: fix build on 32-bit systems. 145 ** hid_osx: allow reads from spawned threads. 146 ** Documentation and reliability fixes. 147 ** New API calls: 148 - fido_cred_authdata_raw_len; 149 - fido_cred_authdata_raw_ptr; 150 - fido_cred_sigcount; 151 - fido_dev_get_uv_retry_count; 152 - fido_dev_supports_credman. 153 ** Hardened Windows build. 154 ** Native FreeBSD and NetBSD support. 155 ** Use CTAP2 canonical CBOR when combining hmac-secret and credProtect. 156 157* Version 1.5.0 (2020-09-01) 158 ** hid_linux: return FIDO_OK if no devices are found. 159 ** hid_osx: 160 - repair communication with U2F tokens, gh#166; 161 - reliability fixes. 162 ** fido2-{assert,cred}: new options to explicitly toggle UP, UV. 163 ** Support for configurable report lengths. 164 ** New API calls: 165 - fido_cbor_info_maxcredcntlst; 166 - fido_cbor_info_maxcredidlen; 167 - fido_cred_aaguid_len; 168 - fido_cred_aaguid_ptr; 169 - fido_dev_get_touch_begin; 170 - fido_dev_get_touch_status. 171 ** Use COSE_ECDH_ES256 with CTAP_CBOR_CLIENT_PIN; gh#154. 172 ** Allow CTAP messages up to 2048 bytes; gh#171. 173 ** Ensure we only list USB devices by default. 174 175* Version 1.4.0 (2020-04-15) 176 ** hid_hidapi: hidapi backend; enable with -DUSE_HIDAPI=1. 177 ** Fall back to U2F if the key claims to, but does not support FIDO2. 178 ** FIDO2 credential protection (credprot) support. 179 ** New API calls: 180 - fido_cbor_info_fwversion; 181 - fido_cred_prot; 182 - fido_cred_set_prot; 183 - fido_dev_set_transport_functions; 184 - fido_set_log_handler. 185 ** Support for FreeBSD. 186 ** Support for C++. 187 ** Support for MSYS. 188 ** Fixed EdDSA and RSA self-attestation. 189 190* Version 1.3.1 (2020-02-19) 191 ** fix zero-ing of le1 and le2 when talking to a U2F device. 192 ** dropping sk-libfido2 middleware, please find it in the openssh tree. 193 194* Version 1.3.0 (2019-11-28) 195 ** assert/hmac: encode public key as per spec, gh#60. 196 ** fido2-cred: fix creation of resident keys. 197 ** fido2-{assert,cred}: support for hmac-secret extension. 198 ** hid_osx: detect device removal, gh#56. 199 ** hid_osx: fix device detection in MacOS Catalina. 200 ** New API calls: 201 - fido_assert_set_authdata_raw; 202 - fido_assert_sigcount; 203 - fido_cred_set_authdata_raw; 204 - fido_dev_cancel. 205 ** Middleware library for use by OpenSSH. 206 ** Support for biometric enrollment. 207 ** Support for OpenBSD. 208 ** Support for self-attestation. 209 210* Version 1.2.0 (released 2019-07-26) 211 ** Credential management support. 212 ** New API reflecting FIDO's 3-state booleans (true, false, absent): 213 - fido_assert_set_up; 214 - fido_assert_set_uv; 215 - fido_cred_set_rk; 216 - fido_cred_set_uv. 217 ** Command-line tools for Windows. 218 ** Documentation and reliability fixes. 219 ** fido_{assert,cred}_set_options() are now marked as deprecated. 220 221* Version 1.1.0 (released 2019-05-08) 222 ** MacOS: fix IOKit crash on HID read. 223 ** Windows: fix contents of release file. 224 ** EdDSA (Ed25519) support. 225 ** fido_dev_make_cred: fix order of CBOR map keys. 226 ** fido_dev_get_assert: plug memory leak when operating on U2F devices. 227 228* Version 1.0.0 (released 2019-03-21) 229 ** Native HID support on Linux, MacOS, and Windows. 230 ** fido2-{assert,cred}: new -u option to force U2F on dual authenticators. 231 ** fido2-assert: support for multiple resident keys with the same RP. 232 ** Strict checks for CTAP2 compliance on received CBOR payloads. 233 ** Better fuzzing harnesses. 234 ** Documentation and reliability fixes. 235 236* Version 0.4.0 (released 2019-01-07) 237 ** fido2-assert: print the user id for resident credentials. 238 ** Fix encoding of COSE algorithms when making a credential. 239 ** Rework purpose of fido_cred_set_type; no ABI change. 240 ** Minor documentation and code fixes. 241 242* Version 0.3.0 (released 2018-09-11) 243 ** Various reliability fixes. 244 ** Merged fuzzing instrumentation. 245 ** Added regress tests. 246 ** Added support for FIDO 2's hmac-secret extension. 247 ** New API calls: 248 - fido_assert_hmac_secret_len; 249 - fido_assert_hmac_secret_ptr; 250 - fido_assert_set_extensions; 251 - fido_assert_set_hmac_salt; 252 - fido_cred_set_extensions; 253 - fido_dev_force_fido2. 254 ** Support for native builds with Microsoft Visual Studio 17. 255 256* Version 0.2.0 (released 2018-06-20) 257 ** Added command-line tools. 258 ** Added a couple of missing get functions. 259 260* Version 0.1.1 (released 2018-06-05) 261 ** Added documentation. 262 ** Added OpenSSL 1.0 support. 263 ** Minor fixes. 264 265* Version 0.1.0 (released 2018-05-18) 266 ** First beta release. 267