Fluxzero 1.189.0
1.189.0 (2026-06-02)
Features
feat(websocket): add binary transport with partial sends (
b1843e6)Negotiate CBOR websocket transport with JSON fallback and keep byte arrays binary on the wire. Add ZSTD compression support for negotiated websocket clients while preserving legacy LZ4 compatibility, including runtimes that still select compression only through the URL query parameter.
Move websocket batch sending to ordered async sends with bounded in-flight bytes, send timeouts, and native partial binary frames on the JDK client and Jetty test server. This avoids serial send bottlenecks and turns stuck/failed sends into session aborts instead of hung backlog workers.
Extend the tracker benchmark knobs and fix cached tracking reads so cache-backed consumers wait for cache updates instead of timing out or falling through incorrectly under benchmark load.
Tests: ./mvnw -pl common,sdk,test-server -am -Dtest=WebSocketCapabilitiesTest,WebSocketTransportCodecsTest,AbstractWebsocketClientTest,WebsocketDeploymentUtilsTest -Dsurefire.failIfNoSpecifiedTests=false test; ./mvnw -pl sdk -am -Dtest=AbstractWebsocketClientTest -Dsurefire.failIfNoSpecifiedTests=false test
Performance Improvements
perf(websocket): apply backpressure during client result decoding (
cc1322e)Handle incoming websocket messages within the JDK receive callback so the client only requests the next frame after decode/result dispatch has made progress. This prevents the receive side from acknowledging more websocket traffic while large result batches are still queued behind the client-side
executor.This keeps load-induced pressure at the transport boundary instead of letting callback queues grow independently from websocket flow control.
Code Refactoring
refactor(caching): move low-level cache types to common (
9cd8f57)Move the shared cache contract, eviction model, no-op implementation, and adaptive object cache into the common module so SDK-level cache wrappers can stay focused on SDK concerns. Update SDK configuration, repositories, Spring integration, tests, and generated FQN guidance to consume the common cache API.
Tests: ./mvnw -pl common test; ./mvnw -pl sdk -am test