Repository navigation
2.0.0-rc.12 – Sep 14, 2026
Pre-releaseFluxzero 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.