✨ What's Changed
🚀 Features
- feat: expose
sendCommandonmultifor all clients by @nkaradzhov in #3181 - feat(sentinel): add
sSubscribe/sUnsubscribemethods to Sentinel client by @nkaradzhov in #3178
🐛 Fixes
- fix(search): correct
INDEXMISSINGplacement by @nkaradzhov in #3179 - Pool fixes by @nkaradzhov in #3182
- fix(search): use
@redis/clientdist imports inCREATEcommand by @PavelPashov in #3187 - fix(sentinel): preserve root seeds for outage recovery by @nkaradzhov in #3188
- fix: fallthrough bug in
transformDoubleReplyby @rhymincymon in #3213
🔭 Observability (OTEL + Diagnostics)
Node Redis now ships with first-class observability via OpenTelemetry metrics and Node.js diagnostics_channel. Initialize OpenTelemetry before creating clients (OpenTelemetry.init({ metrics: { enabled: true } })) and you can plug Redis client telemetry into your existing OTel SDK/exporter pipeline.
This enables visibility into command latency, connection lifecycle, resiliency/errors, Pub/Sub traffic, streaming behavior, and client-side caching activity. On top of metrics, diagnostics channels provide a more abstract, higher-level way to track runtime behavior through low-overhead event streams (commands, batches, connection events, maintenance notifications, pub/sub, cache, and pool wait timing), so APM tools or custom subscribers can observe the system without changing application code.
- add OpenTelemetry metrics instrumentation by @PavelPashov in #3110
- feat: implement diagnostic channels for observability by @logaretm in #3195
🧪 Tests & CI
- test(scho oss): add smigrating checks for new connections by @nkaradzhov in #3186
- Add self-report metrics step to CI workflow by @bobymicroby in #3199
- Add run tests action by @dariaguy in #3221
📚 Docs
- improve sentinel docs by @cutiepoka in #3189
- docs: clarify DUMP/RESTORE binary payload usage by @nkaradzhov in #3201
- fix(docs): configure typedoc entry points for monorepo by @nkaradzhov in #3220
🙌 New Contributors
- @cutiepoka made their first contribution in #3189
- @rhymincymon made their first contribution in #3213
- @logaretm made their first contribution in #3195
- @dariaguy made their first contribution in #3221
Full Changelog: https://github.com/redis/node-redis/compare/redis@5.11.0...redis@5.12.0