Skip to content

Releases: tozny/e3db-swift

Update Document signing

06 Apr 22:23
Compare
Choose a tag to compare

Document signature method expected base64Url encoded data. This release enabled base64Url encoded data or plain strings to be accepted by the method.

Xcode 13 Migration

29 Mar 22:31
Compare
Choose a tag to compare

Updates the Swift SDK to be compatible with Xcode 13.

Update SDK to use Realm Info

13 Aug 20:57
828f6fc
Compare
Choose a tag to compare

This release updates the SDK to support mixed case realm names by using realm info.

Lock SDK's Sodium Dependency to 0.8.0

13 Nov 18:44
bfb0efc
Compare
Choose a tag to compare

Lock Sodium dependency because the latest release of 0.9.0 requires a deployment target of 12.0 which we not yet supporting

Alpha Identity Features Update

22 May 20:09
fe2058e
Compare
Choose a tag to compare
Pre-release

Updates members of Identity classes to be public for developer ease of use

Alpha Identity Features

24 Apr 19:12
1be8fd0
Compare
Choose a tag to compare
Pre-release

This release adds Note writing and Identity features to the swift sdk that allow you to write secured notes and create accounts with the TozId system.

Update SDK for Swift 5 compatibility

19 Sep 18:02
41c6a9e
Compare
Choose a tag to compare

This update bumps the dependencies of e3db-swift to be Swift 5 compatible (Swift version 4.2 or greater). It maintains a dependency on antitypical/Result as sub-dependencies of Heimdallr and Swish.

Update Sodium

31 Oct 03:39
1b3f82e
Compare
Choose a tag to compare

Release updates swift-sodium dep to 0.7

Authorizer and File Records Support

03 Oct 18:09
Compare
Choose a tag to compare

This update brings two new major features for E3db to the Swift SDK: Authorizers and Files.

Authorizers allow writers to delegate sharing operations to another client. New Client methods include:

  • add(authorizerId:type:completion:) -- grants the "authorizer" role to the specified client
  • remove(authorizerId:type:completion:) -- removes the "authorizer" role from the specified client
  • share(onBehalfOf:type:readerId:completion:) -- a share operation performed by an "authorizer"
  • revoke(onBehalfOf:type:readerId:completion:) -- a revoke operation performed by an "authorizer"
  • getAuthorizers(completion:) -- gets a list of policies indicating clients that have "authorizer" roles
  • getAuthorizedBy(completion:) -- gets a list of policies indicating clients that have granted this client the "authorizer" role

File Records allow devices to store larger encrypted payloads than the standard records. This is a streaming interface so the data doesn't have to exist in memory all at once. New Client methods include:

  • writeFile(type:fileUrl:plain:completion:) -- encrypts a local file and uploads to E3db for storage
  • readFile(recordId:destination:completion:) -- downloads an encrypted file from E3db, decrypts it, and saves the plaintext to the given location on the device.

This is a major release due to updates to the Record struct and other types.

Updated Serialization Compatibility

11 Jul 22:58
a2e10f9
Compare
Choose a tag to compare

We've modified this SDK's serialization function (used when creating and verifying signatures on EncryptedDocument and SignedDocument types) to better match the other Tozny E3DB SDKs that support locally encrypted records (i.e. e3db-js and e3db-java as of this writing).

There were compatibility issues when creating EncryptedDocuments with this SDK and then decrypting them with e3db-js, for example, when the data included particular escaped characters. This would prevent signatures from verifying correctly. This update fixes the issue for all but a few eccentric characters that are very unlikely to occur in application code (e.g. \u001b). We'll continue to improve compatibility where appropriate and with security and convenience in mind.