Releases: Exlll/ConfigLib
v4.5.0
What's Changed
Added support for post-processing configurations via annotations and methods.
Full Changelog: v4.4.0...v4.5.0
ConfigLib version 4.4.0
What's Changed
- Add builder option to specify charset for file encoding by @WiIIiam278 in #28
New Contributors
- @WiIIiam278 made their first contribution in #28
Full Changelog: v4.3.0...v4.4.0
ConfigLib version 4.3.0
- Added a new interface,
IOStreamConfigurationStore
, that provides the two methods
read
andwrite
which take anInputStream
andOutputStream
, respectively. This
interface is implemented by theYamlConfigurationStore
class. - Added several static methods to the
YamlConfigurations
class that correspond to
these new read/write methods.
ConfigLib version 4.2.0
Support for polymorphic serialization
This release adds the Polymorphic
and PolymorphicTypes
annotations that can be used on types. Serializers for polymorphic types are not selected based on the compile-time types of configuration elements, but instead are chosen at runtime based on the actual types of their values. This enables adding instances of subclasses / implementations of a polymorphic type to collections.
Add SerializeWith
annotation
This annotation enforces the use of the specified serializer for a configuration element or type. It can be applied to configuration elements (i.e. class fields and record components), to types, and to other annotations.
Add SerializerContext
interface
Instances of this interface contain information about the context in which a serializer was selected. They are passed to the constructors of custom serializers if the serializers are instantiated by this library, or can alternatively be accessed through the new addSerializerFactory
method of ConfigurationProperties
objects.
ConfigLib version 4.1.0
- Added jitpack.io support (by @RobotHanzo)
- Added two new NameFormatters (by @Insprill)
LOWER_KEBAB_CASE
UPPER_KEBAB_CASE
- Fixed handling of comments that contain newlines (by @Insprill)
ConfigLib version 4.0.0
This update contains several new features:
- Support for Java records
- Support for
File
,Path
,URL
,URI
,Instant
- New project structure that makes it easier to add support for additional file types
... and some breaking changes:
- The code for saving and loading YAML files was moved from the
configlib-core
to theconfiglib-yaml
module:- The
Configurations
class has been renamed toYamlConfigurations
and its methods lost their-YamlConfiguration
affix.
- The
FieldFormatter
has been renamed toNameFormatter
ConfigLib version 3.1.0
- Added
toBuilder
method to create a builder from a properties object - Added serialization support for Bukkit's
ConfigurationSerializable
types - Added
UUID
serializer
ConfigLib version 3.0.0
This release represents version 3.0.0 - a complete rewrite of this library. It contains the plugin versions that are described in the IMPORT section of the README.
ConfigLib version 2.2.0
- Added
@Format
annotation - Added
FieldNameFormatters.UPPER_UNDERSCORE
See commit message for additional information.
ConfigLib version 2.1.0
Added FieldFilter
See commit message for additional information.