content: [package]
  name = "bson"
  version = "3.0.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"
  
  # 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 = ["compat-3-0-0"]
  compat-3-0-0 = []
  # if enabled, include API for interfacing with chrono 0.4
  chrono-0_4 = ["dep:chrono"]
  # if enabled, include API for interfacing with jiff 0.2
  jiff-0_2 = ["dep:jiff"]
  # enable the large-dates feature for the time crate
  large_dates = ["time/large-dates"]
  # 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 = []
  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.
  serde_with-3 = ["dep:serde_with", "dep:serde"]
  serde = ["dep:serde"]
  serde_json-1 = ["dep:serde_json"]
  
  [lib]
  name = "bson"
  
  [dependencies]
  ahash = "0.8.0"
  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", features = ["preserve_order"], optional = true }
  indexmap = "2.1.0"
  hex = "0.4.2"
  base64 = "0.22.1"
  once_cell = "1.5.1"
  uuid = { version = "1.1.2", 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.2", features = ["js"] }
  getrandom_03 = { package = "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 = "1"
  chrono = { version = "0.4", features = ["serde", "clock", "std"], default-features = false }
  jiff = { version = "0.2", default-features = false, features = ["std"] }
  
  [package.metadata.docs.rs]
  all-features = true
  rustdoc-args = ["--cfg", "docsrs"]
  