PackageTrack
Sign in Get early access

toml

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.

1.1.4+spec-1.1.0 838M downloads/mo #77 most downloaded on crates.io toml-rs/toml

What this package is like to depend on

Last release 26 days ago

28 Jul 2026

Release timing varies

gaps range from 8 days to 3 months

Some releases are documented

notes for 40 of 115 stable releases

3 versions withdrawn

withdrawn after publishing

12 years old

118 releases · first in 2014

20 releases in the last 12 months

see the full history below

Release timeline

118 releases · Nov 2014 to Jul 2026
2015 2017 2019 2021 2023 2025
Release Pre-release Withdrawn

Releases

latest 60 of 118
  1. 1.1.4+spec-1.1.0 28 Jul 2026

    Nothing published for this version

  2. 1.1.3+spec-1.1.0 14 Jul 2026

    Nothing published for this version

  3. 1.1.2+spec-1.1.0 01 Apr 2026

    Nothing published for this version

  4. 1.1.1+spec-1.1.0 31 Mar 2026

    Nothing published for this version

  5. 1.1.0+spec-1.1.0 23 Mar 2026

    Nothing published for this version

  6. 1.0.7+spec-1.1.0 17 Mar 2026

    Nothing published for this version

  7. 1.0.6+spec-1.1.0 06 Mar 2026

    Nothing published for this version

  8. 1.0.5+spec-1.1.0 06 Mar 2026

    Nothing published for this version

  9. 1.0.4+spec-1.1.0 04 Mar 2026

    Nothing published for this version

  10. 1.0.3+spec-1.1.0 18 Feb 2026

    Nothing published for this version

  11. 1.0.2+spec-1.1.0 16 Feb 2026

    Nothing published for this version

  12. 1.0.1+spec-1.1.0 12 Feb 2026

    Nothing published for this version

  13. 1.0.0+spec-1.1.0 11 Feb 2026

    Nothing published for this version

  14. 0.9.12+spec-1.1.0 10 Feb 2026

    Nothing published for this version

  15. 0.9.11+spec-1.1.0 09 Jan 2026

    Nothing published for this version

  16. 0.9.10+spec-1.1.0 18 Dec 2025

    Nothing published for this version

  17. 0.9.9+spec-1.0.0 17 Dec 2025

    Nothing published for this version

  18. 0.9.8 09 Oct 2025
    Release notes

    Features

    • (serde) Support char, bool, and integers as keys
    Open source →
  19. 0.9.7 18 Sep 2025
    Release notes

    Compatibility

    • Update MSRV to 1.76

    Internal

    • Update dependencies
    Open source →
  20. 0.9.6 15 Sep 2025
    Release notes

    Performance

    • Allow more build parallelism by depending on serde_core
    Open source →
  21. 0.9.5 04 Aug 2025
    Release notes

    Fixes

    • Improve missing-open-quote errors
    • Don't treat trailing quotes as separate items
    • Conjoin more values in unquoted string errors
    • Reduce float false positives
    • Reduce float/bool false positives
    Open source →
  22. 0.9.4 30 Jul 2025
    Release notes

    Features

    • Add DeInteger::as_str and DeInteger::radix for converting to desired integer types
    • Add DeFloat::as_str for converting to desired floating-point types
    Open source →
  23. 0.9.3 28 Jul 2025
    Release notes

    Fixes

    • (display) Only enable toml_writer/std if std is enabled
    Open source →
  24. 0.9.2 11 Jul 2025
    Release notes

    Fixes

    • Fix infinite loop when ) is present outside of quotes
    Open source →
  25. 0.9.1 10 Jul 2025

    Nothing published for this version

  26. 0.9.0 08 Jul 2025
    Release notes

    Migration

    1. If you set default-features = false, run cargo add toml -F serde,std
    2. Resolve errors as you come across them

    Compatibility

    Breaking Changes

    • from_str, Deserializer, etc no longer preserve order, requiring the preserve_order feature like Table
    • Serde support has been broken out into the default serde feature
    • Std support has been broken out into the default std feature
    • Fail quickly when deserializing a value without a Spanned
    • impl FromStr for Value now parses TOML values, not documents
    • Deserializer::new / ValueDeserializer::new now return errors
    • Serializer::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 String

    Other

    • New TOML parser and writer which carries a risk for regressions
    • Deprecated Deserializer::new / ValueDeserializer::new in favor of Deserializer::parse / ValueDeserializer::parse

    Performance

    • Added fast_hash feature

    Features

    • Add Spanned<DeTable<'input>> as a serde-less, zero-copy, span tracking format to parse to, with error recovery
    • Add de::from_slice
    • Add Table::remove_entry
    • debug feature for easier debugging
    • Added From and IntoDeserializer impls for Deserializer / ValueDeserializer
    • Added big-integer, big-float, u64, u128, and i128 support to serde and DeValue (but not Value)

    Fixes

    • impl FromStr for Value now parses TOML values, not documents
    Open source →
  27. 0.8.23 06 Jun 2025
    Release notes

    Fixes

    • (serde) Serialize struct variants
    • (serde) Serialize tuple variants under their variant name
    Open source →
  28. 0.8.22 28 Apr 2025
    Release notes

    Fixes

    • (serde) Skip key-value pairs where the value is a newtype wrapping None
    Open source →
  29. 0.8.21 25 Apr 2025
    Release notes

    Features

    • Add unbounded feature to bypass recursion depth checks

    Fixes

    • Reduced escaping in strings without a prior formatting

    Compatibility

    • Serializing a Table no longer has a specific sub-table order
    • Strings have changed formats
      • A trailing single quote no longer prevents "pretty" strings
      • Double quotes in ml-basic-strings are only escaped if there are 3 or more
      • Presence of 1-2 double quotes and newlines no longer forces the use of ml-literal instead ml-basic-string
    Open source →
  30. 0.8.20 05 Feb 2025
    Release notes

    Features

    • Add Map::get_key_value
    Open source →
  31. 0.8.19 31 Jul 2024
    Release notes

    Performance

    • Fix regression in 0.22.19
    Open source →
  32. 0.8.18 31 Jul 2024
    Release notes

    Fixes

    • Prevent a stack overflow when parsing very large files
    Open source →
  33. 0.8.17 30 Jul 2024
    Release notes

    Performance

    • Speed up whitespace parsing
    • Speed up empty array parsing
    • Speed up general array parsing
    • Speed up general value parsing

    Features

    • impl Serialize/Deserialize for Date/Time

    Fixes

    • When recursion depth is reached, be sure to show that error rather than something else
    Open source →
  34. 0.8.16 25 Jul 2024

    Nothing published for this version

  35. 0.8.15 17 Jul 2024
    Release notes

    Fixes

    • Correctly encode TOML keys with mixed quotes
    Open source →
  36. 0.8.14 03 Jun 2024
    Release notes

    Fixes

    • Allow inferring keys as string literals
    • Prefer string literals if it avoids escaping double-quotes
    Open source →
  37. 0.8.13 15 May 2024

    Nothing published for this version

  38. 0.8.12 18 Mar 2024
    Release notes

    Fixes

    • Drop recursion limit from 128 to 100 to work on opt-level = 0 builds
    Open source →
  39. 0.8.11 11 Mar 2024
    Release notes

    Performance

    • (de) Remove an allocation when parsing

    Compatibility

    MSRV is now 1.70

    Open source →
  40. 0.8.10 05 Feb 2024
    Release notes

    Internal

    • Update toml_edit dependency
    Open source →
  41. 0.8.9 31 Jan 2024
    Release notes

    Fixes

    • (de) Improve error span for empty tables

    Compatibility

    MSRV is now 1.69

    Open source →
  42. 0.8.8 06 Nov 2023
    Release notes

    Compatibility

    • If you relied on toml to enable toml_edit parse or display features, it will no longer work
    Open source →
  43. 0.8.7 06 Nov 2023

    Nothing published for this version

  44. 0.8.6 27 Oct 2023
    Release notes

    Fixes

    • (ser) Make sign of nan deterministic by always being positive
    Open source →
  45. 0.8.5 26 Oct 2023
    Release notes

    Fixes

    • (parser) Ensure the sign of NAN is preserved
    • (serde) Ensure the sign of NAN is preserved
    Open source →
  46. 0.8.4 23 Oct 2023
    Release notes

    Fixes

    • (parser) Error on invalid days of month, accounting for leap years
    Open source →
  47. 0.8.3 23 Oct 2023
    Release notes

    Compatibility

    MSRV is now 1.67

    Open source →
  48. 0.8.2 03 Oct 2023
    Release notes

    Fixes

    • (parser) Correctly error when mixing inline tables with inline dotted keys
    Open source →
  49. 0.8.1 26 Sep 2023
    Release notes

    Fixes

    • (de) Allow parsing keys into newtypes
    Open source →
  50. 0.8.0 13 Sep 2023
    Release notes

    Compatibility

    • 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 being the array

    Fixes

    • Consistently serialize and deserialize struct and tuple variants, matching serde_json's behavior
    Open source →
  51. 0.7.8 09 Sep 2023
    Release notes

    Fixes

    • (ser) Don't lose data when inline tables are nested deeply under arrays
    Open source →
  52. 0.7.7 08 Sep 2023
    Release notes

    Fixes

    • (ser) Error rather than drop whole arrays when a single element is None

    Compatibility

    MSRV is now 1.66.0

    Open source →
  53. 0.7.6 05 Jul 2023
    Release notes

    Features

    • Add Map::retain
    Open source →
  54. 0.7.5 24 Jun 2023
    Release notes

    Internal

    • Update indexmap
    Open source →
  55. 0.7.4 18 May 2023
    Release notes

    Features

    • (ser) Newtype variant support

    Compatibility

    MSRV is now 1.64.0

    Open source →
  56. 0.7.3 13 Mar 2023
    Release notes

    Fixes

    • Don't skip writing standard tables that are "underneath" dotted keys
    Open source →
  57. 0.7.2 07 Feb 2023
    Release notes

    Fixes

    • (ser) Error on i64 overflow
    Open source →
  58. 0.7.1 30 Jan 2023
    Release notes

    Documentation

    • Show features on doc.rs
    Open source →
  59. 0.7.0 27 Jan 2023
    Release notes

    Breaking Change

    • Offset::Custom changed from tracking hours+minutes to minutes
    • Offset::Customs parser now enforces a range of minutes
    • Removed deprecated Error::line_col infavor of Error::span
    • Removed deprecated ser::tables_last as it isn't needed anymore
    • Removed deprecagted Serializer::pretty_* functions as toml_edit is for greater customization

    Fixes

    • Allow negative minute Offsets
    Open source →
  60. 0.6.0 23 Jan 2023
    Release notes

    Compatibility

    Breaking Behavior Changes

    • FromStr impl for Value now only parses toml values, not documents. See instead Table
    • Display impl for Value now only renders toml values, not documents. See instead Table
    • from_str now only parses toml documents, not values. See instead de::ValueDeserializer
    • to_string / to_string_pretty now only renders toml documents, not values. See instead ser::ValueSerializer

    Breaking API Changes

    • de::from_slice and ser::to_vec were removed, instead use from_str and to_string and convert with bytes manually
    • toml! returns a Table, rather than a Value
    • toml::de can no longer deserialize to borrowed types as everything becomes owned through the parsing process
    • serde::de::Deserializer is now implemented for toml::Deserializer, rather than &mut toml::Deserializer
    • serde::ser::Serializer is now implemented for toml::Serializer, rather than &mut toml::Serializer
    • value no longer re-exports Map and Entry
    • Spanned::spans return type changed to std::ops::Range<usize>
    • Spanned::start removed in favor of Spanned::span().start
    • Spanned::wnd removed in favor of Spanned::span().end
    • parse and display default features were added
    • toml::ser::Errors variants are private. For toml::ser::Error::Custom, you can use serde::ser::Error::custom
    • Deprecated items from 0.5 were removed

    Deprecations

    • Deprecated Deserializer::tables_last, it is no longer needed
    • Deprecated Deserializer::pretty_string, this is all bundled up with pretty
    • Deprecated Deserializer::pretty_string_literal, this is all bundled up with pretty
    • Deprecated Deserializer::pretty_array, this is all bundled up with pretty
    • Deprecated Deserializer::pretty_array_indent, this is all bundled up with pretty
    • Deprecated Deserializer::pretty_array_trailing_comma, this is all bundled up with pretty
    • Deprecated de::Error::line_col, replaced with de::Error::span

    MSRV is now 1.60.0

    Features

    • Table now impls Display, FromStr, Deserialize
    • Table now has try_from and try_into methods
    • Added de::ValueDeserializer and ser::ValueSerializer for exclusively working with toml values
    • Provide de::Error::span and de::Error::message, allowing custom error rendering

    Fixes

    • Bring the parser into full TOML 1.0 compliance
    • (parse) Improve the quality of spans in Spanned / errors
    • (display) Automatically handle root key-value pairs vs tables, removing the need for tables_last
    • (display) Fix problems with stray , being inserted when using array of tables
    • (error) Show the error locatation in the source for parse and deserialize errors
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive