Migrating to CC 10: Kotlin
See the common migration guide for changes that apply to all platforms.
Renames and Moves
-
CoreCryptoClienthas been renamed toCoreCrypto. -
historyClient(historySecret: HistorySecret)has been moved intoCoreCryptoCompanion functions. -
The entire read-only API is now exposed on the
CoreCryptotype, allowing data to be read without opening a transaction.
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), 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().