Cargo Features

[dependencies]
matrix-sdk = { version = "0.16.0", default-features = false, features = ["e2e-encryption", "js", "sqlite", "bundled-sqlite", "indexeddb", "qrcode", "automatic-room-key-forwarding", "experimental-send-custom-to-device", "testing", "experimental-encrypted-state-events", "markdown", "native-tls", "rustls-tls", "socks", "local-server", "sso-login", "federation-api", "uniffi", "experimental-widgets", "docsrs", "unstable-msc4274", "experimental-search", "experimental-element-recent-emojis", "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? experimental-encrypted-state-events? experimental-send-custom-to-device? qrcode?

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

Affects oauth::qrcode, oauth::LoginWithQrCodeBuilder, oauth::GrantLoginWithQrCodeBuilder, error::RoomKeyImportError, matrix-sdk::encryption, mocks::encryption, mocks::GetDefaultSecretStorageKeyEndpoint, mocks::GetSecretStorageKeyEndpoint, mocks::GetMasterSigningKeyEndpoint

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

experimental-send-custom-to-device experimental-widgets? = e2e-encryption

Enables experimental-send-custom-to-device of matrix-sdk-base

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

experimental-encrypted-state-events = e2e-encryption

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-base and matrix-sdk-sqlite

Affects futures::SendRawStateEvent, futures::SendStateEvent

markdown

Enables markdown of ruma

Affects utils::formatted_body_from

native-tls default

Enables native-tls of reqwest ^0.12.24

rustls-tls

Enables rustls-tls of reqwest ^0.12.24

socks

Enables socks of reqwest ^0.12.24

local-server sso-login?

Enables axum, rand ^0.8.5, and tower

Affects utils::local_server

sso-login docsrs? = local-server

Affects login_builder::SsoLoginBuilder

federation-api docsrs?

Enable methods that make calls to the federation API.

Enables federation-api-c of ruma

uniffi

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

experimental-widgets = experimental-send-custom-to-device

Enables uuid

Affects matrix-sdk::widget

docsrs = e2e-encryption, federation-api, indexeddb, qrcode, sqlite, sso-login
unstable-msc4274

Add support for inline media galleries via msgtypes

Enables unstable-msc4274 of matrix-sdk-base and ruma

Affects attachment::GalleryConfig, attachment::GalleryItemInfo

Affects matrix-sdk::search_index

experimental-element-recent-emojis

Enables experimental-element-recent-emojis of matrix-sdk-base

Affects mocks::GetRecentEmojisEndpoint, mocks::UpdateRecentEmojisEndpoint

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 wasm testing?