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