Cargo Features

matrix-sdk-crypto has no features set by default.

[dependencies]
matrix-sdk-crypto = { version = "0.14.0", features = ["automatic-room-key-forwarding", "experimental-send-custom-to-device", "experimental-encrypted-state-events", "js", "qrcode", "experimental-algorithms", "uniffi", "test-send-sync", "message-ids", "testing"] }
automatic-room-key-forwarding

Affects gossiping::KeyForwardDecision

experimental-send-custom-to-device
experimental-encrypted-state-events

Enable experimental support for encrypting state events; see https://github.com/matrix-org/matrix-rust-sdk/issues/5397.

Enables experimental-encrypted-state-events of matrix-sdk-common, unstable-msc3414 of ruma

Affects outbound::EncryptionSettings.encrypt_state_events, types::RoomSettings.encrypt_state_events, room::Event.state_key

js

Enables js of matrix-sdk-common, ruma, and vodozemac

ruma:

Required for randomness, current system time in browser environments

qrcode

Enables matrix-sdk-qrcode

Affects verification::Done

experimental-algorithms

Affects encrypted::OlmV2Curve25519AesSha2Content, encrypted::MegolmV2AesSha2Content, room_key_request::MegolmV2AesSha2Content

uniffi

Enables uniffi ^0.28.0

test-send-sync

Private feature, see https://github.com/matrix-org/matrix-rust-sdk/pull/3749#issuecomment-2312939823 for the gory details.

message-ids

"message-ids" feature doesn't do anything and is deprecated.

testing = matrix-sdk-test

Testing helpers for implementations based upon this

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

matrix-sdk-test testing?

Enables matrix-sdk-test

feature = testing only