Releases: gestalt-config/gestalt
v0.25.0
Behavior Change
If a field is missing and has a default value, is optional or has an @ Config default, the field will get the default value and be marked as a MissingDiscretionaryValuesAsError
, if setTreatMissingDiscretionaryValuesAsErrors is true then it will throw an exception. Otherwise the field will get the default value.
private Optional<Integer> port;
private String uri = "my.sql.db";
private @ Config(defaultVal = "100") Integer connections;
Any other fields when missing will get marked as MissingValuesAsErrors
as before and if setTreatMissingValuesAsErrors is true it will throw an exception. Otherwise the field will be null.
Deprecated
treatNullValuesInClassAsErrors - has been replaced with setTreatMissingDiscretionaryValuesAsErrors and setTreatMissingValuesAsErrors
What's Changed
- Fix: For path lengths errors make the error message a little more clear, add the possible cause of duplicate paths. by @credmond-git in #154
- Feat/config container by @credmond-git in #155
- Feat/url decoder by @credmond-git in #161
- Feat/optional missing values by @credmond-git in #162
- feat: update data class decoder to be more consistent with other complex object decoders. by @credmond-git in #164
Full Changelog: v0.24.6...v0.25.0
v0.24.6
What's Changed
- fix: Weak hashmap implementation was broken, use a WeakReference List by @credmond-git in #152
Full Changelog: v0.24.5...v0.24.6
v0.24.5
What's Changed
- feat: Support ignoring case when matching the prefix for Env Vars. by @credmond-git in #149
- feat: Add Sonar Cloud and fix several issues. by @credmond-git in #144
Full Changelog: v0.24.4...v0.24.5
DurationDecoder and Getting Empty Root paths.
What's Changed
- chore: rename ValidateOf to GResultOf. by @credmond-git in #136
- Feat: Extend DurationDecoder to parse Duration by @credmond-git in #140
- feat: Allow getting an empty path for the root node. by @credmond-git in #141
Full Changelog: v0.24.3...v0.24.4
SequencedCollections and Proxy Reload
What's Changed
- Feat/proxy reload by @credmond-git in #133
- Feat/sequenced by @credmond-git in #135
Full Changelog: v0.24.2...v0.24.3
Allow empty collections
What's Changed
- Feat/update gradle and GitHub actions by @credmond-git in #129
- Feat/allow empty collections by @credmond-git in #131
Full Changelog: v0.24.1...v0.24.2
v0.24.1
What's Changed
- fix: make the TimedConfigReloadStrategy Timer a daemon thread. #126 by @credmond-git in #128
Full Changelog: v0.24.0...v0.24.1
Source Builders and StringConstructorDecoder
Source Builder that supports tags, and reload strategies. (#123) . The old method of creating sources has been deprecated. The plan is to move the tags out of the sources soon as well.
Add an decoder that will decode a class that has a constructor that accepts a single string. This will only match for leaf nodes. It will send the value of the leaf node to the String constructor. (#125)
Empty configuration files
What's Changed
- Fix/118 reload with tags by @credmond-git in #119
- Feat/117 allow empty configuration files by @credmond-git in #121
Full Changelog: v0.23.2...v0.23.3
Feat/proxy no cache (#116)
What's Changed
- feat: Support two proxy modes either CACHE or PASSTHROUGH, where cache means we serve results through a cache that is never updated or pass through where each call is forwarded to Gestalt to be looked up.
Addresses issue #115
Full Changelog: v0.23.1...v0.23.2