toml_edit 0.17.0

Yet another format-preserving TOML parser.
Documentation
[package]
name = "toml_edit"
version = "0.17.0"
readme = "README.md"
license = "MIT/Apache-2.0"
keywords = ["encoding", "toml"]
categories = ["encoding", "parser-implementations", "parsing", "config"]
description = "Yet another format-preserving TOML parser."
authors = ["Andronik Ordian <write@reusable.software>", "Ed Page <eopage@gmail.com>"]
repository = "https://github.com/ordian/toml_edit"
documentation = "https://docs.rs/toml_edit"
edition = "2021"
rust-version = "1.60.0"  # MSRV
include = [
  "src/**/*",
  "Cargo.toml",
  "LICENSE*",
  "README.md",
  "examples/**/*",
  "benches/**/*",
  "tests/**/*"
]

[package.metadata.docs.rs]
features = ["easy"]

[package.metadata.release]
tag-name = "v{{version}}"
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_edit/compare/{{tag_name}}...HEAD", exactly=1},
]

[features]
default = []
easy = ["serde"]
perf = ["dep:kstring"]
serde = ["dep:serde", "toml_datetime/serde"]
# 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 = []

[dependencies]
indexmap = "1.9.1"
nom8 = "0.2.0"
itertools = "0.10.5"
serde = { version = "1.0.145", features = ["derive"], optional = true }
kstring = { version = "2.0.0", features = ["max_inline"], optional = true }
toml_datetime = { version = "0.5.0", path = "../toml_datetime" }

[dev-dependencies]
serde_json = "1.0.91"
toml-test-harness = "0.4.2"
toml-test-data = "1.1.1"
libtest-mimic = "0.6.0"
snapbox = { version = "0.4.3", features = ["harness"] }
criterion = "0.4.0"
toml = "0.5.10"

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

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

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

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

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

[[bench]]
name = "cargo"
harness = false

[[bench]]
name = "linear"
harness = false

[[example]]
name = "visit"
test = true