Skip to content

workhorse: Update module github.com/BurntSushi/toml to v0.4.1

This MR contains the following updates:

Package Type Update Change
github.com/BurntSushi/toml require minor v0.3.1 -> v0.4.1

MR created with the help of gitlab-org/frontend/renovate-gitlab-bot


Release Notes

BurntSushi/toml

v0.4.1

Compare Source

This fixes a cyclic module dependency issue with github.com/BurntSushi/toml-test that prevented some people from updating. See #​313 for some details.

v0.4.0

Compare Source

After some time of inactivity this package is now maintained again.

This release should support alll of TOML 1.0 and has various bugfixes and a few small improvements.

This requires Go 1.13 or newer; older Go versions will no longer work.

TOML 1.0 support

Previously this library implemented TOML 0.3; now all of TOML 1.0 is supported:

  • Support dotted keys (a.b = 1, a = {b.c = 2}).

  • Mixed arrays: in previous TOML versions array values all had to be of the same type; you can now freely mix types, including inline tables.

  • Support hex (0x2f9a), binary (0b0110), and octal (0o777) literals, and support nan and inf for floats.

  • Support local datetimes, dates, and times. These are dates and times without a timezone and are parsed in the local timezone.

  • Allow accidental whitespace between backslash and newline in the line continuation operator in multi-line basic strings.

There should be no incompatibilities as such; all existing valid TOML files should continue to work. However, the parser previously allowed the following invalid values:

  • It would allow literal control characters in strings.

  • It would allow leading zeroes in decimal ints and floats.

Neither of these was ever valid TOML, and are explicitly forbidden by the specification. But the library erroneously permitted them.

Other changes

  • Set up Go modules.

  • Allow escaping the \, and allow triple-quotes strings to end with a quote (e.g. x="""x"""").

  • All control characters inside strings are properly escaped when encoding.

  • Support encoding nested anonymous structs.

  • Encode toml.Primitive values.

  • You get a more helpful error on UTF-16 files (probably the most common non-UTF-8 compatible encoding). Also read over UTF-16 BOM in UTF-8 files.

  • Call MarshalText and UnmarshalText consistently on all types; before this didn't always happen in some cases.

  • Allow empty quoted keys ("" = 1); silly, but explicitly mentioned as valid.

  • Don't panic in encoder on unsupported types; return an error instead.

  • Don't panic on unclosed inline arrays.

  • Add Decoder and deprecate DecodeReader(); this is more consistent with how other decoders tend to work and allows adding decoding options.

  • Add DecodeFS() for Go 1.16 or newer.

  • Avoid creating new functions/allocations in lexSkip; small performance improvement.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Merge request reports

Loading