Skip to content

StreamFence v1.0.7

Latest

Choose a tag to compare

@MoshPe MoshPe released this 18 Apr 21:26
· 6 commits to main since this release
Immutable release. Only release title and notes can be modified.
d6b506c

What's new

SPILL_TO_DISK overflow action

Messages that overflow the in-memory queue are written to a per-lane file-backed FIFO queue on disk and drained back into memory once the queue clears — zero message loss under back-pressure. Configure with overflowAction: SPILL_TO_DISK and optionally spillRootPath: /your/path (default: .streamfence-spill).

New metric

streamfence_messages_spilled_total — Prometheus counter tracking spill events per namespace/topic.

Runnable examples (streamfence-demo)

Three ready-to-run examples covering every overflow policy:

  • SingleServerExample — BEST_EFFORT single namespace
  • MultiNamespaceExample — DROP_OLDEST, SNAPSHOT_ONLY, AT_LEAST_ONCE in parallel
  • MixedWorkloadExample — two servers loaded from YAML config

Coverage & quality

  • JaCoCo 60 % instruction coverage gate enforced in CI
  • 114 unit + integration + smoke tests (up from 66)
  • Codecov branch coverage gaps closed for SpillFileStore, ClientLane, ClientSessionState, and SocketIoServerSpec

Security

  • BouncyCastle bcprov-jdk18on and bcpkix-jdk18on bumped from 1.79 → 1.84

Documentation

Full README rewrite aligned with the JS reference implementation: delivery modes table, overflow policies table, all 14 event listener callbacks, server/namespace builder reference, API type index, and example links.

Upgrade notes

No breaking API changes. The spillRootPath builder method is new and purely additive.

What's Changed

  • chore(deps): Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #16
  • [Snyk] Fix for 3 vulnerabilities by @MoshPe in #18
  • [Snyk] Fix for 1 vulnerabilities by @MoshPe in #19
  • feat: harden Java parity with the JS repo by @MoshPe in #20
  • chore(deps): Bump org.bouncycastle:bcpkix-jdk18on from 1.79 to 1.84 by @dependabot[bot] in #21
  • chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.79 to 1.84 by @dependabot[bot] in #22

New Contributors

Full Changelog: https://github.com/MoshPe/StreamFence/commits/v1.0.7