Skip to content

v1.0.0

Compare
Choose a tag to compare
@sethvargo sethvargo released this 07 Jan 19:41
· 3 commits to main since this release
v1.0.0

Caution

This release includes breaking changes. Please read these release notes thoroughly.

New features

  • Introduce global and cascading configuration options by @sethvargo in #97

    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 changes

  • Change MutatorFunc to be more flexible by @sethvargo in #92 and #94

    ⚠️ 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.

  • Require Go 1.21 or later by @sethvargo in #93

    ⚠️ BREAKING! The new minimum required Go version is 1.21.

  • Drop ExtractDefaults functionality by @sethvargo in #95

    ⚠️ 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).

  • Ignore prefix computing environment variable defaults by @sethvargo in #99

    ⚠️ 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 #85 for more information.

  • Allow configurable decoding by @sethvargo in #100

    ⚠️ 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 #100 for more information.

Full Changelog: v0.9.0...v1.0.0-beta1