Skip to content

2.1.0

Latest

Choose a tag to compare

@gradyzhuo gradyzhuo released this 25 Jul 05:00

✨ New features

  • AppendRecords (Dynamic Consistency Boundary) — atomically append across multiple streams with cross-stream consistency checks (v2 StreamsService). Requires server support (KurrentDB 25.1+).
  • BatchAppend — high-throughput pipelined multi-stream append over v1 BatchAppend; non-atomic with per-item results, for bulk writes.
  • Server-side $all filtering — filter $all reads on the server by stream name or event type, with prefix or regex matching.
  • Per-call credentials & Bearer auth — override authentication per operation via .authenticated(_:), and authenticate with Bearer tokens for multi-tenant / per-request authorization.
  • StreamFilterSubscriptionFilter is renamed to StreamFilter (the old name is deprecated) and shared across subscriptions and filtered reads.

🔧 Fixes

  • Persistent subscription connection lifecycle — connection tasks are now owned and torn down deterministically; connection failures are observable instead of silently swallowed; node-level drops surface as KurrentError.subscriptionDropped with the resume position; $all subscription read errors are wrapped consistently as KurrentError.
  • Fixed an intermittent CI hang in testReplayParked caused by a park/replay race.

Full Changelog: 2.0.3...2.1.0