unstale

npm / redis

redis

What changed in redis 5 to 6, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

5 breaking67 new APIs and options15 behavior and defaults42 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

redis 684 changes

Breaking changes 5

  • Yields values instead of field names.

    6.2.0release notes

  • Table-recognized raw commands now follow their routing policy; target a specific node with cluster.nodeClient(node).sendCommand(...) for per-node operations.

    6.2.0release notes

  • Rejects instead of hanging when the resolved master is unreachable.

    6.2.0release notes

  • Node.js 20 is now the minimum supported runtime.

    6.0.0release notes

  • RESP3 is now the default protocol; opt into RESP2 explicitly if you need the old wire format.

    6.0.0release notes

New APIs and options 42

  • Adds MaxCommandRedirectionsError for cluster redirections.

    6.2.1release notes

  • Adds the BLMOVEM command.

    6.2.0release notes

  • Adds the COLLECT reducer to FT.AGGREGATE.

    6.2.0release notes

  • Adds support for the COMMAND DOCS command.

    6.2.0release notes

  • Adds an experimental FieldsetRegistry API for the HIMPORT managed fieldset lifecycle.

    6.2.0release notes

  • Adds support for FT.ALIASLIST.

    6.2.0release notes

  • Adds an experimental command family with managed fieldset lifecycle; its surface is unstable and should not be used in production.

    6.2.0release notes

  • Adds reviver support to ARRPOP.

    6.2.0release notes

  • Adds reviver support to GET.

    6.2.0release notes

  • Adds reviver support to MGET.

    6.2.0release notes

  • Adds the LMOVEM command.

    6.2.0release notes

  • Adds an experimental PreparedFieldsets API for the HIMPORT managed fieldset lifecycle.

    6.2.0release notes

  • Adds the missing RediSearch stemmer languages.

    6.2.0release notes

  • Adds the RERANK parameter for HNSW vector fields.

    6.2.0release notes

  • Adds the SDIFFCARD set-cardinality command.

    6.2.0release notes

  • Adds the SUNIONCARD set-cardinality command.

    6.2.0release notes

  • Adds EXCLUDEEMPTY support to TS.MRANGE.

    6.2.0release notes

  • Adds EXCLUDEEMPTY support to TS.MREVRANGE.

    6.2.0release notes

  • Adds the multi-key pivot command TS.NRANGE, including support for multiple aggregators per key.

    6.2.0release notes

  • Adds the multi-key pivot command TS.NREVRANGE, including support for multiple aggregators per key.

    6.2.0release notes

  • Adds TS.QUERYLABELS with LABELS and VALUES forms.

    6.2.0release notes

  • Adds the cursor-read command TS.READ.

    6.2.0release notes

  • XREAD gains the MAXCOUNT option.

    6.2.0release notes

  • XREAD gains the MAXSIZE option.

    6.2.0release notes

  • Adds zRevRankWithScore support for ZREVRANK WITHSCORE.

    6.2.0release notes

  • Adds a cluster method for getting the node client for a key, for use with WATCH/MULTI/EXEC.

    6.1.0release notes

  • Key prefixing is now available for Redis keys.

    6.1.0release notes

  • Adds a scan iterator for Sentinel.

    6.0.1release notes

  • Adds support for the CLIENT UNBLOCK command.

    6.0.0release notes

  • Adds a duplicate() method to RedisSentinel.

    6.0.0release notes

  • FT.AGGREGATE now allows LOAD *.

    6.0.0release notes

  • Adds support for the INCREX command.

    6.0.0release notes

  • Adds support for the INCREXBYFLOAT command.

    6.0.0release notes

  • Adds the FPHA option to JSON.SET.

    6.0.0release notes

  • Stack modules are now exposed on the pool type.

    6.0.0release notes

  • Adds support for Redis 8.8 array commands.

    6.0.0release notes

  • Adds multi-aggregation range APIs for time-series.

    6.0.0release notes

  • Adds the XNACK command and its options.

    6.0.0release notes

  • Adds the COUNT aggregator to ZINTER.

    6.0.0release notes

  • Adds the COUNT aggregator to ZINTERSTORE.

    6.0.0release notes

  • Adds the COUNT aggregator to ZUNION.

    6.0.0release notes

  • Adds the COUNT aggregator to ZUNIONSTORE.

    6.0.0release notes

Behavior and default changes 10

  • Cluster commands now use routing policies from server COMMAND metadata, including multi-key splitting, fan-out aggregation, and cluster-aware special routing.

    6.2.0release notes

  • Exposes timeout warnings on the FT.SEARCH command family.

    6.2.0release notes

  • Client connection errors are now recorded by OpenTelemetry.

    6.0.0release notes

  • The default value for commandTimeout is now 5 seconds.

    6.0.0release notes

  • The default value for keepAliveInitialDelay is now 30 seconds.

    6.0.0release notes

  • parseURL now parses unix:// URLs.

    6.0.0release notes

  • Pool classes are now publicly re-exported.

    6.0.0release notes

  • RedisClient is now publicly re-exported.

    6.0.0release notes

  • RedisCluster is now publicly re-exported.

    6.0.0release notes

  • RedisSentinel is now publicly re-exported.

    6.0.0release notes

