Cargo Features

[dependencies]
matrix-sdk = { version = "0.9.0", default-features = false, features = ["e2e-encryption", "js", "sqlite", "bundled-sqlite", "indexeddb", "qrcode", "automatic-room-key-forwarding", "markdown", "native-tls", "rustls-tls", "socks", "sso-login", "uniffi", "experimental-oidc", "experimental-sliding-sync", "experimental-widgets", "docsrs", "testing", "anyhow", "eyre"] }
default = automatic-room-key-forwarding, e2e-encryption, native-tls, sqlite

These default features are set whenever matrix-sdk is added without default-features = false somewhere in the dependency tree.

e2e-encryption default automatic-room-key-forwarding docsrs? qrcode?

Enables crypto-store of optional matrix-sdk-sqlite, e2e-encryption of matrix-sdk-base and optional matrix-sdk-indexeddb

Affects error::RoomKeyImportError, matrix-sdk::encryption, authentication::qrcode

js

Enables js of matrix-sdk-base and matrix-sdk-common

sqlite default bundled-sqlite? docsrs?

Enables event-cache and state-store of matrix-sdk-sqlite

bundled-sqlite = sqlite

Enables bundled of optional matrix-sdk-sqlite

indexeddb docsrs?

Enables state-store of matrix-sdk-indexeddb

qrcode docsrs? = e2e-encryption

Enables qrcode of matrix-sdk-base

automatic-room-key-forwarding default = e2e-encryption

Enables automatic-room-key-forwarding of matrix-sdk-base

markdown

Enables markdown of ruma

Affects utils::formatted_body_from

native-tls default

Enables native-tls of reqwest

reqwest:

Enables native-tls specific functionality not available by default.

rustls-tls

Enables rustls-tls of reqwest

socks

Enables socks of reqwest

sso-login docsrs?

Enables axum, rand, and tower

Affects login_builder::SsoLoginBuilder

uniffi

Enables matrix-sdk-ffi-macros and uniffi, uniffi of matrix-sdk-base

experimental-oidc

Enables sha2 and tower, chrono, language-tags, mas-oidc-client, openidconnect, and rand, unstable-msc2967 and unstable-msc4108 of ruma

Affects matrix-sdk::oidc, authentication::qrcode

experimental-sliding-sync

Enables experimental-sliding-sync of matrix-sdk-base, gzip of reqwest

Affects matrix-sdk::sliding_sync

experimental-widgets

Enables language-tags and uuid

Affects matrix-sdk::widget

docsrs = e2e-encryption, indexeddb, qrcode, sqlite, sso-login
testing = assert_matches2, matrix-sdk-test, wiremock

Enables testing of matrix-sdk-base, optional matrix-sdk-indexeddb, and optional matrix-sdk-sqlite

matrix-sdk-base:

helpers for testing features build 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.

anyhow implicit feature

Enables anyhow

anyhow:

Flexible concrete Error type built on std::error::Error

assert_matches2 testing?
eyre implicit feature

Enables eyre

eyre:

Flexible concrete Error Reporting type built on std::error::Error with customizable Reports

matrix-sdk-indexeddb indexeddb?
matrix-sdk-test testing?
wiremock not wasm32 testing?