Skip to content

v2.0.0

Compare
Choose a tag to compare
@knadh knadh released this 20 Feb 15:06
· 70 commits to master since this release

This is a major breaking change that ends koanf v1 (v1.5.0) and moves to v2. Continued usage of v1 is unaffected. While koanf does not bundle external dependencies into its core thereby avoiding them in the build, a go get would still pull them and go.mod, bringing in unnecessary references as all the providers and parsers were "sub" packages of the main module.

This PR upgrades koanf to v2 and separates every single provider and parser package into its own module, go.mod, and release tag (eg: providers/yaml/v0.1.0). That is, one-repository, many modules. This removes references to all indirect dependencies in the main koanf package significantly de-cluttering it.

What changes?

  • Going forward, koanf references should change to github.com/knadh/koanf/v2.
  • The required parsers and providers should be installed explicitly as they do not come bundled with the main koanf package anymore. Eg: go get github.com/knadh/koanf/providers/s3, go get github.com/knadh/koanf/parsers/json etc.
  • That's all. There is no change in functionality.

Full Changelog: v1.5.0...v2.0.0