openmls 0.5.0

A Rust implementation of the Messaging Layer Security (MLS) protocol, as defined in RFC 9420.
Documentation
[package]
name = "openmls"
version = "0.5.0"
authors = ["OpenMLS Authors"]
edition = "2021"
description = "A Rust implementation of the Messaging Layer Security (MLS) protocol, as defined in RFC 9420."
license = "MIT"
documentation = "https://openmls.github.io/openmls/"
repository = "https://github.com/openmls/openmls/"
readme = "../README.md"
keywords = ["MLS", "IETF", "RFC9420", "Encryption", "E2EE"]

[dependencies]
openmls_traits = { version = "0.2.0", path = "../traits" }
serde = { version = "^1.0", features = ["derive"] }
log = { version = "0.4", features = ["std"] }
tls_codec = { workspace = true }
rayon = "^1.5.0"
thiserror = "^1.0"
backtrace = "0.3"
# Only required for tests.
rand = { version = "0.8", optional = true }
serde_json = { version = "1.0", optional = true }
# Crypto backends required for KAT and testing - "test-utils" feature
itertools = { version = "0.10", optional = true }
openmls_rust_crypto = { version = "0.2.0", path = "../openmls_rust_crypto", optional = true }
openmls_basic_credential = { version = "0.2.0", path = "../basic_credential", optional = true, features = ["clonable", "test-utils"] }
rstest = { version = "^0.16", optional = true }
rstest_reuse = { version = "0.4", optional = true }

[features]
default = []
crypto-subtle = [] # Enable subtle crypto APIs that have to be used with care.
test-utils = [
    "dep:serde_json",
    "dep:itertools",
    "dep:openmls_rust_crypto",
    "dep:rand",
    "dep:rstest",
    "dep:rstest_reuse",
    "dep:openmls_basic_credential",
]
crypto-debug = [] # ☣️ Enable logging of sensitive cryptographic information
content-debug = [] # ☣️ Enable logging of sensitive message content

[dev-dependencies]
backtrace = "0.3"
criterion = "^0.5"
hex = { version = "0.4", features = ["serde"] }
itertools = "0.10"
lazy_static = "1.4"
openmls = { path = ".", features = ["test-utils"] }
openmls_traits = { version = "0.2.0", path = "../traits", features = ["test-utils"] }
pretty_env_logger = "0.5"
rstest = "^0.16"
rstest_reuse = "0.4"
tempfile = "3"

[[bench]]
name = "benchmark"
harness = false