Skip to content

Unwrap strict errors#1012

Merged
pelletier merged 2 commits intopelletier:v2from
bersace:unwrap
Dec 21, 2025
Merged

Unwrap strict errors#1012
pelletier merged 2 commits intopelletier:v2from
bersace:unwrap

Conversation

@bersace
Copy link
Copy Markdown
Contributor

@bersace bersace commented Dec 19, 2025

Unwrap() error and Unwrap() []error are common API implemented by standard errors package.

I suggest to simply implement Unwrap() []error on StrictMissingError() to ease handling of wrapped decode errors.

What do you think of this ?

@pelletier
Copy link
Copy Markdown
Owner

Seems like a good idea! Never realized that’s something you could provide.

@pelletier pelletier added the feature Issue asking for a new feature in go-toml. label Dec 20, 2025
@pelletier pelletier merged commit 4369957 into pelletier:v2 Dec 21, 2025
11 checks passed
@bersace bersace deleted the unwrap branch December 29, 2025 07:49
@pelletier pelletier added bug Issues describing a bug in go-toml. and removed feature Issue asking for a new feature in go-toml. labels Feb 11, 2026
Maks1mS pushed a commit to stplr-dev/stplr that referenced this pull request Mar 25, 2026
…374)

This PR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) | require | minor | `v2.2.4` → `v2.3.0` | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/pelletier/go-toml/badge)](https://securityscorecards.dev/viewer/?uri=github.com/pelletier/go-toml) |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/23) for more information.

---

### Release Notes

<details>
<summary>pelletier/go-toml (github.com/pelletier/go-toml/v2)</summary>

### [`v2.3.0`](https://github.com/pelletier/go-toml/releases/tag/v2.3.0)

[Compare Source](pelletier/go-toml@v2.2.4...v2.3.0)

This is the first release built largely with the help of AI coding agents. Highlights include the complete removal of the unsafe package. go-toml is now fully safe Go code, with a geomean overhead of only \~1.4% vs v2.2.4 and zero additional allocations on benchmarks. This release also adds omitzero struct tag support, improves UnmarshalText/Unmarshaler handling for tables and array tables, and fixes several bugs including nil pointer marshaling, leap second handling, and datetime unmarshaling panics.

<!-- Release notes generated using configuration in .github/release.yml at v2.3.0 -->

#### What's Changed

##### What's new

- marshal: don't escape quotes unnecessarily by [@&#8203;virtuald](https://github.com/virtuald) in [#&#8203;991](pelletier/go-toml#991)
- Add `omitzero` tag support by [@&#8203;NathanBaulch](https://github.com/NathanBaulch) in [#&#8203;998](pelletier/go-toml#998)
- Support custom IsZero() methods with omitzero tag by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1020](pelletier/go-toml#1020)
- UnmarshalText fallbacks to struct unmarshaling for tables and arrays by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1026](pelletier/go-toml#1026)
- \[unstable] Support Unmarshaler interface for tables and array tables by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1027](pelletier/go-toml#1027)

##### Fixed bugs

- Add missing UnmarshalTOML call by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;996](pelletier/go-toml#996)
- Handle array table into an empty slice by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;997](pelletier/go-toml#997)
- Unwrap strict errors by [@&#8203;bersace](https://github.com/bersace) in [#&#8203;1012](pelletier/go-toml#1012)
- Fix leap second handling found by fuzz by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1019](pelletier/go-toml#1019)
- Fix nil pointer map values not being marshaled by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1025](pelletier/go-toml#1025)
- Fix panic when unmarshaling datetime values to incompatible types ([#&#8203;1028](pelletier/go-toml#1028)) by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1029](pelletier/go-toml#1029)
- Fix parser error pointing to wrong line at EOF without trailing newline by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1041](pelletier/go-toml#1041)

##### Documentation

- Improve Unmarshaling README by [@&#8203;heckelson](https://github.com/heckelson) in [#&#8203;1016](pelletier/go-toml#1016)
- Create AGENTS.md guidelines file by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1017](pelletier/go-toml#1017)

##### Other changes

- Unsafe package removal by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1021](pelletier/go-toml#1021)
- Bump CI and test scripts to Go 1.26 by [@&#8203;pelletier](https://github.com/pelletier) in [#&#8203;1030](pelletier/go-toml#1030)

#### New Contributors

- [@&#8203;virtuald](https://github.com/virtuald) made their first contribution in [#&#8203;991](pelletier/go-toml#991)
- [@&#8203;NathanBaulch](https://github.com/NathanBaulch) made their first contribution in [#&#8203;999](pelletier/go-toml#999)
- [@&#8203;bersace](https://github.com/bersace) made their first contribution in [#&#8203;1012](pelletier/go-toml#1012)
- [@&#8203;flyn-org](https://github.com/flyn-org) made their first contribution in [#&#8203;1013](pelletier/go-toml#1013)
- [@&#8203;heckelson](https://github.com/heckelson) made their first contribution in [#&#8203;1016](pelletier/go-toml#1016)

**Full Changelog**: <pelletier/go-toml@v2.2.4...v2.3.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), 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.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My44Ni4xIiwidXBkYXRlZEluVmVyIjoiNDMuODYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiS2luZC9EZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://altlinux.space/stapler/stplr/pulls/374
Co-authored-by: Renovate Bot <stapler-helper-bot@noreply.altlinux.space>
Co-committed-by: Renovate Bot <stapler-helper-bot@noreply.altlinux.space>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Issues describing a bug in go-toml.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants