Releases: matrix-org/matrix-rust-sdk-crypto-wasm
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)
-
v7.0.0
BREAKING CHANGES
EncryptionSettings.onlyAllowTrustedDevices
has been replaced withEncryptionSettings.sharingStrategy
, which adds the ability to share only with cross-signed devices.
(#134)
Other changes
-
Add
OlmMachine.registerRoomKeysWithheldCallback
to notify when we are told that room keys have been withheld.
(#136) -
Update matrix-rust-sdk to
d9b2b53f8
, which includes:
v6.2.1
v6.2.0
v6.1.0
-
Set "creation time" of
OlmAccount
s which were migrated from legacy libolm data to the unix epoch, instead of "now". Fixes element-hq/element-web#27590.
(#128) -
Update matrix-rust-sdk to
a2235d50c
. No changes relevant to these bindings.
v6.0.0
v5.0.0
BREAKING CHANGES
OlmMachine.importBackedUpRoomKeys
now takes abackupVersion
argument.
Other changes
-
Update matrix-rust-sdk to
7e44fbca7
, which includes:-
Avoid emitting entries from
identities_stream_raw
anddevices_stream
when
we receive a/keys/query
response which shows that no devices changed.
(#3442). -
Fix to a bug introduced in matrix-sdk-crypto-wasm v4.10.0 which caused
keys that had been imported from key backup to be backed up again, when
using the in-memory datastore.
-
-
Improve the return types of
OlmMachine.{import,export}exportSecretsBundle()
.
(#123)
v4.10.0
-
Expose new constructor function
OlmMachine.openWithKey()
. (#119) -
Add
OlmMachine.importSecretsBundle()
andOlmMachine.exportSecretsBundle()
methods as well as theSecretsBundle
class to import end-to-end encryption secrets in a bundled manner. -
Expose the vodozemac ECIES support, which can be used to establish the secure channel required for QR code login described in MSC4108.
-
Add
QrCodeData
andQrCodeMode
classes which can be used to parse or generate QR codes intended for the QR code login mechanism described in MSC4108. -
Add a constructor for the
Curve25519PublicKey
type. This allows us to create aCurve25519PublicKey
from a Base64 string on the Javascript side. -
Update matrix-rust-sdk to
7a887766c
, which includes:
matrix-sdk-crypto-wasm v4.9.0
- Add
OlmMachine.deviceCreationTimeMs
. (#112)