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.