Skip to content

Releases: square/Valet

3.1.4

23 Jun 17:43
Compare
Choose a tag to compare
  • Update Valet podspec flags to make it compatible with Objective-C only projects.

3.1.3

30 Mar 23:02
3ac6cdb
Compare
Choose a tag to compare
  • Fix warnings on Xcode 9.3

3.1.2

30 Mar 22:16
88515f5
Compare
Choose a tag to compare
  • Fixes an issue introduced in 3.0.0 where Valets created with Valet.sharedAccessGroupValet and Valet.iCloudSharedAccessGroupValet incorrectly returned a Valet.sharedAccessGroupValet and Valet.iCloudSharedAccessGroupValet, respectively.

Note for apps that released an app with Valet v3.0-3.1.1
If you use Valet.sharedAccessGroupValet, run the following before accessing data in your Valet.sharedAccessGroupValet:

let desiredValet = Valet.sharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.valet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

If you use Valet.iCloudSharedAccessGroupValet, run the following before accessing data in your Valet.iCloudSharedAccessGroupValet:

let desiredValet = Valet.iCloudSharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.iCloudValet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

3.1.1

29 Mar 00:26
76093c8
Compare
Choose a tag to compare
  • Remove SinglePromptSecureEnclaveValet from tvOS target to get tvOS compiling on device

This version is deprecated. Upgrade to 3.1.2+

Known issue: attempting to create a Shared Access Group Valet via Valet.sharedAccessGroupValet or Valet.iCloudSharedAccessGroupValet would create a standard / non-shared Valet.

Workaround

For those who released an app with Valet v3.0-3.1.1 and used a Valet.sharedAccessGroupValet, run the following before accessing data in your Valet.sharedAccessGroupValet:

let desiredValet = Valet.sharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.valet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

For those who released an app with Valet v3.0-3.1.1 and used a Valet.iCloudSharedAccessGroupValet, run the following before accessing data in your Valet.iCloudSharedAccessGroupValet:

let desiredValet = Valet.iCloudSharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.iCloudValet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

3.1.0

28 Mar 17:57
dc676b1
Compare
Choose a tag to compare
  • Added support for tvOS

This version is deprecated. Upgrade to 3.1.2+

Known issue: This version does not build on tvOS devices due to the inclusion of LocalAuthentication in the tvOS target code.

Workaround
Update to 3.1.2+

Known issue: attempting to create a Shared Access Group Valet via Valet.sharedAccessGroupValet or Valet.iCloudSharedAccessGroupValet would create a standard / non-shared Valet.

Workaround

For those who released an app with Valet v3.0-3.1.1 and used a Valet.sharedAccessGroupValet, run the following before accessing data in your Valet.sharedAccessGroupValet:

let desiredValet = Valet.sharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.valet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

For those who released an app with Valet v3.0-3.1.1 and used a Valet.iCloudSharedAccessGroupValet, run the following before accessing data in your Valet.iCloudSharedAccessGroupValet:

let desiredValet = Valet.iCloudSharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.iCloudValet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

3.0.1

28 Mar 17:14
Compare
Choose a tag to compare
  • Assert when initializing a shared access group Valet with the Bundle Seed ID in the identifier. Addressed #130.

This version is deprecated. Upgrade to 3.1.2+

Known issue: attempting to create a Shared Access Group Valet via Valet.sharedAccessGroupValet or Valet.iCloudSharedAccessGroupValet would create a standard / non-shared Valet.

Workaround

For those who released an app with Valet v3.0-3.1.1 and used a Valet.sharedAccessGroupValet, run the following before accessing data in your Valet.sharedAccessGroupValet:

let desiredValet = Valet.sharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.valet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

For those who released an app with Valet v3.0-3.1.1 and used a Valet.iCloudSharedAccessGroupValet, run the following before accessing data in your Valet.iCloudSharedAccessGroupValet:

let desiredValet = Valet.iCloudSharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.iCloudValet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

3.0.0

03 Mar 02:37
acab210
Compare
Choose a tag to compare
  • Valet is rewritten in Swift!
  • A guide for upgrading from Valet 2.* can be found in our README. Note that you do not need to migrate your keychain data. Only the API surface has changed.

This version is deprecated. Upgrade to 3.1.2+

Known issue: attempting to create a Shared Access Group Valet via Valet.sharedAccessGroupValet or Valet.iCloudSharedAccessGroupValet would create a standard / non-shared Valet.

Workaround

For those who released an app with Valet v3.0-3.1.1 and used a Valet.sharedAccessGroupValet, run the following before accessing data in your Valet.sharedAccessGroupValet:

let desiredValet = Valet.sharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.valet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

For those who released an app with Valet v3.0-3.1.1 and used a Valet.iCloudSharedAccessGroupValet, run the following before accessing data in your Valet.iCloudSharedAccessGroupValet:

let desiredValet = Valet.iCloudSharedAccessGroupValet(with: yourIdentifier, accessibility: yourAccessibility)
let mistakenlyCreatedValet = Valet.iCloudValet(with: yourIdentifier, accessibility: yourAccessibility)
desiredValet.migrateObjects(from: mistakenlyCreatedValet, removeOnCompletion: true)

2.4.2

27 Sep 18:03
Compare
Choose a tag to compare
  • Prevent - [VALSinglePromptSecureEnclaveValet containsObjectForKey] from returning a false positive after the keychain has been modified by the system after a user authentication (passcode, Touch ID, Face ID) modification.

2.4.1

14 Aug 18:39
Compare
Choose a tag to compare
  • Prevents malformed manual keychain entries from causing a crash during -migrateObjectsMatchingQuery:removeOnCompletion:

2.4.0

14 Feb 15:52
Compare
Choose a tag to compare
  • Introduces VALSinglePromptSecureEnclaveValet, which allows multiple accesses to the secure enclave with a single user prompt.