This introduces the concept of global configurations and cascades struct-level configuration options onto all child fields. For example, marking a struct as required will mark all child fields as required. Similarly, setting a custom delimiter on a struct tag propagates that delimiter to all child fields of the struct. This behavior previously only applied to the noinit tag, but it now applies to all tags.
⚠️ BREAKING! This changes the signature of the MutatorFunc to have more information about prior states. It will include the original environment variable names and values, as well as the currently resolved values. Additionally, the mutation chain can now be stopped without returning an error.
⚠️ BREAKING! This removes the ExtractDefaults function. It was rarely used and resulted in extraneous processing. Users who depended on this functionality can call ProcessWith an empty MapLookuper (which is all ExtractDefaults did anyway).
⚠️ BREAKING! Computing the default value for an environment variable when the default value is another environment variable will ignore any prefixes on the current lookuper. See sethvargo/go-envconfig#85 for more information.
⚠️ BREAKING! Envconfig no longer runs decoders or mutators on unset values. To restore the old behavior, add the decodeunset struct field annotation or pass the DefaultDecodeUnset configuration option as true. See sethvargo/go-envconfig#100 for more information.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/sethvargo/go-envconfig from 0.9.0 to 1.0.0.
Release notes
Sourced from github.com/sethvargo/go-envconfig's releases.
Commits
13fa723
Fix docsee3f51d
Update docs and examples (#101)ed1aec1
Allow configurable decoding (#100)668ea4a
Ignore prefix computing environment variable defaults (#99)2938058
Add more test coverage for global configs (#98)9dce086
Introduce global and cascading configuration options (#97)d42f4a2
Use generics to clean up pointer pointers in tests (#96)4906428
Drop ExtractDefaults functionality (#95)053a0d2
Make mutators a full-fledged interface (#94)b632c02
Require Go 1.21 or later (#93)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show