[package]
name = "msgpacker"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
categories = ["compression", "encoding", "parser-implementations"]
keywords = ["messagepack", "msgpack"]
readme = "README.md"
description = "MessagePack protocol implementation for Rust."

[dependencies]
bytes = { version = "1.11", default-features = false }
msgpacker-derive = { version = "0.7", path = "../msgpacker-derive", optional = true }
serde = { version = "1.0", default-features = false, optional = true, features = [
  "alloc",
] }

[dev-dependencies]
arbitrary = "1.4"
arbitrary-json = "0.1"
msgpacker-derive.path = "../msgpacker-derive"
proptest = "1.10"
proptest-derive = "0.8"
serde = { version = "1.0", features = ["derive"] }
serde_bytes = "0.11"
serde_json = "1.0"

[features]
default = ["derive", "std", "serde"]
derive = ["msgpacker-derive"]
assertions = []
serde = ["dep:serde"]
strict = []
std = ["serde?/std"]

[[test]]
name = "collections"
required-features = ["derive"]

[[test]]
name = "serde"
required-features = ["derive", "serde"]
