Releases: Netflix/archaius
v2.8.2
Reverting behavior change from 2.8.0
We discovered that too many consumers depend on the old behavior of avoiding throwing exceptions from configuration reading calls. Adapting code paths that put these calls in the middle of critical request-servicing code is too onerous.
This version DOES fix the old bug that caused properties with defaults (from the Property.orElse() method) to fail for this "invalid setting" case. They will now return the default value.
We are also retaining the noisy logging of parsing errors, to assist users with detection and fixing.
Full Changelog: v2.8.1...v2.8.2
v2.8.1
What's Changed
- Small performance and memory usage tweaks by @rgallardo-netflix in #736
- Ensure that one failing subscription does not prevent others from being called by @rgallardo-netflix in #737
Full Changelog: v2.8.0...v2.8.1
v2.8.0
Behavioral change
We have aligned the behavior from different APIs so that whenever the value in a configuration source cannot be parsed to the type requested by the user, Archaius will always throw a ParseException
. In previous versions, some APIs (most notably in the Property<T>
interface) would silently return null
instead. This made invalid settings very difficult to find and debug. #735
We have also cleaned up the messaging in exceptions to ensure that the name of the property being accessed and the invalid value that caused the exception are always mentioned. #734
Other changes
- Skip static methods on config interfaces by @kilink in #728
- Avoid map resizing in PrivateViewConfig by @kilink in #730
- Avoid repeated calls to getState in AbstractDependentConfig by @kilink in #732
- Implement hashCode for PropertyDetails by @kilink in #731
Full Changelog: v2.7.10...v2.8.0
v2.7.10
What's Changed
- Improved support for collection types in configuration proxies (by @rgallardo-netflix in #724)
- Parametrized properties can return collections
- Default values for collection-returning methods can be specified with the
@DefaultValue
annotation, instead of only via default method implementations.
- Number parsing is more lenient. Whitespace around a number is trimmed, and longs can have a trailing
L
orl
(by @rgallardo-netflix in #725). - For property sources that return non-string values, we now handle numeric narrowing or widening conversions (by @rgallardo-netflix in #726).
All these changes should be fully backward compatible.
Full Changelog: v2.7.9...v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
What's Changed
- Use guava for tests by @kilink in #709
- Enhancing Clarity with assume API in Precondition Checks for
validatePropertyUpdates
andvalidateApiWhenRemovingChild
by @Codegass in #713 - Refactor ConfigManagerTest to Include Assertions for Automated Validation by @Codegass in #711
- Split the PropertyTest.test into
testPropertyValuesUpdateAndEffect
andtestServiceInitializationWithDefaultProperties
by @Codegass in #715 - Add uninstrumented endpoint for the Archaius2-Archaius1 bridge by @akang31 in #718
New Contributors
Full Changelog: v2.7.5...v2.7.6