Back to Redis

Redisos 8.6 Release Notes

content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisos-8.6-release-notes.md

latest9.7 KB
Original Source

Redis Open Source 8.6.0 (February 2026)

This is the General Availability release of Redis 8.6 in Redis Open Source.

Major changes compared to 8.4

  • Substantial performance improvements.
  • Substantial memory reduction for hashes (hashtable-encoded) and sorted sets (skiplist-encoded).
  • Streams: XADD idempotency (at-most-once guarantee) with new IDMPAUTO and IDMP arguments.
  • New eviction policies - least recently modified: volatile-lrm and allkeys-lrm.
  • Hot keys detection and reporting; new command: HOTKEYS.
  • TLS certificate-based automatic client authentication.
  • Time series: support NaN values; new aggregators: COUNTNAN and COUNTALL.

Binary distributions

Operating systems we test Redis 8.6 on

  • Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat)
  • Rocky Linux 8.10, 9.5
  • AlmaLinux 8.10, 9.5, 10.1
  • Debian 12 (Bookworm), Debian 13 (Trixie)
  • macOS 14 (Sonoma), 15 (Sequoia)

New Features (compared to 8.6-RC1)

  • #14695 Keys memory size histograms.

Performance and resource utilization improvements (compared to 8.6-RC1)

  • #14714 Optimize user ACL permission verification.
  • #14692 Optimize peak memory metric collection.
  • #14739 Avoid allocating and releasing list node in reply copy avoidance.
  • #14713 Reduce per command syscalls by reusing cached time when hardware monotonic clock is available.
  • #14726 Optimize XREADGROUP CLAIM.
  • #13962 Vector set: replace manual popcount with __builtin_popcountll for binary vector distance (Intel, AMD, ARM).
  • #14474 Vector set: vectorized the quantized 8-bit vector distance calculation (Intel, AMD).
  • #14492 Vector set: vectorize binary quantization path for vectorsets distance calculation (Intel, AMD).

Configuration parameters

  • #14719 cluster-slot-stats-enabled - per-slot resource consumptions statistics to collect.
  • #14695 key-memory-histograms collect memory consumption histograms per data type.

Metrics

  • #14695 db0_distrib_lists_sizes, db0_distrib_sets_sizes, db0_distrib_hashes_sizes, db0_distrib_zsets_sizes.

Known bugs and limitations

  • Streams: avoid using XADD with the new IDMP or IDMPAUTO options when using appendonly yes with aof-use-rdb-preamble no (non default). This limitation will be removed in the next patch.

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

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: XADD idempotency (at-most-once guarantee) with new IDMPAUTO and IDMP arguments.
  • #14624 New eviction policies - least recently modified: volatile-lrm and allkeys-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: COUNTNAN and COUNTALL.

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/XADD with approx mode (~) don’t delete entries for DELREF/ACKED strategies.
  • #14552 Streams: Incorrect behavior when using XDELEX...ACKED after XGROUP 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 ASYNC on 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.CLEAR does 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-user TLS certificate-based automatic client authentication.
  • #14596 flushdb option for repl-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 Search: 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.