Skip to content

Releases: matrix-org/matrix-rust-sdk-crypto-wasm

v8.0.0

06 Sep 14:21
Compare
Choose a tag to compare

BREAKING CHANGES

  • The format for EncryptionSettings.sharingStrategy has changed. It must now be created using the CollectStrategy.deviceBasedStrategy(...) or CollectStrategy.identityBasedStrategy() functions. (#141)
    • The former DeviceBasedStrategyAllDevices should be replaced by CollectStrategy.deviceBasedStrategy(false, false)
    • The former DeviceBasedStrategyOnlyTrustedDevices should be replaced by CollectStrategy.deviceBasedStrategy(true, false)
    • The former IdentityBasedStrategy should be replaced by CollectStrategy.identityBasedStrategy()
  • The OlmMachine.decryptRoomEvent has a new DecryptionSettings 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 of TrustRequirement.Untrusted. (#141)

Security Fixes

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() and UserInfo.identityNeedsUserApproval() to manage user identity changes. (#141)

  • ShieldState has a new code property that is set when the shield state is not None. (#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

11 Jul 14:17
Compare
Choose a tag to compare

BREAKING CHANGES

  • EncryptionSettings.onlyAllowTrustedDevices has been replaced with EncryptionSettings.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:

    • refactor(sdk-crypto): Room key sharing, introduce extensible strategy
      (#3605)

    • Log the content of received m.room_key.withheld to-device events.
      (#3591)

    • Attempt to decrypt bundled events (reactions and the latest thread reply) if they are found in the unsigned part of an event.
      (#3468)

v6.2.1

03 Jul 19:17
Compare
Choose a tag to compare
  • Update matrix-rust-sdk to 7b25a1c2f, which includes fixes to bugs introduced in v6.2.0.
    (#3651)

v6.2.0

03 Jul 13:28
Compare
Choose a tag to compare
  • Update matrix-rust-sdk to 09d53a52a, which includes:

    • Improve the efficiency of objects stored in the crypto store. (#3645)

v6.1.0

20 Jun 08:08
Compare
Choose a tag to compare
  • Set "creation time" of OlmAccounts 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

17 Jun 11:25
Compare
Choose a tag to compare

BREAKING CHANGES

  • Rename the QrCodeData related methods so they use camel case.
    (0d58c688d)

  • Rename the QrCodeData.homeserver_url method to QrCodeData.server_name
    to reflect the changed data stored in the QR code.
    (#124)

  • Update matrix-rust-sdk to 9b05d0d82, which includes:

    • Device.requestVerification, UserIdentities.requestVerification, and
      UserIdentities.verificationRequestContent is not async anymore.
      (#3513)

    • Use the server name in the QrCodeData instead of the homeserver URL.
      (#3537)

v5.0.0

17 Jun 11:24
Compare
Choose a tag to compare

BREAKING CHANGES

  • OlmMachine.importBackedUpRoomKeys now takes a backupVersion argument.

Other changes

  • Update matrix-rust-sdk to 7e44fbca7, which includes:

    • Avoid emitting entries from identities_stream_raw and devices_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

22 May 08:54
Compare
Choose a tag to compare
  • Expose new constructor function OlmMachine.openWithKey(). (#119)

  • Add OlmMachine.importSecretsBundle() and OlmMachine.exportSecretsBundle() methods as well as the SecretsBundle 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 and QrCodeMode 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 a Curve25519PublicKey from a Base64 string on the Javascript side.

  • Update matrix-rust-sdk to 7a887766c, which includes:

    • Add data types to parse the QR code data for the QR code login defined in MSC4108

    • Don't log the private part of the backup key, introduced in #71136e4.

    • Expose new method CryptoStore::clear_caches. (#3338)

matrix-sdk-crypto-wasm v4.9.0

26 Mar 17:17
Compare
Choose a tag to compare
  • Add OlmMachine.deviceCreationTimeMs. (#112)

v4.8.0

22 Mar 15:54
6d02ac8
Compare
Choose a tag to compare

matrix-sdk-crypto-wasm v4.8.0

  • Add OlmMachine.dehydratedDevices() and DehydratedDevices class to support dehydrated devices. (#104)
  • Fix a problem when using matrix-sdk-crypto-wasm in a webapp running in the webpack dev server; when rebuilding, the server would throw an error. (#109)