Skip to content

Fluxzero 1.114.3

Choose a tag to compare

@github-actions github-actions released this 15 Mar 11:35

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.