Fluxzero 1.114.3
1.114.3 (2026-03-15)
Bug Fixes
fix(modeling): document @Member record withers (
91793ba)Clarify that record owners need an explicit withXxx method or @Member(wither=...) for automatic parent updates, improve runtime guidance when no update function is available, and add a regression test covering nested member updates in records.
fix(dataprotection): support records and clarify protection rules (
4bcdf8b)Handle record payloads by rebuilding sanitized and restored instances instead of mutating final fields during protected-data interception.
Document the exact whole-field versus nested traversal rules for @ProtectData and add coverage for record and JsonNode payloads.
fix(dataprotection): support annotated nested protected paths (
0688807)Follow only explicitly annotated @ProtectData properties when traversing nested values, and protect the whole field when the value type is also annotated.
Allow @ProtectData on types, mark Id as protected by type, and add coverage for nested, type-level, Id, and Data payload cases.
Documentation
docs(project-files): clarify @ProtectData rules (
3eac90c)Update the Java and Kotlin validation manuals to describe whole-field protection rules, explicit nested-path requirements, and an example showing which nested fields are and are not protected.
Code Refactoring
refactor(common): introduce Leaf marker for scalar value objects (
ac58035)Add a common Leaf marker and let Id implement it so reflection-based traversal treats identifier wrappers as terminal values without relying on type annotations.
Update data protection to treat JsonNode as a whole protected value and add coverage for leaf-based Id handling, sorting, and protected JsonNode payloads.
refactor(serializer): split serialized-object normalization from serialize (
8d225fc)Move Data-based normalization out of serialize(Object) into normalize(SerializedObject<?>) so serialize keeps object-to-bytes semantics.
Update TestFixture to normalize serialized inputs explicitly and adapt ProxySerializer to the new interface.
Tests
test(dataprotection): cover nested record protection (
b8e55da)Update the ProtectData JavaDoc examples to use records and add a regression test covering nested protected record components so the documented behavior is exercised explicitly.