Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: hide struct binding behind a feature flag #1715

Merged
merged 1 commit into from
Dec 18, 2023

Conversation

sagikazarmark
Copy link
Collaborator

No description provided.

Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
Repository owner deleted a comment from github-actions bot Dec 15, 2023
@sagikazarmark sagikazarmark merged commit ab3a50c into v1.18.x Dec 18, 2023
34 checks passed
@sagikazarmark sagikazarmark deleted the disable-bind-struct branch December 18, 2023 18:22
renovate bot referenced this pull request in trussworks/setup-new-aws-user Dec 18, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) |
require | patch | `v1.49.4` -> `v1.49.5` |
| [github.com/spf13/viper](https://github.com/spf13/viper) | require |
patch | `v1.18.1` -> `v1.18.2` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>aws/aws-sdk-go (github.com/aws/aws-sdk-go)</summary>

###
[`v1.49.5`](https://github.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1495-2023-12-18)

[Compare
Source](https://github.com/aws/aws-sdk-go/compare/v1.49.4...v1.49.5)

\===

##### Service Client Updates

-   `service/cognito-idp`: Updates service API and documentation
-   `service/eks`: Updates service API, documentation, and paginators
-   `service/quicksight`: Updates service documentation
- A docs-only release to add missing entities to the API reference.
-   `service/route53resolver`: Updates service API and documentation

</details>

<details>
<summary>spf13/viper (github.com/spf13/viper)</summary>

### [`v1.18.2`](https://github.com/spf13/viper/releases/tag/v1.18.2)

[Compare
Source](https://github.com/spf13/viper/compare/v1.18.1...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
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1715](https://github.com/spf13/viper/pull/1715)

**Full Changelog**:
spf13/viper@v1.18.1...v1.18.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday,after 9am and before
5pm" in timezone America/Los_Angeles, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/trussworks/setup-new-aws-user).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy45My4xIiwidXBkYXRlZEluVmVyIjoiMzcuOTMuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in open-feature/flagd Dec 22, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/spf13/viper](https://github.com/spf13/viper) | `v1.18.0`
-> `v1.18.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fspf13%2fviper/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fspf13%2fviper/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fspf13%2fviper/v1.18.0/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fspf13%2fviper/v1.18.0/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>spf13/viper (github.com/spf13/viper)</summary>

### [`v1.18.2`](https://github.com/spf13/viper/releases/tag/v1.18.2)

[Compare
Source](https://github.com/spf13/viper/compare/v1.18.1...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
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1715](https://github.com/spf13/viper/pull/1715)

**Full Changelog**:
spf13/viper@v1.18.1...v1.18.2

### [`v1.18.1`](https://github.com/spf13/viper/releases/tag/v1.18.1)

[Compare
Source](https://github.com/spf13/viper/compare/v1.18.0...v1.18.1)

<!-- Release notes generated using configuration in .github/release.yml
at v1.18.1 -->

#### What's Changed

##### Bug Fixes 🐛

- Merge missing struct keys inside UnmarshalExact by
[@&#8203;krakowski](https://github.com/krakowski) in
[https://github.com/spf13/viper/pull/1704](https://github.com/spf13/viper/pull/1704)

**Full Changelog**:
spf13/viper@v1.18.0...v1.18.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-feature/flagd).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44Ny4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTAzLjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
nono referenced this pull request in cozy/cozy-stack Dec 28, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/spf13/viper](https://github.com/spf13/viper) | `v1.18.1`
-> `v1.18.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fspf13%2fviper/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fspf13%2fviper/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fspf13%2fviper/v1.18.1/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fspf13%2fviper/v1.18.1/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>spf13/viper (github.com/spf13/viper)</summary>

### [`v1.18.2`](https://github.com/spf13/viper/releases/tag/v1.18.2)

[Compare
Source](https://github.com/spf13/viper/compare/v1.18.1...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
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1715](https://github.com/spf13/viper/pull/1715)

**Full Changelog**:
spf13/viper@v1.18.1...v1.18.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 6am on Monday" in timezone
Europe/Paris, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cozy/cozy-stack).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
github-merge-queue bot referenced this pull request in infratographer/x Apr 2, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/spf13/viper](https://github.com/spf13/viper) | `v1.16.0`
-> `v1.18.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fspf13%2fviper/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fspf13%2fviper/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fspf13%2fviper/v1.16.0/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fspf13%2fviper/v1.16.0/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>spf13/viper (github.com/spf13/viper)</summary>

### [`v1.18.2`](https://github.com/spf13/viper/releases/tag/v1.18.2)

[Compare
Source](https://github.com/spf13/viper/compare/v1.18.1...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
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1715](https://github.com/spf13/viper/pull/1715)

**Full Changelog**:
spf13/viper@v1.18.1...v1.18.2

### [`v1.18.1`](https://github.com/spf13/viper/releases/tag/v1.18.1)

[Compare
Source](https://github.com/spf13/viper/compare/v1.18.0...v1.18.1)

<!-- Release notes generated using configuration in .github/release.yml
at v1.18.1 -->

#### What's Changed

##### Bug Fixes 🐛

- Merge missing struct keys inside UnmarshalExact by
[@&#8203;krakowski](https://github.com/krakowski) in
[https://github.com/spf13/viper/pull/1704](https://github.com/spf13/viper/pull/1704)

**Full Changelog**:
spf13/viper@v1.18.0...v1.18.1

### [`v1.18.0`](https://github.com/spf13/viper/releases/tag/v1.18.0)

[Compare
Source](https://github.com/spf13/viper/compare/v1.17.0...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:
[#&#8203;761](https://github.com/spf13/viper/issues/761))

[#&#8203;1429](https://github.com/spf13/viper/issues/1429) introduced
a solution that solves that issue.

#### What's Changed

##### Enhancements 🚀

- chore: rename files according to enabled build tags by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1642](https://github.com/spf13/viper/pull/1642)
- test: replace ifs with asserts to simplify tests by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1656](https://github.com/spf13/viper/pull/1656)
- ci: enable test shuffle and fix tests by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1643](https://github.com/spf13/viper/pull/1643)
- fix: gocritic lint issues by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1696](https://github.com/spf13/viper/pull/1696)

##### Bug Fixes 🐛

- Implement viper.BindStruct for automatic unmarshalling from
environment variables by
[@&#8203;krakowski](https://github.com/krakowski) in
[https://github.com/spf13/viper/pull/1429](https://github.com/spf13/viper/pull/1429)
- fix isPathShadowedInFlatMap type cast bug by
[@&#8203;linuxsong](https://github.com/linuxsong) in
[https://github.com/spf13/viper/pull/1585](https://github.com/spf13/viper/pull/1585)

##### Dependency Updates ⬆️

- build(deps): bump github/codeql-action from 2.21.9 to 2.22.3 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1661](https://github.com/spf13/viper/pull/1661)
- build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1659](https://github.com/spf13/viper/pull/1659)
- build(deps): bump actions/checkout from 4.1.0 to 4.1.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1663](https://github.com/spf13/viper/pull/1663)
- build(deps): bump actions/github-script from 6.4.1 to 7.0.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1686](https://github.com/spf13/viper/pull/1686)
- build(deps): bump github/codeql-action from 2.22.3 to 2.22.8 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1688](https://github.com/spf13/viper/pull/1688)
- build(deps): bump github.com/spf13/afero from 1.10.0 to 1.11.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1692](https://github.com/spf13/viper/pull/1692)
- build(deps): bump actions/dependency-review-action from 3.1.0 to 3.1.4
by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1690](https://github.com/spf13/viper/pull/1690)
- build(deps): bump cachix/install-nix-action from 23 to 24 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1689](https://github.com/spf13/viper/pull/1689)
- build(deps): bump github.com/nats-io/nkeys from 0.4.5 to 0.4.6 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1672](https://github.com/spf13/viper/pull/1672)
- build(deps): bump github.com/spf13/cast from 1.5.1 to 1.6.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1691](https://github.com/spf13/viper/pull/1691)
- build(deps): bump github.com/fsnotify/fsnotify from 1.6.0 to 1.7.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1668](https://github.com/spf13/viper/pull/1668)
- chore: update dependencies by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1694](https://github.com/spf13/viper/pull/1694)
- chore: update crypt by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1701](https://github.com/spf13/viper/pull/1701)

##### Other Changes

- Add info about multiple hosts for remote config by
[@&#8203;KaymeKaydex](https://github.com/KaymeKaydex) in
[https://github.com/spf13/viper/pull/1684](https://github.com/spf13/viper/pull/1684)
- refactor: drop fsonitfy wrapper by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1693](https://github.com/spf13/viper/pull/1693)
- Note Get\* behavior on parse failure by
[@&#8203;scop](https://github.com/scop) in
[https://github.com/spf13/viper/pull/1687](https://github.com/spf13/viper/pull/1687)
- fix: godot lint issues by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1657](https://github.com/spf13/viper/pull/1657)

#### New Contributors

- [@&#8203;KaymeKaydex](https://github.com/KaymeKaydex) made their
first contribution in
[https://github.com/spf13/viper/pull/1684](https://github.com/spf13/viper/pull/1684)
- [@&#8203;krakowski](https://github.com/krakowski) made their first
contribution in
[https://github.com/spf13/viper/pull/1429](https://github.com/spf13/viper/pull/1429)
- [@&#8203;linuxsong](https://github.com/linuxsong) made their first
contribution in
[https://github.com/spf13/viper/pull/1585](https://github.com/spf13/viper/pull/1585)

**Full Changelog**:
spf13/viper@v1.17.0...v1.18.0

### [`v1.17.0`](https://github.com/spf13/viper/releases/tag/v1.17.0)

[Compare
Source](https://github.com/spf13/viper/compare/v1.16.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](https://github.com/spf13/viper/releases/tag/v1.11.0)
added an experimental `Logger` interface to allow custom implementations
(besides
[jwalterweatherman](https://github.com/spf13/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](https://pkg.go.dev/log/slog) released in Go 1.21.

> \[!WARNING]
> `WithLogger` accepts an
[\*slog.Logger](https://pkg.go.dev/log/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](https://pkg.go.dev/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](https://github.com/sagikazarmark/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 a
`finder` build tag) has been removed.

#### What's Changed

##### Exciting New Features 🎉

- Add NATS support by [@&#8203;hooksie1](https://github.com/hooksie1)
in
[https://github.com/spf13/viper/pull/1590](https://github.com/spf13/viper/pull/1590)
- Add slog support by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1627](https://github.com/spf13/viper/pull/1627)

##### Enhancements 🚀

- chore: add local development environment using nix by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1572](https://github.com/spf13/viper/pull/1572)
- feat: add func GetEnvPrefix by
[@&#8203;baruchiro](https://github.com/baruchiro) in
[https://github.com/spf13/viper/pull/1565](https://github.com/spf13/viper/pull/1565)
- Improve dev env by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1575](https://github.com/spf13/viper/pull/1575)
- fix: code optimization by
[@&#8203;testwill](https://github.com/testwill) in
[https://github.com/spf13/viper/pull/1557](https://github.com/spf13/viper/pull/1557)
- test: remove not needed testutil.Setenv by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1610](https://github.com/spf13/viper/pull/1610)
- new finder library based on afero by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1625](https://github.com/spf13/viper/pull/1625)
- refactor: make use of `strings.Cut` by
[@&#8203;scop](https://github.com/scop) in
[https://github.com/spf13/viper/pull/1650](https://github.com/spf13/viper/pull/1650)

##### Breaking Changes 🛠

- feat: drop support for Go 1.17 by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1574](https://github.com/spf13/viper/pull/1574)

##### Dependency Updates ⬆️

- build(deps): bump mheap/github-action-required-labels from 4 to 5 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1563](https://github.com/spf13/viper/pull/1563)
- build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1558](https://github.com/spf13/viper/pull/1558)
- build(deps): bump cachix/install-nix-action from 21 to 22 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1573](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 [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1586](https://github.com/spf13/viper/pull/1586)
- chore: upgrade crypt by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1589](https://github.com/spf13/viper/pull/1589)
- build(deps): bump actions/checkout from 3.5.3 to 4.0.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1616](https://github.com/spf13/viper/pull/1616)
- build(deps): bump github/codeql-action from 2.21.2 to 2.21.5 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1615](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 [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1614](https://github.com/spf13/viper/pull/1614)
- build(deps): bump actions/dependency-review-action from 3.0.6 to 3.0.8
by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1605](https://github.com/spf13/viper/pull/1605)
- build(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1604](https://github.com/spf13/viper/pull/1604)
- build(deps): bump actions/setup-go from 4.0.1 to 4.1.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1593](https://github.com/spf13/viper/pull/1593)
- build(deps): bump github.com/subosito/gotenv from 1.4.2 to 1.6.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1603](https://github.com/spf13/viper/pull/1603)
- build(deps): bump cachix/install-nix-action from 22 to 23 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1620](https://github.com/spf13/viper/pull/1620)
- chore(deps): update crypt by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1621](https://github.com/spf13/viper/pull/1621)
- build(deps): bump actions/dependency-review-action from 3.0.8 to 3.1.0
by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1623](https://github.com/spf13/viper/pull/1623)
- Bump minimum Go version to 1.19 by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1626](https://github.com/spf13/viper/pull/1626)
- build(deps): bump github/codeql-action from 2.21.5 to 2.21.6 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1632](https://github.com/spf13/viper/pull/1632)
- build(deps): bump github/codeql-action from 2.21.6 to 2.21.7 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1634](https://github.com/spf13/viper/pull/1634)
- build(deps): bump actions/checkout from 4.0.0 to 4.1.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1641](https://github.com/spf13/viper/pull/1641)
- build(deps): bump github.com/spf13/afero from 1.9.5 to 1.10.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1640](https://github.com/spf13/viper/pull/1640)
- build(deps): bump github/codeql-action from 2.21.7 to 2.21.8 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1638](https://github.com/spf13/viper/pull/1638)
- build(deps): bump github/codeql-action from 2.21.8 to 2.21.9 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/spf13/viper/pull/1648](https://github.com/spf13/viper/pull/1648)
- chore(deps): update crypt by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1652](https://github.com/spf13/viper/pull/1652)

##### Other Changes

- \[StepSecurity] ci: Harden GitHub Actions by
[@&#8203;step-security-bot](https://github.com/step-security-bot) in
[https://github.com/spf13/viper/pull/1592](https://github.com/spf13/viper/pull/1592)
- Add Vitess to list of projects using Viper by
[@&#8203;systay](https://github.com/systay) in
[https://github.com/spf13/viper/pull/1619](https://github.com/spf13/viper/pull/1619)
- docs: fix typos in comments by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1609](https://github.com/spf13/viper/pull/1609)
- ci: add Go 1.21 to the test matrix by
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1622](https://github.com/spf13/viper/pull/1622)
- Remove usages of deprecated io/ioutil; simplify viper tests by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1631](https://github.com/spf13/viper/pull/1631)
- chore: remove deprecated build tags by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1630](https://github.com/spf13/viper/pull/1630)
- refactor: replace 'interface{}' with 'any' by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1646](https://github.com/spf13/viper/pull/1646)
- test: refactor asserts by
[@&#8203;alexandear](https://github.com/alexandear) in
[https://github.com/spf13/viper/pull/1644](https://github.com/spf13/viper/pull/1644)
- docs: add set subset KV example by
[@&#8203;yhliyr](https://github.com/yhliyr) in
[https://github.com/spf13/viper/pull/1647](https://github.com/spf13/viper/pull/1647)
- Make deps fixes by [@&#8203;bersace](https://github.com/bersace) in
[https://github.com/spf13/viper/pull/1628](https://github.com/spf13/viper/pull/1628)

#### New Contributors

- [@&#8203;goldeneggg](https://github.com/goldeneggg) made their first
contribution in
[https://github.com/spf13/viper/pull/1561](https://github.com/spf13/viper/pull/1561)
- [@&#8203;baruchiro](https://github.com/baruchiro) made their first
contribution in
[https://github.com/spf13/viper/pull/1565](https://github.com/spf13/viper/pull/1565)
- [@&#8203;testwill](https://github.com/testwill) made their first
contribution in
[https://github.com/spf13/viper/pull/1557](https://github.com/spf13/viper/pull/1557)
- [@&#8203;step-security-bot](https://github.com/step-security-bot)
made their first contribution in
[https://github.com/spf13/viper/pull/1592](https://github.com/spf13/viper/pull/1592)
- [@&#8203;systay](https://github.com/systay) made their first
contribution in
[https://github.com/spf13/viper/pull/1619](https://github.com/spf13/viper/pull/1619)
- [@&#8203;alexandear](https://github.com/alexandear) made their first
contribution in
[https://github.com/spf13/viper/pull/1609](https://github.com/spf13/viper/pull/1609)
- [@&#8203;hooksie1](https://github.com/hooksie1) made their first
contribution in
[https://github.com/spf13/viper/pull/1590](https://github.com/spf13/viper/pull/1590)
- [@&#8203;yhliyr](https://github.com/yhliyr) made their first
contribution in
[https://github.com/spf13/viper/pull/1647](https://github.com/spf13/viper/pull/1647)
- [@&#8203;bersace](https://github.com/bersace) made their first
contribution in
[https://github.com/spf13/viper/pull/1628](https://github.com/spf13/viper/pull/1628)
- [@&#8203;scop](https://github.com/scop) made their first
contribution in
[https://github.com/spf13/viper/pull/1650](https://github.com/spf13/viper/pull/1650)

**Full Changelog**:
spf13/viper@v1.16.0...v1.17.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/infratographer/x).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ti-chi-bot bot referenced this pull request in PingCAP-QE/ee-apps Apr 16, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/spf13/viper](https://github.com/spf13/viper) | `v1.18.1`
-> `v1.18.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fspf13%2fviper/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fspf13%2fviper/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fspf13%2fviper/v1.18.1/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fspf13%2fviper/v1.18.1/v1.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>spf13/viper (github.com/spf13/viper)</summary>

### [`v1.18.2`](https://github.com/spf13/viper/releases/tag/v1.18.2)

[Compare
Source](https://github.com/spf13/viper/compare/v1.18.1...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
[@&#8203;sagikazarmark](https://github.com/sagikazarmark) in
[https://github.com/spf13/viper/pull/1715](https://github.com/spf13/viper/pull/1715)

**Full Changelog**:
spf13/viper@v1.18.1...v1.18.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/PingCAP-QE/ee-apps).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant