Changelog — page 9
New features, improvements, and fixes in the Fluxzero SDK.
Sep 15, 2026 · 1.278.0
Section titled “Sep 15, 2026 · 1.278.0”GitHub
Sep 15, 2026 · 1.278.0
Section titled “Sep 15, 2026 · 1.278.0”Sep 15, 2026 · 1.277.0
Section titled “Sep 15, 2026 · 1.277.0”GitHub
Sep 15, 2026 · 1.277.0
Section titled “Sep 15, 2026 · 1.277.0”Sep 14, 2026 · 2.0.0-rc.13
Section titled “Sep 14, 2026 · 2.0.0-rc.13”GitHub
Sep 14, 2026 · 2.0.0-rc.13
Section titled “Sep 14, 2026 · 2.0.0-rc.13”Fluxzero Java SDK 2.0.0-rc.13
Highlights
graph.current()returns a fresh view of the same Model identity while preserving the original historical Graph.- Stronger Model/Graph cache isolation and publication fences keep current assertions sensitive to committed state, membership changes and deletion, including commands received in the same batch.
- Current-read batching drains immediately, without an artificial collection delay. Compatible requests accumulated during an in-flight read can still be combined; ordinary Model cache reads keep their own fast path.
- Lower temporary allocation when reconstructing fresh Graph views.
- Kotlin-generated component methods no longer make Model target IDs appear ambiguous.
- Executable examples cover one-to-one Models, derived Graph properties and atomic Model actions.
- Clearer payload-validation, HTTP test-double, consumer-diagnostic and message-envelope guidance.
- Actual Spring Boot and application-configured shaded-JAR checks cover OpenAPI merging and actionable conflicts.
Java 25 remains required. This is a release candidate, not the final 2.0 release.
Sep 14, 2026 · 2.0.0-rc.12
Section titled “Sep 14, 2026 · 2.0.0-rc.12”GitHub
Sep 14, 2026 · 2.0.0-rc.12
Section titled “Sep 14, 2026 · 2.0.0-rc.12”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.
Sep 14, 2026 · 1.276.0
Section titled “Sep 14, 2026 · 1.276.0”GitHub
Sep 14, 2026 · 1.276.0
Section titled “Sep 14, 2026 · 1.276.0”Sep 14, 2026 · 1.275.0
Section titled “Sep 14, 2026 · 1.275.0”GitHub
Sep 14, 2026 · 1.275.0
Section titled “Sep 14, 2026 · 1.275.0”1.275.0 (2026-09-14)
Bug Fixes
- readme: restore responsive project buttons [skip ci] (GitHub)
Documentation
- sdk: remove JDK version from overview [skip ci] (GitHub)
- community: welcome SDK contributions [skip ci] (GitHub)
- readme: compact project links on mobile [skip ci] (GitHub)
- readme: clarify package and release policy [skip ci] (GitHub)
- readme: add shared project footer [skip ci] (GitHub)
- readme: link to the website [skip ci] (GitHub)
- readme: trim SDK maintenance details [skip ci] (GitHub)
- readme: shorten the SDK title [skip ci] (GitHub)
- readme: link Packages to its homepage [skip ci] (GitHub)
- readme: simplify the manual build path [skip ci] (GitHub)
- readme: explain how builders use the SDK [skip ci] (GitHub)
- brand: use the corrected repository banner [skip ci] (GitHub)
- readme: keep the introduction factual [skip ci] (GitHub)
- readme: align presentation with Fluxzero Cloud [skip ci] (GitHub)
Dependency updates
Sep 13, 2026 · 2.0.0-rc.11
Section titled “Sep 13, 2026 · 2.0.0-rc.11”GitHub
Sep 13, 2026 · 2.0.0-rc.11
Section titled “Sep 13, 2026 · 2.0.0-rc.11”Model and Graph query guidance
- Start with plain
@Model. Extra document persistence and periodic snapshots are now introduced only when an example needs them. - A central capability matrix explains identity loads, direct and relationship-scoped search, live and materialized Graphs, result types, and current versus event-bound state.
- The developer guides, public Javadocs, and Java/Kotlin agent instructions now use the same query contract. The compact README from main is included.
- LocalClient text matching now respects the capabilities of retrieval-only Model documents, preventing misleading successful queries in local tests. Stored Model values and ordinary document scans are preserved.
Read the Model and Graph query guide.
Current Graph correctness
Explicit loadCurrentGraph reads now establish a fresh storage boundary even with a cached root, so committed
child additions, removals and moves are not hidden by delayed cache updates. Each call performs a head-only read;
values remain lazy and can reuse an exactly matching cached revision. Previously returned Graphs keep their pinned
state, and ordinary Model and Graph cache paths are unchanged.
Version spelling
This release uses 2.0.0-rc.11, with lowercase rc and a dot before the number. Future candidates keep this numeric format for consistent Maven and SemVer ordering. Existing versions and tags are unchanged; update exact dependency pins to the spelling below.
<dependency>
<groupId>io.fluxzero</groupId>
<artifactId>sdk</artifactId>
<version>2.0.0-rc.11</version>
</dependency>
Sep 12, 2026 · 2.0.0-RC9
Section titled “Sep 12, 2026 · 2.0.0-RC9”GitHub
Sep 12, 2026 · 2.0.0-RC9
Section titled “Sep 12, 2026 · 2.0.0-RC9”RC9 highlights
This candidate advances the Java SDK 2.0 release line; it is not a 2.0 GA release.
- Transactional Graph reads track inspected relationship collections, including empty results. Concurrent add/remove/reparent operations trigger the selected conflict policy without making every parent read depend on every relationship change.
- Select Graph children and descendants by path or logical Model name before unrelated value reconstruction. Explicit unknown-node inclusion supports metadata navigation and counting across application contracts. Known-only selections may omit stored children; value/history access still requires compatible local contracts.
- Read verified current Model documents explicitly without silently falling back to historical event replay. Model discovery is independent of optional serialization-name registration.
- Avoid unnecessary replay for Graph path selection, current/untyped root identity, exact-ID lookup and revision metadata. Preserve pinned snapshots and extension-point fallbacks.
- Include Java 25 execution isolation for SDK-managed asynchronous work, explicit user identity, typed scheduling conveniences, fixture corrections and the combined Java/Kotlin agent documentation.
SDK upgrade notes
Java 25 is required. Custom User implementations must implement id() and be recompiled. Identity no longer
falls back to Principal.getName(); a display or principal name remains separate.
Rebuild shared Model contract JARs with SDK annotation processing enabled for cold Model discovery.
Existing documents retain their ordinary read path. The new explicit verified current-state API rejects documents without a trusted, version-bound proof, rather than silently falling back to replay or accepting unchecked state. Unsupported capabilities fail explicitly rather than weakening consistency.
This prerelease does not promote stable 1.x, latest or stable-documentation channels.
2.0.0-RC9 (2026-09-12)
Features
Bug Fixes
Documentation
Dependency updates
Continuous Integration
- release: stop Central publishing on 1 October 2026 [skip ci] (GitHub)
Build System
Tests
Chores
Sep 12, 2026 · 2.0.0-RC10
Section titled “Sep 12, 2026 · 2.0.0-RC10”GitHub
Sep 12, 2026 · 2.0.0-RC10
Section titled “Sep 12, 2026 · 2.0.0-RC10”Parent updates through existing Model relations
RC10 fixes an SDK RC9 issue where an @Apply could receive a parent Model through an existing @Parent
relation but could not return that same parent as its updated result unless the command also contained the
parent's ID.
A command can now identify a child, remove it, and update its existing parent in the same atomic action without duplicating the parent ID in the payload. Parent selection uses the state read before the action, and the event streams remain replayable after the child has been removed.
Explicit target IDs retain precedence. Missing or ambiguous parents and unexpected result IDs still fail safely; unrelated read-only Models do not become writable. This focused repair is the only functional change compared with RC9.
2.0.0-RC10 (2026-09-12)
Bug Fixes
Tests
Chores
- release: align SDK RC10 candidate with release history (GitHub)
Sep 12, 2026 · 1.274.0
Section titled “Sep 12, 2026 · 1.274.0”GitHub
Sep 12, 2026 · 1.274.0
Section titled “Sep 12, 2026 · 1.274.0”Sep 11, 2026 · 1.273.0
Section titled “Sep 11, 2026 · 1.273.0”GitHub
Sep 11, 2026 · 1.273.0
Section titled “Sep 11, 2026 · 1.273.0”Sep 11, 2026 · 1.272.0
Section titled “Sep 11, 2026 · 1.272.0”GitHub
Sep 11, 2026 · 1.272.0
Section titled “Sep 11, 2026 · 1.272.0”Sep 11, 2026 · 1.271.0
Section titled “Sep 11, 2026 · 1.271.0”GitHub
Sep 11, 2026 · 1.271.0
Section titled “Sep 11, 2026 · 1.271.0”Sep 11, 2026 · 1.270.0
Section titled “Sep 11, 2026 · 1.270.0”GitHub
Sep 11, 2026 · 1.270.0
Section titled “Sep 11, 2026 · 1.270.0”Sep 10, 2026 · 2.0.0-RC8
Section titled “Sep 10, 2026 · 2.0.0-RC8”GitHub
Sep 10, 2026 · 2.0.0-RC8
Section titled “Sep 10, 2026 · 2.0.0-RC8”Sep 10, 2026 · 1.269.0
Section titled “Sep 10, 2026 · 1.269.0”GitHub
Sep 10, 2026 · 1.269.0
Section titled “Sep 10, 2026 · 1.269.0”Sep 10, 2026 · 1.268.0
Section titled “Sep 10, 2026 · 1.268.0”GitHub
Sep 10, 2026 · 1.268.0
Section titled “Sep 10, 2026 · 1.268.0”Sep 10, 2026 · 1.267.0
Section titled “Sep 10, 2026 · 1.267.0”GitHub
Sep 10, 2026 · 1.267.0
Section titled “Sep 10, 2026 · 1.267.0”Sep 10, 2026 · 1.266.0
Section titled “Sep 10, 2026 · 1.266.0”GitHub
Sep 10, 2026 · 1.266.0
Section titled “Sep 10, 2026 · 1.266.0”Sep 10, 2026 · 1.265.0
Section titled “Sep 10, 2026 · 1.265.0”GitHub
Sep 10, 2026 · 1.265.0
Section titled “Sep 10, 2026 · 1.265.0”© 2026 Fluxzero