Go Toml Versions Save

Go library for the TOML file format

v2.0.4

1 year ago

This version has compatibility issues with Go <= 1.17. Though go-toml doesn't officially support Go less than 2 versions old, a new version has been released with a backward-compatible fix: https://github.com/pelletier/go-toml/releases/tag/v2.0.5.

What's Changed

Fixed bugs

New Contributors

Full Changelog: https://github.com/pelletier/go-toml/compare/v2.0.3...v2.0.4

v2.0.3

1 year ago

What's Changed

Fixed bugs

Other changes

Full Changelog: https://github.com/pelletier/go-toml/compare/v2.0.2...v2.0.3

v2.0.2

1 year ago

What's Changed

Fixed bugs

Other changes

Full Changelog: https://github.com/pelletier/go-toml/compare/v2.0.1...v2.0.2

v2.0.1

2 years ago

What's Changed

Fixed bugs

Documentation

New Contributors

Full Changelog: https://github.com/pelletier/go-toml/compare/v2.0.0...v2.0.1

v2.0.0

2 years ago

It is finally here! go-toml v2 is now stable. :tada:

Only just over one year after I started working on it. This version of go-toml has been rebuilt from the ground up. It respects the latest TOML specification. Countless bugs have been fixed. It behaves more like the standard library. And it is much faster. Special attention was given to keeping the public API to a minimum. Continuing the strict policy of backward compatibility, the next breaking change will be in another 5 years!

Thank you to everybody who contributed to this new version, as well as folks willing to try out the intermediate beta versions. Shout out to @moorereason for reporting many issues during the development process using differential fuzzing, as well as @bep for running a beta on the popular Hugo project!

There is still some work that could be done to improve the performance of the library (https://github.com/pelletier/go-toml/pull/758 and https://github.com/pelletier/go-toml/pull/669 for instance). But I am confident that the library is in a good-enough place at the moment for folks to reap the benefits of the rewrite. The major feature removal is the sort-of-AST that v1 provided. It allowed manipulating an arbitrary document and writing it back out. This was done to cut down the scope of the project, removing a feature that had unclear use-cases. The v2 parser creates some intermediate AST so that if somebody is up to design a Document API the tools should be available to do so. Please reach out if you are interested!

The readme contains a list of differences between v1 and v2 to be aware of when upgrading. Please report any issue you may have with the new version in the bug tracker 🐞, provide feedback, and ask questions in Discussions 💬. With this release, go-toml v1 will not be receiving any updates. This is required to keep maintenance of the project to a minimum.

Hopefully, this change doesn't break your thing!


Full commit log: https://github.com/pelletier/go-toml/compare/c9a09d8695a83a55cd171d147b09fdf10270e503...v2

Thank you contributors: @pelletier @oschwald @moorereason @xwjdsh @kkHAIKE @RiyaJohn @jidicula @zostay @mmorel-35.

v1.9.5

2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/pelletier/go-toml/compare/v1.9.4...v1.9.5

v2.0.0-beta.8

2 years ago

Lots of small bug fixes on the encoder. Found thanks to the new Go 1.18 fuzzing support.

What's Changed

Fixed bugs

Documentation

Full Changelog: https://github.com/pelletier/go-toml/compare/v2.0.0-beta.7...v2.0.0-beta.8

v2.0.0-beta.7

2 years ago

Small bug fixes version. The main purpose is to provide a valid tag to take a recent dependency on, as 2.0.0-beta.6 had issues (https://github.com/pelletier/go-toml/issues/743).

What's Changed

What's new

Fixed bugs

Other changes

Full Changelog: https://github.com/pelletier/go-toml/compare/v2.0.0-beta.6...v2.0.0-beta.7

v2.0.0-beta.6

2 years ago

Long time this the last beta release! This one comes with all the tooling and build systems ported to v2. And a handful of bug-fixes as usual.

⚠️ The v2.0.0-beta.6 tag has been moved, so it is possible you see a checksum mismatch error from Go when using this version (https://github.com/pelletier/go-toml/issues/743). This will be correct in v2.0.0-beta.7.

What's Changed

Fixed bugs

Documentation

Other changes

Full Changelog: https://github.com/pelletier/go-toml/compare/v2.0.0-beta.5...v2.0.0-beta.6

v2.0.0-beta.5

2 years ago

While this release focused on adding back missing encoder and decoder features, it also comes with a slew of bug fixes, thanks to @moorereason's awesome differential fuzzing work! This is the last planned pre-release dedicated to the core library. Check out the updated readme for upgrade instructions.

The next milestone is to port the existing tooling (tomljson, tomllint, binary releases) to go-toml v2.

Thank you, and happy holidays!

What's Changed

What's new

Performance

Fixed bugs

Documentation

Full Changelog: https://github.com/pelletier/go-toml/compare/v2.0.0-beta.4...v2.0.0-beta.5