Sourced from github.com/spf13/viper's releases.
v1.17.0
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 spf13/viper#1590- Add slog support by
@sagikazarmark
in spf13/viper#1627Enhancements 🚀
- chore: add local development environment using nix by
@sagikazarmark
in spf13/viper#1572- feat: add func GetEnvPrefix by
@baruchiro
in spf13/viper#1565- Improve dev env by
@sagikazarmark
in spf13/viper#1575- fix: code optimization by
@testwill
in spf13/viper#1557- test: remove not needed testutil.Setenv by
@alexandear
in spf13/viper#1610- new finder library based on afero by
@sagikazarmark
in spf13/viper#1625
... (truncated)
f62f86a
refactor: make use of strings.Cut
94632fa
chore: Use pip3 explicitly to install yamllint3f6cadc
chore: Fix copy-paste error for yamllint target287507c
docs: add set subset KV examplef1cb226
chore(deps): update cryptc292b55
test: refactor asserts3d006fe
refactor: replace interface{} with any8a6dc5d
build(deps): bump github/codeql-action from 2.21.8 to 2.21.996c5c00
chore: remove deprecated build tags44911d2
build(deps): bump github/codeql-action from 2.21.7 to 2.21.8