1 Yubikey-personalize NEWS -- History of user-visible changes. -*- outline -*-
3 * Version 1.15.1 (released 2014-03-12)
5 * Add -6 and -8 flags to ykchalresp to output the response as a truncated
6 OATH code. Thanks to joernchen of Phenoelit <joernchen@phenoelit.de>
8 * Add -t to ykchalresp to use current time / 30 as challenge in TOTP
9 fashion. Thanks to joernchen of Phenoelit <joernchen@phenoelit.de>
11 * Fix for a crash in the libusb-0.1 backend.
12 Thanks to Antti Keränen <detegr@gmail.com>
14 * Version 1.15.0 (released 2014-01-10)
16 ** add new Neo version 3.2 as supported.
18 ** let ykp_AES_key_from_password() return error if it can't get a random
21 ** let -a without option mean ask for raw key on STDIN.
23 ** let no -a given mean generate a random key
25 ** add ykp_AES_key_from_raw() and ykp_HMAC_key_from_raw() that sets the
26 key from a byte array.
28 ** remove -osalt= and possibility to generate key from password.
30 ** add YK_ENODATA that's returned when no data is returned from
31 the device and no other underlying error is set.
33 * Version 1.14.2 (released 2013-12-30)
35 ** let -m take challenge-response timeout and autoeject timeout
36 supplied with : beteen, so mode:cr-timeout:autoeject-timeout
38 ** make sure to always wait 1 millisecond between writes to the key
39 newer platforms triggered a race where writes to the key could
40 happen in a very short (about 0.4 milliseconds) timespan and would
43 ** minor fixes for the printing format.
45 * Version 1.14.1 (released 2013-09-16)
47 ** Fix breakage with latest automake.
49 * Version 1.14.0 (released 2013-07-04)
51 ** Fixups of import/export.
52 Add targetConfig to show in which slot a configuration is intended.
53 Possible memory leaks on error conditions.
55 ** Add -d switch to ykpersonalize for dry-run.
57 ** Add ykp_clear_config() for clearing configuration flags.
59 ** Add getter functions for all configuration flags.
61 ** Add -V to all tools to output version.
63 ** Add ykp_get_acccode_type() and ykp_set_acccode_type()
64 Only to do with export, showing where the access code came from
67 ** Add -1 and -2 options to ykinfo to show programming state.
69 * Version 1.13.0 (released 2013-04-22)
71 ** Added import/export of ycfg-json format.
72 Invoke with -fjson to -s or -i
73 Add exported functions ykp_export_config() and ykp_import_config()
75 ** Fixup output of flags when using ykp_write_config()
77 ** Add binary builds for mac.
79 ** Minor cleanups noticed during debian packaging.
81 * Version 1.12.0 (released 2013-03-14)
83 ** Recognize firmwares 2.4 and 3.1.
85 ** Add support for setting the new extflag LED_INV
86 When set the behaviour of the led on the YubiKey is inversed.
88 * Version 1.11.3 (released 2013-01-09)
90 ** Fixup of broken release.
92 * Version 1.11.2 (released 2013-01-09)
94 ** Fix a bug where writing a NDEF with unknown prefix ended up writing invalid
95 data to the YubiKey NEO. Wrote prefix as 0x24 instead of 0x00.
97 ** Don't allow opening a YubiKey if there's more than one present in the system.
99 ** Fix shared linking of ykinfo and ykchalresp.
101 * Version 1.11.1 (released 2012-12-21)
103 ** Implement ykusb_strerror() on windows.
105 ** Fix a bug where a YubiKey would fail to be recognized if there was
106 another device from Yubico (vendor id 1050) inserted and looked at
107 before in the device chain.
109 ** Fix a bug where you could only set 8 bytes of the public id with
110 the command line tool, now all 16 bytes can be set.
112 ** Documentation updates and fixes.
114 * Version 1.11.0 (released 2012-12-12)
116 ** Added version symbols and functions.
117 The header file is "ykpers-version.h" and it contains the following
118 symbols and functions: YKPERS_VERSION_STRING, YKPERS_VERSION_NUMBER,
119 YKPERS_VERSION_MAJOR, YKPERS_VERSION_MINOR, YKPERS_VERSION_PATCH,
120 ykpers_check_version. Requested by Giampaolo Bellini
123 * Version 1.10.0 (released 2012-12-11)
125 ** Support for the new productId of the production Neo.
126 Has ProducId 0x110, 0x111 or 0x112 depending on mode (see the notes about
127 -m and device_config).
129 ** Add support for SLOT_NDEF2.
130 Use SLOT_NDEF to emit slot 1 as NDEF or SLOT_NDEF2 to emit slot 2.
131 This also adds the function yk_write_ndef2() that takes a slot parameter.
133 ** Add -m flag for ykpersonalize, set usb mode of YubiKey NEO.
134 0 means pure YubiKey mode, 1 means pure CCID mode and 2 means YubiKey/CCID
135 composite mode. Add 80 to set EJECT_FLAG.
136 To use this with the api, see the functions:
137 ykp_alloc_device_config(), ykp_free_device_config(), ykp_set_device_mode(),
138 ykp_set_device_chalresp_timeout(), ykp_set_device_autoeject_time() and
139 yk_write_device_config().
141 ** Add -S flag for ykpersonalize, set the scanmap of the YubiKey NEO.
142 Take an 90 character string describing 45 scancodes. See man page for more
143 info. To use this with the api see yk_write_scan_map().
145 ** In the api add ykp_ndef_as_text() to export the text from a YK_NDEF structure.
147 ** Higher timeout for configuration writes as in particular swap can take
150 * Version 1.9.0 (released 2012-11-08)
152 ** ykinfo: New tool to print information about YubiKey.
154 ** ykpersonalize: Add -z flag to zap configuration on YubiKey.
156 ** Fix PBKDF2 implementation.
158 * Version 1.8.2 (released 2012-10-17)
160 ** Add udev rules files to packed distribution.
162 * Version 1.8.1 (released 2012-10-17)
164 ** Memory leak fixes and potential crash fixes in osx backend.
166 ** Error reporting fixes in osx backend, reporting correct errors and
169 ** Provide new another udev permissions file that works on udev version
170 greater than 188. Autodetects from configure which to use. Thanks to
171 Maxim Burgerhout <maxim@wzzrd.com>.
173 ** Add new binary ykinfo, can be used to get serial number, version and
174 touch level from a YubiKey.
176 * Version 1.8.0 (released 2012-09-28)
178 ** Added ./configure --enable-gcc-warnings to enable a lot of warnings.
180 ** Added Continuous integration at travis-ci
181 (http://travis-ci.org/#!/Yubico/yubikey-personalization)
183 ** Added yk_challenge_response() function for doing challenge response
186 ** Fixed functions for NDEF writing, adding:
187 ykp_ndef_alloc(), ykp_ndef_free() and ykp_set_ndef_access_code()
188 also providing compatible name YK_NDEF in ykcore.h and exporting
189 yk_write_ndef() there.
190 Change return values from ndef_construct_*() functions to make them
191 consistent with the rest of the library.
193 ** Fixed a crash bug when the library was called from different threads.
195 ** Check return code from libusb_init() so we avoid crashing there.
196 Also use a usb context instead of relying on default.
198 ** Fix numerous warnings.
200 ** Fix compilation in MSVC2010.
202 * Version 1.7.0 (released 2012-06-07)
204 ** Add support for new features in YubiKey 2.3:
205 ALLOW_UPDATE flag that allows updating of configuration in slots.
206 Update command (-u) to do update of existing config.
207 Swap command (-x) to swap contents of two updatable slots
208 DORMANT flag that's settable/removable if ALLOW_UPDATE is set
209 USE_NUMERIC_KEYPAD flag for sending the OATH OTP using keypad scan codes instead
210 FAST_TRIG flag for faster triggering of slot one if slot two is empty
212 ** Change the library around some to make the 2.3 features available.
213 Use ykp_alloc() instead of ykp_create_config().
214 Use ykp_configure_version() instead of ykp_configure_for() to set the version.
215 Use ykp_configure_command() instead of ykp_configure_for() to set slot.
216 Use yk_write_command() instead of yk_write_config().
218 The new commands doesn't set any default configuration at all.
220 ** Add library support for the YubiKey NEO beta
221 ykp_construct_ndef_uri() for preparing a URI to write.
222 ykp_construct_ndef_text() for preparing a text to write.
223 yk_write_ndef() to write the constructed NDEF.
225 ** Add support for the YubiKey NEO beta
226 Writing NDEF URI with -n http://example.com/foo/
227 Writing NDEF Text record with -t example
229 ** Windows: Bump yubico-c dependency to version 1.9.
231 ** Windows: Build fixes related to self checks.
233 * Version 1.6.4 (released 2012-05-24)
235 ** Implement option -ooath-id to easily set OATH token identifier.
237 ** Fix numerous compiler warnings from clang. Thanks to
238 Clemens Lang <neverpanic@gmail.com>.
240 * Version 1.6.3 (released 2011-12-15)
242 ** No real change for regular users. Fix a bug in a test case for
245 * Version 1.6.2 (released 2011-11-28)
247 ** Check return value of calloc() when creating errno variables.
249 ** Fix build on OpenBSD with it's own libusb. Reported and patched by
250 Doug Huff <mith@jrbobdobbs.org>.
252 ** Use correct return type for getopt() - fixes problem on CPUs where
253 'char' defaults to unsigned. Reported by <serge.hallyn@canonical.com>.
255 ** Header files are now usable from C++.
256 Reported by Giampaolo Bellini.
258 ** ykchalresp incorrectly rejected some newer firmwares.
259 Reported by Giampaolo Bellini.
261 * Version 1.6.1 (released 2011-08-15)
263 ** Fix test_args_to_config crash on some platform.
264 The problem was due to mixing PIC and non-PIC object code.
266 * Version 1.6.0 (released 2011-07-20)
268 ** Accept firmware version 2.3.x too.
270 ** ykpersonalize: New parameter -oath-imf for OATH Initial Moving Factor.
271 Contributed by Frank Cusack <frank@google.com>.
273 ** libykpers: New apis for setting/getting OATH Initial Moving Factor.
274 The APIs are ykp_set_oath_imf and ykp_get_oath_imf.
276 * Version 1.5.2 (released 2011-05-10)
278 ** Added an udev file.
279 Use --with-udevrulesdir=/lib/udev/rules.d or similar. Contributed by
282 ** Improve and distribute ykpers4win.mk.
284 ** Cleanup native Windows backend code.
286 ** Fix coredump for challenges of 128 characters in hex decoding.
288 ** Demand that slot choosing parameters comes first on command line.
290 * Version 1.5.1 (released 2011-04-11)
292 ** Added native Windows backend.
293 It is used automatically when building with a Mingw compiler, but you
294 use --with-backend=windows to request it.
296 ** Distribute ykdef.h needed by challenge-response applications.
300 *** Fixed a crash in the self test on 64-bit platforms.
302 *** Fixed a build error in self tests when "-z muldefs" is not supported.
304 *** -ofixed= was incorrectly excluded from pretty-printing of configuration
307 *** Configuring slot 2 was broken on Windows.
309 * Version 1.5.0 (released 2011-03-09)
310 ** An additional binary (ykchalresp) to perform challenge-response was added.
312 ** When generating keys from passphrase, generate 160 bit keys for modes
313 that support it (OATH-HOTP and HMAC challenge response).
315 ** OATH-HOTP usability improvements.
317 ** Serial number of YubiKey (2.2+) is shown with `ykpersonalize -v'.
319 ** Make `configure' detect FreeBSD 8 libusb implementation.
321 * Version 1.4.1 (released 2011-01-19)
322 ** Restore OATH-HOTP symbols for LIBYKPERS_1.0.
323 Accidentally moved to LIBYKPERS_1.4 in 1.4.0.
325 * Version 1.4.0 (released 2011-01-17)
326 ** Add support for new features in YubiKey 2.2.
327 Most notably challenge-response, but also serial number retrieval.
329 ** Stricter argument parsing, to help user avoid configuration surprises.
332 *** Ask kernel to detach USB HID driver with libusb 0.1 too.
334 *** Properly reject keys (-a) with upper case hex, instead of just ignoring
337 *** Really check Yubikey compatibility when setting options.
339 *** Pretty-printer did not handle bit overloaded cfgflags.
340 It is better now, but not perfect.
342 * Version 1.3.5 (released 2010-11-25)
344 ** Fixes to make it work under Windows.
345 Only tested with libusb-1.0 from trunk. See doc/WindowsBuild.wiki.
347 * Version 1.3.4 (released 2010-09-10)
349 ** Fix crash on Mac OS X.
350 Reported by rosmiitto in Issue #6:
351 <http://code.google.com/p/yubikey-personalization/issues/detail?id=6>.
353 ** Fix bug that prevented salting during AES key generation
354 ** from passwords from working. Reported by Ben.
356 ** Add contrib/ sub-directory and contrib/programming.sh from David Dindorp.
357 See contrib/README for more information.
359 * Version 1.3.3 (released 2010-05-20)
361 ** Don't warn about upcoming YubiKey firmware 2.2.x, it is compatible.
363 * Version 1.3.2 (released 2010-03-12)
365 ** Don't warn on YubiKey with firmware 0.9.9, they work fine.
367 ** Fix old firmware error message, it was missing a newline.
369 * Version 1.3.1 (released 2010-01-30)
371 ** Fix build failure in some cases
373 * Version 1.3 (released 2010-01-30)
375 ** libykpers-1: Give warning on unknown firmwares, but don't stop
379 ykpersonalize now supports the OATH-HOTP flags.
381 ** Updated documentation
383 The documentation has been updated to explain the flags a bit better
384 and OATH-HOTP documentation has been added.
386 * Version 1.2 (released 2010-01-22)
388 ** libykpers-1: Whitelist firmware version 2.1 too.
390 * Version 1.1 (released 2009-10-03)
392 ** hex and modhex bugfixes
393 Check of hex and modhex strings perfected.
395 ** Segfaults and improper error codes when asking for help
396 Contributed by Tollef Fog Heen.
398 * Version 1.0 (released 2009-09-18)
402 * Version 0.999 (released 2009-09-17)
404 ** Fix build warnings.
405 May fix decoding issues on some platforms (depending on whether
406 returning a 'void' value is treated as true or false).
408 * Version 0.99 (released 2009-09-12)
410 ** libykpers: Fix build error related to _ykp_errno_location on non-Linux.
411 Reported by Patrick Neave <p.neave@gmail.com>.
413 * Version 0.98 (released 2009-09-08)
415 ** ykpersonalize: Exit with non-0 return code when yubikey is not present.
416 Reported by Greg Woods <woods@ucar.edu>.
418 ** ykpersonalize.1: Keep in sync with tool.
419 By Tollef Fog Heen <tfheen@err.no>.
421 * Version 0.97 (released 2009-09-03)
423 ** libykpers-1: Add linker version script.
424 If linker scripts are not supported, fall back on Libtool
425 -export-symbols-regex. Suggested by Tollef Fog Heen <tfheen@err.no>.
427 ** ykpersonalize: Make -h work even if there is no yubikey present.
428 Suggested by Peter Hultqvist <peter.h@nsf.scout.se>.
430 ** ykpersonalize.1: Link to reference manual for explanation of options.
431 Suggested by Peter Hultqvist <peter.h@nsf.scout.se>.
433 ** Now requires libyubikey v1.5 or later.
435 * Version 0.96 (released 2009-08-27)
437 ** Make all input numbers hex by default.
438 It's still possible to give modhex numbers by preceding them with
441 ** Make it possible to program the second configuration.
442 Added the two flags -1 and -2 to ykpersonalize. This is to support
445 ** Have ykpersonalize show the new configuration and prompt.
446 This makes it possible for the user to prevent incorrect configurations.
448 ** Rename installed library to "libykpers-1" and place
449 ** installed header files in sub-directory ykpers-1/.
450 From now on we promise to retain API and ABI under this name forever.
451 The shared library will be installed as /usr/lib/libykpers-1.so and
452 the header files into /usr/include/ykpers-1/. If there is ever an
453 incompatible API or ABI change in the future, it will be released as a
454 a new library libykpers-2 with header files in ykpers-2/.
456 ** Add pkg-config script "ykpers-1".
457 To learn which flags to build the applications that uses the library,
458 use "pkg-config --cflags --libs ykpers-1".
460 * Version 0.95 (released 2009-08-17)
462 ** Enable handling of programming access code.
463 Includes modification of help (-h) text and manual.
465 * Version 0.94 (released 2009-08-10)
467 ** Improve error handling for libusb-1.0 backend.
468 Thanks to Tollef Fog Heen.
470 ** Added man page for ykpersonalize.
471 Thanks to Tollef Fog Heen.
473 * Version 0.93 (released 2009-08-07)
475 ** Support for libusb-1.0 through --with-backend=libusb-1.0.
476 Thanks to Tollef Fog Heen.
478 ** Clarify -a parameter.
479 Thanks to Alphonse R.M. Hoge.
481 * Version 0.92 (released 2009-05-25)
483 ** Mac OS X build fixes.
485 * Version 0.91 (released 2009-05-07)
487 ** Added Mac OS X backend.
488 Contributed by Christer Kaivo-oja <christer.kaivooja@gmail.com>.
490 ** Added --with-backend parameter to chose backend.
492 * Version 0.9 (released 2009-05-05)
494 ** Initial release candidate.