[package]
name = "bson"
version = "3.1.0"
authors = [
"Y. T. Chung <zonyitoo@gmail.com>",
"Kevin Yeh <kevinyeah@utexas.edu>",
"Saghm Rossi <saghmrossi@gmail.com>",
"Patrick Freed <patrick.freed@mongodb.com>",
"Isabel Atkinson <isabel.atkinson@mongodb.com>",
"Abraham Egnor <abraham.egnor@mongodb.com>",
]
description = "Encoding and decoding support for BSON in Rust"
license = "MIT"
readme = "README.md"
repository = "https://github.com/mongodb/bson-rust"
edition = "2021"
keywords = ["bson", "mongodb", "serde", "serialization", "deserialization"]
categories = ["encoding"]
rust-version = "1.81"
exclude = [
"etc/**",
"examples/**",
"fuzz/**",
"src/tests/**",
"rustfmt.toml",
".travis.yml",
".evergreen/**",
".gitignore"
]
[features]
default = ["compat-3-0-0"]
compat-3-0-0 = []
chrono-0_4 = ["dep:chrono"]
jiff-0_2 = ["dep:jiff"]
large_dates = ["time/large-dates"]
uuid-1 = []
time-0_3 = []
serde_path_to_error = ["dep:serde_path_to_error"]
serde_with-3 = ["dep:serde_with", "dep:serde"]
serde = ["dep:serde"]
serde_json-1 = ["dep:serde_json"]
[lib]
name = "bson"
[dependencies]
ahash = "0.8.12"
chrono = { version = "0.4.15", features = ["std"], default-features = false, optional = true }
jiff = { version = "0.2", default-features = false, optional = true }
rand = "0.9"
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
indexmap = "2.1.0"
hex = "0.4.2"
base64 = "0.22.1"
uuid = { version = "1.13.0", features = ["serde", "v4"] }
serde_bytes = "0.11.5"
serde_with = { version = "3.1.0", optional = true }
time = { version = "0.3.9", features = ["formatting", "parsing", "macros"] }
thiserror = "2"
bitvec = "1.0.1"
serde_path_to_error = { version = "0.1.16", optional = true }
simdutf8 = "0.1.5"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
js-sys = "0.3"
uuid = { version = "1.1.2", features = ["serde", "v4", "js"] }
getrandom = { version = "0.3", features = ["wasm_js"] }
[dev-dependencies]
assert_matches = "1.2"
criterion = "0.3.0"
pretty_assertions = "0.6.1"
proptest = "1.0.0"
serde_bytes = "0.11"
serde_path_to_error = "0.1.16"
serde_json = { version = "1", features = ["preserve_order"] }
chrono = { version = "0.4", features = ["serde", "clock", "std"], default-features = false }
jiff = { version = "0.2", default-features = false, features = ["std"] }
rmp-serde = "0.15"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]