seald_sdk_flutter 0.10.0
seald_sdk_flutter: ^0.10.0 copied to clipboard
Seald SDK for Flutter: simple end-to-end encryption for your app
0.10.0 : 2025/09/08 #
- [new feature] Implement Anonymous SDK.
- [new feature] Anonymous SDK now can create
AnonymousEncryptionSession
. This session exposes six functions:EncryptMessage
,DecryptMessage
,EncryptFile
,DecryptFile
,EncryptFileFromPath
,DecryptFileFromPath
. - [new feature] Implement serialization / deserialization of
EncryptionSession
andAnonymousEncryptionSession
. - [breaking change] The internal codes for representing
RetrievalDetails
flows have changed to align with JS, so theRetrievalDetails
of some sessions that were cached before update and retrieved from cache after update may be invalid. - [new feature] Add functions
EncryptionSession.ListRecipients
to list all recipients of anEncryptionSession
- [breaking change]
session.RevokeRecipients
can now revoke SymEncKeys & TMR Accesses, and takes the corresponding arguments.
0.9.0 : 2025/02/05 #
- [enhancement] Encryption / Decryption from file paths now streams the data in chunks, to avoid having to load the entire file in-memory, and for better performance.
- [new feature] Add optional
metadata
argument tocreateEncryptionSession
, to be able to add an arbitrary metadata string. - [new feature] Add
sealdSdkVersion
to get the current SDK version. - [enhancement] Update dependencies
0.8.0 : 2024/11/20 #
- [breaking change] Correctly specify minimum Flutter version as
3.10.0
. Version0.7.0
was already incompatible with Flutter versions older than3.10.0
, it just was not specified inpubspec.yaml
. - [new feature] Add group TMR temporary keys functions to join a group using TMR.
CreateGroupTMRTemporaryKey
,ListGroupTMRTemporaryKeys
,DeleteGroupTMRTemporaryKey
,ConvertGroupTMRTemporaryKey
andSearchGroupTMRTemporaryKeys
. - [enhancement] Update dependencies
0.7.1 : 2024/09/12 #
- [bug fix] Log timestamps now correctly have millisecond precision.
0.7.0 : 2024/08/29 #
- [enhancement] Add a specific error when given a database encryption key of invalid length.
- [enhancement] Add the URL and the method when returning an APIError
- [enhancement] Now runs on Flutter for macOS
- [bug fix] Fix sending of SDK version header
- [bug fix] Now respects configured
keySize
when using native key generation. - [bug fix] Fix memory-management of
session.encryptFile
andsession.decryptFile
, and their async versions. - [enhancement] First release publicly available on GitHub
0.6.0 : 2024/05/30 #
- [enhancement] Better performance when retrieving the same session multiple times in parallel when cache is enabled: now only one calls hits the API, while the others wait for it then use the cache.
- [enhancement] Add default rights when handling recipients.
- [new feature] In SSKS Password,
SaveIdentityFromPassword
,SaveIdentityFromRawKeys
, andChangeIdentityPassword
now return the SSKS ID of the stored identity, which can be used by your backend to manage it. - [new feature] In SSKS TMR, adding new
SaveIdentityResponse
class, which is returned bySaveIdentity
. - [breaking change] In SSKS TMR,
challenge
is now a proper optional argument for all methods. This changes the order of arguments. - [breaking change] Change
String databaseEncryptionKeyB64
argument of SealdSDK constructor toUint8List? databaseEncryptionKey
. - [new feature] Add
sealdSdk.retrieveMultipleEncryption()
method, which takes an array of session IDs as input, and returns an array of EncryptionSession instances. - [new feature] Add
sealdSdk.prepareRenew()
method, which return a prepared key renewal that can be stored on SSKS to avoid any data loss situation during a private key renewal, and add the correspondingpreparedRenewal
argument in methodrenewKeys
. - [enhancement] Send public key hash at login for better performance.
- [new feature] Also add
privateKeys
argument to methodsaddGroupMembers
/removeGroupMembers
, and to all async methods. - @flutter [breaking change] Rename
generatePrivateKeys
togeneratePrivateKeysAsync
. - @flutter [breaking change] Order of some optional args has changed, for coherence with other languages.
0.5.0-beta.1 : 2024/03/28 #
- [packaging] fix publishing details
0.5.0-beta.0 : 2024/03/28 #
- [new feature] Add
GetSigchainHash
andCheckSigchainHash
methods to verify a users sigchain - [bug fix] Only try renewing group keys automatically if current user is a group admin.
- [enhancement] Use native private key generation for async methods.
- [new feature] Add
generatePrivateKeys
method which generates private keys natively and asynchronously, and returns aSealdGeneratedPrivateKeys
instance, and addprivateKeys
argument to relevant sync methods. - [breaking change]
SealdSdk
must now be instantiated from the root isolate, or you must pass therootIsolateToken
argument. - [new feature] Add the possibility to create TMR access to retrieve
encryptionSession
. AddconvertTmrAccesses
that can convert TMR accesses to classic access for a recipient.
0.4.0-beta.2 : 2024/01/05 #
- [bug fix] On iOS, fix build of internal library to pass Apple validation.
0.4.0-beta.1 : 2023/12/20 #
0.4.0-beta.0 : 2023/12/15 #
- [enhancement] Automatically renew group keys when calling
AddGroupMembers
/RemoveGroupMembers
and the group keys expire in less than 6 months. - [enhancement] Optimizing the time taken to retrieve a group for the first time.
- [enhancement] Remove unused value
Count
fromDeviceMissingKeys
type. - [breaking change] Change arguments to SSKS Plugins initialization to make it more coherent with the main SDK.
- [enhancement] Add a header with the version to API requests, to facilitate debugging.
- [enhancement] Handle HTTP
423 - Locked
for all API call that can return it. (ie: sigchain handling request). - [new feature] Add
addProxySession
method (and its async version) onEncryptionSession
, to add a proxy session to an existing session. - [breaking change]
encryptionSession.revokeRecipients
method (and its async version) now takesrecipientsIds
andproxySessionsIds
as optional arguments, to be able to revoke proxy sessions. - [breaking change] All
EncryptionSession
revocation methods now return an instance ofRevokeResult
, which is a new class. - [new feature]
sealdSdk.retrieveEncryptionSession
andsealdSdk.retrieveEncryptionSessionAsync
methods now take additionallookupProxyKey
&lookupGroupKey
optional arguments. - [new feature] Instances of
EncryptionSession
expose how the session was retrieved in a newretrievalDetails
field, which is an instance the newEncryptionSessionRetrievalDetails
class. - [enhancement] All thrown exceptions are now instances of
SealdException
, with proper exposed error codes and details. - [new feature] Add
parseSessionId
util function. - [enhancement] Various optimizations, minor bug fixes, and updates of dependencies.
0.3.0-beta.0 : 2023/10/13 #
- [breaking change] Rename
EncryptionSession
class intoSealdEncryptionSession
for coherence. - [enhancement] Cleaner doc.
- [bug fix] Handle edge case when searching for a user in the middle of their sigchain being updated.
0.2.0-beta.0 : 2023/09/07 #
- [enhancement] Initial release with new unified build system.
- [new feature] Add
sdk.retrieveEncryptionSessionFromBytes
method /fileBytes
argument tosdk.retrieveEncryptionSession
. - [enhancement] In base64 parsing for
dbb64SymKey
/databaseEncryptionKeyB64
, now ignores new lines.