{"id":"src_zCdVQnI2f9R2f5uqLYckj","slug":"redis","name":"redis","type":"github","url":"https://github.com/redis/redis","orgId":"org_LoxZZODAgyZQ0Pujh31qL","productId":null,"productSlug":null,"org":{"id":"org_LoxZZODAgyZQ0Pujh31qL","slug":"redis","name":"Redis"},"isPrimary":true,"isHidden":false,"discovery":"curated","metadata":"{\"wellKnownSweptAt\":\"2026-06-24T06:00:01.224Z\"}","notice":null,"kind":"platform","stars":75100,"starsFetchedAt":"2026-06-25T09:01:57.195Z","releaseCount":98,"releasesLast30Days":3,"avgReleasesPerWeek":0.9,"latestVersion":"8.6.4","latestDate":"2026-06-04T16:36:44.000Z","changelogUrl":null,"hasChangelogFile":false,"lastFetchedAt":"2026-06-25T09:01:57.195Z","lastPolledAt":"2026-06-25T09:01:52.951Z","trackingSince":"2021-07-21T18:10:11.000Z","releases":[{"id":"rel_D8SGRE34olqWEa27AnVPX","version":"8.6.4","type":"feature","title":"8.6.4","summary":"Fixed a startup failure on AArch64 and a cluster crash when CLIENT KILL unsubscribes an SSUBSCRIBE client inside EXEC. Also resolved a use-after-free, integer overflow in SCAN COUNT parameter, Sentinel config injection via SENTINEL SET, TCP stalls/deadlocks, and numerous other correctness issues in MULTI accounting, Lua debugging, XREADGROUP replication, client output buffer tracking, and RDB processing.","titleGenerated":"Redis 8.6.4 fixes startup failure on AArch64 and cluster crash","titleShort":"Startup failure on AArch64 fixed; cluster crash and use-after-free resolved","content":"Update urgency: `HIGH`: There are critical bugs that may affect a subset of users.\r\n\r\n### Bug fixes\r\n\r\n- #15175, RediSearch/RediSearch#9262 Redis fails to start on AArch64\r\n- #15163 `MULTI` queue memory incorrect memory accounting \r\n- #15115 Under-copy in the Lua debugger\r\n- #15094 Cluster crash when `CLIENT KILL` unsubscribes `SSUBSCRIBE` client inside `EXEC`\r\n- #14963 `XREADGROUP`: consumer replication inconsistency\r\n- #14934 Client output buffer memory tracking not accounting for copy-avoided bulk string references\r\n- #14970 Sentinel config injection via `SENTINEL SET`\r\n- #14982 `SCAN` commands: integer overflow in `COUNT` parameter\r\n- #15073 `CLIENT TRACKING`: self-overlap returning non-zero loop index\r\n- #15059 Use-after-free\r\n- #15037 `XINFO STREAM`: wrong value in the per-slot memory tracking\r\n- #15034, #15081 Issues processing corrupt RDB data\r\n- #15021 `HEXPIRE`: overflow on fields count\r\n- #14942 Fix `COMMAND GETKEYS for PFMERGE` with no source keys\r\n- #15188 `cluster-announce-ip` rejecting hostnames (regression)\r\n- #14667, #14886 Potential TCP stalls/deadlocks\r\n- RediSearch/RediSearch#9484 Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542)\r\n- RediSearch/RediSearch#9635 Severe latency spikes and shard unresponsiveness when `EXPIRE` or `EXPIREAT` operations run concurrently with queries on large indexes (MOD-14930)\r\n","publishedAt":"2026-06-04T16:36:44.000Z","fetchedAt":"2026-06-04T18:01:37.539Z","url":"https://github.com/redis/redis/releases/tag/8.6.4","media":[],"coverageCount":0},{"id":"rel_QZKBZS5cHEnhAzJ97gIhn","version":"8.4.4","type":"feature","title":"8.4.4","summary":"Fixed Redis failing to start on AArch64 and a cluster-announce-ip regression rejecting hostnames. Also resolved ACL rule loading failures during AOF recovery, SCAN filter-order reversion, potential TCP deadlocks, stream trim/add bugs, crash during replica synchronization, and latency spikes on concurrent EXPIRE operations with large indexes.","titleGenerated":"Redis 8.4.4 fixes critical startup and cluster bugs","titleShort":"AArch64 startup crash fixed; cluster and ACL bugs resolved","content":"Update urgency: `HIGH`: There are critical bugs that may affect a subset of users.\r\n\r\n### Bug fixes\r\n\r\n- #15175, RediSearch/RediSearch#9262 Redis fails to start on AArch64\r\n- #15163 `MULTI` queue memory incorrect memory accounting \r\n- #14581 Rare server hang at shutdown\r\n- #14545 ACL: AOF loading fails if ACL rules are changed and don't allow some commands in `MULTI`-`EXEC`\r\n- #14537 `SCAN`: restore original filter order (revert change introduced in 8.2)\r\n- #14816 setModuleEnumConfig() passing prefixed name to module callbacks\r\n- #14659 ACL: Key-pattern bypass in `MSETEX`\r\n- #14623 Streams: `XTRIM`/`XADD` with approx mode (`~`) don’t delete entries for `DELREF`/`ACKED` strategies\r\n- #14552 Streams: Incorrect behavior when using `XDELEX...`ACKED` after `XGROUP DESTROY`\r\n- #14848 Crash during command processing on replicas performing full synchronization\r\n- #15188 `cluster-announce-ip` rejecting hostnames (regression)\r\n- #14667, #14886 Potential TCP stalls/deadlocks\r\n- RediSearch/RediSearch#9484 Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542)\r\n- RediSearch/RediSearch#9635 Severe latency spikes and shard unresponsiveness when `EXPIRE` or `EXPIREAT` operations run concurrently with queries on large indexes (MOD-14930)","publishedAt":"2026-06-04T16:35:27.000Z","fetchedAt":"2026-06-04T18:01:37.539Z","url":"https://github.com/redis/redis/releases/tag/8.4.4","media":[],"coverageCount":0},{"id":"rel_rW4UeMAx_hcvazx8DrcAv","version":"8.2.7","type":"feature","title":"8.2.7","summary":"Fixed Redis failing to start on AArch64 and restored original SCAN filter order (reverted a change from 8.2). Also corrected Streams behavior with XTRIM/XADD approx mode and XDELEX after XGROUP DESTROY, fixed a potential crash in lookupKey() when executing_client is NULL, a heap-buffer-overflow in CLUSTER FORGET, and TCP stalls/deadlocks. RediSearch fixes include a shard crash during background JSON vector index scans on Active-Active databases and latency spikes when EXPIRE operations run concurrently with large index queries.","titleGenerated":"Redis 8.2.7 fixes AArch64 startup failure and critical stream bugs","titleShort":"AArch64 startup fixed; stream operation regressions corrected","content":"Update urgency: `HIGH`: There are critical bugs that may affect a subset of users.\r\n\r\n### Bug fixes\r\n\r\n- #15175, RediSearch/RediSearch#9262 Redis fails to start on AArch64\r\n- #14537 `SCAN`: restore original filter order (revert change introduced in 8.2)\r\n- #14816 setModuleEnumConfig() passing prefixed name to module callbacks\r\n- #14623 Streams: `XTRIM`/`XADD` with approx mode (`~`) don’t delete entries for `DELREF`/`ACKED` strategies\r\n- #14552 Streams: Incorrect behavior when using `XDELEX...`ACKED` after `XGROUP DESTROY`\r\n- #14420 Shutdown blocked client not being properly reset after shutdown cancellation\r\n- #14415 Potential crash in `lookupKey()` when `executing_client` is NULL\r\n- #14417 `CLUSTER FORGET` - heap-buffer-overflow\r\n- #15188 `cluster-announce-ip` rejecting hostnames (regression)\r\n- #14667, #14886 Potential TCP stalls/deadlocks\r\n- RediSearch/RediSearch#9484 Shard crash during background index scan of JSON documents with vector fields on Active-Active (CRDT) databases (MOD-15542)\r\n- RediSearch/RediSearch#9635 Severe latency spikes and shard unresponsiveness when `EXPIRE` or `EXPIREAT` operations run concurrently with queries on large indexes (MOD-14930)\r\n","publishedAt":"2026-06-04T16:33:50.000Z","fetchedAt":"2026-06-04T18:01:37.539Z","url":"https://github.com/redis/redis/releases/tag/8.2.7","media":[],"coverageCount":0},{"id":"rel_fQyG1mHwbPbcM2NXGQs_L","version":"8.8.0","type":"feature","title":"8.8.0","summary":"Redis 8.8.0 introduces a new Array data structure and subkey notifications for hash fields, enabling field-level event notifications. New commands include INCREX (a window counter rate limiter), XNACK (explicit pending message release for streams), and expanded aggregation support across sorted set and search commands, plus performance improvements.","titleGenerated":"Redis 8.8.0 adds Array data structure and field-level hash notifications","titleShort":"Array data structure ships; hash fields get notifications","content":"This is the General Availability release of Redis 8.8 in Redis Open Source.\r\n\r\n### Major changes compared to 8.6\r\n\r\n- New data structure: Array (@antirez)\r\n- Subkey notification for hash fields - field-level notifications\r\n- `INCREX`: a window counter rate limiter combining `INCR`, `INCRBY`, `INCRBYFLOAT`, bounds, and expiration (@raffertyyu + Redis team)\r\n- `XNACK`: a new streams command - allow consumers to explicitly release pending messages\r\n- `ZUNION`, `ZINTER`, `ZUNIONSTORE`, `ZINTERSTORE`: new `COUNT` aggregator\r\n- `JSON.SET`: new `FPHA` argument to specify the FP type for homogeneous FP arrays\r\n- `TS.RANGE`, `TS.REVRANGE`, `TS.MRANGE`, `TS.MREVRANGE`: multiple aggregators in a single command\r\n- `FT.HYBRID` `KNN` clause: new argument to request fewer candidates per shard\r\n- `FT.PROFILE` `HYBRID`: profiling support for `FT.HYBRID`\r\n- Performance improvements\r\n\r\n### Binary distributions\r\n\r\n- Alpine and Debian Docker images - https://hub.docker.com/_/redis\r\n- Install using snap - see https://github.com/redis/redis-snap\r\n- Install using brew - see https://github.com/redis/homebrew-redis\r\n- Install using RPM - see https://github.com/redis/redis-rpm\r\n- Install using Debian APT - see https://github.com/redis/redis-debian\r\n\r\n### Operating systems we test Redis 8.8 on\r\n\r\n- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat), 26.04 (Resolute Raccoon)\r\n- Rocky Linux 8.10, 9.7, 10.1\r\n- AlmaLinux 8.10, 9.7, 10.1\r\n- Debian 12.13 (Bookworm), Debian 13.4 (Trixie)\r\n- Alpine 3.23\r\n- macOS 14.8.4 (Sonoma), 15.7.4 (Sequoia), 26.3 (Tahoe) - for both Intel and ARM\r\n\r\n### Bug fixes (compared to 8.8-RC1)\r\n\r\n- #15237 `INCREX` syntax update\r\n- #15005 Memory tracking can be enabled at runtime in non-clustered mode \r\n- RedisTimeSeries/RedisTimeSeries#1930 Cluster topology changes during a multi-shard command are not handled (MOD-14439)\r\n- RedisBloom/RedisBloom#1007 Memory leak on RDB load (MOD-15418)","publishedAt":"2026-05-25T09:29:25.000Z","fetchedAt":"2026-05-25T13:01:49.416Z","url":"https://github.com/redis/redis/releases/tag/8.8.0","media":[],"coverageCount":0},{"id":"rel_7IaNvLbCLZ_VejDMwQADS","version":"8.6.3","type":"feature","title":"8.6.3","summary":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow...","titleGenerated":null,"titleShort":null,"content":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution.\r\n- (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution\r\n- (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution\r\n- (CVE-2026-25588) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Time Series)\r\n- (CVE-2026-25589) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Probabilistic)\r\n\r\n### Bug fixes\r\n\r\n- `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788)\r\n- `CONFIG SET`: some settings allow invalid characters (RED-167787)\r\n- `SCRIPT DEBUG`: potential crash on scripts (RED-175507)\r\n- `VADD`: crash or buffer overflow on large `REDUCE` value (RED-170921)\r\n- `VSET`: crash on huge allocations (MOD-12678)\r\n- Potential crash on disconnections and TLS failures (Time Series) (MOD-14850)\r\n- RediSearch/RediSearch#8745 Crash when many keys receive expirations under heavy TTL activity (MOD-14500)\r\n- RediSearch/RediSearch#8848 HNSW vector index memory growth under high-churn workloads until shard restart (MOD-13761)\r\n- RediSearch/RediSearch#8205, RediSearch/RediSearch#8259 `FT.HYBRID` `VSIM RANGE` + `FILTER` incorrectly returns zero results (MOD-12370, MOD-13884)\r\n- RediSearch/RediSearch#9182 `FT.PROFILE HYBRID` returns an empty reply (MOD-14778)\r\n- RediSearch/RediSearch#8129, RediSearch/RediSearch#8140 `FT.PROFILE` reports an incorrect shard total profile time (MOD-13735, MOD-13181)\r\n- RediSearch/RediSearch#9047 `FT.PROFILE` output is inconsistent when a profiled value is missing (MOD-10560)\r\n- RediSearch/RediSearch#8791 `FT.EXPLAIN` does not lock, causing a race with concurrent index changes (MOD-14461)\r\n- RediSearch/RediSearch#8382 Crash when indexing negative zero (-0.0) (MOD-13904)\r\n- RediSearch/RediSearch#8590 `FILTER` returns inconsistent results with multiple indexes sharing field aliases (MOD-14063)\r\n- RediSearch/RediSearch#8660 `FILTER` behavior depends on property order in the expression (MOD-14065)\r\n- RediSearch/RediSearch#8593 Filter expressions are evaluated for indexes that do not match the document type (MOD-14064)\r\n- RediSearch/RediSearch#8591 Documents are inconsistently included or excluded depending on the indexing path taken (MOD-13948)\r\n- RediSearch/RediSearch#8589 `RENAME` notification handler loads the wrong key, causing stale index entries after a rename (MOD-14328)\r\n- RediSearch/RediSearch#9012 `PERSIST` and `HPERSIST` notifications are not reflected in index expiration tracking (MOD-14800)\r\n- RediSearch/RediSearch#9079 `FT.SPELLCHECK` treats `PARAMS` placeholders as literal terms instead of resolving them (MOD-10596)\r\n- RediSearch/RediSearch#8462 GC out-of-memory on replica shards leaves the replica in an inconsistent state (MOD-14066)\r\n- RediSearch/RediSearch#9066 Race condition in `FT.HYBRID` causes intermittent failures under concurrent hybrid query load (MOD-14732)\r\n- RediSearch/RediSearch#8109, RediSearch/RediSearch#8149 Configuration registration omits module parameters, causing them to be unexposed or misapplied (RED-171841)\r\n- RediSearch/RediSearch#9163 Crash on `FT.SEARCH` when topology validation fails (for example, some nodes unreachable) (MOD-14475)\r\n- RediSearch/RediSearch#8395 `FT.SEARCH` fails with \"Query requires unavailable slots\" after shard restart or failover (MOD-13828)\r\n- RediSearch/RediSearch#8451 `FT.INFO`-style output no longer reports zero-index summary data when no indices exist (MOD-14079)\r\n- RediSearch/RediSearch#9078 `FT.CREATE` now rejects schema definitions with invalid option combinations at creation time (MOD-14655)\r\n- RediSearch/RediSearch#8051, RediSearch/RediSearch#8114 Crash diagnostics now include the `IndexSpec` of the index the failing thread was working on (MOD-7574)\r\n\r\n### Metrics\r\n\r\n- RediSearch/RediSearch#8210, RediSearch/RediSearch#8231 `FT.PROFILE`: added queue time tracking (MOD-13602)\r\n","publishedAt":"2026-05-05T13:37:08.000Z","fetchedAt":"2026-05-05T16:01:16.152Z","url":"https://github.com/redis/redis/releases/tag/8.6.3","media":[],"coverageCount":0},{"id":"rel_4d4PPoFuUL7-BKvuB6FDJ","version":"8.4.3","type":"feature","title":"8.4.3","summary":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow...","titleGenerated":null,"titleShort":null,"content":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution.\r\n- (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution\r\n- (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution\r\n- (CVE-2026-25588) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Time Series)\r\n- (CVE-2026-25589) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Probabilistic)\r\n\r\n### Bug fixes\r\n\r\n- `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788)\r\n- `CONFIG SET`: some settings allow invalid characters (RED-167787)\r\n- `SCRIPT DEBUG`: potential crash on scripts (RED-175507)\r\n- `VADD`: crash or buffer overflow on large `REDUCE` value (RED-170921)\r\n- `VSET`: crash on huge allocations (MOD-12678)\r\n- Potential crash on disconnections and TLS failures (Time Series) (MOD-14850)\r\n- RediSearch/RediSearch#8744 Crash when many keys receive expirations under heavy TTL activity (MOD-14500)\r\n- RediSearch/RediSearch#8849 HNSW vector index memory growth under high-churn workloads until shard restart (MOD-13761)\r\n- RediSearch/RediSearch#8258 `FT.HYBRID` `VSIM RANGE` + `FILTER` incorrectly returns zero results (MOD-13885)\r\n- RediSearch/RediSearch#9183 `FT.PROFILE HYBRID` returns an empty reply (MOD-14778)\r\n- RediSearch/RediSearch#9048 `FT.PROFILE` output is inconsistent when a profiled value is missing (MOD-10560)\r\n- RediSearch/RediSearch#8792 `FT.EXPLAIN` does not lock, causing a race with concurrent index changes (MOD-14461)\r\n- RediSearch/RediSearch#8384 Crash when indexing negative zero (-0.0) (MOD-13904)\r\n- RediSearch/RediSearch#8596 `FILTER` returns inconsistent results with multiple indexes sharing field aliases (MOD-14063)\r\n- RediSearch/RediSearch#8661 `FILTER` behavior depends on property order in the expression (MOD-14065)\r\n- RediSearch/RediSearch#8598 Filter expressions are evaluated for indexes that do not match the document type (MOD-14064)\r\n- RediSearch/RediSearch#8597 Documents are inconsistently included or excluded depending on the indexing path taken (MOD-13948)\r\n- RediSearch/RediSearch#8595 `RENAME` notification handler loads the wrong key, causing stale index entries after a rename (MOD-14062)\r\n- RediSearch/RediSearch#9011 `PERSIST` and `HPERSIST` notifications are not reflected in index expiration tracking (MOD-14800)\r\n- RediSearch/RediSearch#9080 `FT.SPELLCHECK` treats `PARAMS` placeholders as literal terms instead of resolving them (MOD-10596)\r\n- RediSearch/RediSearch#8461 GC out-of-memory on replica shards leaves the replica in an inconsistent state (MOD-14066)\r\n- RediSearch/RediSearch#9091 Race condition in `FT.HYBRID` causes intermittent failures under concurrent hybrid query load (MOD-14732)\r\n- RediSearch/RediSearch#9161 Coordinator deadlock under mixed `FT.SEARCH` and `FT.AGGREGATE` load (MOD-14268)\r\n- RediSearch/RediSearch#9165 Crash on `FT.SEARCH` when topology validation fails (for example, some nodes unreachable) (MOD-14475)\r\n- RediSearch/RediSearch#8394 `FT.SEARCH` fails with \"Query requires unavailable slots\" after shard restart or failover (MOD-13828)\r\n- RediSearch/RediSearch#8452 `FT.INFO`-style output no longer reports zero-index summary data when no indices exist (MOD-14080)\r\n- RediSearch/RediSearch#9077 `FT.CREATE` now rejects schema definitions with invalid option combinations at creation time (MOD-14655)\r\n\r\n### Metrics\r\n\r\n- RediSearch/RediSearch#8210, RediSearch/RediSearch#8231 `FT.PROFILE`: added queue time tracking (MOD-13602)","publishedAt":"2026-05-05T13:32:23.000Z","fetchedAt":"2026-05-05T16:01:16.152Z","url":"https://github.com/redis/redis/releases/tag/8.4.3","media":[],"coverageCount":0},{"id":"rel_Jq2qfSXnlEPEXgnsWcYou","version":"8.2.6","type":"feature","title":"8.2.6","summary":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow...","titleGenerated":null,"titleShort":null,"content":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution.\r\n- (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution\r\n- (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution\r\n- (CVE-2026-25588) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Time Series)\r\n- (CVE-2026-25589) Invalid memory access in `RESTORE` may lead to Remote Code Execution (Probabilistic)\r\n\r\n### Bug fixes\r\n\r\n- `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788)\r\n- `CONFIG SET`: some settings allow invalid characters (RED-167787)\r\n- `SCRIPT DEBUG`: potential crash on scripts (RED-175507)\r\n- `VADD`: crash or buffer overflow on large `REDUCE` value (RED-170921)\r\n- `VSET`: crash on huge allocations (MOD-12678)\r\n- Potential crash on disconnections and TLS failures (Time Series) (MOD-14850)\r\n- RediSearch/RediSearch#8743 Crash when many keys receive expirations under heavy TTL activity (MOD-14500)\r\n- RediSearch/RediSearch#8850 HNSW vector index memory growth under high-churn workloads until shard restart (MOD-13761)\r\n- RediSearch/RediSearch#9178 Coordinator deadlock under mixed `FT.SEARCH` and `FT.AGGREGATE` load (MOD-14268)\r\n- RediSearch/RediSearch#9049 `FT.PROFILE` output is inconsistent when a profiled value is missing (MOD-10560)\r\n- RediSearch/RediSearch#8793 `FT.EXPLAIN` does not lock, causing a race with concurrent index changes (MOD-14461)\r\n- RediSearch/RediSearch#8600 `FILTER` returns inconsistent results with multiple indexes sharing field aliases (MOD-14063)\r\n- RediSearch/RediSearch#8662 `FILTER` behavior depends on property order in the expression (MOD-14342)\r\n- RediSearch/RediSearch#8602 Filter expressions are evaluated for indexes that do not match the document type (MOD-14064)\r\n- RediSearch/RediSearch#8601 Documents are inconsistently included or excluded depending on the indexing path taken (MOD-13948)\r\n- RediSearch/RediSearch#8599 `RENAME` notification handler loads the wrong key, causing stale index entries after a rename (MOD-14062)\r\n- RediSearch/RediSearch#9019 `PERSIST` and `HPERSIST` notifications are not reflected in index expiration tracking (MOD-14800)\r\n- RediSearch/RediSearch#9081 `FT.SPELLCHECK` treats `PARAMS` placeholders as literal terms instead of resolving them (MOD-10596)\r\n- RediSearch/RediSearch#8464 GC out-of-memory on replica shards leaves the replica in an inconsistent state (MOD-14066)\r\n- RediSearch/RediSearch#8888 `FT.CURSOR` enters an infinite loop when the ACL user lacks specific permissions (MOD-14479)\r\n- RediSearch/RediSearch#9166 Crash on `FT.SEARCH` when topology validation fails (for example, some nodes unreachable) (MOD-14475)\r\n- RediSearch/RediSearch#8453 `FT.INFO`-style output no longer reports zero-index summary data when no indices exist (MOD-14081)\r\n- RediSearch/RediSearch#9076 `FT.CREATE` now rejects schema definitions with invalid option combinations at creation time (MOD-14655)\r\n\r\n### Metrics\r\n\r\n- RediSearch/RediSearch#8235 `FT.PROFILE`: added queue time tracking (MOD-13602)\r\n","publishedAt":"2026-05-05T13:30:33.000Z","fetchedAt":"2026-05-05T16:01:16.152Z","url":"https://github.com/redis/redis/releases/tag/8.2.6","media":[],"coverageCount":0},{"id":"rel_sj4kFMsEskIZTtOQOayp2","version":"7.4.9","type":"feature","title":"7.4.9","summary":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow...","titleGenerated":null,"titleShort":null,"content":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution.\r\n- (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution\r\n- (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution\r\n\r\n### Bug fixes\r\n\r\n- `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788)\r\n- `CONFIG SET`: some settings allow invalid characters (RED-167787)\r\n- `SCRIPT DEBUG`: potential crash on scripts (RED-175507)\r\n","publishedAt":"2026-05-05T13:29:16.000Z","fetchedAt":"2026-05-05T16:01:16.152Z","url":"https://github.com/redis/redis/releases/tag/7.4.9","media":[],"coverageCount":0},{"id":"rel_zZZRpTRxdIEx-IKzltc0q","version":"7.2.14","type":"feature","title":"7.2.14","summary":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow...","titleGenerated":null,"titleShort":null,"content":"Update urgency: `SECURITY`: There are security fixes in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution.\r\n- (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution\r\n- (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution\r\n\r\n### Bug fixes\r\n\r\n- `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788)\r\n- `CONFIG SET`: some settings allow invalid characters (RED-167787)\r\n- `SCRIPT DEBUG`: potential crash on scripts (RED-175507)\r\n","publishedAt":"2026-05-05T13:28:17.000Z","fetchedAt":"2026-05-05T16:01:16.152Z","url":"https://github.com/redis/redis/releases/tag/7.2.14","media":[],"coverageCount":0},{"id":"rel_l0k00UuhpB3m2G8lCarzU","version":"6.2.22","type":"feature","title":"6.2.22","summary":"Update urgency: `SECURITY`: There is a security fix in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-25243) Invalid memory access in `RESTORE` may...","titleGenerated":null,"titleShort":null,"content":"Update urgency: `SECURITY`: There is a security fix in the release.\r\n\r\n### Security fixes\r\n\r\n- (CVE-2026-25243) Invalid memory access in `RESTORE` may lead to Remote Code Execution\r\n\r\n### Bug fixes\r\n\r\n- `SUBSCRIBE`, `PSUBSCRIBE`, `SSUBSCRIBE`: crash on OOM (RED-167788)\r\n- `SCRIPT DEBUG`: potential crash on scripts (RED-175507)","publishedAt":"2026-05-05T13:27:04.000Z","fetchedAt":"2026-05-05T16:01:16.360Z","url":"https://github.com/redis/redis/releases/tag/6.2.22","media":[],"coverageCount":0},{"id":"rel_Vaw_bDx0mW6F8O9HWGj-9","version":"8.8-m03","type":"feature","title":"8.8-M03","summary":"This is the third Milestone of Redis 8.8 in Redis Open Source.\r\n\r\nMilestones are non-feature-complete pre-releases. Pre-releases are not suitable for ...","titleGenerated":null,"titleShort":null,"content":"This is the third Milestone of Redis 8.8 in Redis Open Source.\r\n\r\nMilestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use.\r\n\r\n### Headlines:\r\n\r\nRedis 8.8 introduces new features and performance improvements.\r\n\r\n### Operating systems we test Redis 8.8 on\r\n\r\n- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat), 26.04 (Resolute Raccoon)\r\n- Rocky Linux 8.10, 9.7, 10.1\r\n- AlmaLinux 8.10, 9.7, 10.1\r\n- Debian 12.13 (Bookworm), Debian 13.4 (Trixie)\r\n- Alpine 3.23\r\n- macOS 14.8.4 (Sonoma), 15.7.4 (Sequoia), 26.3 (Tahoe) - for both Intel and ARM\r\n\r\n### New Features (compared to 8.8-M02)\r\n\r\n- #14958 Subkey notification for hash fields - field-level notifications\r\n- RediSearch/RediSearch#8227 `FT.HYBRID` `KNN` clause: new argument to request fewer candidates per shard\r\n- RediSearch/RediSearch#8060 `FT.PROFILE` `HYBRID`: profiling support for `FT.HYBRID`\r\n\r\n### Bug fixes (compared to 8.8-M02)\r\n\r\n- #15034, #15081 Issues processing corrupt RDB data\r\n- #15059 Use-after-free\r\n- #15073 `CLIENT TRACKING`: self-overlap returning non-zero loop index\r\n- #14982 `SCAN` commands: integer overflow in `COUNT` parameter\r\n- #14956 Crash on `HSETEX` when a field appears more than once and an expiry is specified\r\n- #15015 Change log level for unknown extension types from `LL_WARNING` to `LL_VERBOSE`\r\n- #14995 Unnecessary `-ERR` and `\\r\\n`\r\n- RediSearch/RediSearch#8708 Crash when many keys receive expirations under heavy TTL activity\r\n- RediSearch/RediSearch#8774 Coordinator deadlock under mixed `FT.SEARCH` and `FT.AGGREGATE` load\r\n- RediSearch/RediSearch#8415 Crash on `FT.SEARCH` when topology validation fails (for example, some nodes unreachable)\r\n- RediSearch/RediSearch#8322 Crash when indexing negative zero (-0.0)\r\n- RediSearch/RediSearch#8843 HNSW vector index memory growth under high-churn workloads until shard restart\r\n- RediSearch/RediSearch#8396 `FILTER` returns inconsistent results with multiple indexes sharing field aliases\r\n- RediSearch/RediSearch#8205 `FT.HYBRID` `VSIM RANGE` + `FILTER` incorrectly returns zero results\r\n- RediSearch/RediSearch#8817 Instability and crashes in long-running search cursors during concurrent index updates\r\n- RediSearch/RediSearch#8388 `FT.SEARCH` fails with “Query requires unavailable slots” after shard restart or failover\r\n- RediSearch/RediSearch#8548 `FILTER` behavior depends on property order in the expression\r\n- RediSearch/RediSearch#8320 Index `FILTER` applied inconsistently when documents are missing filtered fields\r\n- RediSearch/RediSearch#8752 Missing blocked-client FAIL timeout mechanism for coordinator-level `FT.AGGREGATE`\r\n- RediSearch/RediSearch#8657 Missing shard-level FAIL timeout handling for `FT.HYBRID` queries\r\n- RediSearch/RediSearch#8420 Missing coordinator-level FAIL timeout handling for `FT.HYBRID` queries\r\n- RediSearch/RediSearch#8335 Legacy shard-level FAIL handling for `FT.SEARCH` / `FT.AGGREGATE`\r\n- RediSearch/RediSearch#8191 `FT.SEARCH` coordinator lacks strict FAIL timeout enforcement\r\n\r\n### Performance and resource utilization improvements (compared to 8.8-M02)\r\n\r\n- #15114 Optimize SET key value GET\r\n- #15065, #15118 Scan commands key collection: replace list with append-only pointer vector\r\n- #15061 Widen `fast_float_strtod` fast path to 17-19 digit mantissas\r\n- RediSearch/RediSearch#8378 Optimize filter expression evaluation: skip indexes not matching the document type (MOD-14064)\r\n\r\n### Metrics (compared to 8.8-M02)\r\n- RediSearch/RediSearch#8246 ‘frontend_buffer_size’, ‘HNSW_main_thread_insertion’: metrics for tiered vector indexes (MOD-13819)\r\n- RediSearch/RediSearch#8210 `FT.PROFILE`: added queue time tracking (MOD-13602)\r\n- RediSearch/RediSearch#8283 `INFO`: Skip metrics when there are no indices (MOD-13903)\r\n- RediSearch/RediSearch#7417 Add unique error message ids for improved debugging and troubleshooting (MOD-11806)\r\n\r\n### Configuration parameters \r\n- RediSearch/RediSearch#8876 `search-workers`: change default to 16 (MOD-14486)\r\n- RediSearch/RediSearch#8352 `BG_INDEX_SLEEP_DURATION_US`: sleep duration during background indexing (MOD-13994)\r\n","publishedAt":"2026-04-28T13:55:40.000Z","fetchedAt":"2026-05-01T20:31:19.264Z","url":"https://github.com/redis/redis/releases/tag/8.8-m03","media":[],"coverageCount":0},{"id":"rel_otbKkafrz3szkKs9Bsv3T","version":"8.8-m02","type":"feature","title":"8.8-M02","summary":"This is the second Milestone of Redis 8.8 in Redis Open Source.\r\n\r\nMilestones are non-feature-complete pre-releases. Pre-releases are not suitable for...","titleGenerated":null,"titleShort":null,"content":"This is the second Milestone of Redis 8.8 in Redis Open Source.\r\n\r\nMilestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use.\r\n\r\n### Headlines:\r\n\r\nRedis 8.8 introduces new features and performance improvements.\r\n\r\n8.8-M02 is available as a Docker image and can be downloaded from [Docker Hub](https://hub.docker.com/_/redis). Additional distributions will be introduced in upcoming pre-releases.\r\n\r\n### Operating systems we test Redis 8.8 on\r\n\r\n- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat), 26.04 (Resolute Raccoon)\r\n- Rocky Linux 8.10, 9.7, 10.1\r\n- AlmaLinux 8.10, 9.7, 10.1\r\n- Debian 12.13 (Bookworm), Debian 13.4 (Trixie)\r\n- Alpine 3.23\r\n- macOS 14.8.4 (Sonoma), 15.7.4 (Sequoia), 26.3 (Tahoe) - for both Intel and ARM\r\n\r\n### New Features (compared to 8.6)\r\n\r\n- #14826, #14905 GCRA (generic cell rate algorithm) rate limiter (based on the redis-cell module by @brandur - thank you!)\r\n- #14797 `XNACK`: a new streams command that allows consumers to explicitly release pending messages\r\n- RedisJSON/RedisJSON#1509 `JSON.SET`: new `FPHA` argument to specify the FP type for FP homogeneous arrays (MOD-13577)\r\n- #14892 `ZUNION`, `ZINTER`, `ZUNIONSTORE`, `ZINTERSTORE`: new `COUNT` aggregator\r\n- RedisTimeSeries/RedisTimeSeries#1916 `TS.RANGE`, `TS.REVRANGE`, `TS.MRANGE`, `TS.MREVRANGE`: multiple aggregators in a single command (MOD-9162)\r\n\r\n### Bug fixes (compared to 8.6.2)\r\n\r\n- #15037 `XINFO STREAM`: wrong value in the per-slot memory tracking\r\n- #12000 Incorrect shrinking of querybuf when client is reading a big argv\r\n- #15021 `HEXPIRE`: overflow on fields count\r\n- #14963 `XREADGROUP`: consumer replication inconsistency\r\n- #15011 Double-free in rdbLoadObject\r\n- #14667, #14886 Potential TCP stalls/deadlocks\r\n- #14942 Fix `COMMAND GETKEYS for PFMERGE` with no source keys\r\n- #14888 Hardens safety check in `lpSafeToAdd`\r\n- #14748 Ensure sensitive user data is not exposed in logs when `hide_user_data_from_log` is enabled\r\n- #14877 `INFO KEYSIZES` and `INFO ALLOCSIZES` fixes\r\n- #14878 listpack memory leak in zipmap-to-hash conversion on error path\r\n- #14955 Streams: IDMP-related bug\r\n- #14974, #14932, #14866 Memory leaks\r\n- #14790 Missing initialization\r\n- #14789 DB hash tables not expanding during RDB load on standalone-mode\r\n- #14785 Add `HOTKEYS HELP` subcommand (Each command having subcommands needs a `HELP` subcommand)\r\n- #14784 `RESTORE` and `SET`: `expiredkeys` counter updates incorrectly on keys with past expiration time\r\n- #14779 Accurate memory accounting for RedisModuleDict (instead of estimation)\r\n- #14774 Missing cleanup code in `getKeysFreeResult()` on cross-slot error path\r\n- #14771 Potential unsigned integer underflow in `used_memory_dataset calculation`\r\n- #14780 Fixed name of `HOTKEYS` results field `sampled-command-selected-slots-us` to `sampled-commands-selected-slots-us`\r\n- #14756 `HOTKEYS` does not track each command in a `MULTI`/`EXEC` block\r\n- #14749 Fixed `HOTKEYS GET` RESP3 reply fixed to map instead of flat array\r\n- RedisJSON/RedisJSON#1520 Numeric operations on homogeneous arrays: promote to next type if results overflow (MOD-14427)\r\n- RedisJSON/RedisJSON#1519 `JSON.NUMINCRBY`, `JSON.NUMMULTBY` don’t error on numeric overflow (MOD-14191)\r\n- RedisJSON/RedisJSON#1487 Depth limit (128) was not fully enforced (MOD-4107)\r\n- RedisTimeSeries/RedisTimeSeries#1910 `TS.INCRBY`, `TS.DECRBY` create key before validating args (MOD-8167)\r\n- RedisTimeSeries/RedisTimeSeries#1908 Potential crash on `TS.RANGE` with aggregation and `EMPTY`\r\n- RedisTimeSeries/RedisTimeSeries#1896 Potential memory leak (MOD-13438)\r\n- RedisTimeSeries/RedisTimeSeries#1913 ACL rules are not fully enforced for multi-key commands on a cluster setup (MOD-14124)\r\n\r\n### Performance and resource utilization improvements (compared to 8.6.2)\r\n\r\n- #15003 Reduce overhead in command propagation\r\n- #14979 Dismiss dict bucket arrays in fork child to reduce CoW\r\n- #14661 Replace fast_float C++ library with pure C implementation\r\n- #14928 Disable memory tracking in child processes\r\n- #14885 Optimize rax (radix tree) insert and lookup for sequential key patterns\r\n- #14335 Handle primary/replica clients in I/O threads\r\n- #14754 Optimize prefetching commands\r\n- #14770 Optimize `BITOP` operations with AVX512\r\n- #14862 Streams: Filter expired IDMP entries during RDB save and load\r\n- #14750 `SFLUSH` can now flush slots partially\r\n- #14887 `SFLUSH` skips slot trimming when the requested slot ranges exactly match the node’s local slot coverage\r\n- #14851 Skip RDB checksum computation/validation during diskless full synchronization to reduce CPU overhead\r\n- #14783 Pause dict auto-resize during multi-field deletion\r\n- RedisTimeSeries/RedisTimeSeries#1884 `TS.RANGE`, `TS.REVRANGE`, `TS.MRANGE`, `TS.MREVRANGE`: improve performance on a cluster setup (RED-184104)\r\n- RedisTimeSeries/RedisTimeSeries#1866 Register to `type_changed` KSN instead of `set` (MOD-12919)\r\n\r\n### Modules API\r\n\r\n- #14445 Allow modules to associate metadata with keys\r\n  - `RedisModule_CreateKeyMetaClass` - define a new key-metadata class\r\n  - `RedisModule_ReleaseKeyMetaClass` - release a key-metadata class\r\n  - `RedisModule_SetModuleMetadata` - attach or update metadata to a key\r\n  - `RedisModule_GetKeyMeta` - get key metadata\r\n\r\n### Metrics\r\n\r\n- #14896 `INFO STATS` - global stats for slowlog metrics:\r\n  - `slowlog_commands_count` - commands written to slowlog\r\n  - `slowlog_commands_time_ms_sum` - sum of execution times of commands from the slowlog\r\n  - `slowlog_commands_time_ms_max` - maximum execution time of a command from the slowlog\r\n- #14896 `INFO COMMANDSTATS` - per-command stats for slowlog metrics:\r\n  - `slowlog_count` - number of times the command was written in the slowlog\r\n  - `slowlog_time_ms_sum` - sum of execution time of the command (only from the slowlog)\r\n  - `slowlog_time_ms_max` - maximum execution time of the command (only from the slowlog)\r\n- #14841 `INFO STATS` (global, all clients aggregated):\r\n  - `total_client_processing_events`: attempts to process client input buffers; does not guarantee any command was actually parsed\r\n  - `eventloop_cycles_with_clients_processing`: event loop cycles where client input buffers were processed\r\n  - `commands_per_parse_batch_sum`: cumulative number of commands parsed across all parsing batches for all clients\r\n  - `commands_per_parse_batch_cnt`: number of parsing batches across all clients. A batch is counted each time at least one command is parsed from a client's query buffer\r\n  - `commands_per_parse_batch_avg`: average commands parsed per batch (sum/cnt). Approximates pipelining depth\r\n- #14841 `CLIENT INFO` and `CLIENT LIST` (per-client):\r\n  - `read-events`: number of read events for this client\r\n  - `parse-batch-cmd-sum`: cumulative number of commands parsed across all parsing batches for this client\r\n  - `parse-batch-cnt`: total number of parsing batches for this client. Divide `parse-batch-cmd-sum` by this value to get the client’s average commands per batch\r\n\r\n### CLI tools\r\n\r\n- #14371 Divide-by-zero in redis-benchmark and redis-cli\r\n- #14863 Memory leak in redis-cli\r\n- #14703 redis-cli --keystats: fix percentile calculation","publishedAt":"2026-04-16T11:32:03.000Z","fetchedAt":"2026-05-01T20:31:19.264Z","url":"https://github.com/redis/redis/releases/tag/8.8-m02","media":[],"coverageCount":0},{"id":"rel_n6F-TYLwV4TGGrVmql_ul","version":"8.6.2","type":"feature","title":"8.6.2","summary":"### Bug fixes\r\n\r\n- #14824 Potential UAF: don't use reply copy avoidance for module strings\r\n- #14848 Crash during command processing on replicas perfo...","titleGenerated":null,"titleShort":null,"content":"### Bug fixes\r\n\r\n- #14824 Potential UAF: don't use reply copy avoidance for module strings\r\n- #14848 Crash during command processing on replicas performing full synchronization\r\n- #14794 New `XIDMPRECORD` internal command and AOFRW emission to restore stream IDMP state\r\n- #14816 setModuleEnumConfig() passing prefixed name to module callbacks\r\n- #14858 Streams: Ensures `XADD` with `IDMP`/`IDMPAUTO` that hits an existing IID records the metadata change\r\n- #14855, #14831, #14817 Potential memory leaks\r\n- #14869 Streams: IDMP cron expiration not working after RDB load\r\n- #14847 Potential crash during ACL checks on wrong-arity commands\r\n- #14883 `HSETEX`, `HGETEX` do not validate that `FIELDS` is specified only once\r\n- #14897 Streams: IDMP-related bugs\r\n","publishedAt":"2026-03-24T12:27:25.000Z","fetchedAt":"2026-05-01T20:31:19.264Z","url":"https://github.com/redis/redis/releases/tag/8.6.2","media":[],"coverageCount":0},{"id":"rel_kwJ5dnFZElBmwB68G8nss","version":"7.2.13","type":"feature","title":"7.2.13","summary":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n* A user can manipulate data read by a connection by injecting \\r\\n sequence...","titleGenerated":null,"titleShort":null,"content":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n* A user can manipulate data read by a connection by injecting \\r\\n sequences into a Redis error reply\r\n","publishedAt":"2026-02-23T10:00:40.000Z","fetchedAt":"2026-05-01T20:31:19.307Z","url":"https://github.com/redis/redis/releases/tag/7.2.13","media":[],"coverageCount":0},{"id":"rel_QqAinDhMPtBDfIKskKcxk","version":"7.4.8","type":"feature","title":"7.4.8","summary":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequence...","titleGenerated":null,"titleShort":null,"content":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequences into a Redis error reply\r\n","publishedAt":"2026-02-23T09:57:36.000Z","fetchedAt":"2026-05-01T20:31:19.307Z","url":"https://github.com/redis/redis/releases/tag/7.4.8","media":[],"coverageCount":0},{"id":"rel_EVkj1GgeoipqsBF12FSpf","version":"8.0.6","type":"feature","title":"8.0.6","summary":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequence...","titleGenerated":null,"titleShort":null,"content":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequences into a Redis error reply\r\n","publishedAt":"2026-02-23T09:54:41.000Z","fetchedAt":"2026-05-01T20:31:19.307Z","url":"https://github.com/redis/redis/releases/tag/8.0.6","media":[],"coverageCount":0},{"id":"rel_c16QbNPKWq9FEv7MlaGI3","version":"8.2.5","type":"feature","title":"8.2.5","summary":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequence...","titleGenerated":null,"titleShort":null,"content":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequences into a Redis error reply\r\n","publishedAt":"2026-02-23T09:51:06.000Z","fetchedAt":"2026-05-01T20:31:19.307Z","url":"https://github.com/redis/redis/releases/tag/8.2.5","media":[],"coverageCount":0},{"id":"rel_OkhFyRGQeT5WfkbrTQv-Q","version":"8.4.2","type":"feature","title":"8.4.2","summary":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequence...","titleGenerated":null,"titleShort":null,"content":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequences into a Redis error reply\r\n","publishedAt":"2026-02-23T09:44:50.000Z","fetchedAt":"2026-05-01T20:31:19.264Z","url":"https://github.com/redis/redis/releases/tag/8.4.2","media":[],"coverageCount":0},{"id":"rel_NvrEjpw3SqldXeoo2Y7h5","version":"8.6.1","type":"feature","title":"8.6.1","summary":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequence...","titleGenerated":null,"titleShort":null,"content":"SECURITY: There is a security fix in the release\r\n\r\n### Security fixes\r\n\r\n- A user can manipulate data read by a connection by injecting \\r\\n sequences into a Redis error reply\r\n\r\n### Bug fixes\r\n\r\n- #14785 `HOTKEYS`: The `INFO` command may display module information, and the missing `HOTKEYS HELP` subcommand has been added\r\n- #14789 Bug in RDB loading prevented hash table expansion, increasing load time","publishedAt":"2026-02-23T09:41:02.000Z","fetchedAt":"2026-05-01T20:31:19.264Z","url":"https://github.com/redis/redis/releases/tag/8.6.1","media":[],"coverageCount":0},{"id":"rel_b53YcXTAyyU9FHm6xpmaz","version":"8.6.0","type":"feature","title":"8.6.0","summary":"This is the General Availability release of Redis 8.6 in Redis Open Source.\r\n\r\n### Major changes compared to 8.4\r\n\r\n- Substantial performance improvem...","titleGenerated":null,"titleShort":null,"content":"This is the General Availability release of Redis 8.6 in Redis Open Source.\r\n\r\n### Major changes compared to 8.4\r\n\r\n- Substantial performance improvements\r\n- Substantial memory reduction for hashes (hashtable-encoded) and sorted sets (skiplist-encoded)\r\n- Streams: `XADD` idempotency (at-most-once guarantee) with new `IDMPAUTO` and `IDMP` arguments\r\n- New eviction policies - least recently modified: `volatile-lrm` and `allkeys-lrm`\r\n- Hot keys detection and reporting; new command: `HOTKEYS`\r\n- TLS certificate-based automatic client authentication\r\n- Time series: support NaN values; new aggregators: `COUNTNAN` and `COUNTALL`\r\n\r\nFor more details, see the [8.6 release](https://redis.io/blog/announcing-redis-86-performance-improvements-streams/) blog post.\r\n\r\n### Binary distributions\r\n\r\n- Alpine and Debian Docker images - https://hub.docker.com/_/redis\r\n- Install using snap - see https://github.com/redis/redis-snap\r\n- Install using brew - see https://github.com/redis/homebrew-redis\r\n- Install using RPM - see https://github.com/redis/redis-rpm\r\n- Install using Debian APT - see https://github.com/redis/redis-debian\r\n\r\n### Operating systems we test Redis 8.6 on\r\n\r\n- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat)\r\n- Rocky Linux 8.10, 9.5\r\n- AlmaLinux 8.10, 9.5, 10.1\r\n- Debian 12 (Bookworm), Debian 13 (Trixie)\r\n- macOS 14 (Sonoma), 15 (Sequoia)\r\n\r\n### New Features (compared to 8.6-RC1)\r\n\r\n- #14695 Keys memory size histograms\r\n\r\n### Performance and resource utilization improvements (compared to 8.6-RC1)\r\n\r\n- #14714 Optimize user ACL permission verification\r\n- #14692 Optimize peak memory metric collection\r\n- #14739 Avoid allocating and releasing list node in reply copy avoidance\r\n- #14713 Reduce per command syscalls by reusing cached time when hardware monotonic clock is available\r\n- #14726 Optimize `XREADGROUP CLAIM`\r\n- #13962 Vector set: replace manual popcount with __builtin_popcountll for binary vector distance (Intel, AMD, ARM)\r\n- #14474 Vector set: vectorized the quantized 8-bit vector distance calculation (Intel, AMD)\r\n- #14492 Vector set: vectorize binary quantization path for vectorsets distance calculation (Intel, AMD)\r\n\r\n### Configuration parameters\r\n\r\n- #14719 `cluster-slot-stats-enabled` - per-slot resource consumptions statistics to collect\r\n- #14695 `key-memory-histograms` collect memory consumption histograms per data type\r\n\r\n### Metrics\r\n\r\n- #14695 `db0_distrib_lists_sizes`, `db0_distrib_sets_sizes`, `db0_distrib_hashes_sizes`, `db0_distrib_zsets_sizes`\r\n\r\n### known bugs and limitations\r\n\r\n- Streams: avoid using `XADD` with the new `IDMP` or `IDMPAUTO` options when using `appendonly yes` with `aof-use-rdb-preamble no` (non default).\r\n  This limitation will be removed in the next patch.\r\n","publishedAt":"2026-02-10T14:15:04.000Z","fetchedAt":"2026-05-01T20:31:19.307Z","url":"https://github.com/redis/redis/releases/tag/8.6.0","media":[],"coverageCount":0}],"pagination":{"nextCursor":"2026-02-10T14:15:04.000Z|2026-05-01T20:31:19.307Z|rel_b53YcXTAyyU9FHm6xpmaz","limit":20},"summaries":{"rolling":null,"monthly":[]}}