Skip to content

pulse v1.6.3

Latest

Choose a tag to compare

@raphael raphael released this 23 Mar 20:14
90ef382

Overview

Pulse v1.6.3 hardens two core runtime guarantees: replicated maps now track committed revisions all the way through reconnect and waiter wake-up paths, and distributed pool tickers now recover cleanly from transient Redis write failures instead of stalling until unrelated map traffic happens to arrive.

Highlights

  • Revision-ordered replicated map recovery
    • SetAndWait now waits on the committed Redis revision rather than matching a best-effort key/value echo.
    • reconnect and destroy/reset flows now preserve monotonic ordering under concurrent updates, so replicas ignore stale pubsub frames instead of replaying old state.
  • Consistent destroy semantics for stream consumer maps
    • stream sink membership cleanup now goes through rmap.Destroy() instead of ad hoc hash deletion.
    • test cleanup treats destroy tombstones as intentional protocol state, which keeps reconnect ordering correct without flagging false leaks.
  • Self-healing distributed ticker retries
    • transient failures when advancing the shared tick now rearm the local timer and retry promptly.
    • pool regression coverage verifies the retry path does not emit a false tick while Redis advancement is failing.
  • In-repo contributor guidance
    • added AGENTS.md so future Pulse changes have the project’s architecture and coding expectations available in-tree.

Validation

GitHub checks passed on PR #69:

  • ci (1.24, ubuntu-latest)
  • CodeQL
  • dependency-review

Included Changes

  • 90ef382 Harden rmap ordering and retry ticker advances
  • Changes merged from PR #69

Full Changelog: v1.6.2...v1.6.3