Releases: tozny/e3db-swift
Update Document signing
Xcode 13 Migration
Updates the Swift SDK to be compatible with Xcode 13.
Update SDK to use Realm Info
This release updates the SDK to support mixed case realm names by using realm info.
Lock SDK's Sodium Dependency to 0.8.0
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
Updates members of Identity classes to be public for developer ease of use
Alpha Identity Features
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
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
Release updates swift-sodium dep to 0.7
Authorizer and File Records Support
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 clientremove(authorizerId:type:completion:)
-- removes the "authorizer" role from the specified clientshare(onBehalfOf:type:readerId:completion:)
-- ashare
operation performed by an "authorizer"revoke(onBehalfOf:type:readerId:completion:)
-- arevoke
operation performed by an "authorizer"getAuthorizers(completion:)
-- gets a list of policies indicating clients that have "authorizer" rolesgetAuthorizedBy(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 storagereadFile(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
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 EncryptedDocument
s 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.