Skip to content

v0.2.0

Latest

Choose a tag to compare

@ghostdogpr ghostdogpr released this 30 Jun 02:52
5f346c1

Release Notes

This release brings two nice improvements:

  • Added an OpenTelemetry integration module to get traces for each command automatically (tested with the Datadog agent on a real project, see below).
Screenshot 2026-06-29 at 17 53 04

  • The ZIO and Kyo integrations now expose a precise exception type SageException rather than Throwable since they have a specific channel for typed errors.
// ZIO
val res = client.set("greeting", "hello") // ZIO[Any, SageException, Boolean]
// Kyo
val res = client.set("greeting", "hello") // Boolean < (Abort[SageException] & Async)

What's Changed

  • Add CommandTracer and OpenTelemetry tracing module by @ghostdogpr in #138
  • Expose typed errors (SageException) on the ZIO and Kyo backends by @ghostdogpr in #136
  • Parse bracketed IPv6 hosts in fromUri and reject ambiguous authorities by @ghostdogpr in #141
  • Mark a dedicated connection dead when its queued work is dropped by @ghostdogpr in #142
  • Back off increasingly when a connection flaps by @ghostdogpr in #140
  • Reject sub-millisecond config durations instead of truncating to 0ms by @ghostdogpr in #143
  • Reject out-of-range ROLE replica ports instead of wrapping by @ghostdogpr in #144
  • Reduce allocations in decoding by @ghostdogpr in #145
  • Avoid per-command Set and repeated cache-key hashing on routing/cache paths by @ghostdogpr in #146