NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #97 most downloaded on crates.io
Yet another format-preserving TOML parser.
Last release 27 days ago
11 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Most releases are documented
notes for 36 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
128 releases · first in 2017
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Reverted change of InlineTable::insert to take a impl Into
InlineTable::insert to take a impl Into<Value>Change InlineTable::insert to take a impl Into
yanked
InlineTable::insert to take a impl Into<Value>*(serde)* Support char, bool, and integers as keys
char, bool, and integers as keys### Compatibility - Update MSRV to 1.76 ### Internal - Update dependencies
Allow more build parallelism by depending on `serde_core`
serde_core### Features - Re-expose Table::span
Table::spanImprove missing-open-quote errors
Don't lose whitespace/comments inside of an empty array
Fix infinite loop when ) is present outside of quotes
) is present outside of quotesRenamed ImDocument to Document, deprecating the old name
Breaking Changes
ArrayOfTables::remove to return the TableArray::push and Array::insert to renderingSpannedInternalString with Stringperf featureTable::position from a usize to an isizeOther
ImDocument to Document, deprecating the old namedebug feature for easier debuggingde::Error::set_inputArray::push and Array::insert to rendering to when more information is availableTables inside of a Value as an InlineTable, rather than skipping themInlineTablesTable::position from a usize to an isize to make insertion before easierAdd ImDocument::into_item, DocumentMut::into_item
ImDocument::into_item, DocumentMut::into_itemImDocument::into_table, DocumentMut::into_tableunstable-debug feature to inspect what is happening during parsing*(serde)* Skip key-value pairs where the value is a newtype wrapping None
NoneReduced escaping in strings without a prior formatting
Allow creating Items from types it wraps
Items from types it wraps### Internal - Update a dependency
Fix regression in 0.22.21 where *Table::insert* would incorrectly use the existing format of a key
*Table::insert* would incorrectly use the existing format of a keyAllow creating a table from Items and not just Values
Items and not just ValuesItems from any type thnat can create a Value### Performance - Fix regression in 0.22.19
Prevent a stack overflow when parsing very large files
When recursion depth is reached, be sure to show that error rather than something else
Nothing published for this version
Correctly encode TOML keys with mixed quotes
Write out the Decor for the root Table (accessible through DocumentMut)
Decor for the root Table (accessible through DocumentMut)Allow inferring keys as string literals
Nothing published for this version
Calculate valid error span when doing "\ "
"\<multi-byte char>"Fix a regression from 0.22.10 where errors pointing at the end of the input would produce bad spans
Parse errors now return spans that respect multi-byte characters
Expose convenience span functions on each item type
span functions on each item typeDrop recursion limit from 128 to 100 to work on opt-level = 0 builds
opt-level = 0 buildsDeprecated Document in favor of DocumentMut
ImDocument for parsing into an immutable document for performance and looking up spansDocument to DocumentMut to clarify its role with ImDocumentDocument in favor of DocumentMutde::Deserializer gained a default generic parameter to line up with ImDocumentde::Deserializer::new was deprecated in favor of Deserializer::fromCorrectly point people to Key::decor / Key::decor_mut replacements
Key::decor / Key::decor_mut replacements### Internal - Update winnow ### Compatibility MSRV is now 1.70
winnowMSRV is now 1.70
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Features - Add Table::key
Table::keyKey::decor is now tracked in Key::dotted_decor and Key::leaf_decor
Key::decor is now tracked in Key::dotted_decor and Key::leaf_decor*(de)* Improve error span for empty tables
MSRV is now 1.69
Split default-features=false APIs into parse and display features
default-features=false APIs into parse and display features*(ser)* Make sign of nan deterministic by always being positive
nan deterministic by always being positiveYour coding agent can read these notes before it upgrades. Set up the MCP server →