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).
- The ZIO and Kyo integrations now expose a precise exception type
SageExceptionrather thanThrowablesince 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
CommandTracerand 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