Cargo Features

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

[dependencies]
matrix-sdk-crypto = { version = "0.9.0", features = ["automatic-room-key-forwarding", "js", "qrcode", "experimental-algorithms", "uniffi", "test-send-sync", "message-ids", "testing"] }
automatic-room-key-forwarding

Affects gossiping::KeyForwardDecision

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

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