v1.0.0-rc3
Pre-release
Pre-release
·
159 commits
to master
since this release
What's Changed
This release introduces the ValueMasker interface, allowing users to configure virtually any custom value masking strategy for specific target keys or JSON types.
var jsonMasker = JsonMasker.getMasker(
JsonMaskingConfig.builder()
.maskKeys(Set.of("maskMe"))
.maskStringsWith(ValueMaskers.withRawValueFunction(value -> value.startsWith("\"secret:") ? "\"***\"" : value))
.build()
);
String maskedJson = jsonMasker.mask(json);see more usage examples in README
We expect this to be the last Release Candidate before the 1.0.0 release.
Bug fixes
- Fix cases when JsonMasker can get in infinite loop when processing invalid json by @gavlyukovskiy in #97
Functional changes
- Introduce ValueMasker and refactor all value masking through a unified interface by @gavlyukovskiy in #96
- Change runtime exception to InvalidJsonException by @Breus in #99
- Refactor withTextFunction to indicate that the value received is a raw JSON literal by @gavlyukovskiy in #103
Chores
- Fix wildcard usage in jsonpath usage examples by @donavdey in #93
- Create ADR for jsonpath support by @donavdey in #95
- Make LICENSE file markdown by @Breus in #102
- Create SECURITY.md by @Breus in #100
- Create CONTRIBUTING.md by @Breus in #101
- Create ADR-0004 to support custom value masking strategies by @Breus in #89
Full Changelog: v1.0.0-rc2...v1.0.0-rc3