v1.17.0
版本发布时间: 2023-10-06 20:44:49
spf13/viper最新发布版本:v1.20.0-alpha.3(2024-06-24 23:24:09)
Major changes
Highlighting some of the changes for better visibility.
Please share your feedback in the Discussion forum. Thanks! ❤️
Minimum Go version: 1.19
Viper now requires Go 1.19
This change ensures we can stay up to date with modern practices and dependencies.
log/slog
support [BREAKING]
Viper v1.11.0 added an experimental Logger
interface to allow custom implementations (besides jwalterweatherman).
In addition, it also exposed an experimental WithLogger
function allowing to set a custom logger.
This release deprecates that interface in favor of log/slog released in Go 1.21.
[!WARNING]
WithLogger
accepts an *slog.Logger from now on.
To preserve backwards compatibility with older Go versions, prior to Go 1.21 Viper accepts a *golang.org/x/exp/slog.Logger.
The experimental flag is removed.
New finder implementation [BREAKING]
As of this release, Viper uses a new library to look for files, called locafero.
The new library is better covered by tests and has been built from scratch as a general purpose file finder library.
The implementation is experimental and is hidden behind a finder
build tag.
[!WARNING] The
io/fs
based implementation (that used to be hidden behind afinder
build tag) has been removed.
What's Changed
Exciting New Features 🎉
- Add NATS support by @hooksie1 in https://github.com/spf13/viper/pull/1590
- Add slog support by @sagikazarmark in https://github.com/spf13/viper/pull/1627
Enhancements 🚀
- chore: add local development environment using nix by @sagikazarmark in https://github.com/spf13/viper/pull/1572
- feat: add func GetEnvPrefix by @baruchiro in https://github.com/spf13/viper/pull/1565
- Improve dev env by @sagikazarmark in https://github.com/spf13/viper/pull/1575
- fix: code optimization by @testwill in https://github.com/spf13/viper/pull/1557
- test: remove not needed testutil.Setenv by @alexandear in https://github.com/spf13/viper/pull/1610
- new finder library based on afero by @sagikazarmark in https://github.com/spf13/viper/pull/1625
- refactor: make use of
strings.Cut
by @scop in https://github.com/spf13/viper/pull/1650
Breaking Changes 🛠
- feat: drop support for Go 1.17 by @sagikazarmark in https://github.com/spf13/viper/pull/1574
Dependency Updates ⬆️
- build(deps): bump mheap/github-action-required-labels from 4 to 5 by @dependabot in https://github.com/spf13/viper/pull/1563
- build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by @dependabot in https://github.com/spf13/viper/pull/1558
- build(deps): bump cachix/install-nix-action from 21 to 22 by @dependabot in https://github.com/spf13/viper/pull/1573
- build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.8 to 2.0.9 by @dependabot in https://github.com/spf13/viper/pull/1586
- chore: upgrade crypt by @sagikazarmark in https://github.com/spf13/viper/pull/1589
- build(deps): bump actions/checkout from 3.5.3 to 4.0.0 by @dependabot in https://github.com/spf13/viper/pull/1616
- build(deps): bump github/codeql-action from 2.21.2 to 2.21.5 by @dependabot in https://github.com/spf13/viper/pull/1615
- build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.9 to 2.1.0 by @dependabot in https://github.com/spf13/viper/pull/1614
- build(deps): bump actions/dependency-review-action from 3.0.6 to 3.0.8 by @dependabot in https://github.com/spf13/viper/pull/1605
- build(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 by @dependabot in https://github.com/spf13/viper/pull/1604
- build(deps): bump actions/setup-go from 4.0.1 to 4.1.0 by @dependabot in https://github.com/spf13/viper/pull/1593
- build(deps): bump github.com/subosito/gotenv from 1.4.2 to 1.6.0 by @dependabot in https://github.com/spf13/viper/pull/1603
- build(deps): bump cachix/install-nix-action from 22 to 23 by @dependabot in https://github.com/spf13/viper/pull/1620
- chore(deps): update crypt by @sagikazarmark in https://github.com/spf13/viper/pull/1621
- build(deps): bump actions/dependency-review-action from 3.0.8 to 3.1.0 by @dependabot in https://github.com/spf13/viper/pull/1623
- Bump minimum Go version to 1.19 by @sagikazarmark in https://github.com/spf13/viper/pull/1626
- build(deps): bump github/codeql-action from 2.21.5 to 2.21.6 by @dependabot in https://github.com/spf13/viper/pull/1632
- build(deps): bump github/codeql-action from 2.21.6 to 2.21.7 by @dependabot in https://github.com/spf13/viper/pull/1634
- build(deps): bump actions/checkout from 4.0.0 to 4.1.0 by @dependabot in https://github.com/spf13/viper/pull/1641
- build(deps): bump github.com/spf13/afero from 1.9.5 to 1.10.0 by @dependabot in https://github.com/spf13/viper/pull/1640
- build(deps): bump github/codeql-action from 2.21.7 to 2.21.8 by @dependabot in https://github.com/spf13/viper/pull/1638
- build(deps): bump github/codeql-action from 2.21.8 to 2.21.9 by @dependabot in https://github.com/spf13/viper/pull/1648
- chore(deps): update crypt by @sagikazarmark in https://github.com/spf13/viper/pull/1652
Other Changes
- [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in https://github.com/spf13/viper/pull/1592
- Add Vitess to list of projects using Viper by @systay in https://github.com/spf13/viper/pull/1619
- docs: fix typos in comments by @alexandear in https://github.com/spf13/viper/pull/1609
- ci: add Go 1.21 to the test matrix by @sagikazarmark in https://github.com/spf13/viper/pull/1622
- Remove usages of deprecated io/ioutil; simplify viper tests by @alexandear in https://github.com/spf13/viper/pull/1631
- chore: remove deprecated build tags by @alexandear in https://github.com/spf13/viper/pull/1630
- refactor: replace 'interface{}' with 'any' by @alexandear in https://github.com/spf13/viper/pull/1646
- test: refactor asserts by @alexandear in https://github.com/spf13/viper/pull/1644
- docs: add set subset KV example by @yhliyr in https://github.com/spf13/viper/pull/1647
- Make deps fixes by @bersace in https://github.com/spf13/viper/pull/1628
New Contributors
- @goldeneggg made their first contribution in https://github.com/spf13/viper/pull/1561
- @baruchiro made their first contribution in https://github.com/spf13/viper/pull/1565
- @testwill made their first contribution in https://github.com/spf13/viper/pull/1557
- @step-security-bot made their first contribution in https://github.com/spf13/viper/pull/1592
- @systay made their first contribution in https://github.com/spf13/viper/pull/1619
- @alexandear made their first contribution in https://github.com/spf13/viper/pull/1609
- @hooksie1 made their first contribution in https://github.com/spf13/viper/pull/1590
- @yhliyr made their first contribution in https://github.com/spf13/viper/pull/1647
- @bersace made their first contribution in https://github.com/spf13/viper/pull/1628
- @scop made their first contribution in https://github.com/spf13/viper/pull/1650
Full Changelog: https://github.com/spf13/viper/compare/v1.16.0...v1.17.0