NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #74 most downloaded on crates.io
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.
Last release 27 days ago
10 Sep 2026
Release timing varies
gaps range from 8 days to 3 months
Most releases are documented
notes for 37 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
12 years old
120 releases · first in 2014
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
*(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_coreImprove missing-open-quote errors
Add DeInteger::as_str and DeInteger::radix for converting to desired integer types
DeInteger::as_str and DeInteger::radix for converting to desired integer typesDeFloat::as_str for converting to desired floating-point types*(display)* Only enable toml_writer/std if std is enabled
toml_writer/std if std is enabledFix infinite loop when ) is present outside of quotes
) is present outside of quotesNothing published for this version
Deprecated Deserializer::new / ValueDeserializer::new in favor of Deserializer::parse / ValueDeserializer::parse
default-features = false, run cargo add toml -F serde,stdBreaking Changes
from_str, Deserializer, etc no longer preserve order, requiring the preserve_order feature like Tableserde featurestd featureSpannedimpl FromStr for Value now parses TOML values, not documentsDeserializer::new / ValueDeserializer::new now return errorsSerializer::new and Serializer::pretty now take a &mut Buffer, rather than a &mut String<Serializer<'d> as serde::ser::Serializer>::Ok is now &'d mut Buffer<ValueSerializer<'d> as serde::ser::Serializer>::Ok is now &'d mut StringOther
Deserializer::new / ValueDeserializer::new in favor of Deserializer::parse / ValueDeserializer::parsefast_hash featureSpanned<DeTable<'input>> as a serde-less, zero-copy, span tracking format to parse to, with error recoveryde::from_sliceTable::remove_entrydebug feature for easier debuggingFrom and IntoDeserializer impls for Deserializer / ValueDeserializerserde and DeValue (but not Value)impl FromStr for Value now parses TOML values, not documents*(serde)* Serialize struct variants
*(serde)* Skip key-value pairs where the value is a newtype wrapping None
NoneAdd unbounded feature to bypass recursion depth checks
unbounded feature to bypass recursion depth checksTable no longer has a specific sub-table order### Features - Add Map::get_key_value
Map::get_key_value### Performance - Fix regression in 0.22.19
Prevent a stack overflow when parsing very large files
impl Serialize/Deserialize for Date/Time
Nothing published for this version
Correctly encode TOML keys with mixed quotes
Allow inferring keys as string literals
Nothing published for this version
Drop recursion limit from 128 to 100 to work on opt-level = 0 builds
opt-level = 0 builds*(de)* Remove an allocation when parsing
MSRV is now 1.70
### Internal - Update toml_edit dependency
toml_edit dependency*(de)* Improve error span for empty tables
MSRV is now 1.69
If you relied on toml to enable toml_edit parse or display features, it will no longer work
toml to enable toml_edit parse or display features, it will no longer workNothing published for this version
*(ser)* Make sign of nan deterministic by always being positive
nan deterministic by always being positive*(parser)* Ensure the sign of NAN is preserved
*(parser)* Error on invalid days of month, accounting for leap years
### Compatibility MSRV is now 1.67
MSRV is now 1.67
*(parser)* Correctly error when mixing inline tables with inline dotted keys
*(de)* Allow parsing keys into newtypes
Serialization and deserialization of tuple variants has changed from being an array to being a table with the key being the variant name and the value
*(ser)* Don't lose data when inline tables are nested deeply under arrays
*(ser)* Error rather than drop whole arrays when a single element is None
NoneMSRV is now 1.66.0
### Features - Add Map::retain
Map::retain### Internal - Update indexmap
indexmap*(ser)* Newtype variant support
MSRV is now 1.64.0
Don't skip writing standard tables that are "underneath" dotted keys
### Fixes - *(ser)* Error on i64 overflow
### Documentation - Show features on doc.rs
Your coding agent can read these notes before it upgrades. Set up the MCP server →