[package] name = "bson" version = "2.13.0" authors = [ "Y. T. Chung ", "Kevin Yeh ", "Saghm Rossi ", "Patrick Freed ", "Isabel Atkinson ", "Abraham Egnor ", ] description = "Encoding and decoding support for BSON in Rust" license = "MIT" readme = "README.md" repository = "https://github.com/mongodb/bson-rust" edition = "2018" keywords = ["bson", "mongodb", "serde", "serialization", "deserialization"] categories = ["encoding"] # By default cargo include everything git include # cargo diet can help to manage what's not useful. exclude = [ "etc/**", "examples/**", "fuzz/**", "serde-tests/**", "src/tests/**", "rustfmt.toml", ".travis.yml", ".evergreen/**", ".gitignore" ] [features] default = [] # if enabled, include API for interfacing with chrono 0.4 chrono-0_4 = ["chrono"] # if enabled, include API for interfacing with uuid 0.8 # This is commented out because Cargo implicitly adds this feature since # uuid-0_8 is also an optional dependency. # uuid-0_8 = [] # if enabled, include API for interfacing with uuid 1.x uuid-1 = [] # if enabled, include API for interfacing with time 0.3 time-0_3 = [] # If enabled, implement Hash/Eq for Bson and Document hashable = [] serde_path_to_error = ["dep:serde_path_to_error"] # if enabled, include serde_with interop. # should be used in conjunction with chrono-0_4 or uuid-0_8. # it's commented out here because Cargo implicitly adds a feature flag for # all optional dependencies. # serde_with [lib] name = "bson" [dependencies] ahash = "0.8.0" chrono = { version = "0.4.15", features = ["std"], default-features = false, optional = true } rand = "0.8" serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } indexmap = "2.1.0" hex = "0.4.2" base64 = "0.13.0" once_cell = "1.5.1" uuid-0_8 = { package = "uuid", version = "0.8.1", features = ["serde", "v4"], optional = true } uuid = { version = "1.1.2", features = ["serde", "v4"] } serde_bytes = "0.11.5" serde_with = { version = "1.3.1", optional = true } serde_with-3 = { package = "serde_with", version = "3.1.0", optional = true } time = { version = "0.3.9", features = ["formatting", "parsing", "macros", "large-dates"] } bitvec = "1.0.1" serde_path_to_error = { version = "0.1.16", optional = true } [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] js-sys = "0.3" [dev-dependencies] assert_matches = "1.2" criterion = "0.3.0" pretty_assertions = "0.6.1" proptest = "1.0.0" serde_bytes = "0.11" chrono = { version = "0.4", features = ["serde", "clock", "std"], default-features = false } [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies] getrandom = { version = "0.2", features = ["js"] } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]