Skip to content

Releases: redis/node-redis

redis@6.1.0

Choose a tag to compare

@nkaradzhov nkaradzhov released this 01 Jul 09:54

What's Changed

New Contributors

Full Changelog: https://github.com/redis/node-redis/compare/redis@6.0.1...redis@6.1.0

redis@6.0.1

Choose a tag to compare

@nkaradzhov nkaradzhov released this 25 Jun 09:28

What's Changed

New Contributors

Full Changelog: https://github.com/redis/node-redis/compare/redis@6.0.0...redis@6.0.1

redis@6.0.0

Choose a tag to compare

@nkaradzhov nkaradzhov released this 28 May 16:30

Changes

This is the first major release of node-redis since 5.x. The headline change is RESP3 by default, alongside broader Redis 8.8 command coverage, pubsub/cluster reliability fixes, and a bumped minimum Node.js version.

Key changes

  • RESP3 is the default protocol β€” opt back into RESP2 explicitly if you need the old wire format
  • Node.js 20 is the new minimum supported runtime
  • Redis 8.8 coverage β€” new array commands, INCREX / INCREXBYFLOAT, ZINTER/ZUNION COUNT aggregator, XNACK, CLIENT UNBLOCK
  • Sentinel & cluster pubsub fixes for failover-moved connections and sharded topology recovery
  • Stack modules exposed on pool type and the core client classes are now publicly re-exported

πŸ”₯ Breaking Changes

