konf v0.23.0 Release Notes
Release Date: 2020-10-12 // almost 4 years ago-
Major Features and Improvements
- ๐ feature: support to load keys as little camel case by default
- ๐ feature: support empty YAML/JSON files
- ๐ feature: support to interpolate Byte/Short/Int/Long/BigInteger/Char
- ๐ feature: support to merge sources with different features
- ๐ feature: support to aggregate sources from different layers
- ๐ fix: support for non-map based StdSerializer
- ๐ fix: discover all official providers automatically
๐ฅ Breaking Changes
- All keys in sources are loaded as little camel case by default, e.g.,
tcpPort
andtcp_port
in the source are treated as the same key. You can useconfig.disable(Feature.LOAD_KEYS_AS_LITTLE_CAMEL_CASE)
to disable this change.
๐ Deprecated
- ๐
fromXXX
APIs on providers are removed use the new shorter APIs instead. E.g., you can usefile
instead offromFile
.
Previous changes from v0.22.0
-
๐ feature: support flatten env source (#41)
If you have the following environment variables:
DATABASE=foo.example.com DATABASE\_USER=john DATABASE\_PASS=doe
You can load them without any name conversion by using
config.from.env(nested=false)
:object Root : ConfigSpec("") { val DATABASE by required\<String\>() val DATABASE\_USER by required\<String\>() val DATABASE\_PASS by required\<String\>() }Config { addSpec(Root) }.from.env(nested=false)
๐ fix: support numeric keys in source
Now you can use numeric keys in source (use YAML as example):
tree: 1: myVal: true