Redis Open Source 8.6 release notes
Redis Open Source 8.6 release notes.
Redis Open Source 8.6-RC1 (January 2026)
This is the first Release Candidate of Redis 8.6 in Redis Open Source.
Release Candidates are feature-complete pre-releases. Pre-releases are not suitable for production use.
Binary distributions
- Alpine and Debian Docker images - https://hub.docker.com/_/redis
- Install using snap - see https://github.com/redis/redis-snap
- Install using brew - see https://github.com/redis/homebrew-redis
- Install using RPM - see https://github.com/redis/redis-rpm
- Install using Debian APT - see https://github.com/redis/redis-debian
Operating systems we test Redis 8.6 on
- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat)
- Rocky Linux 8.10, 9.5, 10.1
- AlmaLinux 8.10, 9.5, 10.1
- Debian 12 (Bookworm), Debian 13 (Trixie)
- 14 (Sonoma), 15 (Sequoia)
New Features (compared to 8.4.0)
- #14615 Streams:
XADDidempotency (at-most-once guarantee) with newIDMPAUTOandIDMParguments. - #14624 New eviction policies - least recently modified:
volatile-lrmandallkeys-lrm. - #14680 Hot keys detection and reporting; new command:
HOTKEYS. - #14610 TLS certificate-based automatic client authentication.
- RedisTimeSeries/RedisTimeSeries#1853 Time series: support NaN values; new aggregators:
COUNTNANandCOUNTALL.
Security and privacy fixes
- #14645 Hide personally identifiable information from ACL log.
- #14659 ACL: Key-pattern bypass in
MSETEX. - RedisTimeSeries/RedisTimeSeries#1837, RedisJSON/RedisJSON#1474 Hide personally identifiable information from server log.
- RedisBloom/RedisBloom#950 Out-of-bounds read when loading an invalid RDB file (MOD-12802).
Bug fixes (compared to 8.4.0)
- #14545 ACL: AOF loading fails if ACL rules are changed and don't allow some commands in
MULTI-EXEC. - #14637 Atomic slot migration: wrong adjacent slot range behavior.
- #14567 Atomic slot migration: support delay trimming slots after finishing migrating slots.
- #14623 Streams:
XTRIM/XADDwith approx mode (~) don’t delete entries forDELREF/ACKEDstrategies. - #14552 Streams: Incorrect behavior when using
XDELEX...ACKEDafterXGROUP DESTROY. - #14537
SCAN: restore original filter order (revert change introduced in 8.2). - #14581 Rare server hang at shutdown.
- #14597 Panic when cluster node is uninitialized.
- #14583
FLUSHALL ASYNCon a writable replica may block the main thread for an extended period. - #14504 Cluster: fix race condition in broadcast configuration.
- #14416 Fixed argument position handling in Redis APIs.
- RedisTimeSeries/RedisTimeSeries#1784, RedisTimeSeries/RedisTimeSeries#1839, RedisBloom/RedisBloom#952, RedisJSON/RedisJSON#1477 Atomic slot migration support.
- RedisBloom/RedisBloom#946
MEMORY USAGE: fix reported value (MOD-12799). - RedisJSON/RedisJSON#1473 Adding escapes to already-escaped characters (MOD-8137).
- RedisJSON/RedisJSON#1475
JSON.CLEARdoes not error if more than one path is specified (MOD-13109).
Performance and resource utilization improvements (compared to 8.4.0)
- #14608 Reply copy-avoidance path to reduce memory copies for bulk string replies.
- #14595 Hash: unify field name and value into a single struct.
- #14701 Sorted set: unify score and value into a single struct.
- #14662 Optimize listpack iterator on hash fields.
- #14699 Optimize set commands with expiration.
- #14700 Optimize prefetching.
- #14715 Optimize prefetch sizing logic.
- #14636 Optimize
ZRANK. - #14676 Utilize hardware clock by default on ARM AArch64.
- #14575 Disable RDB compression when diskless replication is used.
Modules API
- #14445
RM_CreateKeyMetaClass- define a new key-metadata class.RM_ReleaseKeyMetaClass- release a key-metadata class.RM_SetKeyMeta- attach or update a metadata value for a key under a specific metadata-key class.RM_GetKeyMeta- get a metadata value for a key under a specific metadata-key class.
Configuration parameters
- #14624
maxmemory-policy: new eviction policies:volatile-lrm,allkeys-lrm. - #14615
stream-idmp-duration,stream-idmp-maxsize- defaults for streams idempotent production. - #14610
tls-auth-clients-userTLS certificate-based automatic client authentication. - #14596
flushdboption forrepl-diskless-load: always flush the entire dataset before diskless load.
Metrics
- #14610
acl_access_denied_tls_cert- failed TLS certificate–based authentication attempts.
Known bugs and limitations
- Redis Query Engine: In case of load rebalancing operations (such as Atomic Slot Migration) taking place during the lifetime of a cursor, there is a chance that some results may be missing.