Releases: Yubico/yubikit-ios
YubiKit 4.6.0
In this version support for the YubiKey Bio - Multi-protocol Edition and partial support for the new 5.7 firmware has been added.
- Device Reset for Bio multi-protocol YubiKeys.
- Get bio metadata in YKFPIVSession.
- Bio YubiKey fingerprint authentication for YKFPIVSession.
- Support for moving and deleting keys in YKFPIVSession.
- Read NFC restricted status in YKFManagementSession.
- PIN complexity added to YKFManagementSession.
- FPS and STM version is now parsed in YKFManagementSession.
- Support for RSA3072 and RSA4096 keys added to YKFPIVSession.
- Fixes issue where stopAccessoryConnection() would fail if no YubiKey was inserted when called.
YubiKit 4.5.0
Add support for sending and returning raw commands to the YKFConnectionProtocol
.
YubiKit 4.4.1
- Removed deprecated PCSCLayer.
- Fixes bug in OATH identifier parsing.
- Fixes bug where signWithKeyInSlot in YKFPIVSession could call its completion twice.
- Updated device support list with new iPhone models.
YubiKit 4.4.0
- Added support for storing and reading compressed PIV certificates.
- Fixes bug in error handling in getCertificateInSlot() in the YKFPIVSession.
- Fixed missing iOS devices.
YubiKit 4.3.0
- Added USC-C support on iPads running iPadOS 16 using TKSmartCard.
- Added support for using access key for YKFOATHSession.
- Improved OATH error handling when saving a new account.
- Colon character no longer allowed in OATH issuer.
- More validation options when creating a YKFOATHCredentialTemplate.
- didFailConnectingNFC will no longer be called if the connection was closed by calling stopNFCConection().
- Fixes issue where wrong error type was returned in various parts of the SDK.
- YKFAccessoryConnection.accessoryDescription is no longer marked as deprecated.
YubiKit 4.2.0
- Fixed calculation of non-truncated HMAC signatures in OATH.
- Fixed crash on iOS 15 when scanning OTP over NFC.
- CoreNFC specified as weak framework fixing crash on devices not supporting NFC.
- Fixed broken header file imports for static compiled libraries.
- Bug fixes for PIN handling in FIDO2.
- Replaced TKBERTLVRecord from CryptoTokenKit with own BERTLV implementation. This fixes issues on older iOS versions.
YubiKit 4.1.0
- Optional timestamp parameter added to OATH calculate and calculateAll methods.
- Firmware version is now a public variable on
YKFManagementSession
. - If a connection is already present when setting the
YKFManagerDelegate
it will return that connection immideatly. - Extra dot at the end of
YKFVersion
string removed. - Fixed memory issues where we retained the
YKFManagerDelegate
. - Fixed issue where failing to unlock a key with passcode before sending an OATH command got the session in a non recoverable state.
- Improved control over the messages displayed in the NFC dialog.
- Added
- (void)dispatchBlockOnCommunicationQueue:(YKFConnectionControllerCommunicationQueueBlock)block
toYKFConnectionControllerProtocol
that will run a block after all enqueued commands has finished. - Improved error handling in OATH session.
- More robust algorithm comparison in PIV session.
- Fixed bug where an auth required error was sent instead of touch timeout in OATH session.
- Fixed bug where the number of OATH accounts you could read was limited to around 8
- Added new optional connection delegate method that will signal if the NFC dialog was cancelled by the user or timed out.
- Swift package manager header files exluded from Cocoapod distribution.
- Various array out of bounds checks
- Improved error checks
- Fixes bug where authenticateWithManagementKey in the YKFPIVSession would fail to call its completion handler upon failure.
- Fixes broken implementation of non truncated OATH codes
YubiKit 4.0.0
This release breaks backwards compatibility with previous versions of the SDK. The reason for this is to make the SDK easier to
integrate and also align better with Yubico's other SDKs in regards of naming conventions and concepts. Read the
transition guide for more details.
-
Replaced KVO with a delegate protocol for monitoring changes in the YubiKey connection status.
-
YKFNFCConnection
andYKFAccessoryConnection
now represent the NFC and Accessory connections to the YubiKey. -
The two
YKFConnections
provide the differentYKFSessions
used to communicate with the applications on
the YubiKey, i.eYKFOATHSession
,YKFPIVSession
. -
Replaced
YKFRawCommandService
withYKFSmartCardInterface
, which adds functionality for automatically handling multipart
responses from the YubiKey and improves error handling. -
Added
YKFPIVSession
which allows the SDK to easily communicate with the PIV application on the YubiKey. -
Rewrote the full stack tests to provide greater test coverage and a good source of sample code.
-
iOS deployment target bumped to 11.
-
YKFPCSC
andYKFPCSCLayer
marked for future deprecation.
YubiKit 3.2.0
-
Support for Swift Package Manager
-
Added support for renaming OATH credentials (supported by Yubikeys from version 5.3.1)
-
iPad Pro 4 and iPad Air with USB-C now correctly reports its capabilities in the SDK
-
Improved Base32 decoding
YubiKit 3.1.0
-
Raw commands service
YKFKeyRawCommandService
now allows to specify timeouts on each command usingYKFKeyCommandConfiguration
in case if user wants to speed up communication with YubiKey or getting timeouts on execution of specific command. -
Reduced default timeout between sending command to YubiKey and receiving response from YubiKey in order to be more performant over Lightning.
-
This SDK version now provides
YKFKeyChallengeResponseService
which allows to calculate HMAC-SHA1 on pre-programmed YubiKey. Read more about usage of Challenge-response -
Added
YKFKeyMGMTService
which allows to check whether application is available on YubiKey. And can enable or disable interfaces/application on YubiKey (if they are available). Read more about usage of management service -
Fixes OATH credential parser for credentials that contain "\" or ":".
-
Added
YKFKeyOATHService
methodselectOATHApplication
that provides response on selection of OATH applet. It contains firmware version which can be used as one of the methods to detect firmware version over NFC. -
Improvements in YubiKitDemo application: U2F and FIDO2 in Other demo section now support NFC-Enabled YubiKeys.