⚠️ MAJOR: Update redis Docker tag to v8 #25

Closed
renovate-bot wants to merge 1 commit from renovate/infra-redis-8.x into trunk
Collaborator

This PR contains the following updates:

Package Update Change
redis (source) major 7.4.10-alpine8.10.0-alpine

Release Notes

redis/redis (redis)

v8.10.0

Compare Source

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

Major changes compared to 8.8
  • Compact hashes - a new hash encoding that reduces memory usage by storing hash field names just once for keys that share a schema
  • New command: HIMPORT - high-throughput compact hash bulk insertion
  • TLS peer certificate-based server-to-server authentication
  • New commands: LMOVEM, BLMOVEM - move multiple elements between lists
  • New command: SUNIONCARD - get the cardinality of the union of multiple sets
  • New command: SDIFFCARD - get the cardinality of the difference between sets
  • New command: BACKUP - node-side implementation for backup and restore based on multi-part AOF (MP-AOF)
  • XREAD, XREADGROUP - new MAXCOUNT and MAXSIZE arguments to cap the cumulative reply entries and size
  • New command: FT.ALIASLIST - get all aliases for the index
  • Stemmer support for Malay and Tagalog languages
  • JSONPath extensions
  • New commands: TS.NRANGE, TS.NREVRANGE - Query a range across multiple time series; group results by timestamp
  • New command: TS.READ - optionally blocking read
  • New command: TS.QUERYLABELS - Get a list of labels and label-values
  • New command: TS.MRANGE, TS.MREVRANGE - new EXCLUDEEMPTY argument to exclude series with no reported samples
  • Performance improvements
Binary distributions
Operating systems we test Redis 8.10 on
  • Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat), 26.04 (Resolute Raccoon)
  • Rocky Linux 8.10, 9.7, 10.1
  • AlmaLinux 8.10, 9.7, 10.1
  • Debian 12.13 (Bookworm), Debian 13.4 (Trixie)
  • Alpine 3.23
  • macOS 14.8.4 (Sonoma), 15.7.4 (Sequoia), 26.3 (Tahoe) - for both Intel and ARM
Bug fixes (compared to 8.10-RC2)
  • #​15513 Prevented a division-by-zero error when active defragmentation thresholds are configured with equal or reversed value
  • #​15453 Clients blocked on BLPOP, BLMOVE, or BLMOVEM could remain blocked after SORT with STORE replaced the target key with a list
  • #​15499 Memory usage reported for compressed replication clients could be lower than the actual memory consumed
  • #​15518 notify modules when node's own ip/port changes
  • #​15539 Loading an AOF file with an RDB preamble could fail when active defragmentation was enabled
  • RediSearch/RediSearch#10528 Crash in the numeric range tree when background garbage collection encounters an empty leaf during active indexing on a numeric field. (MOD-16877)
  • RediSearch/RediSearch#10605 FT.CREATE and FT.ALTER now reject an empty string as a field name, preventing a crash loop in the fork-GC on indexes with an empty TAG field. (MOD-17034)
  • RediSearch/RediSearch#10488 FT.INFO reports a negative num_records after garbage collection on indexes that include an INDEXMISSING field. (MOD-16940)
  • RediSearch/RediSearch#10568 Cluster FT.AGGREGATE fails with SEARCH_FIELD_DUP when a GROUPBY contains multiple REDUCE COLLECT calls over the same field differing only in option-keyword casing. (MOD-16365)
  • RediSearch/RediSearch#10605 FT.CREATE and FT.ALTER now return an error when a field name is an empty string; previously such schemas were accepted silently. (MOD-17034)
  • RediSearch/RediSearch#10522 coord_total_query_warnings_timeout double-counts timeout warnings for FT.SEARCH queries that use a hybrid (vector + filter) execution path. (MOD-15973)

v8.8.1

Compare Source

SECURITY: There is a security fix in the release.

Security fixes
  • RedisBloom/RedisBloom#1044 Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution

v8.8.0

Compare Source

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

Major changes compared to 8.6
  • New data structure: Array (@​antirez)
  • Subkey notification for hash fields - field-level notifications
  • INCREX: a window counter rate limiter combining INCR, INCRBY, INCRBYFLOAT, bounds, and expiration (@​raffertyyu + Redis team)
  • XNACK: a new streams command - allow consumers to explicitly release pending messages
  • ZUNION, ZINTER, ZUNIONSTORE, ZINTERSTORE: new COUNT aggregator
  • JSON.SET: new FPHA argument to specify the FP type for homogeneous FP arrays
  • TS.RANGE, TS.REVRANGE, TS.MRANGE, TS.MREVRANGE: multiple aggregators in a single command
  • FT.HYBRID KNN clause: new argument to request fewer candidates per shard
  • FT.PROFILE HYBRID: profiling support for FT.HYBRID
  • Performance improvements

For more details, see the 8.8 release blog post.

Binary distributions
Operating systems we test Redis 8.8 on
  • Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat), 26.04 (Resolute Raccoon)
  • Rocky Linux 8.10, 9.7, 10.1
  • AlmaLinux 8.10, 9.7, 10.1
  • Debian 12.13 (Bookworm), Debian 13.4 (Trixie)
  • Alpine 3.23
  • macOS 14.8.4 (Sonoma), 15.7.4 (Sequoia), 26.3 (Tahoe) - for both Intel and ARM
Bug fixes (compared to 8.8-RC1)

v8.6.5

Compare Source

SECURITY: There are security fixes in the release.

Security fixes
  • A crafted stream RESTORE payload can make two consumers share the same NACK, leading to a use-after-free that may result in Remote Code Execution
  • RedisBloom/RedisBloom#1046 Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution
Bug fixes

v8.6.4

Compare Source

Update urgency: HIGH: There are critical bugs that may affect a subset of users.

Bug fixes
  • #​15175, RediSearch/RediSearch#9262 Redis fails to start on AArch64
  • #​15163 MULTI queue memory incorrect memory accounting
  • #​15115 Under-copy in the Lua debugger
  • #​15094 Cluster crash when CLIENT KILL unsubscribes SSUBSCRIBE client inside EXEC
  • #​14963 XREADGROUP: consumer replication inconsistency
  • #​14934 Client output buffer memory tracking not accounting for copy-avoided bulk string references
  • #​14970 Sentinel config injection via SENTINEL SET
  • #​14982 SCAN commands: integer overflow in COUNT parameter
  • #​15073 CLIENT TRACKING: self-overlap returning non-zero loop index
  • #​15059 Use-after-free
  • #​15037 XINFO STREAM: wrong value in the per-slot memory tracking
  • #​15034, #​15081 Issues processing corrupt RDB data
  • #​15021 HEXPIRE: overflow on fields count
  • #​14942 Fix COMMAND GETKEYS for PFMERGE with no source keys
  • #​15188 cluster-announce-ip rejecting hostnames (regression)
  • #​14667, #​14886 Potential TCP stalls/deadlocks
  • RediSearch/RediSearch#9484 Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542)
  • RediSearch/RediSearch#9635 Severe latency spikes and shard unresponsiveness when EXPIRE or EXPIREAT operations run concurrently with queries on large indexes (MOD-14930)

v8.6.3

Compare Source

Update urgency: SECURITY: There are security fixes in the release.

