Releases: uchuhimo/konf
Releases · uchuhimo/konf
v0.17.1
v0.17.0
Major Features and Improvements
- feature: migrate to tree-based source APIs
- feature: support merge operation for sources
- feature: support
withFallback
API for config spec - fix: fix formatting bug in toml4j's writer when map is in nested list
- fix: filter invalid variables in environment
- refactor: unify info and context in Source API
Breaking Changes
After migrated to tree-based source APIs, many deprecated APIs are removed, including:
Source
: allisXXX
andtoXXX
APIsConfig
:layer
,addSource
andwithSourceFrom
v0.16.0
v0.15.1
v0.15
Major Features and Improvements
Konf is modularized, now you can use different modules for different sources without unnecessary dependencies.
Breaking Changes
After modularized Konf, hocon
/toml
/xml
/yaml
/git
/watchGit
in DefaultLoaders
become extension properties/functions and should be imported explicitly.
For example, you should import com.uchuhimo.konf.source.hocon
before using config.from.hocon
; in Java, config.from().hocon
is unavailable, please use config.from().source(HoconProvider.INSTANCE)
instead.
v0.14.1
Major Features and Improvements
- feature: support optional sources
- feature: support empty list and single element list in flat source
- feature: add
config.containsRequired()
(return true/false) andconfig.validateRequired()
(throw exception instead) to check whether all values of required items exist in config or not - feature: leading or trailing whitespaces are allowed in item name / path
- feature: support
onSet
forItem
- fix: support HOCON substitutions
- fix: default values in facade config now have lower priority than the values in fallback config
v0.13
v0.12
v0.11
Major Features and Improvements
- feature: support user-defined extension in DefaultLoaders
- feature: support prefix operations for Source/Config/ConfigSpec
- feature: support ad-hoc config item
- feature: support to cast config to a specified class
- feature: support merge operations for Source/Config/ConfigSpec
- feature: support to load source from git
- feature: support nullable type in Config/Source/Writer
- gradle: update dependencies
- Kotlin: 1.2.30 -> 1.2.51
v0.10
Major Features and Improvements
- feature: support to automatically detect item name in ConfigSpec
- feature: support auto-detected URL format
- feature: support auto-detected watched URL format
- feature: support to parse comma separated values in the flat source
- feature: support export config as the comma-separated format for flat source writers
- gradle: update dependencies
- Kotlin: 1.2.21 -> 1.2.30
Breaking Changes
APIs in ConfigSpec
have been updated to support item name's auto-detection, please migrate to new APIs. Here are some examples:
val host = optional("host", "0.0.0.0")
toval host by optional("0.0.0.0")
val port = required<Int>("port")
toval port by required<Int>()
val nextPort = lazy("nextPort") { config -> config[port] + 1 }
toval nextPort by lazy { config -> config[port] + 1 }
Thanks to our Contributors
Thanks to our contributors whose commits are featured in this release: