Skip to content

2.0.0-rc.12 – Sep 14, 2026

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Sep 10:12
· 413 commits to main since this release
70a8cb2

Fluxzero SDK 2.0.0-rc.12 strengthens Model lifecycles, delayed work and migration testing.

Schedules that follow a Model's lifetime

Declare @Parent on a schedule payload, or use Schedule.withParents(...), to tie
delayed work to an existing committed Model. Deleting that Model also cancels its
pending schedules, including cascaded deletion. Lifetime bindings protect against
old schedules after deletion and recreation; cancellation is asynchronous.

More predictable Model changes

  • Duplicate creation and missing updates produce explicit lifecycle failures;
    nullable state and the existing compatibility opt-out keep upsert/idempotency intentional.
  • Dynamic writes retain their read revisions, and complete Graph-change handlers
    can observe cascaded child deletions and their previous event-sourced state.
  • Complete Graph changes retain their exact before-state through lazy navigation;
    creation does not accidentally inherit an empty or unrelated previous model.
  • Optional parent identities, ancestor updates and current-intent scheduling have
    clearer contracts and consistent Java/Kotlin examples.
  • Public DOCUMENT projections are independent of internal Model/Graph state.
    Explicit DOCUMENT therefore has additional write and storage costs; ordinary
    event-only Models do not acquire document copies.

Migration tests and fixture improvements

Value-preserving upcasting, givenModelEvents(...) reconstruction and retained-storage
migration examples now form one documented route. Typed Graph document handling preserves
the original source revisions, avoiding repeated root upcasting. Active-schedule assertions
cover retained schedules as well as newly scheduled work, and rejected old schedule attempts
no longer leave phantom fixture waits. Local document consumers retain updates
from registration onward, including writes before their first asynchronous read.

Clearer modeling guidance

The developer and agent documentation now consistently explains details value objects,
functional failures, event sourcing for previous(), and the distinction between a
plain typed reference, a Graph relationship and deletion ownership.

This is a prerelease. Existing tags remain immutable; use the exact Maven version
2.0.0-rc.12.