All Versions
Latest Version
Avg Release Cycle
14 days
Latest Release
157 days ago

Changelog History

  • v0.22.1

    December 24, 2019
  • v0.22.0

    December 22, 2019

    🔋 feature: support flatten env source (#41)

    If you have the following environment variables: 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
  • v0.21.0

    November 25, 2019

    ⬆️ A serious configuration error in Gradle has been fixed in this version. This bug will cause compilation error when using konf without simultaneously declaring dependency to konf-core since v0.15. Please upgrade to this version if you are using v0.15~v0.20.0.

  • v0.20.0

    September 15, 2019
    • 🔋 feature: support to cast config to value with config.toValue<T>()
    • 🛠 fix: watchFile throws exception when using relative path
    • 🛠 fix: parsing of environment variables is stricter now
  • v0.19.0

    September 09, 2019

    Major Features and Improvements

    • 🔋 feature: support default providers API
    • 🔋 feature: support substituted source
    • 🔋 feature: all sources are substituted before loaded into config by default

    💥 Breaking Changes

    • Since all sources are substituted before loaded into config by default, all path variables will be substituted now. You can use config.disable(Feature.SUBSTITUTE_SOURCE_BEFORE_LOADED) to disable this change.

    🗄 Deprecated

    • 🗄 fromXXX APIs on providers are deprecated now, use the new shorter APIs instead. E.g., you can use file instead of fromFile.
  • v0.18.0

    September 07, 2019
    • 🔋 feature: migrate to tree-based config
  • v0.17.1

    September 05, 2019
    • 🛠 fix: Loader#watchFile doesn't work on macOS
    • ⚡️ build: update dependencies
    • 🏗 build: support Github Actions
    • 🏗 build: disable Aliyun Maven repository by default
  • v0.17.0

    September 03, 2019

    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: all isXXX and toXXX APIs
    • Config: layer, addSource and withSourceFrom
  • v0.16.0

    August 26, 2019

    🔋 feature: support JavaScript source using GraalVM JavaScript

  • v0.15.1

    August 23, 2019

    🛠 fix: doesn't close input/output stream in provider/writer