VersionDrift
Product

Valkey 7.2.15 → 8.1.9

23 releases · 2 breaking changes · 43 security fixes · 0 advisories fixed

43security2breaking0deprecated45feature186fix

Breaking changes

  • breaking Remove Valkey specific changes in jemalloc source code (#1266) in 8.1.0
  • breaking Revert an unintended breaking change when sending an unsubuscribe command when a client is not subscribed to any channels. (#1265) in 8.0.2

Security changes

  • security CVE-2026-56684: Fix a use-after-free in TLS connection handling that could allow an authenticated client to achieve remote code execution using CLIENT KILL (#4234) in 8.1.9
  • security CVE-2026-63639: Reject corrupt stream RDB files containing a shared NACK across consumers, which could allow remote code execution. Reported by @z0v3r1n and @lifip. (#4073) in 8.1.9
  • security (CVE-2026-23479) Use-After-Free in unblock client flow in 8.1.7
  • security (CVE-2026-25243) Invalid Memory Access in RESTORE command in 8.1.7
  • security (CVE-2026-23631) Use-after-free when full sync occurs during a yielding Lua/function execution in 8.1.7
  • security (CVE-2026-21863) Remote DoS with malformed Valkey Cluster bus message in 8.1.6
  • security (CVE-2025-67733) RESP Protocol Injection via Lua error_reply in 8.1.6
  • security (CVE-2025-49844) A Lua script may lead to remote code execution in 8.1.4
  • security (CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE in 8.1.4
  • security (CVE-2025-46818) A Lua script can be executed in the context of another user in 8.1.4
  • security (CVE-2025-46819) LUA out-of-bound read in 8.1.4
  • security CVE-2025-32023 prevent out-of-bounds write during hyperloglog operations (#2146) in 8.1.3
  • security CVE-2025-48367 retry accept on transient errors (#2315) in 8.1.3
  • security CVE-2025-27151 Check length of AOF file name in valkey-check-aof (#2146) in 8.1.2
  • security (CVE-2025-21605) Limit output buffer for unauthenticated clients (#1994) in 8.1.1
  • security GHSA-f4q9-j22m-xqq9: Fix a heap buffer overflow in cluster Pub/Sub message construction that could allow an authenticated client to potentially execute arbitrary code by publishing an oversized message by @roshkhatri (#5030) in 8.0.12
  • security GHSA-jcj7-v34w-v9vv: Fix a use-after-free in RDMA connection handling that could allow an authenticated client to crash the server using CLIENT KILL. Only affects servers built with USE_RDMA and configured with an RDMA listener (#4534) in 8.0.11
  • security CVE-2026-56684: Fix a use-after-free in TLS connection handling that could allow an authenticated client to crash the server using CLIENT KILL (#4234) in 8.0.10
  • security CVE-2026-63639: Reject corrupt stream RDB files containing a shared NACK across consumers. Reported by @z0v3r1n and @lifip. (#4073) in 8.0.10
  • security (CVE-2026-23479) Use-After-Free in unblock client flow in 8.0.9
  • security (CVE-2026-25243) Invalid Memory Access in RESTORE command in 8.0.9
  • security (CVE-2026-23631) Use-after-free when full sync occurs during a yielding Lua/function execution in 8.0.9
  • security (CVE-2026-21863) Remote DoS with malformed Valkey Cluster bus message in 8.0.7
  • security (CVE-2025-67733) RESP Protocol Injection via Lua error_reply in 8.0.7
  • security (CVE-2025-49844) A Lua script may lead to remote code execution in 8.0.6
  • security (CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE in 8.0.6
  • security (CVE-2025-46818) A Lua script can be executed in the context of another user in 8.0.6
  • security (CVE-2025-46819) LUA out-of-bound read in 8.0.6
  • security CVE-2025-27151: Check length of AOF file name in valkey-check-aof and reject paths longer than PATH_MAX (#2146) in 8.0.5
  • security CVE-2025-32023 prevent out-of-bounds write during hyperloglog operations (#2146) in 8.0.4
  • security CVE-2025-48367 retry accept on transient errors (#2315) in 8.0.4
  • security (CVE-2025-21605) Limit output buffer for unauthenticated clients (#1993) in 8.0.3
  • security (CVE-2024-46981) Lua script commands may lead to remote code execution. (#1513) in 8.0.2
  • security (CVE-2024-51741) Denial-of-service due to malformed ACL selectors. (#1514) in 8.0.2
  • security (CVE-2024-31449) Lua library commands may lead to stack overflow and potential RCE. in 8.0.1
  • security (CVE-2024-31227) Potential Denial-of-service due to malformed ACL selectors. in 8.0.1
  • security (CVE-2024-31228) Potential Denial-of-service due to unbounded pattern matching. in 8.0.1
  • security Fixes CVE-2025-67733: RESP Protocol Injection via Lua error_reply in 8.0.0
  • security Fixes CVE-2025-21605: DoS Vulnerability due to unlimited growth of output buffers abused by unauthenticated client in 8.0.0
  • security Fixes CVE-2024-31449: Lua library commands may lead to stack overflow and potential RCE in 8.0.0
  • security Fixes CVE-2026-21863: Remote DoS with malformed Valkey Cluster bus message in 8.0.0
  • security Fixes CVE-2024-31228: Denial-of-service due to unbounded pattern matching in 8.0.0
  • security Fixes CVE-2024-31227: Denial-of-service due to malformed ACL selectors in 8.0.0

Every release in between

securityCVE-2026-56684: Fix a use-after-free in TLS connection handling that could allow an authenticated client to achieve remote code execution using CLIENT KILL (#4234)
securityCVE-2026-63639: Reject corrupt stream RDB files containing a shared NACK across consumers, which could allow remote code execution. Reported by @z0v3r1n and @lifip. (#4073)
fixFix clients being left on the wrong database after module keyspace notifications from commands like MOVE and COPY by @enjoy-binbin (#4024)
fixFix an I/O thread job queue memory-ordering race that could trigger an assertion crash on ARM/aarch64 by @jjuleslasarte (#3878)
fixReject zipmap RESTORE payloads with overflowing length fields that could cause out-of-bounds access on 32-bit builds by @madolson (#3920)
fixReject NAN scores when loading listpack/ziplist-encoded sorted sets, preventing a crash from crafted RESTORE payloads by @madolson (#3921)
fixFix a startup crash when generating INFO output on 32-bit systems where time_t is 64-bit (e.g. Alpine time64) by @chenshi5012 (#3787)
fixFix COMMAND INFO in RESP3 to reply with an empty Array instead of a Set for commands without subcommands by @rickrams (#3939)
fixReject invalid characters in cluster AUX fields and cluster-announce-ip to prevent nodes.conf corruption and injection by @eifrah-aws (#3848)
fixFix lua-enable-insecure-api having no effect when enabled at startup via config file or command line by @enjoy-binbin (#3548)
fixIncrease the maximum process title length from 255 to 1024 characters to avoid truncation with long installation paths by @pkhartsk (#3843)
fixFix ZDIFF algorithm 2 memory leak on early exit (#3342)
fixStrictly check CRLF when parsing querybuf (#2872)
fixFix incorrect memory overhead calculation for watched keys (#3359)
fixFix valkey-cli --cluster del-node for unreachable nodes (#3209)
fixFix race condition during async client freeing with IO threading enabled (#3458)
fixFix double free in stream consumer PEL loading with corrupt RDB data (#3498)
fixFixes server crash when RDMA benchmark clients disconnect (#3448)
fixFix misleading log "I/O error reading bulk count from PRIMARY: Success" (#3580)
fixHandle NULL pointer in streamTrim listpack delta calculation (#3591)
fixFix Deferred Reply Placeholders in Active Deferred Buffers (#3578)
fixAdd NULL check in updateSSLPendingFlag (#3641)
fixFix heap-use-after-free in ACL LOAD when client free is deferred (#3800)
fixRedacting customer information when hide_user_data_from_log is true in rdb.c, networking.c, debug.c and t_hash (#3872)
fixFix use-after-free in VM_RegisterClusterMessageReceiver (#3846)
fixHarden SENTINEL commands and config rewrite against control-character injection (#3847)
fixFix CLUSTER SLOTS crash when called from module timer callback (#2915)
security(CVE-2026-23479) Use-After-Free in unblock client flow
security(CVE-2026-25243) Invalid Memory Access in RESTORE command
security(CVE-2026-23631) Use-after-free when full sync occurs during a yielding Lua/function execution
security(CVE-2026-21863) Remote DoS with malformed Valkey Cluster bus message
security(CVE-2025-67733) RESP Protocol Injection via Lua error_reply
fixRestrict ttl from being negative and avoid crash in import-mode (#2944)
fixFix chained replica crash when doing dual channel replication (#2983)
fixFix used_memory_dataset underflow due to miscalculated used_memory_overhead (#3005)
fixFix crashing while MODULE UNLOAD when ACL rules reference a module command or subcommand (#3160)
fixFix server assert on ACL LOAD and resetchannels (#3182)
fixFix bug causing no response flush sometimes when IO threads are busy (#3205)
fixFix Lua VM crash after FUNCTION FLUSH ASYNC + FUNCTION LOAD (#1826)
fixFix invalid memory address caused by hashtable shrinking during safe iteration (#2753)
fixCluster: Avoid usage of light weight messages to nodes with not ready bidirectional links (#2817)
fixSend duplicate multi meet packet only for node which supports it (#2840)
fixFix loading AOF files from future Valkey versions (#2899)
security(CVE-2025-49844) A Lua script may lead to remote code execution
security(CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE
security(CVE-2025-46818) A Lua script can be executed in the context of another user
security(CVE-2025-46819) LUA out-of-bound read
fixFix accounting for dual channel RDB bytes in replication stats (#2614)
fixFix EVAL to report unknown error when empty error table is provided (#2229)
fixFix use-after-free when active expiration triggers hashtable to shrink (#2257)
fixFix MEMORY USAGE to account for embedded keys (#2290)
fixFix memory leak when shrinking a hashtable without entries (#2288)
fixPrevent potential assertion in active defrag handling large allocations (#2353)
fixPrevent bad memory access when NOTOUCH client gets unblocked (#2347)
fixConverge divergent shard-id persisted in nodes.conf to primary's shard id (#2174)
fixFix client tracking memory overhead calculation (#2360)
fixFix RDB load per slot memory pre-allocation when loading from RDB snapshot (#2466)
fixDon't use AVX2 instructions if the CPU doesn't support it (#2571)
fixFix bug where active defrag may be unable to defrag sparsely filled pages (#2656)
fixFix missing response when AUTH is errored inside a transaction (#2287)
securityCVE-2025-32023 prevent out-of-bounds write during hyperloglog operations (#2146)
securityCVE-2025-48367 retry accept on transient errors (#2315)
securityCVE-2025-27151 Check length of AOF file name in valkey-check-aof (#2146)
fixProperly escape double quotes and backslash in MONITOR command (#2036)
fixFix high CPU usage when fetching a random element in skewed sparse hash table (#2085)
fixFix a bug that allowed clients to process commands when the server has paused command processing (#2109)
fixFix a crash where the wrong slot is used when processing sharded pubsub unsubscribe events (#2137)
fixFix a crash when a module attempts to write auxiliary data with AOF enabled (#2132)
fixFix a bug where the engine may crash when establishing new outbound TLS connections (#2140)
fixFix a bug where a cluster bus packet may be incorrectly marked as invalid (#2144)
fixFix a bug where CLUSTER SLOTS/NODES information can be stale after updating node port/tls-port (#2186)
fixFix a bug where replica in cluster mode can't finish failover when config epoch is outdated (#2178)
fixFix a bug to avoid CLIENT UNBLOCK command to unblock paused clients (#2117)
security(CVE-2025-21605) Limit output buffer for unauthenticated clients (#1994)
fixFix the build on less common platforms in zmalloc.c (#1922)
fixfix: add samples to stream object consumer trees (#1825)
fixFix crash during TLS handshake with I/O threads (#1955)
fixFix cluster slot stats assertion during promotion of replica (#1950)
fixFix panic in primary when blocking shutdown after previous block with timeout (#1948)
fixIgnore stale gossip packets that arrive out of order (#1777)
fixFix incorrect lag reported in XINFO GROUPS (#1952)
fixFix engine crash on module client blocking during keyspace events (#1819)
fixAvoid shard id update of replica if not matching with primary shard id (#573)
fixOnly enable defrag for vendored jemalloc (#1985)
fixAllow scripts to support null characters again (#1984)
featureOptimize bitcount command by using x86 SIMD instructions (#1741)
featureEmbed hash value in hash data type entries to reduce memory footprint (#1579)
featureAdd cluster-manual-failover-timeout configuration to control the timeout for manual failover (#1690)
featureAdd new module API flag to bypass command validation in order to reduce processing overhead (#1357)
featureIntroduce cancel argument to bgsave command (#757)
featureAdd conditional update support to the SET command using IFEQ argument (#1324)
featureAdd more filters to CLIENT LIST (#1401)
featureAdd availability_zone to the HELLO response (#1487)
featureExtend LATENCY LATEST to add sum / cnt stats (#1570)
featureAdd paused_actions and paused_timeout_milliseconds for INFO CLIENTS (#1519)
featureAdd paused_reason to INFO CLIENTS (#1564)
featureAdded COMMANDLOG to record slow executions and large requests/replies (#1294)
featureAdd latency stats around cluster config file operations (#1534)
featureAdd new flag in CLIENT LIST for import-source client (#1398)
featureIntroduce a new memory efficient hash table to store keys (#1186)
featureAccelerate hash table iterator with prefetching (#1501)
featureAccelerate hash table iterator with value prefetching (#1568)
featureReplace dict with new hashtable: hash datatype (#1502)
featureReplace dict with new hashtable for sets datatype (#1176)
featureReplace dict with new hashtable: sorted set datatype (#1427)
featureFree strings during BGSAVE/BGAOFRW to reduce copy-on-write (#905)
featureCreate an empty lua table with specified initial capacity as much as possible (#1092)
featureMove prepareClientToWrite out of loop for HGETALL command (#1119)
featureImproved hashing algorithm for Lua tables (#1168)
featureDo security attack check only when command not found to reduce the critical path. (#1212)
featureTrim free space from inline command argument strings to avoid excess memory usage (#1213)
featureIncrease the max number of io threads to 256. (#1220)
featureRefactor of ActiveDefrag to reduce latencies (#1242)
featureIntegrate fast_float to optionally replace strtod (#1260)
featureImprovements for TLS with I/O threads (#1271)
featureOptimize PFCOUNT, PFMERGE command by SIMD acceleration (#1293)
featureOptimize sdscatrepr by batch processing printable characters (#1342)
featureOptimize ZRANK to avoid path comparisons (#1389)
featureMove clientCron onto a separate timer (#1387)
featureClient struct: lazy init components and optimize struct layout (#1405)
featureOffload reading the replication stream to IO threads (#1449)
featureSkip CRC checksumming during diskless full sync with TLS enabled. (#1479)
featureDeprecate io-threads-do-reads, which has no effect since io threads will now always do reads. (#1138)
featureIntroduce import-mode config to avoid expiration and eviction during data syncing (#1185)
breakingRemove Valkey specific changes in jemalloc source code (#1266)
+55 more items in the release notes
securityGHSA-f4q9-j22m-xqq9: Fix a heap buffer overflow in cluster Pub/Sub message construction that could allow an authenticated client to potentially execute arbitrary code by publishing an oversized message by @roshkhatri (#5030)
fixFix stream commands that mutate consumer-group or PEL state (XGROUP, XSETID, XREADGROUP, XACK, XCLAIM, XAUTOCLAIM) not triggering WATCH and client-side tracking invalidation by @Tarte12 (#3459)
fixFix a server abort on a RESTORE payload declaring a string length that overflows the allocation size; such payloads are now rejected as bad data by @enjoy-binbin (#4733)
fixReject module write commands while the server is paused for writes, preventing a crash from module timer callbacks during CLIENT PAUSE WRITE or CLUSTER FAILOVER by @smkher (#3645)
fixFix ZINTER/ZINTERSTORE returning input-order-dependent scores when a weighted term is 0*inf; a NaN weighted score now counts as 0, matching ZUNION by @leomurillo (#4997)
fixCorrect ValkeyModule_FreeModuleUser, ValkeyModule_ACLAddLogEntry and ValkeyModule_ACLAddLogEntryByUserName declarations to return int as implemented, fixing undefined behavior on targets with strict call signature checks by @rainsupreme (#4676)
fixFix valkey-benchmark spinning on would-block writes, which could starve reply processing and the --duration timer by @thweetkomputer (#4567)
fixFix a huge memory allocation when a command such as COMMAND GETKEYS EVAL declares a far larger key count than the arguments provided by @murphyjacob4 (#3598)
fixReject relative expire times in SET/GETEX, RESTORE, and ValkeyModule_SetExpire that overflow when added to the current time, preventing server aborts from negative expires by @madolson (#4880)
fixFix a server crash when loading an ACL file containing a selector with an unmatched parenthesis by @magic-peach (#4214)
fixSorted set range commands with a negative LIMIT offset now return an empty result instead of a spurious element on btree-encoded keys by @xiaocj (#4637)
fixRedact error text in server logs when hide-user-data-from-log is enabled, so command arguments no longer leak into logs by @zackcam (#4815)
fixFix cluster config saving to avoid publishing truncated nodes.conf files, losing the startup lock after the first save, and failing every save on SMB filesystems such as Azure Files; the lock now lives on a separate nodes.conf.lock file by @KewangZhili (#4489)
fixFix LSET on 64-bit builds silently modifying the wrong element for out-of-range indexes instead of returning an index out of range error by @charsyam (#4823)
securityGHSA-jcj7-v34w-v9vv: Fix a use-after-free in RDMA connection handling that could allow an authenticated client to crash the server using CLIENT KILL. Only affects servers built with USE_RDMA and configured with an RDMA listener (#4534)
fixFix a double-free crash when a module timer callback stops its own timer with ValkeyModule_StopTimer by @quanyeyang (#4211)
fixFix AOF truncation after a partially persisted MULTI/EXEC block so writes made after recovery are not lost on a later restart by @chzhoo (#4342)
fixFix an ACL bypass where duplicate STORE/STOREDIST options in GEORADIUS commands let users write keys outside their permitted patterns by @tjade273 (#3971)
fixFix a use-after-free crash when a cluster message for a module-registered type arrives after the module is unloaded by @enjoy-binbin (#4360)
fixFix out-of-bounds access on cluster module messages of type 255, which is now a valid message type by @enjoy-binbin (#4410)
fixFix silent data loss where ACL checks were wrongly applied to commands replayed from the AOF file by @lukepalmer (#3984)
fixFix a client memory accounting leak that inflated the mem_clients_normal INFO field on replicas by @enjoy-binbin (#4395)
fixAlways deep-validate listpack payloads on RDB load and RESTORE, preventing deferred assertion crashes; sanitize-dump-payload is deprecated and now a no-op by @jjuleslasarte (#3721)
fixFix module VM_Yield timing so repeated yields honor busy-reply-threshold instead of the server hz interval by @PingXie (#2131)
fixFix a stack overflow crash when a large TLS write is retried after an OpenSSL write error by @murphyjacob4 (#4307)
fixFix a crash caused by forged cluster bus PUBLISH or MODULE packets carrying oversized payload length fields by @tjade273 (#3972)
fixReject crafted stream payloads in RDB load and RESTORE whose length or field-count metadata is inconsistent, preventing later server panics by @madolson (#3922)
fixFix a cluster link disconnect loop after network failures that caused pub/sub messages between nodes to be lost by @dvkashapov (#2817)
fixFix a use-after-free crash when a client blocked on a key is freed while other clients blocked on the same key are being served by @quanyeyang (#4212)
fixReject crafted stream payloads that misstate live and deleted record counts, preventing data loss on XDEL by @roshkhatri (#4381)
fixFix incorrect CLUSTER SLOT-STATS ORDERBY ordering when slot statistics differ by more than 2^31 by @jzy1688 (#4459)
securityCVE-2026-56684: Fix a use-after-free in TLS connection handling that could allow an authenticated client to crash the server using CLIENT KILL (#4234)
securityCVE-2026-63639: Reject corrupt stream RDB files containing a shared NACK across consumers. Reported by @z0v3r1n and @lifip. (#4073)
fixStrictly validate CRLF line endings when parsing the RESP protocol, rejecting malformed requests as protocol errors by @enjoy-binbin (#2872)
fixFix memory leak in ZDIFF/ZDIFFSTORE when the result set becomes empty before all input sets are processed by @sarthakaggarwal97 (#3342)
fixFix crash caused by a race between asynchronous client freeing and IO threads reading from the closing client by @deepakrn (#3458)
fixFix double free when loading corrupt stream RDB data containing duplicate consumer PEL entries by @enjoy-binbin (#3498)
fixFix stream corruption and crash when XTRIM marks the last entry of a listpack node as deleted by @smkher (#3591)
fixFix potential crash in TLS pending-data handling when the connection has no SSL object by @zuiderkwast (#3641)
fixFix use-after-free when ACL LOAD removes a user whose authenticated client's free is deferred by @ranshid (#3800)
fixFix use-after-free when a module unregisters the first-registered cluster message receiver for a message type by @eifrah-aws (#3846)
fixFix crash when loading functions after FUNCTION FLUSH ASYNC and make FUNCTION FLUSH actually release Lua VM memory by @enjoy-binbin (#1826)
fixFix file descriptor leak when a blocking connect times out, such as MIGRATE to an unreachable host by @madolson (#3541)
fixFix crash in module LRU/LFU API functions (GetLRU, SetLRU, GetLFU, SetLFU) when passed a NULL key by @yaronsananes (#3610)
fixTLS synchronous I/O no longer leaves a blocking socket in non-blocking mode, preventing unexpected short reads by @xbasel (#1298)
fixFix crash when CLUSTER SLOTS is called without a real client connection, such as from a module timer callback by @bandalgomsu (#2915)
fixFix assertion crash in the IO thread job queue on ARM/aarch64 caused by memory store reordering by @jjuleslasarte (#3878)
fixReject zipmap RESTORE payloads with overflowing length fields that could cause out-of-bounds access on 32-bit builds by @madolson (#3920)
fixReject NAN scores in listpack and ziplist encoded sorted sets on RDB load, preventing a later crash on skiplist conversion by @madolson (#3921)
fixFix crash on 32-bit systems where time_t is 64-bit (e.g. Alpine with time64) when generating INFO output by @chenshi5012 (#3787)
fixCOMMAND INFO in RESP3 now returns an empty Array instead of a Set for the subcommands field of commands without subcommands by @rickrams (#3939)
fixManual failover votes are no longer restricted by two times the node timeout, preventing manual failover timeouts by @enjoy-binbin (#1305)
fixAutomatic failover votes are no longer restricted by two times the node timeout, matching the manual failover change by @enjoy-binbin (#1356)
fixSENTINEL SET now rejects values containing control characters and config rewrite escapes them, preventing config injection by @eifrah-aws (#3847)
fixReject control characters and delimiters in cluster AUX fields and cluster-announce-ip to prevent nodes.conf injection by @eifrah-aws (#3848)
fixFix lua-enable-insecure-api yes not taking effect when set at startup via config file or command line by @enjoy-binbin (#3548)
fixLog 'Connection reset by peer' instead of the misleading 'Success' when the connection to the primary closes during sync by @abmathur-ie (#3580)
fixRedact key names and user data from additional server log messages when hide-user-data-from-log is enabled by @zackcam (#3872)
fixIncrease the maximum process title length from 255 to 1024 characters to avoid truncation with long paths by @pkhartsk (#3843)
fixvalkey-cli --cluster del-node can now remove unreachable or failed nodes instead of failing with 'No such node ID' by @yang-z-o (#3209)
fixFix valkey-cli --cluster assigning all uncovered slots to the same primary instead of distributing them randomly by @abmathur-ie (#3586)
security(CVE-2026-23479) Use-After-Free in unblock client flow
security(CVE-2026-25243) Invalid Memory Access in RESTORE command
security(CVE-2026-23631) Use-after-free when full sync occurs during a yielding Lua/function execution
otherNOTICE: This release has been revoked. The 8.0.8 tag was placed on a commit that is not part of the 8.0 release branch. Users should upgrade to 8.0.9 instead.
security(CVE-2026-21863) Remote DoS with malformed Valkey Cluster bus message
security(CVE-2025-67733) RESP Protocol Injection via Lua error_reply
fixFix ltrim should not call signalModifiedKey when no elements are removed (#2787)
fixFix chained replica crash when doing dual channel replication (#2983)
fixFix used_memory_dataset underflow due to miscalculated used_memory_overhead (#3005)
fixAvoids crash during MODULE UNLOAD when ACL rules reference a module command and subcommand (#3160)
fixFix server assert on ACL LOAD and resetchannels (#3182)
fixFix bug causing no response flush sometimes when IO threads are busy (#3205)
security(CVE-2025-49844) A Lua script may lead to remote code execution
security(CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE
security(CVE-2025-46818) A Lua script can be executed in the context of another user
security(CVE-2025-46819) LUA out-of-bound read
fixFix accounting for dual channel RDB bytes in replication stats (#2616)
fixMinor fix for dual rdb channel connection conn error log (#2658)
fixFix unsigned difference expression compared to zero (#2101)
fixFix clients remaining blocked when reprocessing commands after certain blocking operations (#2109)
fixFix a memory corruption issue in the sharded pub/sub unsubscribe logic (#2137)
fixFix potential memory leak by ensuring module context is freed when aux_save2 callback writes no data (#2132)
fixFix CLIENT UNBLOCK triggering unexpected errors when used on paused clients (#2117)
fixFix missing NULL check on SSL_new() when creating outgoing TLS connections (#2140)
fixFix incorrect casting of ping extension lengths to prevent silent packet drops (#2144)
fixFix replica failover stall due to outdated config epoch (#2178)
fixFix incorrect port/tls-port info in CLUSTER SLOTS/CLUSTER NODES after dynamic config change (#2186)
fixEnsure empty error tables in Lua scripts don't crash Valkey (#2229)
fixFix client tracking memory overhead calculation (#2360)
fixHandle divergent shard-id from nodes.conf and reconcile to the primary node's shard-id (#2174)
fixFix pre-size hashtables per slot when reading RDB files (#2466)
otherTrigger election immediately during a forced manual failover (CLUSTER FAILOVER FORCE) to avoid delay (#1067)
featureReset ongoing election state when initiating a new manual failover (#1274)
featureAdd support to drop all cluster packets (#1252)
featureImprove log clarity in failover auth denial message (#1341)
securityCVE-2025-27151: Check length of AOF file name in valkey-check-aof and reject paths longer than PATH_MAX (#2146)
securityCVE-2025-32023 prevent out-of-bounds write during hyperloglog operations (#2146)
securityCVE-2025-48367 retry accept on transient errors (#2315)
security(CVE-2025-21605) Limit output buffer for unauthenticated clients (#1993)
fixOptimize RDB load performance and fix cluster mode resizing on replica side (#1199)
fixFix memory leak in forgotten node ping ext code path (#1574)
fixFix cluster info sent stats for message with light header (#1563)
fixFix module LatencyAddSample still work when latency-monitor-threshold is 0 (#1541)
fixFix potential crash in radix tree recompression of huge keys (#1722)
fixFix error "SSL routines::bad length" when connTLSWrite is called second time with smaller buffer (#1737)
fixFix temp file leak druing replication error handling (#1721)
fixFix ACL LOAD crash on replica since the primary client don't has a user (#1842)
fixFix RANDOMKEY infinite loop during CLIENT PAUSE (#1850)
fixfix: add samples to stream object consumer trees (#1825)
fixFix cluster slot stats assertion during promotion of replica (#1950)
fixFix panic in primary when blocking shutdown after previous block with timeout (#1948)
fixIgnore stale gossip packets that arrive out of order (#1777)
fixFix incorrect lag reported in XINFO GROUPS (#1952)
fixAvoid shard id update of replica if not matching with primary shard id (#573)
security(CVE-2024-46981) Lua script commands may lead to remote code execution. (#1513)
security(CVE-2024-51741) Denial-of-service due to malformed ACL selectors. (#1514)
fixFix an uncommon crash when using TLS with dual channel replication. (#1173)
fixMake sure repl_down_since is correctly reset when dual channel replication fails. (#1149)
fixFix a performance regression where a replica does not properly initialize the database size when loading a snapshot during replication. (#1199)
fixMake sure the last accessed time is correctly updated when using the TOUCH command with the CLIENT NO-TOUCH option.
fixFix a bug where total_net_repl_output_bytes may report the wrong. (#1486)
fixFix a bug where used_memory_scripts may report the wrong value. (#1255)
fixFix a bug where server might crash when using active defrag when scripts are evicted from the script cache. (#1310)
fixFix a bug where extra memory would be used when storing strings in the inline protocol. (#1213)
fixFix a bug where the SORT command may throw a cross slot error. (#1182)
fixFix a bug where the RANDOMKEY command may omit returning keys in cluster mode. (#1155)
fixSend the correct error message when FUNCTION KIlL is used to kill an ongoing script. (#1171)
fixFix a potential memory corruption when databases are emptied, such as through FLUSHDB, when during active defrag is running. (#1512)
breakingRevert an unintended breaking change when sending an unsubuscribe command when a client is not subscribed to any channels. (#1265)
fixFix a build issue with RDMA when using additional make parameters. (#1074)
fixFix an issue where CLUSTER SLOTS might return the wrong tcp or tls port when called from inside a script or from a module. (#1072)
fixFix a crash when CLUSTER SLOTS or CLUSTER SHARDS is called from inside a script or from a module. (#1063)
fixFix a build issue on systems where is unavailable. (#1053)
fixFix an issue with the default sentinel.conf being invalid. (#1040)
featureBuild binary releases with systemd support. (#1107)
featureAvoid .c, .d and .o files from being copied to the binary tar.gz releases. (#1106)
security(CVE-2024-31449) Lua library commands may lead to stack overflow and potential RCE.
security(CVE-2024-31227) Potential Denial-of-service due to malformed ACL selectors.
security(CVE-2024-31228) Potential Denial-of-service due to unbounded pattern matching.
securityFixes CVE-2025-67733: RESP Protocol Injection via Lua error_reply
securityFixes CVE-2025-21605: DoS Vulnerability due to unlimited growth of output buffers abused by unauthenticated client
securityFixes CVE-2024-31449: Lua library commands may lead to stack overflow and potential RCE
securityFixes CVE-2026-21863: Remote DoS with malformed Valkey Cluster bus message
securityFixes CVE-2024-31228: Denial-of-service due to unbounded pattern matching
securityFixes CVE-2024-31227: Denial-of-service due to malformed ACL selectors
featureAdded full client info to SHUTDOWN and CLUSTER FAILOVER logs for better traceability of requests. (#875)
fixResolved issues in replicationSetPrimary where the primary node's IP/port updates were not correctly handled in the cluster gossip section. (#965)
fixFixed AOF base suffix during rewrites when modifying the aof-use-rdb-preamble setting, ensuring correct suffix caching to prevent inconsistencies. (#886)
fixAddressed rare crashes in async IO threads with TLS by preventing concurrent read and write job overlap. (#1011)
fixPrevented AOF from being incorrectly disabled after loading RDB data, ensuring proper re-enabling of AOF. (#1001)
fixTriggered a save of the cluster configuration file before shutdown to prevent inconsistencies caused by unsaved node configuration changes. (#822)
fixFixed timing issue in CLUSTER SETSLOT to ensure replicas handle migration correctly when receiving the command before the gossip update. (#981)
otherOptimized the handling of temporary set objects in SUNION and SDIFF commands, resulting in a 41% performance improvement for SUNION and 27% for SDIFF. (#996)
otherReplicas now flush old data after checking RDB file is valid during disk-based replication, preventing partial data loss and ensuring a clean data load. (#926)
See how far your stack has drifted from upstream. Release data from vendors’ own sources · feed under CC BY 4.0 · Code under AGPL-3.0 Settings Feed status