BurntSushi/toml (github.com/BurntSushi/toml)
### [`v0.4.1`](https://togithub.com/BurntSushi/toml/releases/tag/v0.4.1)
[Compare Source](https://togithub.com/BurntSushi/toml/compare/v0.4.0...v0.4.1)
This fixes a cyclic module dependency issue with github.com/BurntSushi/toml-test that prevented some people from updating. See [#313](https://togithub.com/BurntSushi/toml/issues/313) for some details.
### [`v0.4.0`](https://togithub.com/BurntSushi/toml/releases/tag/v0.4.0)
[Compare Source](https://togithub.com/BurntSushi/toml/compare/v0.3.1...v0.4.0)
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 PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
v0.3.1
->v0.4.1
Release Notes
BurntSushi/toml (github.com/BurntSushi/toml)
### [`v0.4.1`](https://togithub.com/BurntSushi/toml/releases/tag/v0.4.1) [Compare Source](https://togithub.com/BurntSushi/toml/compare/v0.4.0...v0.4.1) This fixes a cyclic module dependency issue with github.com/BurntSushi/toml-test that prevented some people from updating. See [#313](https://togithub.com/BurntSushi/toml/issues/313) for some details. ### [`v0.4.0`](https://togithub.com/BurntSushi/toml/releases/tag/v0.4.0) [Compare Source](https://togithub.com/BurntSushi/toml/compare/v0.3.1...v0.4.0) 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 PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.