Konf Versions Save

A type-safe cascading configuration library for Kotlin/Java/Android, supporting most configuration formats

v1.1.2

3 years ago
  • build: fix JitPack signing failure

v1.1.1

3 years ago

Major Features and Improvements

  • feature: support listener for watched file/URL
  • feature: support listener for watched Git file
  • feature: support beforeSet/afterSet for config
  • feature: support beforeSet/afterSet for item
  • feature: support beforeLoad/afterLoad for config

Breaking Changes

  • remove action parameter for Git source

Deprecated

  • build: remove bintray support

v1.0.0

3 years ago
  • update dependencies

v0.23.0

3 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 and tcp_port in the source are treated as the same key. You can use config.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 use file instead of fromFile.

v0.22.1

3 years ago

v0.22.0

4 years ago
  • 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
    

v0.21.0

4 years ago

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

4 years ago
  • 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

4 years ago

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

4 years ago
  • feature: migrate to tree-based config