toml 0.8.19

A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and serializing Rust structures.
Documentation
[package]
name = "toml"
version = "0.8.19"
keywords = ["encoding", "toml"]
categories = ["encoding", "parser-implementations", "parsing", "config"]
description = """
A native Rust encoder and decoder of TOML-formatted files and streams. Provides
implementations of the standard Serialize/Deserialize traits for TOML data to
facilitate deserializing and serializing Rust structures.
"""
authors = ["Alex Crichton <alex@alexcrichton.com>"]
repository.workspace = true
homepage.workspace = true
license.workspace = true
edition.workspace = true
rust-version.workspace = true
include.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[package.metadata.release]
pre-release-replacements = [
  {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
  {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
  {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
  {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
  {file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/toml-rs/toml/compare/{{tag_name}}...HEAD", exactly=1},
]

[features]
default = ["parse", "display"]
parse = ["dep:toml_edit", "toml_edit?/parse"]
display = ["dep:toml_edit", "toml_edit?/display"]

# Use indexmap rather than BTreeMap as the map type of toml::Value.
# This allows data to be read into a Value and written back to a TOML string
# while preserving the order of map keys in the input.
preserve_order = ["indexmap"]

[dependencies]
serde = "1.0.145"
indexmap = { version = "2.0.0", optional = true }
toml_edit = { version = "0.22.20", path = "../toml_edit", default-features = false, features = ["serde"], optional = true }
toml_datetime = { version = "0.6.8", path = "../toml_datetime", features = ["serde"] }
serde_spanned = { version = "0.6.7", path = "../serde_spanned", features = ["serde"] }

[dev-dependencies]
serde = { version = "1.0.199", features = ["derive"] }
serde_json = "1.0.116"
toml-test-harness = "0.4.8"
toml-test-data = "1.11.0"
snapbox = "0.6.0"

[[test]]
name = "decoder_compliance"
harness = false

[[test]]
name = "encoder_compliance"
harness = false

[[example]]
name = "decode"
required-features = ["parse", "display"]

[[example]]
name = "enum_external"
required-features = ["parse", "display"]

[[example]]
name = "toml2json"
required-features = ["parse", "display"]

[lints]
workspace = true