v8.0.0
BREAKING CHANGES
- The format for
EncryptionSettings.sharingStrategy
has changed. It must now be created using theCollectStrategy.deviceBasedStrategy(...)
orCollectStrategy.identityBasedStrategy()
functions. (#141)- The former
DeviceBasedStrategyAllDevices
should be replaced byCollectStrategy.deviceBasedStrategy(false, false)
- The former
DeviceBasedStrategyOnlyTrustedDevices
should be replaced byCollectStrategy.deviceBasedStrategy(true, false)
- The former
IdentityBasedStrategy
should be replaced byCollectStrategy.identityBasedStrategy()
- The former
- The
OlmMachine.decryptRoomEvent
has a newDecryptionSettings
parameter that allows specifying the required sender trust level. If the trust level is not met, the decryption will fail. To replicate the old behaviour, use a sender trust level ofTrustRequirement.Untrusted
. (#141)
Security Fixes
- Fix
UserIdentity.isVerified
to take into account our own identity #d8d9dae (Moderate, GHSA-4qg4-cvh2-crgg).
Other changes
-
Add
(Own)UserIdentity.wasPreviouslyVerified()
,(Own)UserIdentity.withdrawVerification()
, and(Own)UserIdentity.hasVerificationViolation()
to check and manage the state of users who were previously verified but are no longer verified. (#141) -
Add
UserIdentity.pinCurrentMasterKey()
andUserInfo.identityNeedsUserApproval()
to manage user identity changes. (#141) -
ShieldState
has a newcode
property that is set when the shield state is notNone
. (#141) -
Add a new API
Device.encryptToDeviceEvent
to encrypt a to-device message using Olm. (#101) -
Update matrix-rust-sdk to
07aa6d7bc
, which includes:-
NOTE: this version causes changes to the format of the serialised data in the CryptoStore, meaning that, once upgraded, it will not be possible to roll back applications to earlier versions without breaking user sessions.
-
Miscellaneous improvements to logging for verification and
OwnUserIdentity
updates. (#3949) -
Add message IDs to all outgoing encrypted to-device messages. (#3776)
-