Skip to content

2.5.0 – Sep 26, 2026

Choose a tag to compare

@github-actions github-actions released this 26 Sep 11:39
· 214 commits to main since this release
de6f7a4

2.5.0 (2026-09-26)

This release changes the key-value API return types. Adapt callers and custom implementations, and rebuild dependent libraries and applications; see the delivery feature below.

Features

  • delivery: apply command defaults and await batch writes (de6f7a4)
    • Guarantee.DEFAULT now applies across outgoing SDK commands, including indexing, responses, WebSockets, scheduling, key-value writes and document maintenance. In 2.x its application-wide fallback is STORED, independent of fluxzero.defaults.version.
    • Set fluxzero.publishing.defaultGuarantee (FLUXZERO_PUBLISHING_DEFAULT_GUARANTEE) to NONE, SENT or STORED to override that default. The historical property name now covers all operations that use DEFAULT.
    • Outgoing asynchronous commands created during a tracked batch are awaited before its position is committed. Explicit guarantees remain effective; request/response reads and long polls are not treated as pending writes.
    • Public scheduling conveniences return without waiting for storage. Internal periodic-scheduling and data-protection operations retain the acknowledgement boundaries required for correctness, including safe cancellation and retry handling.

    This early 2.x release deliberately contains a source/binary-incompatible API change: KeyValueStore.store(...) and delete(...) return CompletableFuture<Void>, and storeIfAbsent(...) returns CompletableFuture<Boolean>. Adapt callers and custom implementations, compose or await the futures when completion is required, and rebuild dependent libraries and applications.

    Java/Kotlin guides, agent documentation, migration guidance and Javadocs have been updated together.

  • delivery: apply command defaults and await batch writes (226acaa)

    Resolve delivery defaults across outgoing SDK operations with STORED as the 2.x fallback. Make key-value writes and scheduling non-blocking while retaining explicit durability for internal dependencies and preserving nested side effects during owned completion.

Bug Fixes

  • scheduling: preserve internal acknowledgement boundaries (e59395e)

    Keep periodic initialization, rescheduling and cancellation dependent on their historical acknowledgements while public scheduling stays asynchronous. Own transport attempts through logical completion so handled failures do not poison batch completion.

  • ci: activate lightweight documentation and patch policy [skip ci] (8a3d65c)

    Validate documentation without a full SDK release and keep public website refreshes active. Preserve full qualification for runtime and build inputs and queue pending releases.

Chores

  • delivery: integrate current main release baseline (d1423c8)