NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #732 most downloaded on pub.dev
Parser and encoder for TOML v1.0.0 (Tom's Obvious, Minimal Language) configuration files.
Last release 9 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
Support for TOML [v1.1.0][toml-spec/v1.1.0] has been added.
TomlPartialTime.seconds is set to 0.TomlPartialTime with TomlPartialTime.seconds == 0 is encoded and TomlPartialTime.secondFractions is empty, the seconds part is omitted.\e for the escape character (U+001B).\xHH for code points in the range of U+0000 to U+00FF.
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.TomlEncodableValue and TomlEncodableKey are now interface classes and must not be extended anymore.
One column per quarter.
Dart 3.8 is now required.
Upgraded dependencies.
TomlEncodableValue and TomlEncodableKey are now interface classes and must not be extended anymore.
TomlEncodableValue, you must now use the implements keyword instead of extends.TomlEncodableKey and overwrote the toTomlKey method, you must now use the implements keyword instead of extends.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.
dart:html in your code you now have to handle the corresponding exceptions from package:web instead.TomlDocument.load now throws a TomlUnexpectedHttpStatusException.Parsing an invalid local date, local time, local date-time or offset date-time now throws a TomlInvalidDateTimeException instead of an ArgumentError.
TomlInvalidDateTimeException instead of an ArgumentError.- Dart 3.2 is now required. - Upgraded dependencies.
Added TomlDocument.loadSync to load TOML documents synchronously. This new method is not supported on the web.
TomlDocument.loadSync to load TOML documents synchronously.
This new method is not supported on the web.Downgraded meta dependency from ^1.8.0 to ^1.7.0 for compatibility with Flutter 3.0.1.
meta dependency from ^1.8.0 to ^1.7.0 for compatibility with Flutter 3.0.1.Removed dependency on package:quiver in favor of package:collection and Dart 2.14's Object.hash and Object.hashAll methods.
package:quiver in favor of package:collection and Dart 2.14's Object.hash and Object.hashAll methods.Added support for 1.0.0 compliant version of toml-test test suite.
toml-test test suite.List properties of the AST were only ungrowable not unmodifiable.Disallowed non-scalar Unicode values when encoding (multiline) basic strings.
TomlBasicString.canEncode and TomlMultilineBasicString.canEncode.TomlBasicString and TomlMultilineBasicString methods throw an ArgumentError if a string cannot be encoded.TomlBasicString.escape and TomlMultilineBasicString.escape methods throw a TomlInvalidEscapeSequenceException if a string cannot be encoded.hashCode and operator == of some AST nodes.
TomlDocuments with equal expressions now have the same hash codes.TomlPartialTimes with equal fractional seconds now have the same hash code.TomlFloats that both represent a nan value are now considered equal.TomlSimpleKey.from factory method.TomlKey.parse.TomlKey.parentKey for TomlKey.topLevel.TomlArray.itemTypes.TomlKeyVisitor interface.- Added support for null-safety. - Dart 2.12 is now required.
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
\r in a \r\n sequence is not escaped anymore.
A carriage return that is not followed by a line feed is still escaped.\r\n sequence caused a runtime type error in previous releases because it was represented as a List instead of a String internally.Updated to [v1.0.0][toml-spec/v1.0.0] of the TOML specification.
[table] form and vice versa.Updated to [v0.5.0][toml-spec/v0.5.0] of the TOML specification.
inf and nan.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.DateTimes are now encoded as offset date-times.BigInts.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.
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.
TomlParser class.
Use TomlDocument.parse and TomlDocument.toMap instead.TomlEncoder class.
Use TomlDocument.fromMap and TomlDocument.toString instead.toml.decoder and toml.encoder libraries.
You should always use the toml library instead.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.yaml dependency.
JSON and YAML documents cannot be loaded with this package anymore.TomlEncodable to TomlEncodableValue and toToml to toTomlValue.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.- Upgraded dependencies.
- Upgraded to Dart 2.
- Upgraded dependencies.
Removed deprecated use*ConfigLoader functions.
use*ConfigLoader functions.toml-test][toml-test] suite.Removed deprecated toml.browser and toml.server libraries.
toml.browser and toml.server libraries.dart_config. There is now a custom ConfigLoader interface with two default implementations.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.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.
toml.loader library.toml.browser and toml.server libraries are now deprecated and will be removed in the next release. Use the new toml.loader library instead.Updated to [v0.4.0][toml-spec/v0.4.0] of the TOML specification.
- Fixed links and markdown.
Initial version, implements [v0.3.1][toml-spec/v0.3.1] of the TOML specification.
Your coding agent can read these notes before it upgrades. Set up the MCP server →