Skip to content

2.0.0

Latest

Choose a tag to compare

@choule99 choule99 released this 11 Oct 23:31
Immutable release. Only release title and notes can be modified.
2.0.0
f279dde

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.url and KeychainPassword.internet use the same URL mapping.
  • Keychain work in BiometricService runs off the main actor.
  • Removed defaults that crashed when the app had no bundle identifier.

New

  • KeychainPassword on tvOS and watchOS, plus a public init(criteria:attributes:).
  • accessibility, label, comment, and description parameters on the password factories.
  • Opt-in data protection keychain on macOS.
  • BiometricService on macOS.
  • Typed KeychainError cases with throws(KeychainError).
  • BiometricServiceError.noCredentials (reported before prompting) and .userFallback.
  • Sendable and Equatable conformances on value types.

Full Changelog: 1.0.1...2.0.0