[package] name = "ruma" authors = ["Jonas Platte "] categories = ["api-bindings", "web-programming"] keywords = ["matrix", "chat", "messaging", "ruma"] description = "Types and traits for working with the Matrix protocol." homepage = "https://www.ruma.io/" repository = "https://github.com/ruma/ruma" readme = "README.md" license = "MIT" version = "0.0.2" edition = "2018" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] assign = "1.1.1" js_int = "0.2.0" ruma-common = { version = "=0.3.0-alpha.1", path = "../ruma-common" } ruma-identifiers = { version = "=0.18.0-alpha.1", path = "../ruma-identifiers", features = ["serde"] } ruma-serde = { version = "0.3.0", path = "../ruma-serde" } ruma-events = { version = "=0.22.0-alpha.2", path = "../ruma-events", optional = true } ruma-signatures = { version = "=0.6.0-alpha.1", path = "../ruma-signatures", optional = true } ruma-api = { version = "=0.17.0-alpha.2", path = "../ruma-api", optional = true } ruma-appservice-api = { version = "=0.2.0-alpha.2", path = "../ruma-appservice-api", optional = true } ruma-client-api = { version = "=0.10.0-alpha.2", path = "../ruma-client-api", optional = true } ruma-federation-api = { version = "=0.1.0-alpha.1", path = "../ruma-federation-api", optional = true } ruma-identity-service-api = { version = "0.0.1", path = "../ruma-identity-service-api", optional = true } ruma-push-gateway-api = { version = "0.0.1", path = "../ruma-push-gateway-api", optional = true } [dev-dependencies] serde = { version = "1.0.118", features = ["derive"] } [features] api = ["ruma-api"] events = ["ruma-events"] signatures = ["ruma-signatures"] appservice-api = ["api", "events", "ruma-appservice-api"] client-api = ["api", "events", "ruma-client-api"] federation-api = ["api", "signatures", "ruma-federation-api"] identity-service-api = ["api", "ruma-identity-service-api"] push-gateway-api = ["api", "ruma-push-gateway-api"] # Convenience features either = ["ruma-identifiers/either"] rand = ["ruma-identifiers/rand"] markdown = ["ruma-events/markdown"] # Increase compatibility with other parts of the Matrix ecosystem, at the # expense of weird behaviour where things deviate from the specification. # # For example, some mandatory string fields are defaulted to an empty string if # missing with this feature. compat = ["ruma-common/compat", "ruma-events/compat", "ruma-client-api/compat"] # unstable: by using any of these, you opt out of all semver guarantees Ruma # otherwise provides! unstable-exhaustive-types = [ "ruma-common/unstable-exhaustive-types", "ruma-events/unstable-exhaustive-types", "ruma-appservice-api/unstable-exhaustive-types", "ruma-client-api/unstable-exhaustive-types", "ruma-federation-api/unstable-exhaustive-types", "ruma-identity-service-api/unstable-exhaustive-types", "ruma-push-gateway-api/unstable-exhaustive-types", ] unstable-pre-spec = [ "ruma-common/unstable-pre-spec", "ruma-client-api/unstable-pre-spec", "ruma-events/unstable-pre-spec", "ruma-federation-api/unstable-pre-spec", #"ruma-identity-service-api/unstable-pre-spec", #"ruma-push-gateway-api/unstable-pre-spec", ] unstable-synapse-quirks = [ "ruma-client-api/unstable-synapse-quirks", ]