[package] name = "toml" version = "0.8.23" 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. """ categories = ["encoding", "parser-implementations", "parsing", "config"] keywords = ["encoding", "toml"] repository.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", "--generate-link-to-definition"] [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="", replace="\n## [Unreleased] - ReleaseDate\n", exactly=1}, {file="CHANGELOG.md", search="", replace="\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"] # Provide a method disable_recursion_limit to parse arbitrarily deep structures # without any consideration for overflowing the stack. Additionally you will # need to be careful around other recursive operations on the parsed result # which may overflow the stack after deserialization has completed, including, # but not limited to, Display and Debug and Drop impls. unbounded = ["toml_edit?/unbounded"] # 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.27", path = "../toml_edit", default-features = false, features = ["serde"], optional = true } toml_datetime = { version = "0.6.11", path = "../toml_datetime", features = ["serde"] } serde_spanned = { version = "0.6.9", path = "../serde_spanned", features = ["serde"] } [dev-dependencies] serde = { version = "1.0.199", features = ["derive"] } serde_json = "1.0.116" toml-test-harness = { version = "1.3.2", features = ["snapshot"] } toml-test-data = "2.3.0" snapbox = "0.6.0" walkdir = "2.5.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