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