Cargo Features

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

[dependencies]
matrix-sdk-base = { version = "0.8.0", features = ["e2e-encryption", "js", "qrcode", "automatic-room-key-forwarding", "experimental-sliding-sync", "uniffi", "test-send-sync", "message-ids", "testing"] }
e2e-encryption

Enables matrix-sdk-crypto

Affects client::BaseClient.room_key_recipient_strategy, client::BaseClient.decryption_trust_requirement, latest_event::PossibleLatestEvent, latest_event::is_suitable_for_latest_event, normal::Room.latest_encrypted_events

js

Enables js of matrix-sdk-common, optional matrix-sdk-crypto, matrix-sdk-store-encryption, and ruma

ruma:

Required for randomness, current system time in browser environments

qrcode

Enables qrcode of optional matrix-sdk-crypto

automatic-room-key-forwarding

Enables automatic-room-key-forwarding of optional matrix-sdk-crypto

experimental-sliding-sync

Enables unstable-msc3575 and unstable-msc4186 of ruma

Affects matrix-sdk-base::sliding_sync, normal::Room.latest_encrypted_events

uniffi

Enables uniffi, uniffi of matrix-sdk-common and optional matrix-sdk-crypto

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

helpers for testing features build upon this

Enables matrix-sdk-test, assert_matches, assert_matches2, and http, testing of optional matrix-sdk-crypto