Skip to content

Changelog — page 6

New features, improvements, and fixes in the Fluxzero SDK.

GitHub

1.292.14 (2026-10-01)

Bug Fixes
  • serialization: retain transport context on payload replacement (GitHub)

    Keep received correlation, segment and index when transforming a message payload. Snapshot only transport fields while lazily serializing the replacement with its own type and revision.

  • reflection: treat missing JSON properties as absent (GitHub)

    Distinguish missing JSON fields from explicit null values while returning no value for either. Prevent sentinel nodes from becoming routing keys or blocking parameter-source fallback.

Dependency updates
  • bump at.yawk.lz4:lz4-java from 1.11.3 to 1.12.0 (GitHub)

    at.yawk.lz4:lz4-java: 1.11.3 -> 1.12.0 changelog

GitHub

2.8.3 (2026-09-29)

Dependency updates
  • bump at.yawk.lz4:lz4-java from 1.11.3 to 1.12.0 (GitHub)

    at.yawk.lz4:lz4-java: 1.11.3 -> 1.12.0 changelog

GitHub

2.8.2 (2026-09-28)

Dependency updates
  • bump io.fluxzero.tools:fluxzero-maven-plugin from 1.19.1 to 1.19.3 (GitHub)

    io.fluxzero.tools:fluxzero-maven-plugin: 1.19.1 -> 1.19.3 changelog

Chores
  • monitor 1.x with Dependabot [skip ci] (GitHub)

    Enable Maven and GitHub Actions update PRs targeting 1.x. Skip this configuration commit only; subsequent dependency merges follow the normal release workflow.

GitHub

2.8.1 (2026-09-28)

Bug Fixes
  • websocket: close sessions established during pool shutdown (GitHub)

    Serialize session publication with the shutdown snapshot so late connections cannot escape cleanup. Reject cached access after shutdown and isolate close or abort failures while cleaning up remaining sessions.

Changes
  • Merge pull request #419 from fluxzero-io/fix/retained-client-handoff (GitHub)

    fix(websocket): close sessions established during pool shutdown

GitHub

2.8.0 (2026-09-28)

