PackageTrack
Sign in Get early access

toml

Parser and encoder for TOML v1.0.0 (Tom's Obvious, Minimal Language) configuration files.

0.18.0 260K downloads/mo #744 most downloaded on pub.dev just95/toml.dart

What this package is like to depend on

Last release 7 months ago

30 Dec 2025

Release timing varies

gaps range from 2 weeks to 1.3 years

Nearly every release is documented

notes for 23 of 23 stable releases

Nothing withdrawn

no release was ever pulled

12 years old

23 releases · first in 2015

2 releases in the last 12 months

see the full history below

Release timeline

23 releases · Jan 2015 to Dec 2025
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 23
  1. 0.18.0 30 Dec 2025
    Release notes
    • Support for TOML [v1.1.0][toml-spec/v1.1.0] has been added.
      • Newlines and trailing commas are now allowed in inline tables.
      • The seconds part of offset date-times, local date-times and local times is now optional.
        • If the seconds part is omitted TomlPartialTime.seconds is set to 0.
        • If a TomlPartialTime with TomlPartialTime.seconds == 0 is encoded and TomlPartialTime.secondFractions is empty, the seconds part is omitted.
      • Added escape sequence \e for the escape character (U+001B).
      • Added escape sequence \xHH for code points in the range of U+0000 to U+00FF.
        • The encoder will use this type of escape sequence to encode control characters in basic strings and multiline basic strings that do not have a corresponding one letter escape sequence.
    • The encoder will now throw a TomlImpossibleEscapeSequenceException instead of a TomlInvalidEscapeSequenceException if it encounters a code point that cannot be represented using any supported escape sequence. This can happen for example, when the encoded string contains unpaired UTF-16 surrogate code points.
    Open source →
  2. 0.17.0 21 Oct 2025
    Release notes
    • Dart 3.8 is now required.

    • Upgraded dependencies.

    • TomlEncodableValue and TomlEncodableKey are now interface classes and must not be extended anymore.

      • If you have previously extended TomlEncodableValue, you must now use the implements keyword instead of extends.
      • If you have previously extended TomlEncodableKey and overwrote the toTomlKey method, you must now use the implements keyword instead of extends.
      • If you have previously extended TomlEncodableKey and used the default implementation of the toTomlKey method, you must now mixin TomlEncodableKeyMixin instead of extending TomlEncodableKey.
    • On the web TomlDocument.load now uses package:web instead of dart:html.

      • If you handled exceptions from dart:html in your code you now have to handle the corresponding exceptions from package:web instead.
      • If the web server responds with an HTTP status code that is not in the range of 200-299, TomlDocument.load now throws a TomlUnexpectedHttpStatusException.
    Open source →
  3. 0.16.0 07 Jul 2024
    Release notes
    • Parsing an invalid local date, local time, local date-time or offset date-time now throws a TomlInvalidDateTimeException instead of an ArgumentError.
    • Upgraded dependencies.
    Open source →
  4. 0.15.0 07 Dec 2023
    Release notes
    • Dart 3.2 is now required.
    • Upgraded dependencies.
    Open source →
  5. 0.14.0 05 Mar 2023
    Release notes
    • Dart 2.18 is now required.
    • Upgraded dependencies.
    • Added TomlDocument.loadSync to load TOML documents synchronously. This new method is not supported on the web.
    Open source →
  6. 0.13.1 31 May 2022
    Release notes
    • Downgraded meta dependency from ^1.8.0 to ^1.7.0 for compatibility with Flutter 3.0.1.
    Open source →
  7. 0.13.0 30 May 2022
    Release notes
    • Dart 2.17 is now required.
    • Upgraded dependencies.
    • Removed dependency on package:quiver in favor of package:collection and Dart 2.14's Object.hash and Object.hashAll methods.
    Open source →
  8. 0.12.0 07 Sep 2021
    Release notes
    • Dart 2.13 is now required.
    • Upgraded dependencies.
    • Added support for 1.0.0 compliant version of toml-test test suite.
    • Fixed parsing of multi-line literal and multi-line basic strings with up to two (unescaped) double quotes or single quotes before the closing delimiter.
    • Fixed immutability of AST. The AST is intended to be immutable, but List properties of the AST were only ungrowable not unmodifiable.
    Open source →
  9. 0.11.0 18 Apr 2021
    Release notes
    • Disallowed non-scalar Unicode values when encoding (multiline) basic strings.
      • Added TomlBasicString.canEncode and TomlMultilineBasicString.canEncode.
      • The constructors of TomlBasicString and TomlMultilineBasicString methods throw an ArgumentError if a string cannot be encoded.
      • The TomlBasicString.escape and TomlMultilineBasicString.escape methods throw a TomlInvalidEscapeSequenceException if a string cannot be encoded.
    • Fixed hashCode and operator == of some AST nodes.
      • Two TomlDocuments with equal expressions now have the same hash codes.
      • Two TomlPartialTimes with equal fractional seconds now have the same hash code.
      • Two TomlFloats that both represent a nan value are now considered equal.
    • Added TomlSimpleKey.from factory method.
    • Allowed leading and trailing whitespace in TomlKey.parse.
    • Fixed TomlKey.parentKey for TomlKey.topLevel.
    • Removed unused getter TomlArray.itemTypes.
    • Removed redundant TomlKeyVisitor interface.
    • Improved error messages.
    • Upgraded dependencies.
    Open source →
  10. 0.10.0 07 Mar 2021
    Release notes
    • Added support for null-safety.
      • Dart 2.12 is now required.
    Open source →
  11. 0.9.1 07 Mar 2021
    Release notes
    • Fixed pretty-printing of Windows line endings in multiline basic strings. The \r in a \r\n sequence is not escaped anymore. A carriage return that is not followed by a line feed is still escaped.
    • Fixed parsing of multiline basic strings with Windows newlines. A \r\n sequence caused a runtime type error in previous releases because it was represented as a List instead of a String internally.
    Open source →
  12. 0.9.0 07 Mar 2021
    Release notes
    • Updated to [v1.0.0][toml-spec/v1.0.0] of the TOML specification.
      • Allowed leading zeros in exponent part.
      • Allowed heterogeneous arrays.
      • Disallowed tables created by dotted key/value pairs to be redefined in [table] form and vice versa.
    Open source →
  13. 0.8.0 29 Jan 2021
    Release notes
    • Updated to [v0.5.0][toml-spec/v0.5.0] of the TOML specification.
      • Added binary, octal and hexadecimal integer notation.
      • Added special floating point values inf and nan.
      • Added offset date-times, local date-times, local dates and local times.
        • The decoder produces TomlOffsetDateTime, TomlLocalDateTime, TomlLocalDate or TomlLocalTime values. There are methods to map TomlOffsetDateTime to a DateTime. To convert the other values to DateTimes, missing information such as date, time or offset has to be provided by the application.
        • UTC and local DateTimes are now encoded as offset date-times.
    • Added support for BigInts.
    Open source →
  14. 0.7.0 17 Jan 2021
    Release notes

    This is a major update that does not only bring along many changes to the internal architecture of the library but also to its public interface.

    • Removed the TomlParser class. Use TomlDocument.parse and TomlDocument.toMap instead.
    • In preparation to support TOML [v0.5.0][toml-spec/v0.5.0] in an upcoming version of the library, the parser is now based on TOML's official ABNF.
    • Removed the TomlEncoder class. Use TomlDocument.fromMap and TomlDocument.toString instead.
    • Removed the toml.decoder and toml.encoder libraries. You should always use the toml library instead.
    • Removed the toml.loader library as well as the toml.loader.* libraries. Use TomlDocument.load instead. In order to implement a custom loading mechanism, use TomlDocument.parse instead.
    • Removed the yaml dependency. JSON and YAML documents cannot be loaded with this package anymore.
    • Renamed TomlEncodable to TomlEncodableValue and toToml to toTomlValue.
    • Added TomlEncodableKey interface. Objects that implement this interface are allowed to be used as keys in hash maps instead of strings. Their toTomlKey method must return a TomlEncodeableKey itself or a string that can be used as a TOML key. By default toTomlKey is implemented via toTomlValue.
    Open source →
  15. 0.6.1 19 Nov 2020
    Release notes
    • Upgraded dependencies.
    Open source →
  16. 0.6.0 22 May 2020
    Release notes
    • Upgraded to Dart 2.
    Open source →
  17. 0.5.1 19 Jun 2017
    Release notes
    • Upgraded dependencies.
    Open source →
  18. 0.5.0 24 Sep 2016
    Release notes
    • Removed deprecated use*ConfigLoader functions.
    • Improved testing and added support for BurntSushi's [toml-test][toml-test] suite.
    Open source →
  19. 0.4.0 05 Jun 2015
    Release notes
    • Removed deprecated toml.browser and toml.server libraries.
    • Dropped support for dart_config. There is now a custom ConfigLoader interface with two default implementations.
    • The use*ConfigLoader functions are still available for backward compatibility, but are deprecated and will be removed in the next release. Each of the ConfigLoader implementations has a static use method which you should use instead.
    Open source →
  20. 0.3.0 08 Apr 2015
    Release notes
    • Introduced new toml.loader library.
    • The toml.browser and toml.server libraries are now deprecated and will be removed in the next release. Use the new toml.loader library instead.
    Open source →
  21. 0.2.0 12 Feb 2015
    Release notes
    • Updated to [v0.4.0][toml-spec/v0.4.0] of the TOML specification.
    • Added bare/quoted keys.
    • Added inline table syntax.
    • Allowed underscores in numbers.
    • Removed forward slash as an escapable character.
    Open source →
  22. 0.1.1 26 Jan 2015
    Release notes
    • Fixed links and markdown.
    Open source →
  23. 0.1.0 23 Jan 2015
    Release notes
    • Initial version, implements v0.3.1 of the TOML specification.
    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