Skip to content

Fluxzero 2.0.0-RC7

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Sep 14:36
· 81 commits to main since this release

2.0.0-RC7 (2026-09-08)

Features

  • serialization: support untyped JSON sequences (18bc9da)

    Load root arrays and newline-delimited resources element by element so fixture setup can preserve order, per-record type resolution, revision metadata, and user context.

Bug Fixes

  • proxy: cancel late retries during forced stop (8594c23)

    A forced requeue can finish before an in-flight request exposes its retry delay. Remember the cancellation request across that handoff so the delayed operation cannot survive shutdown or start another attempt.

  • modeling: serialize overlapping accept commits (336f16f)

    Order process-local ACCEPT commits by their complete model scope so separately batched stale writes cannot overtake. Preserve batching progress, cache publication, retry, cancellation, and shutdown boundaries while keeping independent scopes parallel.

  • modeling: release required batch predecessors safely (0ec8ea2)

    Unblock synchronous and explicit Model commits whose producers still depend on the current message-batch boundary. Preserve durable completion and independent deferral while planning only the required dependency closure and completing releases outside batch bookkeeping locks.

  • concurrency: expose backlog consumer drain completion (60e6b61)

    Allow resource owners to defer teardown until all admitted batches have finished consuming. Preserve the bounded synchronous shutdown wait and keep producer continuations outside the drain boundary.

  • modeling: retain identities for ordinary commit responses (17f8d77)

    Keep request identities alongside compact runtime responses so negotiated JSON and CBOR transports can materialize complete results. The compact binary representation stays unchanged.

  • modeling: preserve cache values when tracking is unsupported (e144989)

    Retire tracking proofs and release pending readers without invalidating the ordinary cache. Older runtimes can still validate and reuse those values as reconstruction bases.

  • modeling: bind cached values to publication generations (c1be6f8)

    Fence foreground and background cache publication against concurrent writes, invalidation, and repository retirement. Keep configured cache values intact and release refresh readers when publication loses its generation.

  • modeling: fence refresh publication and preserve replay context (6671b39)

    Retire invalidated cache entries and release waiting readers before destructive invalidation. Stage refresh writes so delayed reads cannot publish a stale value or proof after deletion or a newer commit.

    Restore cache health after validated update pages and keep historical replay fallback sequential while preserving application context across parallel replay.

  • publishing: preserve context and isolate response recovery (635477b)

    Keep application context across parallel serialization and release independent responses even when caller callbacks or retry handlers block. Own recovery work and complete it when the gateway closes.

  • web: align OpenAPI object constraints (248d645)

    Expose closed unions and explicit unknown-property policies in generated schemas, while mapping size validation to the matching schema shape.

  • proxy: preserve scheduled request correlation (18f5f3c)

    Capture each forward request's correlation metadata while the tracker context is active. Reuse that snapshot for delayed execution and response publication so completion threads cannot drop or substitute tracker identity.

  • websocket: separate task and client identity (96782de)

    Treat platform task IDs as correlation context and only as a prefix for generated per-process client IDs. This prevents request-cache collisions after an in-pod process restart while preserving explicit client IDs and task-level observability.

Performance Improvements

  • persisting: preserve single-model cache reads (51f11b7)
  • persisting: batch cache read admission (9ac6afe)
  • publishing: map successful gateway responses directly (0dd8873)
  • publishing: reuse terminal response callbacks (15e2013)
  • context: reuse restored thread-local snapshots (0e9613b)
  • serialization: size scratch buffers for small documents (178bdf9)

    Avoid allocating a full string scratch buffer for each small decoded document. Preserve the existing decoder for larger inputs and retain the stored format, error handling, and per-call resource ownership.

Dependency updates

  • bump org.apache.maven.plugins:maven-surefire-plugin (d46697e)

    org.apache.maven.plugins:maven-surefire-plugin: 3.5.6 -> 3.6.0 changelog

  • bump io.fluxzero.tools:fluxzero-maven-plugin from 1.17.0 to 1.17.3 (cd72a44)

    io.fluxzero.tools:fluxzero-maven-plugin: 1.17.0 -> 1.17.3 changelog

  • bump org.apache.maven.plugins:maven-compiler-plugin (7026030)

    org.apache.maven.plugins:maven-compiler-plugin: 3.15.0 -> 3.16.0 changelog

Tests

  • modeling: isolate graph cache reuse from eviction timing (fb7ab8a)

    Use a deterministic model cache and establish tracker readiness before asserting pinned Graph reuse. Cover delayed invalidation fencing and recovery without relying on scheduling or garbage collection.

Chores

  • release: merge main into next/2.0 (5c6193b)

Changes

  • Merge pull request #330 from fluxzero-io/chore/merge-main-after-rc6 (1e92c13)

    chore(release): merge main into next/2.0