v0.2.0
What's Changed
Note: This release is backward incompatible with v0.1.0!
Compared to v0.1.0, everything that used to be masked is still masked, but since v0.2.0 adds support for array/object masking, additional values might be masked. Concretely, (nested) array elements and all values in a (nested) JSON object are masked if the array/object corresponds to a target JSON key.
Nonetheless, since this is a 0.x release, this won't result in a new major release.
Functional changes
Performance improvements
- Use a Trie for key matching by @gavlyukovskiy in #19
- Use bytes instead of character inside the Trie so it can run faster by @gavlyukovskiy in #26
- Use if and ranges for comparison by @gavlyukovskiy in #25
- Use trie in allow mode as well by @gavlyukovskiy in #22
Correctness (tests and small bug fixes)
- Added fuzzing testing for case sensitivity by @Breus in #30
- Added fuzzing testing for obfuscation length and fixed some edge case bugs found with it by @Breus in #29
- Created fuzzing against Jackson for default configurations and fixed multiple small bugs found with it by @Breus in #28
- Finished failure fuzzing testing and fixed a bug in KeyContainsMasker by @Breus in https://github.com/Breus/json-masker/pull/27|
- Use UTF-8 encoding when creating a key to match by @gavlyukovskiy in https://github.com/Breus/json-masker/pull/21\
(Additional) benchmarks
- Add a regex benchmark for comparison by @gavlyukovskiy in #23
- Fixed benchmarks to use generated JSONs by @gavlyukovskiy in #17
- Rework benchmarks to use different jsons by @gavlyukovskiy in #14
Code clean-up
- Moving SingleTargetMasker to tests by @gavlyukovskiy in #13
- Split Trie from KeyContainsMasker, added tests and docs by @Breus in #20
Dependency-related changes
- Make JSR-305 dependency compileOnly and specify UTF-8 encoding for Ja… by @Breus in #7
- Bump me.champeau.jmh from 0.7.1 to 0.7.2 by @dependabot in #9
- Bump com.fasterxml.jackson.core:jackson-databind from 2.15.1 to 2.15.3 by @dependabot in #10
- Bump jUnitVersion from 5.10.0 to 5.10.1 by @dependabot in #8
- Added feature capability for nullability annotations to mark them as optional in POM by @gavlyukovskiy in #11
- Updated Gradle version to 8.4 by @Breus in #12
- Bump com.fasterxml.jackson.core:jackson-databind from 2.15.3 to 2.16.0 by @dependabot in #16
- Bump com.fasterxml.jackson.core:jackson-databind from 2.16.0 to 2.16.1 by @dependabot in #31
Full Changelog: v0.1.0...v0.2.0