Skip to content

Releases: Exlll/ConfigLib

v4.5.0

23 Feb 01:31
cb44743
Compare
Choose a tag to compare

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

26 Jan 13:24
Compare
Choose a tag to compare

What's Changed

  • Add builder option to specify charset for file encoding by @WiIIiam278 in #28

New Contributors

Full Changelog: v4.3.0...v4.4.0

ConfigLib version 4.3.0

02 Dec 11:35
Compare
Choose a tag to compare
  • Added a new interface, IOStreamConfigurationStore, that provides the two methods
    read and write which take an InputStream and OutputStream, respectively. This
    interface is implemented by the YamlConfigurationStore class.
  • Added several static methods to the YamlConfigurations class that correspond to
    these new read/write methods.

ConfigLib version 4.2.0

21 Aug 14:42
Compare
Choose a tag to compare

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

05 Aug 01:16
Compare
Choose a tag to compare

ConfigLib version 4.0.0

24 Jul 20:46
Compare
Choose a tag to compare

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 the configlib-yaml module:
    • The Configurations class has been renamed to YamlConfigurations and its methods lost their -YamlConfiguration affix.
  • FieldFormatter has been renamed to NameFormatter

ConfigLib version 3.1.0

09 Jul 21:12
Compare
Choose a tag to compare
  • 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

07 Jul 16:43
Compare
Choose a tag to compare

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

10 Sep 21:59
Compare
Choose a tag to compare
  • Added @Format annotation
  • Added FieldNameFormatters.UPPER_UNDERSCORE

See commit message for additional information.

ConfigLib version 2.1.0

25 Aug 21:13
Compare
Choose a tag to compare

Added FieldFilter

See commit message for additional information.