summaryrefslogtreecommitdiff
path: root/vendor/github.com/spf13/viper/UPDATES.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/spf13/viper/UPDATES.md')
-rw-r--r--vendor/github.com/spf13/viper/UPDATES.md126
1 files changed, 0 insertions, 126 deletions
diff --git a/vendor/github.com/spf13/viper/UPDATES.md b/vendor/github.com/spf13/viper/UPDATES.md
deleted file mode 100644
index ccf413ed7..000000000
--- a/vendor/github.com/spf13/viper/UPDATES.md
+++ /dev/null
@@ -1,126 +0,0 @@
-# Update Log
-
-**This document details any major updates required to use new features or improvements in Viper.**
-
-## v1.20.x
-
-### New file searching API
-
-Viper now includes a new file searching API that allows users to customize how Viper looks for config files.
-
-Viper accepts a custom [`Finder`](https://pkg.go.dev/github.com/spf13/viper#Finder) interface implementation:
-
-```go
-// Finder looks for files and directories in an [afero.Fs] filesystem.
-type Finder interface {
- Find(fsys afero.Fs) ([]string, error)
-}
-```
-
-It is supposed to return a list of paths to config files.
-
-The default implementation uses [github.com/sagikazarmark/locafero](https://github.com/sagikazarmark/locafero) under the hood.
-
-You can supply your own implementation using `WithFinder`:
-
-```go
-v := viper.NewWithOptions(
- viper.WithFinder(&MyFinder{}),
-)
-```
-
-For more information, check out the [Finder examples](https://pkg.go.dev/github.com/spf13/viper#Finder)
-and the [documentation](https://pkg.go.dev/github.com/sagikazarmark/locafero) for the locafero package.
-
-### New encoding API
-
-Viper now allows customizing the encoding layer by providing an API for encoding and decoding configuration data:
-
-```go
-// Encoder encodes Viper's internal data structures into a byte representation.
-// It's primarily used for encoding a map[string]any into a file format.
-type Encoder interface {
- Encode(v map[string]any) ([]byte, error)
-}
-
-// Decoder decodes the contents of a byte slice into Viper's internal data structures.
-// It's primarily used for decoding contents of a file into a map[string]any.
-type Decoder interface {
- Decode(b []byte, v map[string]any) error
-}
-
-// Codec combines [Encoder] and [Decoder] interfaces.
-type Codec interface {
- Encoder
- Decoder
-}
-```
-
-By default, Viper includes the following codecs:
-
-- JSON
-- TOML
-- YAML
-- Dotenv
-
-The rest of the codecs are moved to [github.com/go-viper/encoding](https://github.com/go-viper/encoding)
-
-Customizing the encoding layer is possible by providing a custom registry of codecs:
-
-- [Encoder](https://pkg.go.dev/github.com/spf13/viper#Encoder) -> [EncoderRegistry](https://pkg.go.dev/github.com/spf13/viper#EncoderRegistry)
-- [Decoder](https://pkg.go.dev/github.com/spf13/viper#Decoder) -> [DecoderRegistry](https://pkg.go.dev/github.com/spf13/viper#DecoderRegistry)
-- [Codec](https://pkg.go.dev/github.com/spf13/viper#Codec) -> [CodecRegistry](https://pkg.go.dev/github.com/spf13/viper#CodecRegistry)
-
-You can supply the registry of codecs to Viper using the appropriate `With*Registry` function:
-
-```go
-codecRegistry := viper.NewCodecRegistry()
-
-codecRegistry.RegisterCodec("myformat", &MyCodec{})
-
-v := viper.NewWithOptions(
- viper.WithCodecRegistry(codecRegistry),
-)
-```
-
-### BREAKING: HCL, Java properties, INI removed from core
-
-In order to reduce third-party dependencies, Viper dropped support for the following formats from the core:
-
-- HCL
-- Java properties
-- INI
-
-You can still use these formats though by importing them from [github.com/go-viper/encoding](https://github.com/go-viper/encoding):
-
-```go
-import (
- "github.com/go-viper/encoding/hcl"
- "github.com/go-viper/encoding/javaproperties"
- "github.com/go-viper/encoding/ini"
-)
-
-codecRegistry := viper.NewCodecRegistry()
-
-{
- codec := hcl.Codec{}
-
- codecRegistry.RegisterCodec("hcl", codec)
- codecRegistry.RegisterCodec("tfvars", codec)
-
-}
-
-{
- codec := &javaproperties.Codec{}
-
- codecRegistry.RegisterCodec("properties", codec)
- codecRegistry.RegisterCodec("props", codec)
- codecRegistry.RegisterCodec("prop", codec)
-}
-
-codecRegistry.RegisterCodec("ini", ini.Codec{})
-
-v := viper.NewWithOptions(
- viper.WithCodecRegistry(codecRegistry),
-)
-```