- Introduce option to NOT split paths that contain dots in the YAML file (#214)
- Add support for BigInteger and BigDecimal in bean properties (#182)
- Support map properties at root path-level properly when they are empty (#191)
- Introduce RegexProperty to safely handle configurable regex patterns (#145)
- Introduce StringSetProperty class (#211)
- Better ability to trigger a resave for partially valid values (#19)
- Indentation size and number of empty lines are now configurable in YamlFileResourceOptions (#127)
- Introduce SetProperty to create properties of a Set type (#111)
- New method
getChildKeys
on PropertyReader to get direct children (#73) - Create SettingsHolderClassValidator with utilities to check proper setup of ConfigMe (for unit tests) (#5)
- Various bug fixes and improvements. Extensive documentation is now also available on the ConfigMe wiki
- New property structure allowing to easily define maps and lists, see PropertyInitializer
- Support paths written together (e.g. "path.foo") in YML files
- Fix bug in which paths with special sequences (like numbers) cannot be read
- Allow to pass options into YamlReader to define how many empty lines should separate properties
- Files now no longer have an empty line at the top and none at the end by default
- Write the properties of bean properties in the same order as the fields in the Java class
- Support all Collection types for export values (not only lists)
- Fixes built-in lowercase String Set property creating output which cannot be read again
- Add getter on ConfigurationData to get all comments
- If not defined, SettingsManagerBuilder creates a manager that uses no migration service (instead of the default one)
- Large refactoring: see Migrating from 0.x to 1.x for migration guide
- New method: PropertyReader#getKeys
- Introduce new built-in property type for Doubles (#60)
- Improve behavior of String properties (more values mapped to String) (#58)
- Use UTF-8 as default charset & allow to override it in YAML resource and reader
- Fix
Optional
fields not being able to be saved in bean properties (#51)
- Add support for
Optional
- New optional property type
OptionalProperty
- Support
Optional<?>
fields in beans
- New optional property type
- Fix export of empty map (now
{}
) - Add shorthand method for creating a SettingsManager from a YAML file
- Improve handling of generics in the mapper
- Technical improvements
- Avoid Map with
Class<?>
keys - Add
@Documented
on relevant annotations
- Avoid Map with
- Now available from Maven Central!
- The project package is now
ch.jalu.configme
- The project package is now
- Enhance handling of bean properties
- Support ignored properties on beans (
@Transient
on a property accessor) @ExportName
on a property accessor allows to define a different resource name- Improve support of inherited properties
- Create example and Wiki page for bean properties
- Better performance by caching mapper instance and class configurations
- Support ignored properties on beans (
- Bug fixes:
- Rename knownproperties package to configurationdata
- Add method taking Iterable<Class...> in ConfigurationDataBuilder
Bugfix release:
- Fix YAML export of a beans property at root path
- Allow values of bean properties to be set via SettingsManager
- Fix null pointer exception after an empty YML file is loaded
- Allow mapping of configurations to JavaBeans classes
- Allow to provide comments for sections
Initial release:
- Cleanup of previously internally used configuration management
- Changes to make more generic
- Use SnakeYAML instead of Bukkit classes