Migrating to CC 10: Swift
See the common migration guide for changes that apply to all platforms.
CoreCrypto Instantiation
-
The
CoreCryptoconstructor now takes aDatabaseinstance instead of aDatabaseKeyand a path. To instantiate a database, call theDatabase.new()static method. -
Deferred init is now the only way to instantiate
CoreCrypto. Instead of callingdeferredInit(), call theCoreCryptoconstructor. As before, callmlsInit()in a transaction to initialize MLS.
Higher-Level Newtypes
CoreCryptoContext.getExternalSender() now returns an ExternalSenderKey object instead of a byte array. To access the
raw bytes, call externalSenderKey.copyBytes().
Logging
-
We removed
CoreCrypto.setLogger(logger: CoreCryptoLogger, level: CoreCryptoLogLevel)andCoreCrypto.setMaxLogLevel(level: CoreCryptoLogLevel), as logging is configured globally and not tied to aCoreCryptoinstance. To set the log level, use the free functionsetMaxLogLevel(level: CoreCryptoLogLevel). -
We renamed
setLoggerOnly(logger: CoreCryptoLogger)tosetLogger(logger: CoreCryptoLogger).
Other
-
Removed
CoreCryptoFfi.reseedRng()andCoreCryptoFfi.randomBytes(). -
Removed the following static methods from
CoreCryptothat were globally available:version()buildMetadata()