Repository navigation
Lockbox 2 fixes keychain and biometric bugs and makes the API more type-safe. It contains source-breaking changes; read Migrating to Lockbox 2 before upgrading.
Fixes
- Internet passwords now save on iOS. Lockbox 1.x sent a service attribute that internet-password items don't have, so every save failed with
errSecNoSuchAttr. - A biometric lockout no longer deletes saved credentials.
LocalAuthenticationService.invalidate()no longer leaves the service unusable.- Biometric-change detection is tracked per saved item and excluded from backups.
- Find-all searches include iCloud-synchronized items.
- Access control is no longer sent in search queries, and a saved item can move to a new accessibility policy.
KeychainCriterion.urlandKeychainPassword.internetuse the same URL mapping.- Keychain work in
BiometricServiceruns off the main actor. - Removed defaults that crashed when the app had no bundle identifier.
New
KeychainPasswordon tvOS and watchOS, plus a publicinit(criteria:attributes:).accessibility,label,comment, anddescriptionparameters on the password factories.- Opt-in data protection keychain on macOS.
BiometricServiceon macOS.- Typed
KeychainErrorcases withthrows(KeychainError). BiometricServiceError.noCredentials(reported before prompting) and.userFallback.SendableandEquatableconformances on value types.
Full Changelog: 1.0.1...2.0.0