Fixes and other changes 27

  • Handles MOVED and ASK redirects for atomic MULTI commands in clusters.

    6.2.1release notes

  • Keeps batch commands routed by slot while a cluster migration is in progress.

    6.2.1release notes

  • Caps Sentinel rediscovery retries after connecting, limiting repeated retries.

    6.2.1release notes

  • Decodes RESP3 doubles to the value sent by the server.

    6.2.1release notes

  • Abort and timeout listeners are rebound when a command moves to another queue.

    6.2.0release notes

  • Commands are rejected before cluster topology is ready.

    6.2.0release notes

  • The in-flight connect attempt is rejected if the socket dies during the initiator.

    6.2.0release notes

  • Emits the DB argument when its value is 0.

    6.2.0release notes

  • Drains the write queue when extracting all commands.

    6.2.0release notes

  • Preserves zero scores.

    6.2.0release notes

  • Encodes Date values for PXAT in milliseconds.

    6.2.0release notes

  • Emits SAMPLES when its value is 0.

    6.2.0release notes

  • The pool timeout error message now includes the acquire-timeout duration.

    6.2.0release notes

  • Emits FREQ when its value is 0.

    6.2.0release notes

  • Emits IDLETIME when its value is 0.

    6.2.0release notes

  • Emits LIMIT when its value is 0.

    6.2.0release notes

  • Emits ENTRIESREAD when its value is 0.

    6.2.0release notes

  • Emits ENTRIESREAD when its value is 0.

    6.2.0release notes

  • Emits ENTRIESADDED when its value is 0.

    6.2.0release notes

  • Emits LIMIT when its value is 0.

    6.2.0release notes

  • Aligns the RESP default in RedisClientOptions with RedisClientType.

    6.0.1release notes

  • Preserves seed nodes in sentinelRootNodes after a topology update.

    6.0.1release notes

  • The entraid package upgrades @azure/msal-node to 5.x to drop a vulnerable transitive uuid dependency.

    6.0.0release notes

  • Sharded pubsub topology is recovered after a cluster node reconnects.

    6.0.0release notes

  • Sentinel pubsub connections use the mapped address when failover moves them.

    6.0.0release notes

  • Fixes handling of wrapper command options.

    6.0.0release notes

  • The client now swallows synchronous EPIPE errors from writeAfterFIN.

    6.0.0release notes

redis 545 changes

New APIs and options 25

  • Adds low-overhead event streams for tracking runtime behavior, including commands, batches, connections, Pub/Sub, cache, and pool wait timing.

    5.12.0release notes

  • Adds OpenTelemetry metrics instrumentation; initialize OpenTelemetry before creating clients to connect telemetry to an existing OTel SDK/exporter pipeline.

    5.12.0release notes

  • Exposes sendCommand on multi for all clients.

    5.12.0release notes

  • Adds sSubscribe and sUnsubscribe methods to the Sentinel client.

    5.12.0release notes

  • Adds a local digest helper for CAS/CAD operations.

    5.11.0release notes

  • Adds the HOTKEYS command family to track and identify hot keys by CPU time and network bytes.

    5.11.0release notes

  • Adds NaN support to the time-series client.

    5.11.0release notes

  • Adds nodeAddressMap support for Sentinel.

    5.11.0release notes

  • Adds the socket.servname property to createClient configuration.

    5.11.0release notes

  • Adds new time-series aggregation types.

    5.11.0release notes

  • Adds client support for the VRANGE command for vector sets.

    5.11.0release notes

  • Adds idempotency options to prevent duplicate entries by tracking producer and message IDs.

    5.11.0release notes

  • Adds a command to configure per-stream idempotency parameters.

    5.11.0release notes

  • Adds idempotency tracking fields to the stream information response.

    5.11.0release notes

  • Adds experimental support for the CAD command.

    5.10.0release notes

  • Adds experimental support for the CAS command.

    5.10.0release notes

  • Adds experimental support for the DELEX command.

    5.10.0release notes

  • Adds experimental support for the DIGEST command.

    5.10.0release notes

  • Adds experimental support for HYBRID search.

    5.10.0release notes

  • Adds an experimental latency histogram.

    5.10.0release notes

  • Adds support for the MSETEX command.

    5.10.0release notes

  • Adds support for the CLAIM attribute on XREADGROUP.

    5.10.0release notes

  • Adds cluster and node events.

    5.9.0release notes

  • Adds support for hitless upgrades.

    5.9.0release notes

  • Multi-commands support typed and untyped modes.

    5.9.0release notes

Behavior and default changes 5

  • The client handles SMIGRATING and SMIGRATED push notifications by relaxing timeouts during migration and handing off slots when migration completes.

    5.11.0release notes

  • Allows indexing the same field multiple times with different configurations.

    5.11.0release notes

  • Adds default modules to client pools.

    5.9.0release notes

  • The client emits invalidate events.

    5.9.0release notes

  • Extends proxy behavior.

    5.9.0release notes

Fixes and other changes 15

  • Corrects the placement of INDEXMISSING.

    5.12.0release notes

  • Preserves root seeds for outage recovery in Sentinel.

    5.12.0release notes

  • Cluster functions now return Promise consistently.

    5.11.0release notes

  • Improves the FT.HYBRID command implementation.

    5.11.0release notes

  • Constructors are unwrapped to primitives in type mapping.

    5.11.0release notes

  • Supports IPv6 literals in URLs.

    5.11.0release notes

  • Prevents a false-ready state when socket errors occur during the handshake.

    5.10.0release notes

  • Stops parsing number properties in XREADGROUP.

    5.10.0release notes

  • Fixes corruption of multi-byte characters when converting Buffers to strings.

    5.9.0release notes

  • Fixes the client kill enums.

    5.9.0release notes

  • Prevents an infinite loop in cluster behavior.

    5.9.0release notes

  • The cluster type now uses all commands.

    5.9.0release notes

  • The pool now uses the options provided when it is created.

    5.9.0release notes

  • The command now returns its count as a number.

    5.9.0release notes

  • Shard subscriptions now properly resubscribe after failover.

    5.9.0release notes