1
0
Fork 0
ruma/crates/ruma-events/Cargo.toml
2026-04-26 14:33:10 +02:00

121 lines
3.9 KiB
TOML

[package]
name = "ruma-events"
version = "0.33.0"
description = "Serializable types for the events in the Matrix specification."
homepage = "https://ruma.dev/"
keywords = ["matrix", "chat", "messaging", "ruma"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/ruma/ruma"
edition = "2024"
rust-version = { workspace = true }
[package.metadata.docs.rs]
all-features = true
[features]
html = ["dep:ruma-html"]
markdown = ["dep:pulldown-cmark"]
unstable-msc1767 = []
unstable-msc2448 = []
unstable-msc2545 = []
unstable-msc2747 = []
unstable-msc2867 = []
unstable-msc3061 = []
unstable-msc3230 = []
unstable-msc3245 = ["unstable-msc3246"]
# Support the m.room.message fallback fields from the first version of MSC3245,
# implemented in Element Web and documented at
# https://github.com/matrix-org/matrix-spec-proposals/blob/83f6c5b469c1d78f714e335dcaa25354b255ffa5/proposals/3245-voice-messages.md
unstable-msc3245-v1-compat = []
unstable-msc3246 = ["unstable-msc3927"]
unstable-msc3381 = ["unstable-msc1767"]
unstable-msc3401 = []
unstable-msc3417 = ["ruma-common/unstable-msc3417"]
unstable-msc3488 = ["unstable-msc1767"]
unstable-msc3489 = ["unstable-msc3488"]
unstable-msc3551 = ["unstable-msc3956"]
unstable-msc3552 = ["unstable-msc3551"]
unstable-msc3553 = ["unstable-msc3552"]
unstable-msc3554 = ["unstable-msc1767"]
unstable-msc3927 = ["unstable-msc3551"]
unstable-msc3954 = ["unstable-msc1767"]
unstable-msc3955 = ["unstable-msc1767"]
unstable-msc3956 = ["unstable-msc1767"]
unstable-msc4075 = ["unstable-msc3401"]
unstable-msc4095 = []
unstable-msc4171 = []
unstable-msc4268 = []
unstable-msc4274 = []
unstable-msc4278 = []
unstable-msc4293 = []
unstable-msc4310 = []
unstable-msc4319 = []
unstable-msc4334 = ["dep:language-tags"]
unstable-msc4359 = []
unstable-msc4362 = []
unstable-msc4380 = []
unstable-msc4385 = []
unstable-uniffi = ["dep:uniffi"]
# Allow some mandatory fields to be missing, defaulting them to an empty string
# in deserialization.
compat-empty-string-null = []
# Allow certain fields to be absent even though the spec marks them as
# mandatory. Deserialization will yield a default value like an empty string.
compat-optional = []
# Allow TagInfo to contain a stringified floating-point value for the `order` field.
compat-tag-info = []
# Support encrypted stickers, as sent by several bridges.
# https://github.com/matrix-org/matrix-spec/issues/1667
compat-encrypted-stickers = []
# The predecessor field of RoomCreateEventContent is ignored if its
# deserialization fails.
compat-lax-room-create-deser = []
# The topic_block (`m.topic`) field of RoomTopicEventContent is ignored if its
# deserialization fails.
compat-lax-room-topic-deser = []
# Private feature used for benchmarks.
__criterion = ["dep:criterion"]
[dependencies]
as_variant = { workspace = true }
indexmap = { version = "2.0.0", features = ["serde"] }
js_int = { workspace = true, features = ["serde"] }
js_option = { workspace = true }
language-tags = { workspace = true, optional = true }
pulldown-cmark = { version = "0.13.0", optional = true, default-features = false, features = ["html"] }
ruma-common = { workspace = true }
ruma-html = { workspace = true, optional = true }
ruma-macros = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true }
tracing = { workspace = true, features = ["attributes"] }
uniffi = { workspace = true, optional = true }
web-time = { workspace = true }
wildmatch = { workspace = true }
zeroize = { workspace = true }
# dev-dependencies can't be optional, so this is a regular dependency
criterion = { workspace = true, optional = true }
[dev-dependencies]
assert_matches2 = { workspace = true }
assign = { workspace = true }
maplit = { workspace = true }
trybuild = "1.0.71"
[[bench]]
name = "event_deserialize"
harness = false
required-features = ["__criterion"]
[lints]
workspace = true