[workspace]
members = ["rustbinary-derive"]
exclude = ["fuzz"]
resolver = "2"
[package]
name = "rustbinary"
version = "0.1.8"
edition = "2021"
authors = ["blueokanna", "HyphenTeam"]
keywords = ["binary", "serialization", "rust", "networking", "middleware"]
categories = ["encoding", "data-structures", "network-programming"]
license = "Apache-2.0"
readme = "README.md"
rust-version = "1.78"
homepage = "https://github.com/blueokanna/RustBinary"
repository = "https://github.com/blueokanna/RustBinary"
documentation = "https://docs.rs/rustbinary"
description = "A bounded nextjson binary codec with adaptive frames, zero-allocation paths, schema evolution, and authenticated pipelines"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[profile.release]
lto = "thin"
codegen-units = 1
opt-level = 3
[features]
default = ["std", "compact"]
std = ["nextjson/std"]
protocol = [
"adaptive",
"bit-packing",
"compact",
"derive",
"fingerprint",
"reflection",
"schema-evolution",
"static-size",
]
compact = ["derive"]
pipeline = ["cbor", "compression", "encryption", "parallel"]
sync = ["entropy", "reconcile", "trust"]
archive = ["std", "derive"]
entropy = ["reflection"]
reconcile = []
trust = []
derive = ["dep:rustbinary-derive", "nextjson/derive"]
fingerprint = []
reflection = []
static-size = []
cbor = []
compression = ["std"]
encryption = ["std"]
bit-packing = []
adaptive = ["bit-packing"]
parallel = ["std"]
schema-evolution = []
bounded = ["derive"]
projection = []
simd = ["std"]
[[example]]
name = "complete"
required-features = [
"adaptive",
"bit-packing",
"cbor",
"compression",
"derive",
"encryption",
"fingerprint",
"parallel",
"reflection",
"schema-evolution",
"simd",
"static-size",
]
[[example]]
name = "compact_profile"
required-features = ["compact", "derive"]
[[example]]
name = "adaptive_zero_alloc"
required-features = ["adaptive"]
[[example]]
name = "secure_pipeline"
required-features = ["cbor", "compression", "encryption"]
[[example]]
name = "schema_evolution"
required-features = ["schema-evolution"]
[[example]]
name = "parallel_batch"
required-features = ["parallel"]
[[example]]
name = "metadata"
required-features = [
"bit-packing",
"derive",
"fingerprint",
"reflection",
"static-size",
]
[[example]]
name = "mmap_archive"
required-features = ["archive"]
[[example]]
name = "entropy"
required-features = ["entropy", "derive"]
[[example]]
name = "merkle_archive"
required-features = ["archive"]
[[example]]
name = "delta_sync"
required-features = ["reconcile"]
[[example]]
name = "trust_session"
required-features = ["trust", "std"]
[dependencies]
nextjson = { version = "0.1.4", default-features = false }
rustbinary-derive = { version = "0.1.5", optional = true }
[dev-dependencies]
nextjson = { version = "0.1.4" }
proptest = "1.8.0"