Skip to content

Releases: spf13/viper

v1.18.0

06 Dec 14:56
v1.18.0

Choose a tag to compare

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 🚀

Bug Fixes 🐛

  • Implement viper.BindStruct for automatic unmarshalling from environment variables by @krakowski in #1429
  • fix isPathShadowedInFlatMap type cast bug by @linuxsong in #1585

Dependency Updates ⬆️

Other Changes

New Contributors

Full Changelog: v1.17.0...v1.18.0

v1.17.0

06 Oct 12:44
v1.17.0

Choose a tag to compare

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 a finder build tag) has been removed.

What's Changed

Exciting New Features 🎉

Enhancements 🚀

Breaking Changes 🛠

Dependency Updates ⬆️

Other Changes

New Contributors

Full Changelog: v1.16.0...v1.17.0

v1.16.0

30 May 10:46
v1.16.0
21a7fd8

Choose a tag to compare

What's Changed

Enhancements 🚀

Bug Fixes 🐛

Dependency Updates ⬆️

  • build(deps): bump mheap/github-action-required-labels from 3 to 4 by @dependabot in #1533
  • build(deps): bump actions/setup-go from 3 to 4 by @dependabot in #1526
  • build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0 by @dependabot in #1519
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.6 to 2.0.7 by @dependabot in #1516
  • build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by @dependabot in #1515
  • build(deps): bump github.com/spf13/afero from 1.9.3 to 1.9.5 by @dependabot in #1518
  • build(deps): bump github.com/sagikazarmark/crypt from 0.9.0 to 0.10.0 by @dependabot in #1550
  • build(deps): bump github.com/spf13/cast from 1.5.0 to 1.5.1 by @dependabot in #1551
  • build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by @dependabot in #1553
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.7 to 2.0.8 by @dependabot in #1555

Other Changes

  • Update main image to better handle dark background by @Deleplace in #1532

New Contributors

Full Changelog: v1.15.0...v1.16.0

v1.15.0

19 Jan 15:47
v1.15.0
5182412

Choose a tag to compare

What's Changed

Exciting New Features 🎉

  • feat: add multiple endpoints support for remote by @MozartZ in #1464

Enhancements 🚀

Breaking Changes 🛠

Dependency Updates ⬆️

  • build(deps): bump github.com/spf13/afero from 1.9.2 to 1.9.3 by @dependabot in #1465
  • build(deps): bump github.com/magiconair/properties from 1.8.6 to 1.8.7 by @dependabot in #1475
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.5 to 2.0.6 by @dependabot in #1466
  • build(deps): bump mheap/github-action-required-labels from 2 to 3 by @dependabot in #1482
  • build(deps): bump github.com/subosito/gotenv from 1.4.1 to 1.4.2 by @dependabot in #1488
  • build(deps): bump github.com/sagikazarmark/crypt from 0.8.0 to 0.9.0 by @dependabot in #1490

New Contributors

Full Changelog: v1.14.0...v1.15.0

v1.14.0

06 Nov 13:40
v1.14.0

Choose a tag to compare

What's Changed

Enhancements 🚀

Breaking Changes 🛠

Dependency Updates ⬆️

Full Changelog: v1.13.0...v1.14.0

v1.13.0

06 Sep 12:12
v1.13.0

Choose a tag to compare

Important: This is the last release supporting Go 1.15.

What's Changed

Exciting New Features 🎉

Enhancements 🚀

Bug Fixes 🐛

  • Recurse into arrays when converting keys to lowercase by @awrichar in #1387