Features
  • modeling: separate searchable nodes from graph storage (#411) (GitHub)

    Separate Model persistence, searchable nodes and optional composed Graph storage. DOCUMENT and pathInParent no longer activate search implicitly. Require an explicit Model.searchable choice and use SearchSettings for node configuration and descendant scope. NONE composes indexed nodes at read time; ASYNC and AWAIT additionally store the composed Graph.

    Infer node and Graph document subscriptions from handler parameters, retain durable NONE notifications, preserve indexed exclusions and upcasting during composition, and allow Parent.searchable=false to exclude an entire branch through that relationship without changing domain navigation or lifecycle.

    This intentionally changes the 2.x source API: replace DocumentProjection and materializeGraph, update HandleDocument source selection, and rebuild shared contract JARs as well as applications. Stop old writers and consumers during migration, deploy the compatible Runtime first, preserve canonical collection identities, reindex existing sources and re-register Graph definitions before resuming. Old public copies are no longer maintained and require explicit retirement.

    Former event-only Models without canonical documents still require a separately implemented guarded backfill. Existing Parent relationship policies require explicit migration and stored Graph rebuilds; annotation-only changes do not update them. See the developer Model query guide and paired Runtime upgrade guide for migration steps and remaining live-query limits.

    Paired Runtime: https://github.com/fluxzero-io/fluxzero-runtime/pull/437

GitHub

2.7.4 (2026-09-28)

Bug Fixes
  • modeling: await document materialization before conflict retries (GitHub)

    Reuse bounded document reconstruction for rejected Model commits while preserving untyped absence reads and pinned historical boundaries.

  • modeling: await document materialization before conflict retries (GitHub)

    Reuse bounded document reconstruction when a rejected Model commit reloads its dependencies. Preserve untyped absence reads while selecting document-backed retry contexts.

Documentation
  • security: use shared Fluxzero security policy (GitHub)
Dependency updates
  • bump org.mockito:mockito-core from 5.23.0 to 5.24.0 (GitHub)

    org.mockito:mockito-core: 5.23.0 -> 5.24.0 changelog

  • bump com.github.luben:zstd-jni from 1.5.7-18 to 1.5.7-20 (GitHub)

    com.github.luben:zstd-jni: 1.5.7-18 -> 1.5.7-20

  • bump ch.qos.logback:logback-classic from 1.6.3 to 1.6.4 (GitHub)

    ch.qos.logback:logback-classic: 1.6.3 -> 1.6.4 changelog

GitHub

2.7.3 (2026-09-28)

Dependency updates
  • bump io.fluxzero.tools:fluxzero-maven-plugin from 1.19.0 to 1.19.1 (GitHub)

    io.fluxzero.tools:fluxzero-maven-plugin: 1.19.0 -> 1.19.1 changelog

GitHub

2.7.2 (2026-09-28)

Documentation
  • modeling: align agent guidance with operation and lifecycle contracts (GitHub)

    Distinguish reevaluation after rejected provisional work from transport failure. Make membership reads, composed rollback, surviving child references and historical revision boundaries explicit in the agent guidance.

  • modeling: deepen the Model and Graph worked examples (GitHub)

    Move introductory detail into its owning sections and follow staged changes, retries, parent ownership and cross-application reads through concrete examples.

  • modeling: clarify lifecycle and response examples in the overview (GitHub)

    Keep the conceptual introduction calm and complete the four-concern narrative. Show independent deletion, cascading schedule cancellation and audience-specific Graph responses with matching Java and Kotlin examples.

  • modeling: introduce Models before explaining the 2.0 features (GitHub)

    Walk from Aggregate and Member declarations to Model and Parent, then separate the four concerns before introducing handler and response conveniences. Explain Graph reads, automatic conflict retries and historical views through concrete examples.

  • modeling: publish the Fluxzero 2.0 overview and deep dive (GitHub)

    Separate the release overview from detailed Model and Graph contracts, with coordinated website navigation and diagrams.

  • modeling: use website-owned diagram components (GitHub)
  • modeling: explain the 2.0 boundaries with focused diagrams (GitHub)

    Connect the release overview to concrete implementation contracts and use consistent figures for relationships, atomic commits, history and projections.

  • modeling: make the 2.0 overview the canonical release guide (GitHub)
  • modeling: remove external design references from the v2 guide (GitHub)
  • modeling: explain the flexibility behind independent models (GitHub)

    Introduce the 2.0 features through growing aggregates, costly reads and moves, and changing business rules. Expand the existing overview and deep dive while retaining their examples and contracts.

  • modeling: explain v2 benefits in a factual developer tone (GitHub)
  • modeling: turn the overview into a practical feature tour (GitHub)

    Show Model and Graph capabilities through concise Java and Kotlin examples, with per-feature links to the detailed contracts. Focus the deep dive on boundaries and configuration, and use the default local handling of self-handling queries.

  • modeling: clarify the SDK 2 learning path and contracts (GitHub)

    Separate the overview from the detailed guide and make command ownership, storage choices, historical boundaries and Graph responses concrete in Java and Kotlin. Preserve the current runtime contracts while recording proposed behavioral changes separately.

Dependency updates
  • bump org.slf4j:slf4j-api from 2.0.19 to 2.0.20 (GitHub)

    org.slf4j:slf4j-api: 2.0.19 -> 2.0.20

Changes
  • Merge pull request #410 from fluxzero-io/docs/v2-review (GitHub)

    docs(modeling): publish the reviewed overview and deeper Model guidance

GitHub

1.292.13 (2026-09-28)

Dependency updates
  • bump org.slf4j:slf4j-api from 2.0.19 to 2.0.20 (GitHub)

    org.slf4j:slf4j-api: 2.0.19 -> 2.0.20

GitHub

1.292.12 (2026-09-28)

Dependency updates
  • bump io.fluxzero.tools:fluxzero-maven-plugin from 1.19.0 to 1.19.3 (GitHub)

    io.fluxzero.tools:fluxzero-maven-plugin: 1.19.0 -> 1.19.3 changelog

GitHub

1.292.11 (2026-09-28)

Dependency updates
  • bump org.mockito:mockito-core from 5.23.0 to 5.24.0 (GitHub)

    org.mockito:mockito-core: 5.23.0 -> 5.24.0 changelog

  • bump ch.qos.logback:logback-classic from 1.6.3 to 1.6.4 (GitHub)

    ch.qos.logback:logback-classic: 1.6.3 -> 1.6.4 changelog

GitHub

1.292.10 (2026-09-28)

Dependency updates
  • bump com.github.luben:zstd-jni from 1.5.7-18 to 1.5.7-20 (GitHub)

    com.github.luben:zstd-jni: 1.5.7-18 -> 1.5.7-20

GitHub

1.292.9 (2026-09-28)

Dependency updates
  • bump com.fasterxml.jackson:jackson-bom from 2.22.2 to 2.22.3 (GitHub)

    com.fasterxml.jackson:jackson-bom: 2.22.2 -> 2.22.3

Continuous Integration
  • release: automate 1.x patch releases [skip ci] (GitHub)

    Activate the 1.x patch-release flow without publishing from this setup commit. Subsequent Dependabot merges use the normal release workflow.

GitHub

1.292.8 (2026-09-28)

Bug Fixes
  • websocket: close sessions established during pool shutdown (GitHub)

    Serialize session publication with the shutdown snapshot so late connections cannot escape cleanup. Reject cached access after shutdown and isolate close or abort failures while cleaning up remaining sessions.

Changes
  • Merge pull request #420 from fluxzero-io/fix/session-pool-1x (GitHub)

    fix(websocket): backport SessionPool shutdown cleanup to 1.x

GitHub

2.7.1 (2026-09-27)

Bug Fixes
  • publishing: use the shared delivery default for requests (GitHub)

    Resolve request publication through publishing.defaultGuarantee independently of the defaults date. Retain the major-version fallback and honor explicit NONE, SENT and STORED without changing business-response completion.

Tests
  • proxy: retain the primary reconnect failure (GitHub)

    Suppress cleanup errors under the original failure so reconnect stalls retain their first diagnostic cause.

Changes
  • Merge pull request #408 from fluxzero-io/fix/request-guarantee-default (GitHub)

    fix(publishing): use the shared delivery default for requests

GitHub

2.7.0 (2026-09-27)

Features
  • publishing: make request guarantees configurable (GitHub)

    Publish proxy requests with storage acknowledgments and expose application and per-request request guarantees while preserving compatibility defaults.

  • publishing: allow per-request delivery guarantees (GitHub)

    Let callers select SENT or STORED without changing application policy or response completion. Preserve existing DEFAULT dispatch and keep each guarantee scoped to its request, including deferred and batched publication.

Bug Fixes
  • publishing: support stored request publication (GitHub)

    Expose a versioned request delivery guarantee and retain SENT in compatibility mode. Surface publication failures through existing response futures without delaying business responses.

  • proxy: acknowledge incoming request storage (GitHub)

    Publish ordinary and chunked HTTP requests with the stored guarantee while keeping responses asynchronous. Propagate publication failures and stop queued chunks after cancellation.

Performance Improvements
  • web: reuse parsed headers when creating request contexts (GitHub)

    Avoid decoding the same header metadata separately for cookies and each client-address candidate. Keep the parsed map local to construction so header lookup and parameter mutability retain their existing behavior.

GitHub

1.292.7 (2026-09-27)

Features
  • publishing: allow per-request delivery guarantees on 1.x (GitHub)

    Backport explicit request guarantees while retaining the maintenance line response paths and compatibility defaults. Scope the guarantee to each request and preserve existing gateway extension points.

Bug Fixes
  • publishing: use the shared delivery default for requests (GitHub)

    Use publishing.defaultGuarantee for requests independently of the defaults date. Preserve SENT when the property is absent and honor explicit NONE, SENT and STORED without changing business-response completion.

  • publishing: support stored request publication (GitHub)

    Expose a versioned request delivery guarantee and retain SENT in compatibility mode. Propagate publication failures through existing response futures and release underlying request callbacks when mapped futures fail.

  • proxy: acknowledge incoming request storage (GitHub)

    Publish ordinary and chunked HTTP requests with the stored guarantee while keeping responses asynchronous. Propagate publication failures and stop queued chunks after cancellation.

  • tracking: stop local cache waits on terminal cancellation (GitHub)

    Interrupt the owned wait worker while awaiting remote acquisitions before final release. Close also cancels reads and cache filler registrations published concurrently with shutdown.

  • tracking: recheck segment ownership after registering waiters (GitHub)

    A rebalance can notify a tracker before its waiter is published. Recheck the assignment so available work does not wait for a long-poll deadline.

  • websocket: drain terminal releases before closing transport (GitHub)

    Give pending tracker releases and admitted response callbacks bounded shutdown grace. Preserve abortive fallback and avoid waiting on the closing callback itself.

  • tracking: release terminated consumers after pending reads (GitHub)

    Keep batch processing intact during cancellation and release ownership after delayed reads and cached fallback reads finish. Reuse the existing disconnect protocol so a connected application does not retain abandoned segments.

Performance Improvements
  • web: reuse parsed headers when creating request contexts (GitHub)

    Avoid repeated metadata decoding during request-context construction while preserving header precedence and keeping the parsed map local to the constructor.

Tests
  • proxy: preserve reconnect failure diagnostics (GitHub)

    Retain the original failure when cleanup also fails and upload test reports through the existing main workflow pattern.

  • proxy: await observed request starts before asserting order (GitHub)

    Mockito exposes invocation counts before an asynchronous answer updates its observation. Synchronize assertions with the published request path while retaining exact order and final call-count checks.

  • test-server: bind lifecycle fixtures to explicit loopback (GitHub)

    Wildcard ephemeral listeners can share a port with an IPv4-specific listener on macOS. Bind clients and their test server to the same interface and bound connection retry time.

  • proxy: keep capacity fixtures on distinct segments (GitHub)

    Random routing keys could serialize two fixtures onto one segment and invalidate the capacity-only expectation.

GitHub

2.6.4 (2026-09-26)

Bug Fixes
  • tracking: stop local cache waits on terminal cancellation (GitHub)

    Interrupt the owned wait worker while awaiting remote acquisitions before final release. Close also cancels reads and cache filler registrations published concurrently with shutdown.

Tests
  • proxy: await observed request starts before asserting order (GitHub)

    Mockito exposes invocation counts before an asynchronous answer updates its observation. Synchronize assertions with the published request path while retaining exact order and final call-count checks.

Changes
  • Merge pull request #405 from fluxzero-io/fix/cached-tracker-shutdown (GitHub)

    fix(tracking): stop local cache waits on terminal cancellation

GitHub

2.6.3 (2026-09-26)

Bug Fixes
  • tracking: recheck segment ownership after registering waiters (GitHub)

    A rebalance can notify a tracker before its waiter is published. Recheck the assignment so available work does not wait for a long-poll deadline.

  • websocket: drain terminal releases before closing transport (GitHub)

    Give pending tracker releases and admitted response callbacks bounded shutdown grace. Preserve abortive fallback and avoid waiting on the closing callback itself.

  • tracking: preserve custom disconnect hooks during cleanup (GitHub)

    Retain virtual dispatch for ordinary connection cleanup while keeping frozen handover claims protected.

  • tracking: release terminated consumers after pending reads (GitHub)

    Keep batch processing intact during cancellation and release ownership after delayed reads and cached fallback reads finish. Reuse the existing disconnect protocol so a connected application does not retain abandoned segments.

  • tracking: preserve batch ownership across runtime handovers (GitHub)

    Freeze and restore active segment reservations without rewriting consumer positions. Keep late reads and explicit disconnects retryable while connection cleanup preserves transferred ownership.

Tests
  • test-server: bind lifecycle fixtures to explicit loopback (GitHub)

    Wildcard ephemeral listeners can share a port with an IPv4-specific listener on macOS. Bind clients and their test server to the same interface and bound connection retry time.

  • proxy: keep capacity fixtures on distinct segments (GitHub)

    Random routing keys could serialize two fixtures onto one segment and invalidate the capacity-only expectation.

Changes
  • Merge pull request #404 from fluxzero-io/fix/runtime-batch-handoff (GitHub)

    fix(tracking): preserve active batches during runtime handover

GitHub

2.6.2 (2026-09-26)

Bug Fixes
  • websocket: advertise mixed Model event block support (GitHub)

    Let the Runtime preserve direct block delivery for readers that accept mixed persisted formats while adapting responses for older clients. Advertise the capability again on replacement connections.

  • serialization: decode mixed Model event block formats (GitHub)

    Recognize binary envelopes at each legacy record boundary so compact Model reads preserve fields across storage format transitions. Keep homogeneous binary reads and retained byte views on their existing path.

Changes
  • Merge pull request #403 from fluxzero-io/fix/mixed-model-message-blocks (GitHub)

    fix(serialization): read mixed Model blocks and negotiate direct delivery


© 2026 Fluxzero