Skip to main content

v4.2.5 (2021-03-31)

Scope

  • Core configuration parsing, Bean binding, dynamic properties, and lifecycle annotations

Changes

  • Added
    • Support ${VARIABLE:default} in configuration environment variable references, using the default when the variable is not set.
  • Improved
    • Restore case-sensitive configuration lookup; preserve key case in XML, YAML, and Properties.
    • Remove the deprecated status from @Singleton, @ConstructorBy, and @Destroy, retaining support for Hasor annotations.
  • Fixed
    • Fix bindType incorrectly reporting duplicate bindings when the same type is registered with different IDs.
    • Fix parsing and node organization for YAML objects, lists, and lists of objects.
    • Improve compatibility for types in the default package when using delegated dynamic properties.

Upgrade notes

  • Configuration key names and lookup names in code must match case exactly. Update configurations that depend on the previous case-insensitive behavior.
  • Environment variable defaults can be written directly in reference expressions without separate environment variable configuration entries.
  • Lists nested directly within lists are still unsupported in YAML; this fix does not imply support for arbitrary YAML structures.