Dependency Updates ⬆️

  • build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 by @dependabot in #1374
  • build(deps): bump github.com/subosito/gotenv from 1.3.0 to 1.4.0 by @dependabot in #1375
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.1 to 2.0.2 by @dependabot in #1378
  • build(deps): bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1 by @dependabot in #1360
  • build(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.3 by @dependabot in #1381
  • build(deps): bump github.com/stretchr/testify from 1.7.3 to 1.7.4 by @dependabot in #1384
  • build(deps): bump mheap/github-action-required-labels from 1 to 2 by @dependabot in #1383
  • build(deps): bump github.com/stretchr/testify from 1.7.4 to 1.8.0 by @dependabot in #1395
  • build(deps): bump github.com/subosito/gotenv from 1.4.0 to 1.4.1 by @dependabot in #1420
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.2 to 2.0.5 by @dependabot in #1422
  • build(deps): bump gopkg.in/ini.v1 from 1.66.4 to 1.67.0 by @dependabot in #1412

New Contributors

Full Changelog: v1.12.0...v1.13.0

v1.12.0

26 May 15:52
v1.12.0

Choose a tag to compare

This release makes YAML v3 and TOML v2 the default versions used for encoding.

You can switch back to the old versions by adding viper_yaml2 and viper_toml1 to the build tags.

Please note that YAML v2 and TOML v1 are considered deprecated from this release and may be removed in a future release.

Please provide feedback in discussions and report bugs on the issue tracker. Thanks!

What's Changed

Exciting New Features 🎉

Enhancements 🚀

  • chore: fix Error log calls in mergeMaps by @wwade in #1341
  • Add MustBindEnv by @meowfaceman in #1301

Dependency Updates ⬆️

  • build(deps): bump github/codeql-action from 1 to 2 by @dependabot in #1336
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.0-beta.8 to 2.0.0 by @dependabot in #1339
  • build(deps): bump github.com/mitchellh/mapstructure from 1.4.3 to 1.5.0 by @dependabot in #1332
  • build(deps): bump github.com/pelletier/go-toml from 1.9.4 to 1.9.5 by @dependabot in #1335
  • build(deps): bump github.com/fsnotify/fsnotify from 1.5.1 to 1.5.4 by @dependabot in #1338
  • build(deps): bump github.com/spf13/cast from 1.4.1 to 1.5.0 by @dependabot in #1344
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.0 to 2.0.1 by @dependabot in #1343
  • build(deps): bump github.com/subosito/gotenv from 1.2.0 to 1.3.0 by @dependabot in #1349

New Contributors

  • @meowfaceman made their first contribution in #1301
  • @wwade made their first contribution in #1341

Full Changelog: v1.11.0...v1.12.0

v1.11.0

13 Apr 13:40
v1.11.0

Choose a tag to compare

What's Changed

Exciting New Features 🎉

Enhancements 🚀

Bug Fixes 🐛

Breaking Changes 🛠

Dependency Updates ⬆️

  • build(deps): bump github.com/spf13/afero from 1.6.0 to 1.7.0 by @dependabot in #1265
  • build(deps): bump github.com/spf13/afero from 1.7.0 to 1.7.1 by @dependabot in #1271
  • build(deps): bump github.com/spf13/afero from 1.7.1 to 1.8.0 by @dependabot in #1281
  • build(deps): bump gopkg.in/ini.v1 from 1.66.2 to 1.66.3 by @dependabot in #1287
  • build(deps): bump github.com/spf13/afero from 1.8.0 to 1.8.1 by @dependabot in #1291
  • build(deps): bump actions/github-script from 5 to 6 by @dependabot in #1295
  • build(deps): bump actions/checkout from 2 to 3 by @dependabot in #1304
  • build(deps): bump github.com/magiconair/properties from 1.8.5 to 1.8.6 by @dependabot in #1299
  • build(deps): bump gopkg.in/ini.v1 from 1.66.3 to 1.66.4 by @dependabot in #1293
  • build(deps): bump github.com/spf13/afero from 1.8.1 to 1.8.2 by @dependabot in #1311
  • build(deps): bump actions/setup-go from 2 to 3 by @dependabot in #1319
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.0-beta.6 to 2.0.0-beta.7 by @dependabot in #1320
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.0-beta.7 to 2.0.0-beta.8 by @dependabot in #1322
  • Update crypt by @sagikazarmark in #1325

New Contributors

Full Changelog: v1.10.1...v1.11.0

v1.10.1

15 Dec 13:11
v1.10.1

Choose a tag to compare

This is a maintenance release upgrading the Consul dependency fixing CVEs.

v1.10.0

12 Dec 03:05
v1.10.0

Choose a tag to compare

This is a maintenance release primarily containing minor fixes and improvements.

Changes

Added

  • Experimental finder based on io/fs
  • Tests are executed on Windows
  • Tests are executed on Go 1.17
  • Logger interface to decouple Viper from JWW

In addition to the above changes, this release comes with minor improvements, documentation changes an dependency updates.

Many thanks to everyone who contributed to this release!