Security fixes
  • (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution
  • (CVE-2026-25243) Invalid memory access in RESTORE may lead to Remote Code Execution
  • (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution
  • (CVE-2026-25588) Invalid memory access in RESTORE may lead to Remote Code Execution (Time Series)
  • (CVE-2026-25589) Invalid memory access in RESTORE may lead to Remote Code Execution (Probabilistic)
Bug fixes
Metrics

v8.6.2

Compare Source

Bug fixes
  • #​14824 Potential UAF: don't use reply copy avoidance for module strings
  • #​14848 Crash during command processing on replicas performing full synchronization
  • #​14794 New XIDMPRECORD internal command and AOFRW emission to restore stream IDMP state
  • #​14816 setModuleEnumConfig() passing prefixed name to module callbacks
  • #​14858 Streams: Ensures XADD with IDMP/IDMPAUTO that hits an existing IID records the metadata change
  • #​14855, #​14831, #​14817 Potential memory leaks
  • #​14869 Streams: IDMP cron expiration not working after RDB load
  • #​14847 Potential crash during ACL checks on wrong-arity commands
  • #​14883 HSETEX, HGETEX do not validate that FIELDS is specified only once
  • #​14897 Streams: IDMP-related bugs

v8.6.1

Compare Source

SECURITY: There is a security fix in the release

Security fixes
  • A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply
Bug fixes
  • #​14785 HOTKEYS: The INFO command may display module information, and the missing HOTKEYS HELP subcommand has been added
  • #​14789 Bug in RDB loading prevented hash table expansion, increasing load time

v8.6.0

Compare Source

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

For more details, see the 8.6 release blog post.

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)
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.

v8.4.5

Compare Source

SECURITY: There are security fixes in the release.

Security fixes
  • A crafted stream RESTORE payload can make two consumers share the same NACK, leading to a use-after-free that may result in Remote Code Execution
  • RedisBloom/RedisBloom#1039 Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution
Bug fixes

v8.4.4

Compare Source

Update urgency: HIGH: There are critical bugs that may affect a subset of users.

Bug fixes
  • #​15175, RediSearch/RediSearch#9262 Redis fails to start on AArch64
  • #​15163 MULTI queue memory incorrect memory accounting
  • #​14581 Rare server hang at shutdown
  • #​14545 ACL: AOF loading fails if ACL rules are changed and don't allow some commands in MULTI-EXEC
  • #​14537 SCAN: restore original filter order (revert change introduced in 8.2)
  • #​14816 setModuleEnumConfig() passing prefixed name to module callbacks
  • #​14659 ACL: Key-pattern bypass in MSETEX
  • #​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
  • #​14848 Crash during command processing on replicas performing full synchronization
  • #​15188 cluster-announce-ip rejecting hostnames (regression)
  • #​14667, #​14886 Potential TCP stalls/deadlocks
  • RediSearch/RediSearch#9484 Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542)
  • RediSearch/RediSearch#9635 Severe latency spikes and shard unresponsiveness when EXPIRE or EXPIREAT operations run concurrently with queries on large indexes (MOD-14930)

v8.4.3

Compare Source

Update urgency: SECURITY: There are security fixes in the release.

Security fixes
  • (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution.
  • (CVE-2026-25243) Invalid memory access in RESTORE may lead to Remote Code Execution
  • (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution
  • (CVE-2026-25588) Invalid memory access in RESTORE may lead to Remote Code Execution (Time Series)
  • (CVE-2026-25589) Invalid memory access in RESTORE may lead to Remote Code Execution (Probabilistic)
Bug fixes
  • SUBSCRIBE, PSUBSCRIBE, SSUBSCRIBE: crash on OOM (RED-167788)
  • CONFIG SET: some settings allow invalid characters (RED-167787)
  • SCRIPT DEBUG: potential crash on scripts (RED-175507)
  • VADD: crash or buffer overflow on large REDUCE value (RED-170921)
  • VSET: crash on huge allocations (MOD-12678)
  • Potential crash on disconnections and TLS failures (Time Series) (MOD-14850)
  • RediSearch/RediSearch#8744 Crash when many keys receive expirations under heavy TTL activity (MOD-14500)
  • RediSearch/RediSearch#8849 HNSW vector index memory growth under high-churn workloads until shard restart (MOD-13761)
  • RediSearch/RediSearch#8258 FT.HYBRID VSIM RANGE + FILTER incorrectly returns zero results (MOD-13885)
  • RediSearch/RediSearch#9183 FT.PROFILE HYBRID returns an empty reply (MOD-14778)
  • RediSearch/RediSearch#9048 FT.PROFILE output is inconsistent when a profiled value is missing (MOD-10560)
  • RediSearch/RediSearch#8792 FT.EXPLAIN does not lock, causing a race with concurrent index changes (MOD-14461)
  • RediSearch/RediSearch#8384 Crash when indexing negative zero (-0.0) (MOD-13904)
  • RediSearch/RediSearch#8596 FILTER returns inconsistent results with multiple indexes sharing field aliases (MOD-14063)
  • RediSearch/RediSearch#8661 FILTER behavior depends on property order in the expression (MOD-14065)
  • RediSearch/RediSearch#8598 Filter expressions are evaluated for indexes that do not match the document type (MOD-14064)
  • RediSearch/RediSearch#8597 Documents are inconsistently included or excluded depending on the indexing path taken (MOD-13948)
  • RediSearch/RediSearch#8595 RENAME notification handler loads the wrong key, causing stale index entries after a rename (MOD-14062)
  • RediSearch/RediSearch#9011 PERSIST and HPERSIST notifications are not reflected in index expiration tracking (MOD-14800)
  • RediSearch/RediSearch#9080 FT.SPELLCHECK treats PARAMS placeholders as literal terms instead of resolving them (MOD-10596)
  • RediSearch/RediSearch#8461 GC out-of-memory on replica shards leaves the replica in an inconsistent state (MOD-14066)
  • RediSearch/RediSearch#9091 Race condition in FT.HYBRID causes intermittent failures under concurrent hybrid query load (MOD-14732)
  • RediSearch/RediSearch#9161 Coordinator deadlock under mixed FT.SEARCH and FT.AGGREGATE load (MOD-14268)
  • RediSearch/RediSearch#9165 Crash on FT.SEARCH when topology validation fails (for example, some nodes unreachable) (MOD-14475)
  • RediSearch/RediSearch#8394 FT.SEARCH fails with "Query requires unavailable slots" after shard restart or failover (MOD-13828)
  • RediSearch/RediSearch#8452 FT.INFO-style output no longer reports zero-index summary data when no indices exist (MOD-14080)
  • RediSearch/RediSearch#9077 FT.CREATE now rejects schema definitions with invalid option combinations at creation time (MOD-14655)
Metrics

v8.4.2

Compare Source

SECURITY: There is a security fix in the release

Security fixes
  • A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply

v8.4.1

Compare Source

Update urgency: SECURITY: There are security fixes in the release.

Security fixes
Bug fixes
Performance and resource utilization improvements
Metrics
Configuration parameters

v8.4.0

Compare Source

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

Major changes compared to 8.2
  • DIGEST, DELEX; SET extensions - atomic compare-and-set and compare-and-delete for string keys
  • MSETEX - atomically set multiple string keys and update their expiration
  • XREADGROUP - new CLAIM option for reading both idle pending and incoming stream entries
  • CLUSTER MIGRATION - atomic slot migration
  • CLUSTER SLOT-STATS - per-slot usage metrics: key count, CPU time, and network I/O
  • Redis query engine: FT.HYBRID - hybrid search and fused scoring
  • Redis query engine: I/O threading with performance boost for search and query commands (FT.*)
  • I/O threading: substantial throughput increase (e.g. >30% for caching use cases (10% SET, 90% GET), 4 cores)
  • JSON: substantial memory reduction for homogenous arrays (up to 92%)

For more details, see the 8.4 release blog post, the Atomic slot migration with Redis 8.4 blog post, the Simplifying streams and string blog post, and the Revamping context-oriented retrieval with hybrid search in Redis 8.4 blog post.

Binary distributions
Operating systems we test Redis 8.4 on
  • Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat)
  • Rocky Linux 8.10, 9.5
  • AlmaLinux 8.10, 9.5
  • Debian 12 (Bookworm), Debian 13 (Trixie)
  • macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia)
Bug fixes (compared to 8.4-RC1)
  • #​14524 XREADGROUP CLAIM returns strings instead of integers
  • #​14529 Add variable key-spec flags to SET IF* and DELEX
  • #P928 Potential memory leak (MOD-11484)
  • #T1801, #T1805 macOS build failures (MOD-12293)
  • #J1438 JSON.NUMINCRBY - wrong result on integer array with non-integer increment (MOD-12282)
  • #J1437 Thread safety issue related to ASM and shared strings (MOD-12013)
Performance and resource utilization improvements (compared to 8.4-RC1)
known bugs and limitations
  • When executing FT.SEARCH, FT.AGGREGATE, FT.CURSOR, FT.HYBRID, TS.MGET, TS.MRANGE, TS.MREVRANGE, and TS.QUERYINDEX while an atomic slot migration process is in progress, the results may be partial or contain duplicates
  • FT.PROFILE, FT.EXPLAIN, and FT.EXPLACINCLI do not contain the FT.HYBRID option
  • Metrics from FT.HYBRID command are not displayed on FT.INFO and INFO
  • FT.HYBRID: the EXPLAINSCORE, SHARD_K_RATIO, YIELD_DISTANCE_AS, and WITHCURSOR options are not supported
  • FT.HYBRID: post-filtering (after COMBINE step) using FILTER is not supported
  • FT.HYBRID: the default response format considers only key_id and score. This may change for delivering the entire document content

v8.2.8

Compare Source

SECURITY: There are security fixes in the release.

Security fixes
  • A crafted stream RESTORE payload can make two consumers share the same NACK, leading to a use-after-free that may result in Remote Code Execution
  • RedisBloom/RedisBloom#1041 Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution
Bug fixes

v8.2.7

Compare Source

Update urgency: HIGH: There are critical bugs that may affect a subset of users.

Bug fixes
  • #​15175, RediSearch/RediSearch#9262 Redis fails to start on AArch64
  • #​14537 SCAN: restore original filter order (revert change introduced in 8.2)
  • #​14816 setModuleEnumConfig() passing prefixed name to module callbacks
  • #​14623 Streams: XTRIM/XADD with approx mode (~) don’t delete entries for DELREF/ACKED strategies
  • #​14552 Streams: Incorrect behavior when using XDELEX...ACKEDafterXGROUP DESTROY`
  • #​14420 Shutdown blocked client not being properly reset after shutdown cancellation
  • #​14415 Potential crash in lookupKey() when executing_client is NULL
  • #​14417 CLUSTER FORGET - heap-buffer-overflow
  • #​15188 cluster-announce-ip rejecting hostnames (regression)
  • #​14667, #​14886 Potential TCP stalls/deadlocks
  • RediSearch/RediSearch#9484 Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542)
  • RediSearch/RediSearch#9635 Severe latency spikes and shard unresponsiveness when EXPIRE or EXPIREAT operations run concurrently with queries on large indexes (MOD-14930)

v8.2.6

Compare Source

Update urgency: SECURITY: There are security fixes in the release.

Security fixes
  • (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution.
  • (CVE-2026-25243) Invalid memory access in RESTORE may lead to Remote Code Execution
  • (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution
  • (CVE-2026-25588) Invalid memory access in RESTORE may lead to Remote Code Execution (Time Series)
  • (CVE-2026-25589) Invalid memory access in RESTORE may lead to Remote Code Execution (Probabilistic)
Bug fixes
  • SUBSCRIBE, PSUBSCRIBE, SSUBSCRIBE: crash on OOM (RED-167788)
  • CONFIG SET: some settings allow invalid characters (RED-167787)
  • SCRIPT DEBUG: potential crash on scripts (RED-175507)
  • VADD: crash or buffer overflow on large REDUCE value (RED-170921)
  • VSET: crash on huge allocations (MOD-12678)
  • Potential crash on disconnections and TLS failures (Time Series) (MOD-14850)
  • RediSearch/RediSearch#8743 Crash when many keys receive expirations under heavy TTL activity (MOD-14500)
  • RediSearch/RediSearch#8850 HNSW vector index memory growth under high-churn workloads until shard restart (MOD-13761)
  • RediSearch/RediSearch#9178 Coordinator deadlock under mixed FT.SEARCH and FT.AGGREGATE load (MOD-14268)
  • RediSearch/RediSearch#9049 FT.PROFILE output is inconsistent when a profiled value is missing (MOD-10560)
  • RediSearch/RediSearch#8793 FT.EXPLAIN does not lock, causing a race with concurrent index changes (MOD-14461)
  • RediSearch/RediSearch#8600 FILTER returns inconsistent results with multiple indexes sharing field aliases (MOD-14063)
  • RediSearch/RediSearch#8662 FILTER behavior depends on property order in the expression (MOD-14342)
  • RediSearch/RediSearch#8602 Filter expressions are evaluated for indexes that do not match the document type (MOD-14064)
  • RediSearch/RediSearch#8601 Documents are inconsistently included or excluded depending on the indexing path taken (MOD-13948)
  • RediSearch/RediSearch#8599 RENAME notification handler loads the wrong key, causing stale index entries after a rename (MOD-14062)
  • RediSearch/RediSearch#9019 PERSIST and HPERSIST notifications are not reflected in index expiration tracking (MOD-14800)
  • RediSearch/RediSearch#9081 FT.SPELLCHECK treats PARAMS placeholders as literal terms instead of resolving them (MOD-10596)
  • RediSearch/RediSearch#8464 GC out-of-memory on replica shards leaves the replica in an inconsistent state (MOD-14066)
  • RediSearch/RediSearch#8888 FT.CURSOR enters an infinite loop when the ACL user lacks specific permissions (MOD-14479)
  • RediSearch/RediSearch#9166 Crash on FT.SEARCH when topology validation fails (for example, some nodes unreachable) (MOD-14475)
  • RediSearch/RediSearch#8453 FT.INFO-style output no longer reports zero-index summary data when no indices exist (MOD-14081)
  • RediSearch/RediSearch#9076 FT.CREATE now rejects schema definitions with invalid option combinations at creation time (MOD-14655)
Metrics

v8.2.5

Compare Source

SECURITY: There is a security fix in the release

Security fixes
  • A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply

v8.2.4

Compare Source

Update urgency: SECURITY: There are security fixes in the release.

Security fixes
Bug fixes
Performance and resource utilization improvements
Metrics
Configuration parameters

v8.2.3

Compare Source

Update urgency: SECURITY: There is a security fix in the release.

Security fixes
  • (CVE-2025-62507) XACKDEL - potential stack overflow and RCE
Bug fixes
  • HGETEX - potential crash when FIELDS is used and numfields is missing
  • Potential crash on HyperLogLog with 2GB+ entries
  • Cuckoo filter - Division by zero in Cuckoo filter insertion
  • Cuckoo filter - Counter overflow
  • Bloom filter - Arbitrary memory read/write with invalid filter
  • Bloom filter - Out-of-bounds access with empty chain
  • Bloom filter - Restore invalid filter [We thank AWS security for responsibly disclosing this security bug]
  • Top-k - Out-of-bounds access

v8.2.2

Compare Source

Update urgency: SECURITY: There are security fixes in the release

Security fixes
  • (CVE-2025-49844) A Lua script may lead to remote code execution
  • (CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE
  • (CVE-2025-46818) A Lua script can be executed in the context of another user
  • (CVE-2025-46819) LUA out-of-bound read
New Features
  • #​14223 VSIM: new EPSILON argument to specify maximum distance
  • #Q6867, #​6845 SVS-VAMANA: allow use of BUILD_INTEL_SVS_OPT flag for Intel optimisations (MOD-10920)
Bug fixes
  • #​14319 Potential crash on Lua script defrag
  • #​14323 Potential crash on streams and HFE defrag
  • #​14330 Potential use-after-free after pubsub and Lua defrag
  • #​14288 MEMORY USAGE: fix reported value
  • #​14259 XGROUP CREATE, XGROUP SETID: limit ENTRIESREAD value to the number of entries added to the stream
  • #J1374 JSON.DEL doesn’t delete all matching object members / array elements (MOD-11032, MOD-11067)
  • #P886 TDIGEST.CREATE crashes (OOM) on huge initialization values (MOD-10840)
  • #Q6787 Potential shard restart while reindexing vectors on RDB loading (MOD-11011)
  • #Q6676 Potential crash when using small CONSTRUCTION_WINDOW_SIZE on SVS-VAMANA (MOD-10771)
  • #Q6701 Potential crash (OOM) in heavy updates due to a file descriptor leak (MOD-10975)
  • #Q6723 Potential crash when using ACL rules (MOD-10748)
  • #Q6641 INFO SEARCH: search_used_memory_indexes vector index memory value incorrect
  • #Q6665 FT.PROFILE: more accurate execution duration measurements (MOD-10622)
Performance and resource utilization
  • #Q6648 Improve RESP3 serialization performance (MOD-9687)
Metrics
  • #Q6671 INFO SEARCH: new SVS-VAMANA metrics

v8.2.1

Compare Source

Update urgency: MODERATE: Program an upgrade of the server, but it's not urgent.

Bug fixes
  • #​14240 INFO KEYSIZES - potential incorrect histogram updates on cluster mode with modules
  • #​14274 Disable Active Defrag during flushing replica
  • #​14276 XADD and XTRIM can crash the server after loading an RDB
  • #Q6601 Potential crash when running FLUSHDB (MOD-10681)
Performance and resource utilization
  • Query Engine - LeanVec and LVQ proprietary Intel optimizations were removed from Redis Open Source
  • #Q6621 Fix regression in INFO (MOD-10779)

v8.2.0

Compare Source

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

Major changes compared to 8.0
  • Streams - new commands: XDELEX and XACKDEL; extension to XADD and XTRIM
  • Bitmap - BITOP: new operators: DIFF, DIFF1, ANDOR, and ONE
  • Query Engine - new SVS-VAMANA vector index type which supports vector compression
  • More than 15 performance and resource utilization improvements
  • New metrics: per-slot usage metrics, key size distributions for basic data types, and more
Binary distributions
Operating systems we test Redis 8.2 on
  • Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat)
  • Rocky Linux 8.10, 9.5
  • AlmaLinux 8.10, 9.5
  • Debian 12 (Bookworm)
  • macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia)
Security fixes (compared to 8.2-RC1)
  • (CVE-2025-32023) Fix out-of-bounds write in HyperLogLog commands
  • (CVE-2025-48367) Retry accepting other connections even if the accepted connection reports an error
New Features (compared to 8.2-RC1)
  • #​14141 Keyspace notifications - new event types:
    • OVERWRITTEN - the value of a key is completely overwritten
    • TYPE_CHANGED - key type change
Bug fixes (compared to 8.2-RC1)
  • #​14162 Crash when using evport with I/O threads
  • #​14163 EVAL crash when error table is empty
  • #​14144 Vector sets - RDB format is not compatible with big endian machines
  • #​14165 Endless client blocking for blocking commands
  • #​14164 Prevent CLIENT UNBLOCK from unblocking CLIENT PAUSE
  • #​14216 TTL was not removed by the SET command
  • #​14224 HINCRBYFLOAT removes field expiration on replica
Performance and resource utilization improvements (compared to 8.2-RC1)
  • #Q6430 More compression variants for the SVS-VAMANA vector index
  • #Q6535 SHARD_K_RATIO parameter - favor network latency over accuracy for KNN vector query in a Redis cluster (unstable feature) (MOD-10359)
  • #​14144 Vector set - improve RDB loading / RESTORE speed by storing the worst link info
Modules API
  • #​14051 RedisModule_Get*, RedisModule_Set* - allow modules to access Redis configurations
  • #​14114 RM_UnsubscribeFromKeyspaceEvents - unregister a module from specific keyspace notifications

v8.0.6

Compare Source

SECURITY: There is a security fix in the release

Security fixes
  • A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply

v8.0.5

Compare Source

Update urgency: HIGH: There are critical bugs that may affect a subset of users.

Bug fixes
  • HGETEX - potential crash when FIELDS is used and numfields is missing
  • Potential crash on HyperLogLog with 2GB+ entries
  • Cuckoo filter - Division by zero in Cuckoo filter insertion
  • Cuckoo filter - Counter overflow
  • Bloom filter - Arbitrary memory read/write with invalid filter
  • Bloom filter - Out-of-bounds access with empty chain
  • Bloom filter - Restore invalid filter [We thank AWS security for responsibly disclosing the security bug]
  • Top-k - Out-of-bounds access

v8.0.4

Compare Source

Update urgency: SECURITY: There are security fixes in the release.

Security fixes
  • (CVE-2025-49844) A Lua script may lead to remote code execution
  • (CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE
  • (CVE-2025-46818) A Lua script can be executed in the context of another user
  • (CVE-2025-46819) LUA out-of-bound read
New Features
  • #​14223 VSIM: new EPSILON argument to specify maximum distance
Bug fixes
  • #​14330 Potential use-after-free after pubsub and Lua defrag
  • #​14319 Potential crash on Lua script defrag
  • #​14224 HINCRBYFLOAT removes field expiration on replica
  • #​14164 Prevent CLIENT UNBLOCK from unblocking CLIENT PAUSE
  • #​14165 Endless client blocking for blocking commands
  • #​14144 Vector sets - RDB format is not compatible with big endian machines
  • #​14163 EVAL crash when error table is empty
  • #​14143 Gracefully handle short read errors for hashes with TTL during full sync

v8.0.3

Compare Source

Update urgency: SECURITY: There are security fixes in the release.

Security fixes
  • (CVE-2025-32023) Fix out-of-bounds write in HyperLogLog commands
  • (CVE-2025-48367) Retry accepting other connections even if the accepted connection reports an error
New Features
  • #​14065 VSIM: Add new WITHATTRIBS to return the JSON attribute associated with an element
Bug fixes
  • #​14085 A short read may lead to an exit() on a replica
  • #​14092 db->expires is not defragmented

v8.0.2

Compare Source

Update urgency: SECURITY: There are security fixes in the release.

Security fixes
  • (CVE-2025-27151) redis-check-aof may lead to stack overflow and potential RCE
Bug fixes
  • #​14081 Cron-based timers run twice as fast when active defrag is enabled
Other general improvements

v8.0.1

Compare Source

Update urgency: MODERATE: Program an upgrade of the server, but it's not urgent.

Performance and resource utilization improvements
  • #​13959 Vector sets - faster VSIM FILTER parsing
Bug fixes
  • #Q6083 Query Engine - revert default policy search-on-timeout to RETURN
  • #Q6050 Query Engine - @__key on FT.AGGREGATE used as reserved field name preventing access to Redis keyspace
  • #Q6077 Query Engine - crash when calling FT.CURSOR DEL while retrieving from the CURSOR
Notes
  • Fixed wrong text in the license files

v8.0.0

Compare Source

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

Redis 8.0 deprecates previous Redis and Redis Stack versions.

Stand alone RediSearch, RedisJSON, RedisTimeSeries, and RedisBloom are no longer needed as they are now part of Redis.

Major changes compared to 7.4.2
  • Name change: Redis Community Edition is now Redis Open Source

  • License change: licensed under your choice of

    • (a) the Redis Source Available License 2.0 (RSALv2); or
    • (b) the Server Side Public License v1 (SSPLv1); or
    • (c) the GNU Affero General Public License (AGPLv3)
  • Redis Query Engine and 8 new data structures are now an integral part of Redis 8

    • (1) Redis Query Engine, which now supports both horizontal and vertical scaling for search, query and vector workloads

    • (2) JSON - a queryable JSON document

    • (3) Time series

    • (4-8) Five probabilistic data structures: Bloom filter, Cuckoo filter, Count-min sketch, Top-k, and t-digest

    • (9) Vector set [beta] - a data structure designed for Vector Similarity Search, inspired by Sorted set

    • These nine components are included in all binary distributions

    • See instructions in the README.md file on how to build from source with all these components

    • New configuration file: redis-full.conf - loads Redis with all these components,
      and contains new configuration parameters for Redis Query Engine and the new data structures

    • New ACL categories: @search, @json, @timeseries, @bloom, @cuckoo, @cms, @topk, @tdigest

    • Commands are also included in the existing ACL categories (@read, @write, etc.)

  • More than 30 performance and resource utilization improvements

  • A new I/O threading implementation which enables throughput increase on multi-core environments
    (set with io-threads configuration parameter)

  • An improved replication mechanism which is more performant and robust

  • New hash commands - HGETDEL, HGETEX, HSETEX

For more details, see the release notes of 8.0-M01, 8.0-M02, 8.0-M03, 8.0-M04, and 8.0-RC1

Binary distributions
Operating systems we test Redis 8.0 on
  • Ubuntu 20.04 (Focal Fossa), 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat)
  • Rocky Linux 8.10, 9.5
  • AlmaLinux 8.10, 9.5
  • Debian 11 (Bullseye), 12 (Bookworm)
  • macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia)
Supported upgrade paths (by replication or persistence)
  • From previous Redis versions, without modules
  • From previous Redis versions with modules (RediSearch, RedisJSON, RedisTimeSeries, RedisBloom)
  • From Redis Stack 7.2 or 7.4
Security fixes (compared to 8.0-RC1)
  • (CVE-2025-21605) An unauthenticated client can cause an unlimited growth of output buffers
Bug fixes (compared to 8.0-RC1)
  • #​13966, #​13932 CLUSTER SLOTS - TLS port update not reflected
  • #​13958 XTRIM, XADD - incorrect lag due to trimming stream
  • #​13931 HGETEX - wrong order of keyspace notifications
  • #J1337 - JSON - JSON.DEL emits no DEL notification when removing the entire value (MOD-9117)
  • #T1742 - Time Series - TS.INFO - duplicatePolicy is nil when set to the default value (MOD-5423)

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [redis](https://hub.docker.com/_/redis) ([source](https://github.com/redis/redis)) | major | `7.4.10-alpine` → `8.10.0-alpine` | --- ### Release Notes <details> <summary>redis/redis (redis)</summary> ### [`v8.10.0`](https://github.com/redis/redis/releases/tag/8.10.0) [Compare Source](https://github.com/redis/redis/compare/8.8.1...8.10.0) This is the General Availability release of Redis 8.10 in Redis Open Source. ##### Major changes compared to 8.8 - Compact hashes - a new hash encoding that reduces memory usage by storing hash field names just once for keys that share a schema - New command: `HIMPORT` - high-throughput compact hash bulk insertion - TLS peer certificate-based server-to-server authentication - New commands: `LMOVEM`, `BLMOVEM` - move multiple elements between lists - New command: `SUNIONCARD` - get the cardinality of the union of multiple sets - New command: `SDIFFCARD` - get the cardinality of the difference between sets - New command: `BACKUP` - node-side implementation for backup and restore based on multi-part AOF (MP-AOF) - `XREAD`, `XREADGROUP` - new `MAXCOUNT` and `MAXSIZE` arguments to cap the cumulative reply entries and size - New command: `FT.ALIASLIST` - get all aliases for the index - Stemmer support for Malay and Tagalog languages - JSONPath extensions - New commands: `TS.NRANGE`, `TS.NREVRANGE` - Query a range across multiple time series; group results by timestamp - New command: `TS.READ` - optionally blocking read - New command: `TS.QUERYLABELS` - Get a list of labels and label-values - New command: `TS.MRANGE`, `TS.MREVRANGE` - new `EXCLUDEEMPTY` argument to exclude series with no reported samples - Performance improvements ##### 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.10 on - Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat), 26.04 (Resolute Raccoon) - Rocky Linux 8.10, 9.7, 10.1 - AlmaLinux 8.10, 9.7, 10.1 - Debian 12.13 (Bookworm), Debian 13.4 (Trixie) - Alpine 3.23 - macOS 14.8.4 (Sonoma), 15.7.4 (Sequoia), 26.3 (Tahoe) - for both Intel and ARM ##### Bug fixes (compared to 8.10-RC2) - [#&#8203;15513](https://github.com/redis/redis/issues/15513) Prevented a division-by-zero error when active defragmentation thresholds are configured with equal or reversed value - [#&#8203;15453](https://github.com/redis/redis/issues/15453) Clients blocked on `BLPOP`, `BLMOVE`, or `BLMOVEM` could remain blocked after `SORT` with `STORE` replaced the target key with a list - [#&#8203;15499](https://github.com/redis/redis/issues/15499) Memory usage reported for compressed replication clients could be lower than the actual memory consumed - [#&#8203;15518](https://github.com/redis/redis/issues/15518) notify modules when node's own ip/port changes - [#&#8203;15539](https://github.com/redis/redis/issues/15539) Loading an AOF file with an RDB preamble could fail when active defragmentation was enabled - [RediSearch/RediSearch#10528](https://github.com/RediSearch/RediSearch/issues/10528) Crash in the numeric range tree when background garbage collection encounters an empty leaf during active indexing on a numeric field. (MOD-16877) - [RediSearch/RediSearch#10605](https://github.com/RediSearch/RediSearch/issues/10605) FT.CREATE and FT.ALTER now reject an empty string as a field name, preventing a crash loop in the fork-GC on indexes with an empty TAG field. (MOD-17034) - [RediSearch/RediSearch#10488](https://github.com/RediSearch/RediSearch/issues/10488) FT.INFO reports a negative num\_records after garbage collection on indexes that include an INDEXMISSING field. (MOD-16940) - [RediSearch/RediSearch#10568](https://github.com/RediSearch/RediSearch/issues/10568) Cluster FT.AGGREGATE fails with SEARCH\_FIELD\_DUP when a GROUPBY contains multiple REDUCE COLLECT calls over the same field differing only in option-keyword casing. (MOD-16365) - [RediSearch/RediSearch#10605](https://github.com/RediSearch/RediSearch/issues/10605) FT.CREATE and FT.ALTER now return an error when a field name is an empty string; previously such schemas were accepted silently. (MOD-17034) - [RediSearch/RediSearch#10522](https://github.com/RediSearch/RediSearch/issues/10522) coord\_total\_query\_warnings\_timeout double-counts timeout warnings for FT.SEARCH queries that use a hybrid (vector + filter) execution path. (MOD-15973) ### [`v8.8.1`](https://github.com/redis/redis/releases/tag/8.8.1) [Compare Source](https://github.com/redis/redis/compare/8.8.0...8.8.1) SECURITY: There is a security fix in the release. ##### Security fixes - [RedisBloom/RedisBloom#1044](https://github.com/RedisBloom/RedisBloom/issues/1044) Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution ### [`v8.8.0`](https://github.com/redis/redis/releases/tag/8.8.0) [Compare Source](https://github.com/redis/redis/compare/8.6.5...8.8.0) This is the General Availability release of Redis 8.8 in Redis Open Source. ##### Major changes compared to 8.6 - New data structure: Array ([@&#8203;antirez](https://github.com/antirez)) - Subkey notification for hash fields - field-level notifications - `INCREX`: a window counter rate limiter combining `INCR`, `INCRBY`, `INCRBYFLOAT`, bounds, and expiration ([@&#8203;raffertyyu](https://github.com/raffertyyu) + Redis team) - `XNACK`: a new streams command - allow consumers to explicitly release pending messages - `ZUNION`, `ZINTER`, `ZUNIONSTORE`, `ZINTERSTORE`: new `COUNT` aggregator - `JSON.SET`: new `FPHA` argument to specify the FP type for homogeneous FP arrays - `TS.RANGE`, `TS.REVRANGE`, `TS.MRANGE`, `TS.MREVRANGE`: multiple aggregators in a single command - `FT.HYBRID` `KNN` clause: new argument to request fewer candidates per shard - `FT.PROFILE` `HYBRID`: profiling support for `FT.HYBRID` - Performance improvements For more details, see the [8.8 release](https://redis.io/blog/announcing-redis-8-8/) blog post. ##### 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.8 on - Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat), 26.04 (Resolute Raccoon) - Rocky Linux 8.10, 9.7, 10.1 - AlmaLinux 8.10, 9.7, 10.1 - Debian 12.13 (Bookworm), Debian 13.4 (Trixie) - Alpine 3.23 - macOS 14.8.4 (Sonoma), 15.7.4 (Sequoia), 26.3 (Tahoe) - for both Intel and ARM ##### Bug fixes (compared to 8.8-RC1) - [#&#8203;15237](https://github.com/redis/redis/issues/15237) `INCREX` syntax update - [#&#8203;15005](https://github.com/redis/redis/issues/15005) Memory tracking can be enabled at runtime in non-clustered mode - [RedisTimeSeries/RedisTimeSeries#1930](https://github.com/RedisTimeSeries/RedisTimeSeries/issues/1930) Cluster topology changes during a multi-shard command are not handled (MOD-14439) - [RedisBloom/RedisBloom#1007](https://github.com/RedisBloom/RedisBloom/issues/1007) Memory leak on RDB load (MOD-15418) ### [`v8.6.5`](https://github.com/redis/redis/releases/tag/8.6.5) [Compare Source](https://github.com/redis/redis/compare/8.6.4...8.6.5) SECURITY: There are security fixes in the release. ##### Security fixes - A crafted stream RESTORE payload can make two consumers share the same NACK, leading to a use-after-free that may result in Remote Code Execution - [RedisBloom/RedisBloom#1046](https://github.com/RedisBloom/RedisBloom/issues/1046) Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution ##### Bug fixes - [RedisBloom/RedisBloom#1021](https://github.com/RedisBloom/RedisBloom/issues/1021) Replicate `CF.LOADCHUNK` data chunks to prevent silent Cuckoo Filter data loss on failover ### [`v8.6.4`](https://github.com/redis/redis/releases/tag/8.6.4) [Compare Source](https://github.com/redis/redis/compare/8.6.3...8.6.4) Update urgency: `HIGH`: There are critical bugs that may affect a subset of users. ##### Bug fixes - [#&#8203;15175](https://github.com/redis/redis/issues/15175), [RediSearch/RediSearch#9262](https://github.com/RediSearch/RediSearch/issues/9262) Redis fails to start on AArch64 - [#&#8203;15163](https://github.com/redis/redis/issues/15163) `MULTI` queue memory incorrect memory accounting - [#&#8203;15115](https://github.com/redis/redis/issues/15115) Under-copy in the Lua debugger - [#&#8203;15094](https://github.com/redis/redis/issues/15094) Cluster crash when `CLIENT KILL` unsubscribes `SSUBSCRIBE` client inside `EXEC` - [#&#8203;14963](https://github.com/redis/redis/issues/14963) `XREADGROUP`: consumer replication inconsistency - [#&#8203;14934](https://github.com/redis/redis/issues/14934) Client output buffer memory tracking not accounting for copy-avoided bulk string references - [#&#8203;14970](https://github.com/redis/redis/issues/14970) Sentinel config injection via `SENTINEL SET` - [#&#8203;14982](https://github.com/redis/redis/issues/14982) `SCAN` commands: integer overflow in `COUNT` parameter - [#&#8203;15073](https://github.com/redis/redis/issues/15073) `CLIENT TRACKING`: self-overlap returning non-zero loop index - [#&#8203;15059](https://github.com/redis/redis/issues/15059) Use-after-free - [#&#8203;15037](https://github.com/redis/redis/issues/15037) `XINFO STREAM`: wrong value in the per-slot memory tracking - [#&#8203;15034](https://github.com/redis/redis/issues/15034), [#&#8203;15081](https://github.com/redis/redis/issues/15081) Issues processing corrupt RDB data - [#&#8203;15021](https://github.com/redis/redis/issues/15021) `HEXPIRE`: overflow on fields count - [#&#8203;14942](https://github.com/redis/redis/issues/14942) Fix `COMMAND GETKEYS for PFMERGE` with no source keys - [#&#8203;15188](https://github.com/redis/redis/issues/15188) `cluster-announce-ip` rejecting hostnames (regression) - [#&#8203;14667](https://github.com/redis/redis/issues/14667), [#&#8203;14886](https://github.com/redis/redis/issues/14886) Potential TCP stalls/deadlocks - [RediSearch/RediSearch#9484](https://github.com/RediSearch/RediSearch/issues/9484) Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542) - [RediSearch/RediSearch#9635](https://github.com/RediSearch/RediSearch/issues/9635) Severe latency spikes and shard unresponsiveness when `EXPIRE` or `EXPIREAT` operations run concurrently with queries on large indexes (MOD-14930) ### [`v8.6.3`](https://github.com/redis/redis/releases/tag/8.6.3) [Compare Source](https://github.com/redis/redis/compare/8.6.2...8.6.3) Update urgency: `SECURITY`: There are security fixes in the release. ##### Security fixes - (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution - (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution - (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution - (CVE-2026-25588) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Time Series) - (CVE-2026-25589) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Probabilistic) ##### Bug fixes - `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788) - `CONFIG SET`: some settings allow invalid characters (RED-167787) - `SCRIPT DEBUG`: potential crash on scripts (RED-175507) - `VADD`: crash or buffer overflow on large `REDUCE` value (RED-170921) - `VSET`: crash on huge allocations (MOD-12678) - Potential crash on disconnections and TLS failures (Time Series) (MOD-14850) - [RediSearch/RediSearch#8745](https://github.com/RediSearch/RediSearch/issues/8745) Crash when many keys receive expirations under heavy TTL activity (MOD-14500) - [RediSearch/RediSearch#8848](https://github.com/RediSearch/RediSearch/issues/8848) HNSW vector index memory growth under high-churn workloads until shard restart (MOD-13761) - [RediSearch/RediSearch#8205](https://github.com/RediSearch/RediSearch/issues/8205), [RediSearch/RediSearch#8259](https://github.com/RediSearch/RediSearch/issues/8259) `FT.HYBRID` `VSIM RANGE` + `FILTER` incorrectly returns zero results (MOD-12370, MOD-13884) - [RediSearch/RediSearch#9182](https://github.com/RediSearch/RediSearch/issues/9182) `FT.PROFILE HYBRID` returns an empty reply (MOD-14778) - [RediSearch/RediSearch#8129](https://github.com/RediSearch/RediSearch/issues/8129), [RediSearch/RediSearch#8140](https://github.com/RediSearch/RediSearch/issues/8140) `FT.PROFILE` reports an incorrect shard total profile time (MOD-13735, MOD-13181) - [RediSearch/RediSearch#9047](https://github.com/RediSearch/RediSearch/issues/9047) `FT.PROFILE` output is inconsistent when a profiled value is missing (MOD-10560) - [RediSearch/RediSearch#8791](https://github.com/RediSearch/RediSearch/issues/8791) `FT.EXPLAIN` does not lock, causing a race with concurrent index changes (MOD-14461) - [RediSearch/RediSearch#8382](https://github.com/RediSearch/RediSearch/issues/8382) Crash when indexing negative zero (-0.0) (MOD-13904) - [RediSearch/RediSearch#8590](https://github.com/RediSearch/RediSearch/issues/8590) `FILTER` returns inconsistent results with multiple indexes sharing field aliases (MOD-14063) - [RediSearch/RediSearch#8660](https://github.com/RediSearch/RediSearch/issues/8660) `FILTER` behavior depends on property order in the expression (MOD-14065) - [RediSearch/RediSearch#8593](https://github.com/RediSearch/RediSearch/issues/8593) Filter expressions are evaluated for indexes that do not match the document type (MOD-14064) - [RediSearch/RediSearch#8591](https://github.com/RediSearch/RediSearch/issues/8591) Documents are inconsistently included or excluded depending on the indexing path taken (MOD-13948) - [RediSearch/RediSearch#8589](https://github.com/RediSearch/RediSearch/issues/8589) `RENAME` notification handler loads the wrong key, causing stale index entries after a rename (MOD-14328) - [RediSearch/RediSearch#9012](https://github.com/RediSearch/RediSearch/issues/9012) `PERSIST` and `HPERSIST` notifications are not reflected in index expiration tracking (MOD-14800) - [RediSearch/RediSearch#9079](https://github.com/RediSearch/RediSearch/issues/9079) `FT.SPELLCHECK` treats `PARAMS` placeholders as literal terms instead of resolving them (MOD-10596) - [RediSearch/RediSearch#8462](https://github.com/RediSearch/RediSearch/issues/8462) GC out-of-memory on replica shards leaves the replica in an inconsistent state (MOD-14066) - [RediSearch/RediSearch#9066](https://github.com/RediSearch/RediSearch/issues/9066) Race condition in `FT.HYBRID` causes intermittent failures under concurrent hybrid query load (MOD-14732) - [RediSearch/RediSearch#8109](https://github.com/RediSearch/RediSearch/issues/8109), [RediSearch/RediSearch#8149](https://github.com/RediSearch/RediSearch/issues/8149) Configuration registration omits module parameters, causing them to be unexposed or misapplied (RED-171841) - [RediSearch/RediSearch#9163](https://github.com/RediSearch/RediSearch/issues/9163) Crash on `FT.SEARCH` when topology validation fails (for example, some nodes unreachable) (MOD-14475) - [RediSearch/RediSearch#8395](https://github.com/RediSearch/RediSearch/issues/8395) `FT.SEARCH` fails with "Query requires unavailable slots" after shard restart or failover (MOD-13828) - [RediSearch/RediSearch#8451](https://github.com/RediSearch/RediSearch/issues/8451) `FT.INFO`-style output no longer reports zero-index summary data when no indices exist (MOD-14079) - [RediSearch/RediSearch#9078](https://github.com/RediSearch/RediSearch/issues/9078) `FT.CREATE` now rejects schema definitions with invalid option combinations at creation time (MOD-14655) - [RediSearch/RediSearch#8051](https://github.com/RediSearch/RediSearch/issues/8051), [RediSearch/RediSearch#8114](https://github.com/RediSearch/RediSearch/issues/8114) Crash diagnostics now include the `IndexSpec` of the index the failing thread was working on (MOD-7574) ##### Metrics - [RediSearch/RediSearch#8210](https://github.com/RediSearch/RediSearch/issues/8210), [RediSearch/RediSearch#8231](https://github.com/RediSearch/RediSearch/issues/8231) `FT.PROFILE`: added queue time tracking (MOD-13602) ### [`v8.6.2`](https://github.com/redis/redis/releases/tag/8.6.2) [Compare Source](https://github.com/redis/redis/compare/8.6.1...8.6.2) ##### Bug fixes - [#&#8203;14824](https://github.com/redis/redis/issues/14824) Potential UAF: don't use reply copy avoidance for module strings - [#&#8203;14848](https://github.com/redis/redis/issues/14848) Crash during command processing on replicas performing full synchronization - [#&#8203;14794](https://github.com/redis/redis/issues/14794) New `XIDMPRECORD` internal command and AOFRW emission to restore stream IDMP state - [#&#8203;14816](https://github.com/redis/redis/issues/14816) setModuleEnumConfig() passing prefixed name to module callbacks - [#&#8203;14858](https://github.com/redis/redis/issues/14858) Streams: Ensures `XADD` with `IDMP`/`IDMPAUTO` that hits an existing IID records the metadata change - [#&#8203;14855](https://github.com/redis/redis/issues/14855), [#&#8203;14831](https://github.com/redis/redis/issues/14831), [#&#8203;14817](https://github.com/redis/redis/issues/14817) Potential memory leaks - [#&#8203;14869](https://github.com/redis/redis/issues/14869) Streams: IDMP cron expiration not working after RDB load - [#&#8203;14847](https://github.com/redis/redis/issues/14847) Potential crash during ACL checks on wrong-arity commands - [#&#8203;14883](https://github.com/redis/redis/issues/14883) `HSETEX`, `HGETEX` do not validate that `FIELDS` is specified only once - [#&#8203;14897](https://github.com/redis/redis/issues/14897) Streams: IDMP-related bugs ### [`v8.6.1`](https://github.com/redis/redis/releases/tag/8.6.1) [Compare Source](https://github.com/redis/redis/compare/8.6.0...8.6.1) SECURITY: There is a security fix in the release ##### Security fixes - A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply ##### Bug fixes - [#&#8203;14785](https://github.com/redis/redis/issues/14785) `HOTKEYS`: The `INFO` command may display module information, and the missing `HOTKEYS HELP` subcommand has been added - [#&#8203;14789](https://github.com/redis/redis/issues/14789) Bug in RDB loading prevented hash table expansion, increasing load time ### [`v8.6.0`](https://github.com/redis/redis/releases/tag/8.6.0) [Compare Source](https://github.com/redis/redis/compare/8.4.5...8.6.0) 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` For more details, see the [8.6 release](https://redis.io/blog/announcing-redis-86-performance-improvements-streams/) blog post. ##### 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 - 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) - [#&#8203;14695](https://github.com/redis/redis/issues/14695) Keys memory size histograms ##### Performance and resource utilization improvements (compared to 8.6-RC1) - [#&#8203;14714](https://github.com/redis/redis/issues/14714) Optimize user ACL permission verification - [#&#8203;14692](https://github.com/redis/redis/issues/14692) Optimize peak memory metric collection - [#&#8203;14739](https://github.com/redis/redis/issues/14739) Avoid allocating and releasing list node in reply copy avoidance - [#&#8203;14713](https://github.com/redis/redis/issues/14713) Reduce per command syscalls by reusing cached time when hardware monotonic clock is available - [#&#8203;14726](https://github.com/redis/redis/issues/14726) Optimize `XREADGROUP CLAIM` - [#&#8203;13962](https://github.com/redis/redis/issues/13962) Vector set: replace manual popcount with \_\_builtin\_popcountll for binary vector distance (Intel, AMD, ARM) - [#&#8203;14474](https://github.com/redis/redis/issues/14474) Vector set: vectorized the quantized 8-bit vector distance calculation (Intel, AMD) - [#&#8203;14492](https://github.com/redis/redis/issues/14492) Vector set: vectorize binary quantization path for vectorsets distance calculation (Intel, AMD) ##### Configuration parameters - [#&#8203;14719](https://github.com/redis/redis/issues/14719) `cluster-slot-stats-enabled` - per-slot resource consumptions statistics to collect - [#&#8203;14695](https://github.com/redis/redis/issues/14695) `key-memory-histograms` collect memory consumption histograms per data type ##### Metrics - [#&#8203;14695](https://github.com/redis/redis/issues/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. ### [`v8.4.5`](https://github.com/redis/redis/releases/tag/8.4.5) [Compare Source](https://github.com/redis/redis/compare/8.4.4...8.4.5) SECURITY: There are security fixes in the release. ##### Security fixes - A crafted stream RESTORE payload can make two consumers share the same NACK, leading to a use-after-free that may result in Remote Code Execution - [RedisBloom/RedisBloom#1039](https://github.com/RedisBloom/RedisBloom/issues/1039) Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution ##### Bug fixes - [RedisBloom/RedisBloom#1020](https://github.com/RedisBloom/RedisBloom/issues/1020) Replicate `CF.LOADCHUNK` data chunks to prevent silent Cuckoo Filter data loss on failover ### [`v8.4.4`](https://github.com/redis/redis/releases/tag/8.4.4) [Compare Source](https://github.com/redis/redis/compare/8.4.3...8.4.4) Update urgency: `HIGH`: There are critical bugs that may affect a subset of users. ##### Bug fixes - [#&#8203;15175](https://github.com/redis/redis/issues/15175), [RediSearch/RediSearch#9262](https://github.com/RediSearch/RediSearch/issues/9262) Redis fails to start on AArch64 - [#&#8203;15163](https://github.com/redis/redis/issues/15163) `MULTI` queue memory incorrect memory accounting - [#&#8203;14581](https://github.com/redis/redis/issues/14581) Rare server hang at shutdown - [#&#8203;14545](https://github.com/redis/redis/issues/14545) ACL: AOF loading fails if ACL rules are changed and don't allow some commands in `MULTI`-`EXEC` - [#&#8203;14537](https://github.com/redis/redis/issues/14537) `SCAN`: restore original filter order (revert change introduced in 8.2) - [#&#8203;14816](https://github.com/redis/redis/issues/14816) setModuleEnumConfig() passing prefixed name to module callbacks - [#&#8203;14659](https://github.com/redis/redis/issues/14659) ACL: Key-pattern bypass in `MSETEX` - [#&#8203;14623](https://github.com/redis/redis/issues/14623) Streams: `XTRIM`/`XADD` with approx mode (`~`) don’t delete entries for `DELREF`/`ACKED` strategies - [#&#8203;14552](https://github.com/redis/redis/issues/14552) Streams: Incorrect behavior when using `XDELEX ... ACKED` after `XGROUP DESTROY` - [#&#8203;14848](https://github.com/redis/redis/issues/14848) Crash during command processing on replicas performing full synchronization - [#&#8203;15188](https://github.com/redis/redis/issues/15188) `cluster-announce-ip` rejecting hostnames (regression) - [#&#8203;14667](https://github.com/redis/redis/issues/14667), [#&#8203;14886](https://github.com/redis/redis/issues/14886) Potential TCP stalls/deadlocks - [RediSearch/RediSearch#9484](https://github.com/RediSearch/RediSearch/issues/9484) Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542) - [RediSearch/RediSearch#9635](https://github.com/RediSearch/RediSearch/issues/9635) Severe latency spikes and shard unresponsiveness when `EXPIRE` or `EXPIREAT` operations run concurrently with queries on large indexes (MOD-14930) ### [`v8.4.3`](https://github.com/redis/redis/releases/tag/8.4.3) [Compare Source](https://github.com/redis/redis/compare/8.4.2...8.4.3) Update urgency: `SECURITY`: There are security fixes in the release. ##### Security fixes - (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution. - (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution - (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution - (CVE-2026-25588) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Time Series) - (CVE-2026-25589) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Probabilistic) ##### Bug fixes - `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788) - `CONFIG SET`: some settings allow invalid characters (RED-167787) - `SCRIPT DEBUG`: potential crash on scripts (RED-175507) - `VADD`: crash or buffer overflow on large `REDUCE` value (RED-170921) - `VSET`: crash on huge allocations (MOD-12678) - Potential crash on disconnections and TLS failures (Time Series) (MOD-14850) - [RediSearch/RediSearch#8744](https://github.com/RediSearch/RediSearch/issues/8744) Crash when many keys receive expirations under heavy TTL activity (MOD-14500) - [RediSearch/RediSearch#8849](https://github.com/RediSearch/RediSearch/issues/8849) HNSW vector index memory growth under high-churn workloads until shard restart (MOD-13761) - [RediSearch/RediSearch#8258](https://github.com/RediSearch/RediSearch/issues/8258) `FT.HYBRID` `VSIM RANGE` + `FILTER` incorrectly returns zero results (MOD-13885) - [RediSearch/RediSearch#9183](https://github.com/RediSearch/RediSearch/issues/9183) `FT.PROFILE HYBRID` returns an empty reply (MOD-14778) - [RediSearch/RediSearch#9048](https://github.com/RediSearch/RediSearch/issues/9048) `FT.PROFILE` output is inconsistent when a profiled value is missing (MOD-10560) - [RediSearch/RediSearch#8792](https://github.com/RediSearch/RediSearch/issues/8792) `FT.EXPLAIN` does not lock, causing a race with concurrent index changes (MOD-14461) - [RediSearch/RediSearch#8384](https://github.com/RediSearch/RediSearch/issues/8384) Crash when indexing negative zero (-0.0) (MOD-13904) - [RediSearch/RediSearch#8596](https://github.com/RediSearch/RediSearch/issues/8596) `FILTER` returns inconsistent results with multiple indexes sharing field aliases (MOD-14063) - [RediSearch/RediSearch#8661](https://github.com/RediSearch/RediSearch/issues/8661) `FILTER` behavior depends on property order in the expression (MOD-14065) - [RediSearch/RediSearch#8598](https://github.com/RediSearch/RediSearch/issues/8598) Filter expressions are evaluated for indexes that do not match the document type (MOD-14064) - [RediSearch/RediSearch#8597](https://github.com/RediSearch/RediSearch/issues/8597) Documents are inconsistently included or excluded depending on the indexing path taken (MOD-13948) - [RediSearch/RediSearch#8595](https://github.com/RediSearch/RediSearch/issues/8595) `RENAME` notification handler loads the wrong key, causing stale index entries after a rename (MOD-14062) - [RediSearch/RediSearch#9011](https://github.com/RediSearch/RediSearch/issues/9011) `PERSIST` and `HPERSIST` notifications are not reflected in index expiration tracking (MOD-14800) - [RediSearch/RediSearch#9080](https://github.com/RediSearch/RediSearch/issues/9080) `FT.SPELLCHECK` treats `PARAMS` placeholders as literal terms instead of resolving them (MOD-10596) - [RediSearch/RediSearch#8461](https://github.com/RediSearch/RediSearch/issues/8461) GC out-of-memory on replica shards leaves the replica in an inconsistent state (MOD-14066) - [RediSearch/RediSearch#9091](https://github.com/RediSearch/RediSearch/issues/9091) Race condition in `FT.HYBRID` causes intermittent failures under concurrent hybrid query load (MOD-14732) - [RediSearch/RediSearch#9161](https://github.com/RediSearch/RediSearch/issues/9161) Coordinator deadlock under mixed `FT.SEARCH` and `FT.AGGREGATE` load (MOD-14268) - [RediSearch/RediSearch#9165](https://github.com/RediSearch/RediSearch/issues/9165) Crash on `FT.SEARCH` when topology validation fails (for example, some nodes unreachable) (MOD-14475) - [RediSearch/RediSearch#8394](https://github.com/RediSearch/RediSearch/issues/8394) `FT.SEARCH` fails with "Query requires unavailable slots" after shard restart or failover (MOD-13828) - [RediSearch/RediSearch#8452](https://github.com/RediSearch/RediSearch/issues/8452) `FT.INFO`-style output no longer reports zero-index summary data when no indices exist (MOD-14080) - [RediSearch/RediSearch#9077](https://github.com/RediSearch/RediSearch/issues/9077) `FT.CREATE` now rejects schema definitions with invalid option combinations at creation time (MOD-14655) ##### Metrics - [RediSearch/RediSearch#8210](https://github.com/RediSearch/RediSearch/issues/8210), [RediSearch/RediSearch#8231](https://github.com/RediSearch/RediSearch/issues/8231) `FT.PROFILE`: added queue time tracking (MOD-13602) ### [`v8.4.2`](https://github.com/redis/redis/releases/tag/8.4.2) [Compare Source](https://github.com/redis/redis/compare/8.4.1...8.4.2) SECURITY: There is a security fix in the release ##### Security fixes - A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply ### [`v8.4.1`](https://github.com/redis/redis/releases/tag/8.4.1) [Compare Source](https://github.com/redis/redis/compare/8.4.0...8.4.1) Update urgency: `SECURITY`: There are security fixes in the release. ##### Security fixes - [RedisTimeSeries/RedisTimeSeries#1837](https://github.com/RedisTimeSeries/RedisTimeSeries/issues/1837), [RedisJSON/RedisJSON#1474](https://github.com/RedisJSON/RedisJSON/issues/1474) Hide Personally Identifiable Information from server log - [RedisBloom/RedisBloom#936](https://github.com/RedisBloom/RedisBloom/issues/936) Cuckoo filter: crash on RDB load on 0 buckets (MOD-11593) - [RedisBloom/RedisBloom#945](https://github.com/RedisBloom/RedisBloom/issues/945) Bloom filter: crash on RDB load on large number of filters (MOD-11590) ##### Bug fixes - [#&#8203;14637](https://github.com/redis/redis/issues/14637) Atomic slot migration: wrong adjacent slot range behavior - [#&#8203;14567](https://github.com/redis/redis/issues/14567) Atomic slot migration: support delay trimming slots after finishing migrating slots - [#&#8203;14746](https://github.com/redis/redis/issues/14746) `CLUSTER SLOT-STATS`: Fix few memory tracking bugs - [RedisTimeSeries/RedisTimeSeries#1864](https://github.com/RedisTimeSeries/RedisTimeSeries/issues/1864) Atomic slot migration: time series limitations (MOD-13611) - [RediSearch/RediSearch#6973](https://github.com/RediSearch/RediSearch/issues/6973) Correct empty string token counting in byteOffset calculations to ensure accurate text position tracking (MOD-11233) - [RediSearch/RediSearch#6995](https://github.com/RediSearch/RediSearch/issues/6995) Prevent `FT.INFO` command fanout to replicas to reduce unnecessary cluster traffic - [RediSearch/RediSearch#7154](https://github.com/RediSearch/RediSearch/issues/7154) Display Background Indexing OOM warning in `FT.AGGREGATE` when memory limits are approached (MOD-11817) - [RediSearch/RediSearch#7219](https://github.com/RediSearch/RediSearch/issues/7219) Resolve concurrency issue in `FT.AGGREGATE`reducer that caused intermittent errors (MOD-12243) - [RediSearch/RediSearch#7255](https://github.com/RediSearch/RediSearch/issues/7255) Correct `BM25STD` underflow wraparound to prevent incorrect scoring (MOD-12223) - [RediSearch/RediSearch#7264](https://github.com/RediSearch/RediSearch/issues/7264) Ensure accurate `totalDocsLen` updates to maintain correct document statistics (MOD-12234) - [RediSearch/RediSearch#7275](https://github.com/RediSearch/RediSearch/issues/7275) Report used memory as unsigned long to prevent overflow (RED-169833) - [RediSearch/RediSearch#7350](https://github.com/RediSearch/RediSearch/issues/7350) `FT.CREATE` with LeanVec parameters on non-Intel architectures (RED-176382) - [RediSearch/RediSearch#7371](https://github.com/RediSearch/RediSearch/issues/7371) Validate `search-min-operation-workers` min value correctly (MOD-12383) - [RediSearch/RediSearch#7430](https://github.com/RediSearch/RediSearch/issues/7430) Prevent coordinator deadlock in `FT.HYBRID` queries by avoiding index read lock (MOD-12489) - [RediSearch/RediSearch#7435](https://github.com/RediSearch/RediSearch/issues/7435) Ensure full profile output on timeout with `RETURN` policy in `FT.PROFILE` (MOD-12320) - [RediSearch/RediSearch#7446](https://github.com/RediSearch/RediSearch/issues/7446) Remove outdated validation from debug aggregate in cluster mode (MOD-12435) - [RediSearch/RediSearch#7455](https://github.com/RediSearch/RediSearch/issues/7455) Ensure internal cursors are deleted immediately in cluster mode (MOD-12493) - [RediSearch/RediSearch#7458](https://github.com/RediSearch/RediSearch/issues/7458) Correct GC regression that caused stability issues (MOD-12538) - [RediSearch/RediSearch#7460](https://github.com/RediSearch/RediSearch/issues/7460) Prevent potential double-free on error path in Fork GC (MOD-12521) - [RediSearch/RediSearch#7499](https://github.com/RediSearch/RediSearch/issues/7499) Propagate `HGETALL` command in HDT mode (MOD-12662) - [RediSearch/RediSearch#7534](https://github.com/RediSearch/RediSearch/issues/7534) Reduce number of worker threads asynchronously to prevent performance degradation (MOD-12252, MOD-11658) - [RediSearch/RediSearch#7553](https://github.com/RediSearch/RediSearch/issues/7553) Handle `WITHSCORES` correctly when SCORE is sent alone without extra fields in coordinator (MOD-12647) - [RediSearch/RediSearch#7560](https://github.com/RediSearch/RediSearch/issues/7560) Properly handle connection closing in IO thread at shutdown and fix searchRequestCtx freeing on error (MOD-12699) - [RediSearch/RediSearch#7685](https://github.com/RediSearch/RediSearch/issues/7685) Resolve cursor logical leak that could lead to resource exhaustion (MOD-12807) - [RediSearch/RediSearch#7710](https://github.com/RediSearch/RediSearch/issues/7710) Support for `WITHCOUNT` in `FT.AGGREGATE` (MOD-11751) - [RediSearch/RediSearch#7794](https://github.com/RediSearch/RediSearch/issues/7794) Correctly handle binary data with embedded NULLs to prevent crashes (MOD-13010) - [RediSearch/RediSearch#7812](https://github.com/RediSearch/RediSearch/issues/7812) Correct SVS GC for no-workers case (MOD-12983) - [RediSearch/RediSearch#7815](https://github.com/RediSearch/RediSearch/issues/7815) Fix command routing in cluster mode by not relying on shard index (MOD-13049) - [RediSearch/RediSearch#7823](https://github.com/RediSearch/RediSearch/issues/7823) Support vector blob only through parameter in `FT.HYBRID`(MOD-13123) - [RediSearch/RediSearch#7873](https://github.com/RediSearch/RediSearch/issues/7873) Handle warnings in empty `FT.AGGREGATE` replies in cluster mode (MOD-12640) - [RediSearch/RediSearch#7897](https://github.com/RediSearch/RediSearch/issues/7897) Remove asserts from DownloadFile to prevent crash (MOD-13096) - [RediSearch/RediSearch#7901](https://github.com/RediSearch/RediSearch/issues/7901) Support multiple warnings in reply to prevent warning loss (MOD-13252) - [RediSearch/RediSearch#7903](https://github.com/RediSearch/RediSearch/issues/7903) Eliminate memory leak in `FT.HYBRID` queries with Active-Active enabled (MOD-13143) - [RediSearch/RediSearch#7886](https://github.com/RediSearch/RediSearch/issues/7886) Remove non-TEXT fields from spec's keys dictionary to prevent incorrect field handling (MOD-13150) - [RediSearch/RediSearch#7905](https://github.com/RediSearch/RediSearch/issues/7905) Remove non-TEXT fields from spec's keys dictionary and refactor keys dict (MOD-13150, MOD-13151) - [RediSearch/RediSearch#7978](https://github.com/RediSearch/RediSearch/issues/7978) Avoid using negative key position values during command registration (MOD-13332) - [RediSearch/RediSearch#8052](https://github.com/RediSearch/RediSearch/issues/8052) Resolve incorrect results when using `LOAD *` with `FT.HYBRID` (MOD-12736, MOD-13556) - [RediSearch/RediSearch#8083](https://github.com/RediSearch/RediSearch/issues/8083) Correct `FULLTEXT` field metric count accuracy (MOD-13432) - [RediSearch/RediSearch#8089](https://github.com/RediSearch/RediSearch/issues/8089) Handle edge case in clusterset (MOD-13562) - [RediSearch/RediSearch#8151](https://github.com/RediSearch/RediSearch/issues/8151) Correct `FT.PROFILE` shard total profile time calculation (MOD-13735, MOD-13181) - [RediSearch/RediSearch#8153](https://github.com/RediSearch/RediSearch/issues/8153) Resolve config registration issue (RED-171841) - [RediSearch/RediSearch#7449](https://github.com/RediSearch/RediSearch/issues/7449) Ensure `FT.HYBRID` respects timeout settings (MOD-11004) - [RediSearch/RediSearch#7238](https://github.com/RediSearch/RediSearch/issues/7238) Initialize GIL\_TIME properly for `FT.PROFILE` (MOD-12553) - [RediSearch/RediSearch#7453](https://github.com/RediSearch/RediSearch/issues/7453) Error behavior on early bailout and split OOM warning for shard and coordinator (MOD-12449) - [RediSearch/RediSearch#7615](https://github.com/RediSearch/RediSearch/issues/7615) Parameter `numDocs` from non-optimized Wildcard iterator (MOD-12392) - [RediSearch/RediSearch#7165](https://github.com/RediSearch/RediSearch/issues/7165) (Redis Enterprise only) `FT.DROPINDEX` as touches-arbitrary-keys for proper cluster handling causing crash on A-A (MOD-11090) - [RediSearch/RediSearch#7023](https://github.com/RediSearch/RediSearch/issues/7023) (Redis Enterprise only) Ensure all `FT.SUG*` commands are hashslot-aware to prevent cluster routing errors (MOD-11756) ##### Performance and resource utilization improvements - [RediSearch/RediSearch#7496](https://github.com/RediSearch/RediSearch/issues/7496) Vector search performance improvements (MOD-12011, MOD-12063, MOD-12629, MOD-12346) - [RediSearch/RediSearch#7519](https://github.com/RediSearch/RediSearch/issues/7519) Reduce number of worker threads asynchronously to improve resource utilization (MOD-12252, MOD-11658) - [RediSearch/RediSearch#7694](https://github.com/RediSearch/RediSearch/issues/7694) Use asynchronous jobs in GC for SVS to reduce blocking (MOD-12668) - [RediSearch/RediSearch#7730](https://github.com/RediSearch/RediSearch/issues/7730) Support `filter_policy` and `batch_size` parameters for vector similarity search tuning (MOD-13007, MOD-12371) - [RediSearch/RediSearch#7782](https://github.com/RediSearch/RediSearch/issues/7782) Resolve SVS GC failures when worker threads are disabled (MOD-12983) - [RediSearch/RediSearch#7572](https://github.com/RediSearch/RediSearch/issues/7572) Implement ASM state machine on notifications (MOD-12170) - [RediSearch/RediSearch#7829](https://github.com/RediSearch/RediSearch/issues/7829) ASM-aware search flow for Active-Active deployments (MOD-12171, MOD-12169) - [RediSearch/RediSearch#7589](https://github.com/RediSearch/RediSearch/issues/7589) Support multiple slot ranges in `search.CLUSTERSET` for flexible cluster topology updates (MOD-11657) - [RediSearch/RediSearch#7862](https://github.com/RediSearch/RediSearch/issues/7862) Support subquery count in `FT.HYBRID` (MOD-11858, MOD-13146) - [RediSearch/RediSearch#7893](https://github.com/RediSearch/RediSearch/issues/7893) Request policy support for cursor operations (MOD-13146, MOD-9573, MOD-8104) - [RediSearch/RediSearch#8087](https://github.com/RediSearch/RediSearch/issues/8087) Warning when cursor may give inaccurate results due to Active-Active replication (MOD-12899) - [RediSearch/RediSearch#7445](https://github.com/RediSearch/RediSearch/issues/7445) Remove outdated validation from Debug Aggregate in cluster mode (MOD-12435) - [RediSearch/RediSearch#7384](https://github.com/RediSearch/RediSearch/issues/7384) Reduce index load from RDB temporary memory overhead (MOD-12212) ##### Metrics - [RediSearch/RediSearch#7960](https://github.com/RediSearch/RediSearch/issues/7960) Persist query warnings across cursor reads (MOD-12984) - [RediSearch/RediSearch#7612](https://github.com/RediSearch/RediSearch/issues/7612) Track `maxprefixexpansions` errors and warnings in info (MOD-12417) - [RediSearch/RediSearch#7872](https://github.com/RediSearch/RediSearch/issues/7872) Handle warnings in empty `FT.AGGREGATE` replies in cluster mode (MOD-12640) - [RediSearch/RediSearch#7900](https://github.com/RediSearch/RediSearch/issues/7900) Support multiple warnings in reply (MOD-13252) - [RediSearch/RediSearch#7576](https://github.com/RediSearch/RediSearch/issues/7576) Track OOM errors and warnings in info (MOD-12418) - [RediSearch/RediSearch#7507](https://github.com/RediSearch/RediSearch/issues/7507) Track timeout errors and warnings in info (MOD-12419) - [RediSearch/RediSearch#7341](https://github.com/RediSearch/RediSearch/issues/7341) Rename `FT.PROFILE` counter fields for clarity (MOD-6056) - [RediSearch/RediSearch#7436](https://github.com/RediSearch/RediSearch/issues/7436), [RediSearch/RediSearch#7427](https://github.com/RediSearch/RediSearch/issues/7427) Enhance `FT.PROFILE` with vector search execution details (MOD-12263) - [RediSearch/RediSearch#7573](https://github.com/RediSearch/RediSearch/issues/7573) Debug support for `FT.PROFILE` command (MOD-12627) - [RediSearch/RediSearch#7736](https://github.com/RediSearch/RediSearch/issues/7736) Add `Internal cursor reads` metric to cluster `FT.PROFILE` output (MOD-12414) - [RediSearch/RediSearch#7692](https://github.com/RediSearch/RediSearch/issues/7692) Declare query error struct on `_FT.CURSOR PROFILE` (MOD-12955) - [RediSearch/RediSearch#7848](https://github.com/RediSearch/RediSearch/issues/7848) Store and display shard ID in profile output (MOD-12321) - [RediSearch/RediSearch#7422](https://github.com/RediSearch/RediSearch/issues/7422) Track syntax and argument errors in query error metrics (MOD-12416) - [RediSearch/RediSearch#7552](https://github.com/RediSearch/RediSearch/issues/7552) Add `active_io_threads` metric (MOD-12069, MOD-12695) - [RediSearch/RediSearch#7622](https://github.com/RediSearch/RediSearch/issues/7622) Add `active_coord_threads` metric (MOD-12694, MOD-12069) - [RediSearch/RediSearch#7564](https://github.com/RediSearch/RediSearch/issues/7564) Add `active_worker_threads` metric (MOD-12694, MOD-12069) - [RediSearch/RediSearch#7626](https://github.com/RediSearch/RediSearch/issues/7626) Add `*_pending_jobs` metrics for job queues (MOD-12069) - [RediSearch/RediSearch#7658](https://github.com/RediSearch/RediSearch/issues/7658) Add pending workers admin jobs metric (MOD-12069, MOD-12791) - [RediSearch/RediSearch#7731](https://github.com/RediSearch/RediSearch/issues/7731) Add `active_topology_update_threads` metric (MOD-12069, MOD-12790) - [RediSearch/RediSearch#7760](https://github.com/RediSearch/RediSearch/issues/7760) Extend indexing metrics for more detailed performance data (MOD-12070) ##### Configuration parameters - [RediSearch/RediSearch#7083](https://github.com/RediSearch/RediSearch/issues/7083) Add default scorer configuration option (MOD-10037) ### [`v8.4.0`](https://github.com/redis/redis/releases/tag/8.4.0) [Compare Source](https://github.com/redis/redis/compare/8.2.8...8.4.0) This is the General Availability release of Redis 8.4 in Redis Open Source. ##### Major changes compared to 8.2 - [DIGEST](https://redis.io/docs/latest/commands/digest/), [DELEX](https://redis.io/docs/latest/commands/delex/); [SET](https://redis.io/docs/latest/commands/set/) extensions - atomic compare-and-set and compare-and-delete for string keys - [MSETEX](https://redis.io/docs/latest/commands/msetex/) - atomically set multiple string keys and update their expiration - [XREADGROUP](https://redis.io/docs/latest/commands/xreadgroup/) - new `CLAIM` option for reading both idle pending and incoming stream entries - [CLUSTER MIGRATION](https://redis.io/docs/latest/commands/cluster-migration/) - atomic slot migration - [CLUSTER SLOT-STATS](https://redis.io/docs/latest/commands/cluster-slot-stats/) - per-slot usage metrics: key count, CPU time, and network I/O - Redis query engine: [FT.HYBRID](https://redis.io/docs/latest/commands/ft.hybrid/) - hybrid search and fused scoring - Redis query engine: I/O threading with performance boost for search and query commands (`FT.*`) - I/O threading: substantial throughput increase (e.g. >30% for caching use cases (10% `SET`, 90% `GET`), 4 cores) - JSON: substantial memory reduction for homogenous arrays (up to 92%) For more details, see the [8.4 release](https://redis.io/blog/redis-8-4-open-source-ga/) blog post, the [Atomic slot migration with Redis 8.4](https://redis.io/blog/atomic-slot-migration/) blog post, the [Simplifying streams and string](https://redis.io/blog/simplifying-streams-and-strings/) blog post, and the [Revamping context-oriented retrieval with hybrid search in Redis 8.4](https://redis.io/blog/revamping-context-oriented-retrieval-with-hybrid-search-in-redis-84/) blog post. ##### 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.4 on - Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat) - Rocky Linux 8.10, 9.5 - AlmaLinux 8.10, 9.5 - Debian 12 (Bookworm), Debian 13 (Trixie) - macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia) ##### Bug fixes (compared to 8.4-RC1) - [#&#8203;14524](https://github.com/redis/redis/issues/14524) `XREADGROUP CLAIM` returns strings instead of integers - [#&#8203;14529](https://github.com/redis/redis/issues/14529) Add variable key-spec flags to `SET IF*` and `DELEX` - [#P928](https://github.com/RedisBloom/RedisBloom/pull/928) Potential memory leak (MOD-11484) - [#T1801](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1801), [#T1805](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1805) macOS build failures (MOD-12293) - [#J1438](https://github.com/RedisJSON/RedisJSON/pull/1438) `JSON.NUMINCRBY` - wrong result on integer array with non-integer increment (MOD-12282) - [#J1437](https://github.com/RedisJSON/RedisJSON/pull/1437) Thread safety issue related to ASM and shared strings (MOD-12013) ##### Performance and resource utilization improvements (compared to 8.4-RC1) - [#&#8203;14480](https://github.com/redis/redis/issues/14480), [#&#8203;14516](https://github.com/redis/redis/issues/14516) Optimize `XREADGROUP` ##### known bugs and limitations - When executing `FT.SEARCH`, `FT.AGGREGATE`, `FT.CURSOR`, `FT.HYBRID`, `TS.MGET`, `TS.MRANGE`, `TS.MREVRANGE`, and `TS.QUERYINDEX` while an atomic slot migration process is in progress, the results may be partial or contain duplicates - `FT.PROFILE`, `FT.EXPLAIN`, and `FT.EXPLACINCLI` do not contain the `FT.HYBRID` option - Metrics from `FT.HYBRID` command are not displayed on `FT.INFO` and `INFO` - `FT.HYBRID`: the `EXPLAINSCORE`, `SHARD_K_RATIO`, `YIELD_DISTANCE_AS`, and `WITHCURSOR` options are not supported - `FT.HYBRID`: post-filtering (after `COMBINE` step) using `FILTER` is not supported - `FT.HYBRID`: the default response format considers only `key_id` and `score`. This may change for delivering the entire document content ### [`v8.2.8`](https://github.com/redis/redis/releases/tag/8.2.8) [Compare Source](https://github.com/redis/redis/compare/8.2.7...8.2.8) SECURITY: There are security fixes in the release. ##### Security fixes - A crafted stream RESTORE payload can make two consumers share the same NACK, leading to a use-after-free that may result in Remote Code Execution - [RedisBloom/RedisBloom#1041](https://github.com/RedisBloom/RedisBloom/issues/1041) Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution ##### Bug fixes - [RedisBloom/RedisBloom#1019](https://github.com/RedisBloom/RedisBloom/issues/1019) Replicate `CF.LOADCHUNK` data chunks to prevent silent Cuckoo Filter data loss on failover ### [`v8.2.7`](https://github.com/redis/redis/releases/tag/8.2.7) [Compare Source](https://github.com/redis/redis/compare/8.2.6...8.2.7) Update urgency: `HIGH`: There are critical bugs that may affect a subset of users. ##### Bug fixes - [#&#8203;15175](https://github.com/redis/redis/issues/15175), [RediSearch/RediSearch#9262](https://github.com/RediSearch/RediSearch/issues/9262) Redis fails to start on AArch64 - [#&#8203;14537](https://github.com/redis/redis/issues/14537) `SCAN`: restore original filter order (revert change introduced in 8.2) - [#&#8203;14816](https://github.com/redis/redis/issues/14816) setModuleEnumConfig() passing prefixed name to module callbacks - [#&#8203;14623](https://github.com/redis/redis/issues/14623) Streams: `XTRIM`/`XADD` with approx mode (`~`) don’t delete entries for `DELREF`/`ACKED` strategies - [#&#8203;14552](https://github.com/redis/redis/issues/14552) Streams: Incorrect behavior when using `XDELEX...`ACKED`after`XGROUP DESTROY\` - [#&#8203;14420](https://github.com/redis/redis/issues/14420) Shutdown blocked client not being properly reset after shutdown cancellation - [#&#8203;14415](https://github.com/redis/redis/issues/14415) Potential crash in `lookupKey()` when `executing_client` is NULL - [#&#8203;14417](https://github.com/redis/redis/issues/14417) `CLUSTER FORGET` - heap-buffer-overflow - [#&#8203;15188](https://github.com/redis/redis/issues/15188) `cluster-announce-ip` rejecting hostnames (regression) - [#&#8203;14667](https://github.com/redis/redis/issues/14667), [#&#8203;14886](https://github.com/redis/redis/issues/14886) Potential TCP stalls/deadlocks - [RediSearch/RediSearch#9484](https://github.com/RediSearch/RediSearch/issues/9484) Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542) - [RediSearch/RediSearch#9635](https://github.com/RediSearch/RediSearch/issues/9635) Severe latency spikes and shard unresponsiveness when `EXPIRE` or `EXPIREAT` operations run concurrently with queries on large indexes (MOD-14930) ### [`v8.2.6`](https://github.com/redis/redis/releases/tag/8.2.6) [Compare Source](https://github.com/redis/redis/compare/8.2.5...8.2.6) Update urgency: `SECURITY`: There are security fixes in the release. ##### Security fixes - (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution. - (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution - (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution - (CVE-2026-25588) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Time Series) - (CVE-2026-25589) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Probabilistic) ##### Bug fixes - `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788) - `CONFIG SET`: some settings allow invalid characters (RED-167787) - `SCRIPT DEBUG`: potential crash on scripts (RED-175507) - `VADD`: crash or buffer overflow on large `REDUCE` value (RED-170921) - `VSET`: crash on huge allocations (MOD-12678) - Potential crash on disconnections and TLS failures (Time Series) (MOD-14850) - [RediSearch/RediSearch#8743](https://github.com/RediSearch/RediSearch/issues/8743) Crash when many keys receive expirations under heavy TTL activity (MOD-14500) - [RediSearch/RediSearch#8850](https://github.com/RediSearch/RediSearch/issues/8850) HNSW vector index memory growth under high-churn workloads until shard restart (MOD-13761) - [RediSearch/RediSearch#9178](https://github.com/RediSearch/RediSearch/issues/9178) Coordinator deadlock under mixed `FT.SEARCH` and `FT.AGGREGATE` load (MOD-14268) - [RediSearch/RediSearch#9049](https://github.com/RediSearch/RediSearch/issues/9049) `FT.PROFILE` output is inconsistent when a profiled value is missing (MOD-10560) - [RediSearch/RediSearch#8793](https://github.com/RediSearch/RediSearch/issues/8793) `FT.EXPLAIN` does not lock, causing a race with concurrent index changes (MOD-14461) - [RediSearch/RediSearch#8600](https://github.com/RediSearch/RediSearch/issues/8600) `FILTER` returns inconsistent results with multiple indexes sharing field aliases (MOD-14063) - [RediSearch/RediSearch#8662](https://github.com/RediSearch/RediSearch/issues/8662) `FILTER` behavior depends on property order in the expression (MOD-14342) - [RediSearch/RediSearch#8602](https://github.com/RediSearch/RediSearch/issues/8602) Filter expressions are evaluated for indexes that do not match the document type (MOD-14064) - [RediSearch/RediSearch#8601](https://github.com/RediSearch/RediSearch/issues/8601) Documents are inconsistently included or excluded depending on the indexing path taken (MOD-13948) - [RediSearch/RediSearch#8599](https://github.com/RediSearch/RediSearch/issues/8599) `RENAME` notification handler loads the wrong key, causing stale index entries after a rename (MOD-14062) - [RediSearch/RediSearch#9019](https://github.com/RediSearch/RediSearch/issues/9019) `PERSIST` and `HPERSIST` notifications are not reflected in index expiration tracking (MOD-14800) - [RediSearch/RediSearch#9081](https://github.com/RediSearch/RediSearch/issues/9081) `FT.SPELLCHECK` treats `PARAMS` placeholders as literal terms instead of resolving them (MOD-10596) - [RediSearch/RediSearch#8464](https://github.com/RediSearch/RediSearch/issues/8464) GC out-of-memory on replica shards leaves the replica in an inconsistent state (MOD-14066) - [RediSearch/RediSearch#8888](https://github.com/RediSearch/RediSearch/issues/8888) `FT.CURSOR` enters an infinite loop when the ACL user lacks specific permissions (MOD-14479) - [RediSearch/RediSearch#9166](https://github.com/RediSearch/RediSearch/issues/9166) Crash on `FT.SEARCH` when topology validation fails (for example, some nodes unreachable) (MOD-14475) - [RediSearch/RediSearch#8453](https://github.com/RediSearch/RediSearch/issues/8453) `FT.INFO`-style output no longer reports zero-index summary data when no indices exist (MOD-14081) - [RediSearch/RediSearch#9076](https://github.com/RediSearch/RediSearch/issues/9076) `FT.CREATE` now rejects schema definitions with invalid option combinations at creation time (MOD-14655) ##### Metrics - [RediSearch/RediSearch#8235](https://github.com/RediSearch/RediSearch/issues/8235) `FT.PROFILE`: added queue time tracking (MOD-13602) ### [`v8.2.5`](https://github.com/redis/redis/releases/tag/8.2.5) [Compare Source](https://github.com/redis/redis/compare/8.2.4...8.2.5) SECURITY: There is a security fix in the release ##### Security fixes - A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply ### [`v8.2.4`](https://github.com/redis/redis/releases/tag/8.2.4) [Compare Source](https://github.com/redis/redis/compare/8.2.3...8.2.4) Update urgency: `SECURITY`: There are security fixes in the release. ##### Security fixes - [RedisTimeSeries/RedisTimeSeries#1837](https://github.com/RedisTimeSeries/RedisTimeSeries/issues/1837), [RedisJSON/RedisJSON#1474](https://github.com/RedisJSON/RedisJSON/issues/1474) Hide Personally Identifiable Information from server log ##### Bug fixes - [RedisJSON/RedisJSON#1430](https://github.com/RedisJSON/RedisJSON/issues/1430) Malformed panic log messages (MOD-9365) - [RedisBloom/RedisBloom#945](https://github.com/RedisBloom/RedisBloom/issues/945) Bloom filter: crash on RDB load on large number of filters (MOD-11590) - [RediSearch/RediSearch#6973](https://github.com/RediSearch/RediSearch/issues/6973) Correct empty string token counting in byteOffset calculations to ensure accurate text position tracking (MOD-11233) - [RediSearch/RediSearch#6995](https://github.com/RediSearch/RediSearch/issues/6995) Prevent `FT.INFO` command fanout to replicas to reduce unnecessary cluster traffic - [RediSearch/RediSearch#7034](https://github.com/RediSearch/RediSearch/issues/7034) Correct goto statement handling on RDB load - [RediSearch/RediSearch#7154](https://github.com/RediSearch/RediSearch/issues/7154) Display Background Indexing OOM warning in `FT.AGGREGATE` when memory limits are approached (MOD-11817) - [RediSearch/RediSearch#7219](https://github.com/RediSearch/RediSearch/issues/7219) Resolve concurrency issue in Reducer that caused intermittent errors (MOD-12243) - [RediSearch/RediSearch#7255](https://github.com/RediSearch/RediSearch/issues/7255) Correct `BM25STD` underflow wraparound to prevent incorrect scoring (MOD-12223) - [RediSearch/RediSearch#7264](https://github.com/RediSearch/RediSearch/issues/7264) Ensure accurate `totalDocsLen` updates to maintain correct document statistics (MOD-12234) - [RediSearch/RediSearch#7275](https://github.com/RediSearch/RediSearch/issues/7275) Report used memory as unsigned long to prevent overflow (RED-169833) - [RediSearch/RediSearch#7350](https://github.com/RediSearch/RediSearch/issues/7350) Allow `FT.CREATE` with LeanVec parameters on non-Intel architectures (RED-176382) - [RediSearch/RediSearch#7384](https://github.com/RediSearch/RediSearch/issues/7384) Reduce index load from RDB temporary memory overhead (MOD-12212) - [RediSearch/RediSearch#7435](https://github.com/RediSearch/RediSearch/issues/7435) Ensure full profile output on timeout with `RETURN` policy in `FT.PROFILE` (MOD-12320) - [RediSearch/RediSearch#7446](https://github.com/RediSearch/RediSearch/issues/7446) Remove outdated validation from debug aggregate in cluster mode (MOD-12435) - [RediSearch/RediSearch#7458](https://github.com/RediSearch/RediSearch/issues/7458) Correct GC regression that caused stability issues (MOD-12538) - [RediSearch/RediSearch#7459](https://github.com/RediSearch/RediSearch/issues/7459) Prevent potential double-free in Fork GC error path (MOD-12521) - [RediSearch/RediSearch#7470](https://github.com/RediSearch/RediSearch/issues/7470) Remove draining from Flush callback to avoid blocking - [RediSearch/RediSearch#7499](https://github.com/RediSearch/RediSearch/issues/7499) Propagate `HGETALL` command in HDT mode (MOD-12662) - [RediSearch/RediSearch#7534](https://github.com/RediSearch/RediSearch/issues/7534) Reduce number of worker threads asynchronously to prevent performance degradation (MOD-12252, MOD-11658) - [RediSearch/RediSearch#7554](https://github.com/RediSearch/RediSearch/issues/7554) Handle Coordinator case when `SCORE` is sent alone without extra fields (MOD-12647) - [RediSearch/RediSearch#7561](https://github.com/RediSearch/RediSearch/issues/7561) Prevent memory corruption when freeing searchRequestCtx on error (MOD-12699) - [RediSearch/RediSearch#7685](https://github.com/RediSearch/RediSearch/issues/7685) Resolve cursor logical leak that could lead to resource exhaustion (MOD-12807) - [RediSearch/RediSearch#7710](https://github.com/RediSearch/RediSearch/issues/7710) Add support for `WITHCOUNT` in `FT.AGGREGATE` (MOD-11751) - [RediSearch/RediSearch#7794](https://github.com/RediSearch/RediSearch/issues/7794) Correctly handle binary data with embedded NULLs to prevent crashes (MOD-13010) - [RediSearch/RediSearch#7812](https://github.com/RediSearch/RediSearch/issues/7812) Correct SVS GC for no-workers case (MOD-12983) - [RediSearch/RediSearch#7873](https://github.com/RediSearch/RediSearch/issues/7873) Handle warnings in empty `FT.AGGREGATE` replies in cluster mode (MOD-12640) - [RediSearch/RediSearch#7886](https://github.com/RediSearch/RediSearch/issues/7886) Remove non-TEXT fields from spec's keys dictionary to prevent incorrect field handling (MOD-13150) - [RediSearch/RediSearch#7901](https://github.com/RediSearch/RediSearch/issues/7901) Support multiple warnings in reply to prevent warning loss (MOD-13252) - [RediSearch/RediSearch#8083](https://github.com/RediSearch/RediSearch/issues/8083) Correct `FULLTEXT` field metric count accuracy (MOD-13432) - [RediSearch/RediSearch#8153](https://github.com/RediSearch/RediSearch/issues/8153) Resolve config registration issue (RED-171841) - [RediSearch/RediSearch#7371](https://github.com/RediSearch/RediSearch/issues/7371) Validate `search-min-operation-workers` min value correctly (MOD-12383) - [RediSearch/RediSearch#8151](https://github.com/RediSearch/RediSearch/issues/8151) Correct `FT.PROFILE` shard total profile time calculation (MOD-13735, MOD-13181) - [RediSearch/RediSearch#7165](https://github.com/RediSearch/RediSearch/issues/7165) (Redis Enterprise only) `FT.DROPINDEX` as touches-arbitrary-keys for proper cluster handling causing crash on A-A (MOD-11090) - [RediSearch/RediSearch#7023](https://github.com/RediSearch/RediSearch/issues/7023) (Redis Enterprise only) Ensure all `FT.SUG*` commands are hashslot-aware to prevent cluster routing errors (MOD-11756) ##### Performance and resource utilization improvements - [RediSearch/RediSearch#7496](https://github.com/RediSearch/RediSearch/issues/7496) Vector search performance improvements (MOD-12011, MOD-12063, MOD-12629, MOD-12346) - [RediSearch/RediSearch#7694](https://github.com/RediSearch/RediSearch/issues/7694) Use asynchronous jobs in GC for SVS to reduce blocking (MOD-12668) ##### Metrics - [RediSearch/RediSearch#7614](https://github.com/RediSearch/RediSearch/issues/7614) Track timeout errors and warnings in info (MOD-12419) - [RediSearch/RediSearch#7646](https://github.com/RediSearch/RediSearch/issues/7646) Track `maxprefixexpansions` errors and warnings in info (MOD-12417) - [RediSearch/RediSearch#7957](https://github.com/RediSearch/RediSearch/issues/7957) Persist query warnings across cursor reads (MOD-12984) - [RediSearch/RediSearch#7341](https://github.com/RediSearch/RediSearch/issues/7341) Rename `FT.PROFILE` counter fields for clarity (MOD-6056) - [RediSearch/RediSearch#7436](https://github.com/RediSearch/RediSearch/issues/7436) Enhance `FT.PROFILE` with vector search execution details (MOD-12263) - [RediSearch/RediSearch#7737](https://github.com/RediSearch/RediSearch/issues/7737) Add `Internal cursor reads` metric to cluster `FT.PROFILE` output (MOD-12414) - [RediSearch/RediSearch#7692](https://github.com/RediSearch/RediSearch/issues/7692) Declare query error struct on `_FT.CURSOR PROFILE` (MOD-12955) - [RediSearch/RediSearch#7552](https://github.com/RediSearch/RediSearch/issues/7552) Add `active_io_threads` metric (MOD-12069, MOD-12695) - [RediSearch/RediSearch#7564](https://github.com/RediSearch/RediSearch/issues/7564) Add `active_worker_threads` metric (MOD-12694, MOD-12069) - [RediSearch/RediSearch#7623](https://github.com/RediSearch/RediSearch/issues/7623) Add `active_coord_threads` metric (MOD-12694, MOD-12069) - [RediSearch/RediSearch#7626](https://github.com/RediSearch/RediSearch/issues/7626) Add `*_pending_jobs` metrics for job queues (MOD-12069) - [RediSearch/RediSearch#7672](https://github.com/RediSearch/RediSearch/issues/7672) Add pending workers admin jobs metric (MOD-12069, MOD-12791) - [RediSearch/RediSearch#7732](https://github.com/RediSearch/RediSearch/issues/7732) Introduce `active_topology_update_threads` metric (MOD-12069, MOD-12790) - [RediSearch/RediSearch#7759](https://github.com/RediSearch/RediSearch/issues/7759) Extend indexing metrics for better observability (MOD-12070) ##### Configuration parameters - [RediSearch/RediSearch#7083](https://github.com/RediSearch/RediSearch/issues/7083) Add default scorer configuration option (MOD-10037) ### [`v8.2.3`](https://github.com/redis/redis/releases/tag/8.2.3) [Compare Source](https://github.com/redis/redis/compare/8.2.2...8.2.3) Update urgency: `SECURITY`: There is a security fix in the release. ##### Security fixes - (CVE-2025-62507) `XACKDEL` - potential stack overflow and RCE ##### Bug fixes - `HGETEX` - potential crash when `FIELDS` is used and `numfields` is missing - Potential crash on HyperLogLog with 2GB+ entries - Cuckoo filter - Division by zero in Cuckoo filter insertion - Cuckoo filter - Counter overflow - Bloom filter - Arbitrary memory read/write with invalid filter - Bloom filter - Out-of-bounds access with empty chain - Bloom filter - Restore invalid filter \[We thank AWS security for responsibly disclosing this security bug] - Top-k - Out-of-bounds access ### [`v8.2.2`](https://github.com/redis/redis/releases/tag/8.2.2) [Compare Source](https://github.com/redis/redis/compare/8.2.1...8.2.2) Update urgency: `SECURITY`: There are security fixes in the release ##### Security fixes - (CVE-2025-49844) A Lua script may lead to remote code execution - (CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE - (CVE-2025-46818) A Lua script can be executed in the context of another user - (CVE-2025-46819) LUA out-of-bound read ##### New Features - [#&#8203;14223](https://github.com/redis/redis/issues/14223) `VSIM`: new `EPSILON` argument to specify maximum distance - [#Q6867](https://github.com/RediSearch/RediSearch/pull/6867), [#&#8203;6845](https://github.com/RediSearch/RediSearch/pull/6845) `SVS-VAMANA`: allow use of `BUILD_INTEL_SVS_OPT` flag for Intel optimisations (MOD-10920) ##### Bug fixes - [#&#8203;14319](https://github.com/redis/redis/issues/14319) Potential crash on Lua script defrag - [#&#8203;14323](https://github.com/redis/redis/issues/14323) Potential crash on streams and HFE defrag - [#&#8203;14330](https://github.com/redis/redis/issues/14330) Potential use-after-free after pubsub and Lua defrag - [#&#8203;14288](https://github.com/redis/redis/issues/14288) `MEMORY USAGE`: fix reported value - [#&#8203;14259](https://github.com/redis/redis/issues/14259) `XGROUP CREATE`, `XGROUP SETID`: limit `ENTRIESREAD` value to the number of entries added to the stream - [#J1374](https://github.com/RedisJSON/RedisJSON/issues/1374) `JSON.DEL` doesn’t delete all matching object members / array elements (MOD-11032, MOD-11067) - [#P886](https://github.com/RedisBloom/RedisBloom/pull/886) `TDIGEST.CREATE` crashes (OOM) on huge initialization values (MOD-10840) - [#Q6787](https://github.com/RediSearch/RediSearch/pull/6787) Potential shard restart while reindexing vectors on RDB loading (MOD-11011) - [#Q6676](https://github.com/RediSearch/RediSearch/pull/6676) Potential crash when using small `CONSTRUCTION_WINDOW_SIZE` on `SVS-VAMANA` (MOD-10771) - [#Q6701](https://github.com/RediSearch/RediSearch/pull/6701) Potential crash (OOM) in heavy updates due to a file descriptor leak (MOD-10975) - [#Q6723](https://github.com/RediSearch/RediSearch/pull/6723) Potential crash when using ACL rules (MOD-10748) - [#Q6641](https://github.com/RediSearch/RediSearch/pull/6641) `INFO SEARCH`: `search_used_memory_indexes` vector index memory value incorrect - [#Q6665](https://github.com/RediSearch/RediSearch/pull/6665) `FT.PROFILE`: more accurate execution duration measurements (MOD-10622) ##### Performance and resource utilization - [#Q6648](https://github.com/RediSearch/RediSearch/pull/6648) Improve RESP3 serialization performance (MOD-9687) ##### Metrics - [#Q6671](https://github.com/RediSearch/RediSearch/pull/6671) `INFO SEARCH`: new `SVS-VAMANA` metrics ### [`v8.2.1`](https://github.com/redis/redis/releases/tag/8.2.1) [Compare Source](https://github.com/redis/redis/compare/8.2.0...8.2.1) Update urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent. ##### Bug fixes - [#&#8203;14240](https://github.com/redis/redis/issues/14240) `INFO KEYSIZES` - potential incorrect histogram updates on cluster mode with modules - [#&#8203;14274](https://github.com/redis/redis/issues/14274) Disable Active Defrag during flushing replica - [#&#8203;14276](https://github.com/redis/redis/issues/14276) `XADD` and `XTRIM` can crash the server after loading an RDB - [#Q6601](https://github.com/RediSearch/RediSearch/pull/6601) Potential crash when running `FLUSHDB` (MOD-10681) ##### Performance and resource utilization - Query Engine - LeanVec and LVQ proprietary Intel optimizations were removed from Redis Open Source - [#Q6621](https://github.com/RediSearch/RediSearch/pull/6621) Fix regression in `INFO` (MOD-10779) ### [`v8.2.0`](https://github.com/redis/redis/releases/tag/8.2.0) [Compare Source](https://github.com/redis/redis/compare/8.0.6...8.2.0) This is the General Availability release of Redis 8.2 in Redis Open Source. ##### Major changes compared to 8.0 - Streams - new commands: `XDELEX` and `XACKDEL`; extension to `XADD` and `XTRIM` - Bitmap - `BITOP`: new operators: `DIFF`, `DIFF1`, `ANDOR`, and `ONE` - Query Engine - new SVS-VAMANA vector index type which supports vector compression - More than 15 performance and resource utilization improvements - New metrics: per-slot usage metrics, key size distributions for basic data types, and more ##### 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.2 on - Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat) - Rocky Linux 8.10, 9.5 - AlmaLinux 8.10, 9.5 - Debian 12 (Bookworm) - macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia) ##### Security fixes (compared to 8.2-RC1) - (CVE-2025-32023) Fix out-of-bounds write in `HyperLogLog` commands - (CVE-2025-48367) Retry accepting other connections even if the accepted connection reports an error ##### New Features (compared to 8.2-RC1) - [#&#8203;14141](https://github.com/redis/redis/issues/14141) Keyspace notifications - new event types: - `OVERWRITTEN` - the value of a key is completely overwritten - `TYPE_CHANGED` - key type change ##### Bug fixes (compared to 8.2-RC1) - [#&#8203;14162](https://github.com/redis/redis/issues/14162) Crash when using evport with I/O threads - [#&#8203;14163](https://github.com/redis/redis/issues/14163) `EVAL` crash when error table is empty - [#&#8203;14144](https://github.com/redis/redis/issues/14144) Vector sets - RDB format is not compatible with big endian machines - [#&#8203;14165](https://github.com/redis/redis/issues/14165) Endless client blocking for blocking commands - [#&#8203;14164](https://github.com/redis/redis/issues/14164) Prevent `CLIENT UNBLOCK` from unblocking `CLIENT PAUSE` - [#&#8203;14216](https://github.com/redis/redis/issues/14216) TTL was not removed by the `SET` command - [#&#8203;14224](https://github.com/redis/redis/issues/14224) `HINCRBYFLOAT` removes field expiration on replica ##### Performance and resource utilization improvements (compared to 8.2-RC1) - [#Q6430](https://github.com/RediSearch/RediSearch/pull/6430) More compression variants for the SVS-VAMANA vector index - [#Q6535](https://github.com/RediSearch/RediSearch/pull/6535) `SHARD_K_RATIO` parameter - favor network latency over accuracy for KNN vector query in a Redis cluster (unstable feature) (MOD-10359) - [#&#8203;14144](https://github.com/redis/redis/issues/14144) Vector set - improve RDB loading / RESTORE speed by storing the worst link info ##### Modules API - [#&#8203;14051](https://github.com/redis/redis/issues/14051) `RedisModule_Get*`, `RedisModule_Set*` - allow modules to access Redis configurations - [#&#8203;14114](https://github.com/redis/redis/issues/14114) `RM_UnsubscribeFromKeyspaceEvents` - unregister a module from specific keyspace notifications ### [`v8.0.6`](https://github.com/redis/redis/releases/tag/8.0.6) [Compare Source](https://github.com/redis/redis/compare/8.0.5...8.0.6) SECURITY: There is a security fix in the release ##### Security fixes - A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply ### [`v8.0.5`](https://github.com/redis/redis/releases/tag/8.0.5) [Compare Source](https://github.com/redis/redis/compare/8.0.4...8.0.5) Update urgency: `HIGH`: There are critical bugs that may affect a subset of users. ##### Bug fixes - `HGETEX` - potential crash when `FIELDS` is used and `numfields` is missing - Potential crash on HyperLogLog with 2GB+ entries - Cuckoo filter - Division by zero in Cuckoo filter insertion - Cuckoo filter - Counter overflow - Bloom filter - Arbitrary memory read/write with invalid filter - Bloom filter - Out-of-bounds access with empty chain - Bloom filter - Restore invalid filter \[We thank AWS security for responsibly disclosing the security bug] - Top-k - Out-of-bounds access ### [`v8.0.4`](https://github.com/redis/redis/releases/tag/8.0.4) [Compare Source](https://github.com/redis/redis/compare/8.0.3...8.0.4) Update urgency: `SECURITY`: There are security fixes in the release. ##### Security fixes - (CVE-2025-49844) A Lua script may lead to remote code execution - (CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE - (CVE-2025-46818) A Lua script can be executed in the context of another user - (CVE-2025-46819) LUA out-of-bound read ##### New Features - [#&#8203;14223](https://github.com/redis/redis/issues/14223) `VSIM`: new `EPSILON` argument to specify maximum distance ##### Bug fixes - [#&#8203;14330](https://github.com/redis/redis/issues/14330) Potential use-after-free after pubsub and Lua defrag - [#&#8203;14319](https://github.com/redis/redis/issues/14319) Potential crash on Lua script defrag - [#&#8203;14224](https://github.com/redis/redis/issues/14224) `HINCRBYFLOAT` removes field expiration on replica - [#&#8203;14164](https://github.com/redis/redis/issues/14164) Prevent `CLIENT UNBLOCK` from unblocking `CLIENT PAUSE` - [#&#8203;14165](https://github.com/redis/redis/issues/14165) Endless client blocking for blocking commands - [#&#8203;14144](https://github.com/redis/redis/issues/14144) Vector sets - RDB format is not compatible with big endian machines - [#&#8203;14163](https://github.com/redis/redis/issues/14163) `EVAL` crash when error table is empty - [#&#8203;14143](https://github.com/redis/redis/issues/14143) Gracefully handle short read errors for hashes with TTL during full sync ### [`v8.0.3`](https://github.com/redis/redis/releases/tag/8.0.3) [Compare Source](https://github.com/redis/redis/compare/8.0.2...8.0.3) Update urgency: `SECURITY`: There are security fixes in the release. ##### Security fixes - (CVE-2025-32023) Fix out-of-bounds write in `HyperLogLog` commands - (CVE-2025-48367) Retry accepting other connections even if the accepted connection reports an error ##### New Features - [#&#8203;14065](https://github.com/redis/redis/issues/14065) `VSIM`: Add new `WITHATTRIBS` to return the JSON attribute associated with an element ##### Bug fixes - [#&#8203;14085](https://github.com/redis/redis/issues/14085) A short read may lead to an exit() on a replica - [#&#8203;14092](https://github.com/redis/redis/issues/14092) db->expires is not defragmented ### [`v8.0.2`](https://github.com/redis/redis/releases/tag/8.0.2) [Compare Source](https://github.com/redis/redis/compare/8.0.1...8.0.2) Update urgency: `SECURITY`: There are security fixes in the release. ##### Security fixes - (CVE-2025-27151) redis-check-aof may lead to stack overflow and potential RCE ##### Bug fixes - [#&#8203;14081](https://github.com/redis/redis/issues/14081) Cron-based timers run twice as fast when active defrag is enabled ##### Other general improvements - [#&#8203;14048](https://github.com/redis/redis/issues/14048) `LOLWUT` for Redis 8 ### [`v8.0.1`](https://github.com/redis/redis/releases/tag/8.0.1) [Compare Source](https://github.com/redis/redis/compare/8.0.0...8.0.1) Update urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent. ##### Performance and resource utilization improvements - [#&#8203;13959](https://github.com/redis/redis/issues/13959) Vector sets - faster `VSIM` `FILTER` parsing ##### Bug fixes - [#Q6083](https://github.com/RediSearch/RediSearch/pull/6083) Query Engine - revert default policy `search-on-timeout` to `RETURN` - [#Q6050](https://github.com/RediSearch/RediSearch/pull/6050) Query Engine - `@__key` on `FT.AGGREGATE` used as reserved field name preventing access to Redis keyspace - [#Q6077](https://github.com/RediSearch/RediSearch/pull/6077) Query Engine - crash when calling `FT.CURSOR DEL` while retrieving from the CURSOR ##### Notes - Fixed wrong text in the license files ### [`v8.0.0`](https://github.com/redis/redis/releases/tag/8.0.0) [Compare Source](https://github.com/redis/redis/compare/7.4.10...8.0.0) This is the General Availability release of Redis 8.0 in Redis Open Source. Redis 8.0 deprecates previous Redis and Redis Stack versions. Stand alone RediSearch, RedisJSON, RedisTimeSeries, and RedisBloom are no longer needed as they are now part of Redis. ##### Major changes compared to 7.4.2 - Name change: Redis Community Edition is now Redis Open Source - License change: licensed under your choice of - (a) the Redis Source Available License 2.0 (RSALv2); or - (b) the Server Side Public License v1 (SSPLv1); or - (c) the GNU Affero General Public License (AGPLv3) - Redis Query Engine and 8 new data structures are now an integral part of Redis 8 - (1) Redis Query Engine, which now supports both horizontal and vertical scaling for search, query and vector workloads - (2) JSON - a queryable JSON document - (3) Time series - (4-8) Five probabilistic data structures: Bloom filter, Cuckoo filter, Count-min sketch, Top-k, and t-digest - (9) Vector set \[beta] - a data structure designed for Vector Similarity Search, inspired by Sorted set - These nine components are included in all binary distributions - See instructions in the README.md file on how to build from source with all these components - New configuration file: redis-full.conf - loads Redis with all these components, and contains new configuration parameters for Redis Query Engine and the new data structures - New ACL categories: `@search`, `@json`, `@timeseries`, `@bloom`, `@cuckoo`, `@cms`, `@topk`, `@tdigest` - Commands are also included in the existing ACL categories (`@read`, `@write`, etc.) - More than 30 performance and resource utilization improvements - A new I/O threading implementation which enables throughput increase on multi-core environments (set with `io-threads` configuration parameter) - An improved replication mechanism which is more performant and robust - New hash commands - [HGETDEL](https://redis.io/docs/latest/commands/hgetdel/), [HGETEX](https://redis.io/docs/latest/commands/hgetex/), [HSETEX](https://redis.io/docs/latest/commands/hsetex/) For more details, see the release notes of [8.0-M01](https://github.com/redis/redis/releases/tag/8.0-m01), [8.0-M02](https://github.com/redis/redis/releases/tag/8.0-m02), [8.0-M03](https://github.com/redis/redis/releases/tag/8.0-m03), [8.0-M04](https://github.com/redis/redis/releases/tag/8.0-m04), and [8.0-RC1](https://github.com/redis/redis/releases/tag/8.0-rc1) ##### 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.0 on - Ubuntu 20.04 (Focal Fossa), 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat) - Rocky Linux 8.10, 9.5 - AlmaLinux 8.10, 9.5 - Debian 11 (Bullseye), 12 (Bookworm) - macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia) ##### Supported upgrade paths (by replication or persistence) - From previous Redis versions, without modules - From previous Redis versions with modules (RediSearch, RedisJSON, RedisTimeSeries, RedisBloom) - From Redis Stack 7.2 or 7.4 ##### Security fixes (compared to 8.0-RC1) - (CVE-2025-21605) An unauthenticated client can cause an unlimited growth of output buffers ##### Bug fixes (compared to 8.0-RC1) - [#&#8203;13966](https://github.com/redis/redis/issues/13966), [#&#8203;13932](https://github.com/redis/redis/issues/13932) `CLUSTER SLOTS` - TLS port update not reflected - [#&#8203;13958](https://github.com/redis/redis/issues/13958) `XTRIM`, `XADD` - incorrect lag due to trimming stream - [#&#8203;13931](https://github.com/redis/redis/issues/13931) `HGETEX` - wrong order of keyspace notifications - [#J1337](https://github.com/RedisJSON/RedisJSON/pull/1337) - JSON - `JSON.DEL` emits no `DEL` notification when removing the entire value (MOD-9117) - [#T1742](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1742) - Time Series - `TS.INFO` - `duplicatePolicy` is `nil` when set to the default value (MOD-5423) </details> --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC42LjAiLCJ1cGRhdGVkSW5WZXIiOiI0NC42LjAiLCJ0YXJnZXRCcmFuY2giOiJ0cnVuayIsImxhYmVscyI6WyJtYWpvci11cGdyYWRlIiwicmVub3ZhdGUiXX0=-->
mysticalsoap closed this pull request 2026-08-03 14:03:34 -04:00

Pull request closed

Sign in to join this conversation.
No description provided.