Skip to content

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

v16.0.0

05 Dec 11:45

Choose a tag to compare

  • Add new property MegolmDecryptionError.withheldCode, which returns a withheld
    code such as m.unverified if we received a withheld notification for the
    session associated with the UTD event.
    (#269)

  • Update matrix-rust-sdk to 0.16.0, which includes:

    Features:

    • When we receive an inbound Megolm session from two different sources, merge the two copies together to get the best of both.
      (#5865
    • When constructing a key bundle for history sharing, if we had received a key bundle ourselves, in which one or more sessions was marked as "history not shared", pass that on to the new user.
      (#5820
    • Use new withheld code in key bundles for sessions not marked as
      shared_history.
      (#5807
    • Improve feedback support for shared history when downloading room key
      bundles.
      (#5737)

    Bugfixes:

    • Fix a bug which caused encrypted to-device messages from unknown devices to be ignored.
      (#5763)
    • Fix a bug which caused history shared on invite to be ignored when "exclude insecure devices" was enabled.
      (#5763)
    • Fix a bug introduced in 0.14.0 which meant that the serialization of the value returned by OtherUserIdentity::verification_request_content did not include a msgtype field.
      (#5642)

v15.3.0

03 Nov 17:45
v15.3.0
c3b7918

Choose a tag to compare

  • Add support for experimental encrypted state events, introduce EncryptionSettings:.encryptStateEvents, RoomSettings.encryptStateEvents, and OlmMachine.encryptStateEvent. (#260)

v15.2.0

03 Nov 17:44

Choose a tag to compare

  • Update matrix-rust-sdk to 0.14.0, which includes:

    • When in "exclude insecure devices" mode, refuse to decrypt incoming to-device messages from unverified devices, except for some exceptions for certain event types. OlmMachine.receiveSyncChanges and RehydratedDevice.receiveEvents now have optional arguments of type DecryptionSettings to specify the required trust level of senders. (#5319)
    • Device.encryptToDeviceEvent now takes an optional argument of type CollectStrategy to specify the required trust level of recipients. (#5457)
    • Add support to accept historic room key bundles that arrive out of order, i.e. the bundle arrives after the invite has already been accepted. (#5322)
    • Upgrade ruma to 0.13.0. (#5623)

v15.1.0

22 Jul 12:13

Choose a tag to compare

  • Update matrix-rust-sdk to 0.13.0, which includes:

    • Add support for received room key bundle data, as required by encrypted history sharing (MSC4268). (#5276)
  • Expose experimental new functionality for sharing encrypted room history, per MSC4268. (#250)

  • Extend OlmMachine constructor functions to accept an optional logger instance. This logger is associated with the machine for its lifetime, and used instead of the global console to write any log messages from the underlying rust library. Similarly, the legacy store migration functions (in the Migration class), and the StoreHandle open functions are extended to accept an optional logger, to be used for the duration of that operation. (#251)

  • Add a new error code for MegolmDecryptionError, DecryptionErrorCode::MismatchedSender, indicating that the sender of the event does not match the owner of the device that established the Megolm session. (#248)

v15.0.0

21 Jun 07:30

Choose a tag to compare

  • Update matrix-rusk-sdk to 0.12.0, which includes:

    • Send stable identifier sender_device_keys for MSC4147 (Including device keys with Olm-encrypted events).
      (#4964)

    • Check the sender_device_keys field on all incoming Olm-encrypted to-device messages and ignore any to-device messages which include the field but whose data is invalid (as per MSC4147).
      (#4922)

    • Fix bug which caused room keys to be unnecessarily rotated on every send in the presence of blacklisted/withheld devices in the room.
      (#4954)

    • Fix #2729 which in rare cases can cause room key oversharing.
      (#4975)

  • BREAKING: OlmMachine.receiveSyncChanges now returns a list of ProcessedToDeviceEvent instead of a JSON-encoded list of JSON-encoded events. This allows making the difference between an event that was sent in clear and the same event successfully decrypted.
    (#236), (#246)

  • A number of the properties and methods on DecryptedRoomEvent no longer return undefined
    (#243)

  • Add more JS/TS Framework support by adding the ability to choose the URL of wasm files.
    (#227)

v14.2.1

10 Jun 11:04

Choose a tag to compare

Update matrix-sdk-crypto to 0.11.1, which includes:

Security Fixes

  • Check the sender of an event matches owner of session, preventing sender spoofing by homeserver owners.
    13c1d20 (High, GHSA-x958-rvg6-956w).

v14.2.0

21 May 14:23

Choose a tag to compare

matrix-sdk-crypto-wasm v14.2.0

  • Log warnings when we fail to parse a backed-up room key
    (#228)

v14.1.0

17 Apr 08:01

Choose a tag to compare

  • Update matrix-rusk-sdk to 0.11.0, which includes:

    • Add support for the shared history flag defined in MSC3061. The shared history flag is now respected when room keys are received as an m.room_key event as well as when they are imported from a backup or a file export.
      (#4700)
  • Add the PkEncryption, PkDecryption, Curve25519SecretKey, PkMessage, and Base64EncodedPkMessage classes. These types implement the m.megolm_backup.v1.curve25519-aes-sha2 algorithm described in the Matrix spec.
    (#209)

v14.0.1

20 Feb 11:23
3cc301d

Choose a tag to compare

  • Fix a problem, introduced in v14.0.0, which could cause WASM runtime errors if the OlmMachine was freed while an operation was in flight. (#205), (#206), (#208)

v14.0.0

13 Feb 11:03

Choose a tag to compare

  • CollectStrategy.deviceBasedStrategy is deprecated, and replaced by other methods in CollectStrategy. (#194)

  • BREAKING: Improve generated typescript types (Promise<T> instead of Promise<any>, etc). (#193)

  • Fix a problem, introduced in v12.0.0, when importing the published package as an ESM module, in which some files could be incorrectly interpreted as CommonJS, leading to syntax errors. (#189)

  • Update matrix-rust-sdk to 0.10.0, which includes:

    • Accept stable identifier sender_device_keys for MSC4147 (Including device keys with Olm-encrypted events). (#4420)

    • Room keys are not shared with unsigned dehydrated devices. (#4551)