- [new] Support returning tree nodes from functions, allowing to pass subtrees between functions.
- [new] A new
safeValue()
function allows to obtain the value of a node without any exception being raised. If an error occurs it is returned as the value. - [new] The
toString()
method on theCoffig
class will now return a fully evaluated YAML by default.
- [fix] Generic arrays (like Class[]) are no longer ignored in the mapping process.
- [fix] Fix NullPointerException when a blank value is present in properties files.
- [fix] Fix NullPointerException when a YAML or JSON file read by the Jackson provider is empty.
- [fix] Fix macro and function evaluation in properties mapping/unmapping.
- [chg] Built and tested with OpenJDK 11 (minimum Java version still being 8).
- [chg] Add debug logging
- [fix] Always make ServiceLoader use the most complete classloader it can find.
- [fix] Fixed missing detailed error messages for configuration exceptions.
- [brk] Removed copy constructors from nodes (their shallow copy was risky and useless).
- [new] Java 9 compatibility.
- [new] Ability to register change listeners that will be called on refresh if the nodes they are interested in change.
- [new] Ability to automatically refresh the configuration on YAML/JSON/Properties file change.
- [fix] Fix resolution of nested macros.
- [fix] Fix handling of colon (:) inside macro quoted values (i.e. ${'1:2:3'}).
- [fix] Fix the ability to map maps with null values.
- [brk] Remove node attributes.
- [brk] API cleanup.
- [brk] When converting an array node to a map node, items are used as keys instead of values.
- [chg] Compatibility with Jackson 2.8.0+.
- [fix] Properly parse and handle null values.
- [fix] Fix instantiation of arrays as default values.
- [new] Mapper for durations.
- [chg] Map properties files as in-depth trees (not flat keys at the top-level).
- [fix] Fix formatting of configuration YAML dump.
- [brk] Replace immutable/mutable dual data-structure with a single one and an unmodifiable wrapper.
- [brk] Replace collections by streams when accessing nodes.
- [brk] API refactoring
- [chg] Add debug and trace logging for main configuration operations (create, fork, refresh, get).
- [chg] No provider is registered by default anymore.
- [chg] No processor is registered by default anymore.
- [chg] No evaluator is registered by default anymore.
- [new] Allow to ignore macro and function resolution by escaping them with
\
. - [new] Visit superclasses when gathering field info for object mapping.
- [new] Add a mapper for configuration builders (i.e. objects that provide functions for configuration).
- [new] Initial version.