Skip to content

Configurate v4.1.0

Compare
Choose a tag to compare
@zml2008 zml2008 released this 04 May 05:49
· 320 commits to master since this release

This is a minor feature release to the Configurate v4 series that addresses a variety of bugfixes, small API additions, and Javadoc tweaks that have built up in the months since the 4.0.0 release.

Thanks to forresthopkinsa, jpenilla, and ItsTehBrian for their contributions to this release.

Added

  • core: NodePath.plus added to combine paths
  • core: AbstractListChildSerializer is now part of Configurate's public API
  • core: Added methods on ConfigurationLoader to load/save from strings
  • core: Temporary files for writing are now prepended with a . so they appear hidden in file viewers
  • core: Multi-release jar functionality is now used to take advantage of some collections and reflection API only available in newer Java versions
  • core: Added analysis annotations to indicate contracts in ConfigurationOptions and AbstractConfigurationLoader
  • core: Added ConfigurationNode.require methods for cases where a return value is known to be non-null, to avoid nullabilty warnings in IDEs
  • core: Added flags field to the @Matches constrant annotation to pass through Pattern flags
  • gson: Added serializers for JsonElement and its subtypes (accessible via GsonConfigurationLoader.gsonSerializers())
  • kotlin: Add supplier-defaulted get() extensions to ConfigurationNode

Fixed

  • core: Retry closing in AtomicFiles, to attempt better handling of Windows file locking
  • core: Handling of integer keys in the map serializer (#184)
  • core: Improve error messages when trying to get the object mapper to construct an object instance that it is unable to.
  • core: Fix handling of absent primitive fields in the record object mapper
  • core: Fix erasing target files when attempting to save a clearly invalid node (#189)
  • core: Sets of enums are now deserialized as EnumSets rather than HashSets
  • core: Add missing primitive types to Types.box/unbox
  • core: Separate the concepts of a null value and being virtual, to correct handling of null-valued non-virtual nodes (#187)
  • core: Correctly handle configuration files stored within symlinked directories
  • core: Fixed improper floating-point precision testing (#198)
  • hocon: Ensure leading spaces in comments are stripped
  • kotlin: Correct the non-defaulted get method to use the appropriate Java overload of get (#185)

Deprecated

  • kotlin: The NodePath.plus extension function has been deprecated since it is replaced by the plus method in NodePath itself.