chore(deps): update module github.com/spf13/viper to v1.18.2
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
github.com/spf13/viper | require | minor |
v1.16.0 -> v1.18.2
|
MR created with the help of gitlab-org/frontend/renovate-gitlab-bot
Release Notes
spf13/viper (github.com/spf13/viper)
v1.18.2
tl;dr Skip 1.18.0 and 1.18.1 and upgrade to this version instead.
This release fixes a regression that appears in rare circumstances when using Unmarshal
or UnmarshalExact
to decode values onto pointers with multiple indirection (eg. pointer to a pointer, etc). The change was introduced in 1.18.0 as a means to resolve a long-standing bug when decoding environment variables to structs.
The feature is now disabled by default and can be enabled using the viper_bind_struct
build tag. It's also considered experimental at this point, so breaking changes may be introduced in the future.
What's Changed
🐛
Bug Fixes - feat!: hide struct binding behind a feature flag by @sagikazarmark in https://github.com/spf13/viper/pull/1715
Full Changelog: https://github.com/spf13/viper/compare/v1.18.1...v1.18.2
v1.18.1
What's Changed
🐛
Bug Fixes - Merge missing struct keys inside UnmarshalExact by @krakowski in https://github.com/spf13/viper/pull/1704
Full Changelog: https://github.com/spf13/viper/compare/v1.18.0...v1.18.1
v1.18.0
Major changes
Highlighting some of the changes for better visibility.
Please share your feedback in the Discussion forum. Thanks!
AutomaticEnv
works with Unmarshal
Previously, environment variables that weren't bound manually or had no defaults could not be mapped by Unmarshal
. (The problem is explained in details in this issue: #761)
#1429 introduced a solution that solves that issue.
What's Changed
🚀
Enhancements - chore: rename files according to enabled build tags by @alexandear in https://github.com/spf13/viper/pull/1642
- test: replace ifs with asserts to simplify tests by @alexandear in https://github.com/spf13/viper/pull/1656
- ci: enable test shuffle and fix tests by @alexandear in https://github.com/spf13/viper/pull/1643
- fix: gocritic lint issues by @alexandear in https://github.com/spf13/viper/pull/1696
🐛
Bug Fixes - Implement viper.BindStruct for automatic unmarshalling from environment variables by @krakowski in https://github.com/spf13/viper/pull/1429
- fix isPathShadowedInFlatMap type cast bug by @linuxsong in https://github.com/spf13/viper/pull/1585
⬆ ️
Dependency Updates - build(deps): bump github/codeql-action from 2.21.9 to 2.22.3 by @dependabot in https://github.com/spf13/viper/pull/1661
- build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 by @dependabot in https://github.com/spf13/viper/pull/1659
- build(deps): bump actions/checkout from 4.1.0 to 4.1.1 by @dependabot in https://github.com/spf13/viper/pull/1663
- build(deps): bump actions/github-script from 6.4.1 to 7.0.1 by @dependabot in https://github.com/spf13/viper/pull/1686
- build(deps): bump github/codeql-action from 2.22.3 to 2.22.8 by @dependabot in https://github.com/spf13/viper/pull/1688
- build(deps): bump github.com/spf13/afero from 1.10.0 to 1.11.0 by @dependabot in https://github.com/spf13/viper/pull/1692
- build(deps): bump actions/dependency-review-action from 3.1.0 to 3.1.4 by @dependabot in https://github.com/spf13/viper/pull/1690
- build(deps): bump cachix/install-nix-action from 23 to 24 by @dependabot in https://github.com/spf13/viper/pull/1689
- build(deps): bump github.com/nats-io/nkeys from 0.4.5 to 0.4.6 by @dependabot in https://github.com/spf13/viper/pull/1672
- build(deps): bump github.com/spf13/cast from 1.5.1 to 1.6.0 by @dependabot in https://github.com/spf13/viper/pull/1691
- build(deps): bump github.com/fsnotify/fsnotify from 1.6.0 to 1.7.0 by @dependabot in https://github.com/spf13/viper/pull/1668
- chore: update dependencies by @sagikazarmark in https://github.com/spf13/viper/pull/1694
- chore: update crypt by @sagikazarmark in https://github.com/spf13/viper/pull/1701
Other Changes
- Add info about multiple hosts for remote config by @KaymeKaydex in https://github.com/spf13/viper/pull/1684
- refactor: drop fsonitfy wrapper by @sagikazarmark in https://github.com/spf13/viper/pull/1693
- Note Get* behavior on parse failure by @scop in https://github.com/spf13/viper/pull/1687
- fix: godot lint issues by @alexandear in https://github.com/spf13/viper/pull/1657
New Contributors
- @KaymeKaydex made their first contribution in https://github.com/spf13/viper/pull/1684
- @krakowski made their first contribution in https://github.com/spf13/viper/pull/1429
- @linuxsong made their first contribution in https://github.com/spf13/viper/pull/1585
Full Changelog: https://github.com/spf13/viper/compare/v1.17.0...v1.18.0
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 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
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.