See the v5 β†’ v6 migration guide for migration steps.

  • RESP3 is now the default protocol (#3215)
  • Node.js 20 is now the minimum supported version (#3293)
  • New default values for keepAliveInitialDelay (30s) and commandTimeout (5s) (#3292)

πŸ”’ Security

  • entraid: bump @azure/msal-node to 5.x to drop vulnerable transitive uuid (CVE-2026-41907) (#3269)

πŸš€ New Features

  • Add CLIENT UNBLOCK command (#3266)
  • Add XNACK command with options (#3238)
  • Add Redis 8.8 array commands (#3285)
  • Add INCREX and INCREXBYFLOAT commands (#3288)
  • Add COUNT aggregator to ZINTER / ZINTERSTORE / ZUNION / ZUNIONSTORE (#3243)
  • Add FPHA option to JSON.SET (#3235)
  • time-series: add multi-aggregation range APIs (#3249)
  • Add duplicate() method to RedisSentinel (#3212)
  • Parse unix:// URLs in parseURL (#3271)
  • Expose RedisClient, RedisCluster, RedisSentinel and pool classes (#3251)
  • Expose stack modules on the pool type (#3267)

πŸ› Bug Fixes

  • sentinel: use mapped address when failover moves pubsub connections (#3190)
  • cluster: recover sharded pubsub topology after node reconnects (#3223)
  • client: swallow synchronous EPIPE from writeAfterFIN (#3283)
  • search: allow LOAD * in FT.AGGREGATE (#3241)
  • otel: record client connection errors (#3259)
  • entraid: bump @azure/msal-node to 5.x to drop vulnerable uuid transitive (#3269)
  • Fix wrapper command options handling (#3295)
  • Non-functional typo fixes (#3244)

πŸ“š Documentation

🧰 Maintenance

  • Add changed-file lint gate (#3257)
  • CI: lint changed files against PR merge base (#3265)
  • CI: build monorepo before documentation generation (#3233)
  • Add min-release-age cooldown to .npmrc (#3286)
  • Allow empty object types in lint config (#3263)
  • Add hash field subkey notifications test (#3264)
  • Restore generic-transformers spec on current APIs (#3214)
  • Bump default docker test image through 8.8 milestones to 8.8-rc1 (#3234, #3236, #3260, #3284)
  • chore(deps): bump basic-ftp (#3225), tmp and @inquirer/editor (#3294)

πŸ‘₯ New Contributors

We'd like to thank all the contributors who worked on this release!
@Rohan5commit, @opensourcezeal, @aarond-sp, @claygeo, @raashish1601, @watersRand, @PavelPashov, @elimelt, @nkaradzhov

Full Changelog: https://github.com/redis/node-redis/compare/redis@5.12.1...redis@6.0.0

redis@5.12.0

Choose a tag to compare

@nkaradzhov nkaradzhov released this 14 Apr 10:47

✨ What's Changed

πŸš€ Features

  • feat: expose sendCommand on multi for all clients by @nkaradzhov in #3181
  • feat(sentinel): add sSubscribe/sUnsubscribe methods to Sentinel client by @nkaradzhov in #3178

πŸ› Fixes

πŸ”­ 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.

πŸ§ͺ Tests & CI

πŸ“š Docs

πŸ™Œ New Contributors

Full Changelog: https://github.com/redis/node-redis/compare/redis@5.11.0...redis@5.12.0

redis@5.11.0

Choose a tag to compare

@nkaradzhov nkaradzhov released this 16 Feb 14:57

5.11.0 Release Changelog

🌟 Highlights

Smart Client Handoffs for Enterprise OSS API (Pending a Redis Enterprise version release)

This release introduces support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:

  • Relaxing timeouts during migration (SMIGRATING) to prevent false failures
  • Automatic slot handoff when completed (SMIGRATED)
  • Enabling seamless operations during Redis Enterprise maintenance windows

Redis 8.6 Support

This release adds support for Redis 8.6 features:

  • XADD idempotency options (IDMPAUTO, IDMP, and policy) - Prevent duplicate entries by tracking producer and message IDs
  • XCFGSET command - Configure per-stream idempotency parameters (IDMP_DURATION, IDMP_MAXSIZE)
  • XINFO STREAM enhancements - New idempotency tracking fields (idmp-duration, idmp-maxsize, pids-tracked, iids-tracked, iids-added, iids-duplicates)
  • HOTKEYS command family (START, STOP, GET, RESET) - Track and identify hot keys by CPU time and network bytes

πŸš€ New Features

  • feat(cluster): smart client handoffs OSS (hitless upgrades) by @nkaradzhov in #3142
  • feat(client): add VRANGE command for vector sets by @nkaradzhov in #3158
  • feat(client): add HOTKEYS command for hotkey tracking by @nkaradzhov in #3164
  • feat(client): add XCFGSET command for stream idempotency configuration by @nkaradzhov in #3163
  • feat(client): add XADD idempotency options (IDMPAUTO, IDMP) and policy by @nkaradzhov in #3161
  • feat(client): add idempotency fields to XINFO STREAM response by @nkaradzhov in #3162
  • feat(time-series): add NaN support and new aggregation types by @PavelPashov in #3167
  • feat(client): add local digest helper for CAS/CAD operations by @PavelPashov in #3154
  • feat(search): support indexing same field multiple times with different configurations by @nkaradzhov in #3157
  • feat(sentinel): implement nodeAddressMap for sentinel by @elimelt in #3145
  • feat(test-utils): add testAllAuto method for automatic cluster test generation by @bobymicroby in #3148
  • Add socket.servname property to createClient configuration by @itrich in #3165

πŸ› Bug Fixes

  • fix(client): Support IPv6 literals in URL by @TimWolla in #3176
  • fix(client): return Promise consistently in cluster functions by @orgads in #3159
  • fix(search): improve FT.HYBRID command implementation by @PavelPashov in #3171
  • fix(pool): cannot read private member by @Eomm in #3151
  • fix: unwrap constructors to primitives in type mapping by @watersRand in #3174

πŸ“š Documentation & Testing

New Contributors

Full Changelog: https://github.com/redis/node-redis/compare/redis@5.10.0...redis@5.11.0

redis@5.10.0

Choose a tag to compare

@nkaradzhov nkaradzhov released this 19 Nov 16:46

Changes

πŸš€ New Features

  • Add MSETEX command support (#3116)
  • Add CLAIM attribute to XREADGROUP command (#3122)
  • Add index/query doc page examples (#3109)

πŸ§ͺ Experimental Features

  • Add support for CAS/CAD, DELEX, DIGEST commands (#3123)
  • Add support for HYBRID search (#3119 #3132)
  • Add latency histogram (#3099)

πŸ› Bug Fixes

  • Fix dist/package.json version bumping in release process (#3125)
  • Prevent false-ready state when socket errors during handshake (#3128)
  • Don't parse number properties in XREADGROUP (#3133)

🧰 Maintenance

  • Apply proxy improvements (#3121)
  • Mark 8.4 features as experimental (#3134)
  • Extract supported Redis versions into SUPPORTED_REDIS_VERSIONS.md (#3131)
  • Bump test container image to 8.4.0 (#3139)

Contributors

We'd like to thank all the contributors who worked on this release!

Full Changelog: https://github.com/redis/node-redis/compare/redis@5.9.0...redis@5.10.0

redis@5.9.0

Choose a tag to compare

@nkaradzhov nkaradzhov released this 23 Oct 15:09

What's Changed

New Contributors

Full Changelog: https://github.com/redis/node-redis/compare/redis@5.8.3...redis@5.9.0

redis@5.9.0-beta.3

redis@5.9.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@nkaradzhov nkaradzhov released this 22 Oct 08:13

What's Changed

New Contributors

Full Changelog: https://github.com/redis/node-redis/compare/redis@5.9.0-beta.2...redis@5.9.0-beta.3

redis@5.8.3

Choose a tag to compare

@nkaradzhov nkaradzhov released this 02 Oct 12:25

What's Changed

Full Changelog: https://github.com/redis/node-redis/compare/redis@5.8.2...redis@5.8.3

redis@5.9.0-beta.2

redis@5.9.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@nkaradzhov nkaradzhov released this 01 Oct 13:49

What's Changed

New Contributors

Full Changelog: https://github.com/redis/node-redis/compare/redis@5.9.0-beta.1...redis@5.9.0-beta.2