All-in-One Redis Changelog¶
@latest 8.2.0 GA
Introduction¶
Upgrade urgency levels¶
LOW: No need to upgrade unless there are new features you want to use.MODERATE: Program an upgrade of the server, but it's not urgent.HIGH: There is a critical bug that may affect a subset of users. Upgrade!CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.SECURITY: There are security fixes in the release.
PRs repositories¶
#n- Redis (https://github.com/redis/redis)#Qn= Query Engine (https://github.com/RediSearch/RediSearch)#Jn= JSON (https://github.com/RedisJSON/RedisJSON)#Tn= Time Series (https://github.com/RedisTimeSeries/RedisTimeSeries)#Pn= Probabilistic (https://github.com/RedisBloom/RedisBloom)
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
 
Redis 8.2 release notes¶
8.2 GA (v8.2.0)¶
@Released Mon 4 Aug 2025 15:00:00 IST
This is the General Availability release of Redis Open Source 8.2.
Major changes compared to 8.0¶
- Streams - new commands: 
XDELEXandXACKDEL; extension toXADDandXTRIM - Bitmap - 
BITOP: new operators:DIFF,DIFF1,ANDOR, andONE - 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
 
Tested operating system¶
- 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 
HyperLogLogcommands - (CVE-2025-48367) Retry accepting other connections even if the accepted connection reports an error
 
New Features (compared to 8.2-RC1)¶
#14141Keyspace notifications - new event types:OVERWRITTEN- the value of a key is completely overwrittenTYPE_CHANGED- key type change
Bug fixes (compared to 8.2-RC1)¶
#14162Crash when using evport with I/O threads#14163EVALcrash when error table is empty#14144Vector sets - RDB format is not compatible with big endian machines#14165Endless client blocking for blocking commands#14164PreventCLIENT UNBLOCKfrom unblockingCLIENT PAUSE#14216TTL was not removed by theSETcommand#14224HINCRBYFLOATremoves field expiration on replica
Performance and resource utilization improvements (compared to 8.2-RC1)¶
#14200Store iterators on stack instead of on heap.#14144Vector set - improve RDB loading / RESTORE speed by storing the worst link info.#Q6430More compression variants for the SVS-VAMANA vector index.#Q6535SHARD_K_RATIOparameter - favor network latency over accuracy for KNN vector query in a Redis cluster (unstable feature) (MOD-10359).
Modules API¶
#14051RedisModule_Get*,RedisModule_Set*- allow modules to access Redis configurations#14114RM_UnsubscribeFromKeyspaceEvents- unregister a module from specific keyspace notifications
8.2-RC1 (v8.1.240)¶
@Committed Thu 3 Jul 2025 20:00:00 IST
This is the first Release Candidate of Redis Open Source 8.0.
Release Candidates are feature-complete pre-releases. Pre-releases are not suitable for production use.
Headlines¶
Redis 8.2 introduces major performance and memory footprint improvements, new commands, and command extensions.
8.2-RC1 is available as a Docker image and can be downloaded from Docker Hub. Additional distributions will be introduced in upcoming pre-releases.
Security fixes¶
- (CVE-2025-27151) redis-check-aof may lead to stack overflow and potential RCE
 
New Features¶
#14130Streams - new commands:XDELEXandXACKDEL; extension toXADDandXTRIM#14039New command:CLUSTER SLOT-STATS- get per-slot usage metrics such as key count, CPU time, and network I/O#14122VSIM- newINoperator for filtering expression#Q6329, #Q6329 - Query Engine - new SVS-VAMANA vector index type which supports vector compression (optimized for Intel machines)
Bug fixes¶
#14143Gracefully handle short read errors for hashes with TTL during full sync
Performance and resource utilization improvements¶
#14103OptimizeBITCOUNTby introducing prefetching#14121OptimizeSCANby performing expiration checks only on DBs with volatile keys#14140Optimize expiry check inscanCallback#14131OptimizeLREM,LPOS,LINSERT,ZRANK, and more by cachingstring2llresults inquicklistCompare#14088OptimizeCOPY,RENAME, andRESTOREwhen TTL is used#14074Reduce the overhead associated with trackingmalloc’s usable memory#13900Optimize the client’s cron to avoid blocking the main thread#J1351JSON - memory footprint improvement by inlining numbers (MOD-9511)
Metrics¶
#14067INFO:used_memory_peak_time- time whenused_memory_peakwas hit#13990INFO:master_current_sync_attempts- number of times the replica attempted to sync to a master since last disconnectionmaster_total_sync_attempts- number of times the replica attempted to sync to a mastermaster_link_up_since_seconds- number of seconds since the link has been uptotal_disconnect_time_sec- total cumulative time we've been disconnected as a replica
8.2-M01 (v8.1.224)¶
@Released Thu 19 Jun 2024 10:00:00 IST
This is the first Milestone of Redis Open Source 8.2.
Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. Once we reach feature-completeness we will release RC1.
Headlines 8.2-M01¶
Redis 8.2 introduces major performance and memory footprint improvements, and command extensions.
8.2-M01 is available as a Docker image and can be downloaded from Docker Hub. Additional distributions will be introduced in upcoming pre-releases.
New Features 8.2-M01¶
#14065VSIM: Add newWITHATTRIBSto return the JSON attribute associated with an element#13898BITOP: new operators:DIFF,DIFF1,ANDOR, andONE(RED-143607)
Bug fixes (compared to 8.0.2)¶
#13984Memory usage and overhead report not updated when emptying or releasing a dict#14081Cron-based timers run twice as fast when active defrag is enabled#14085A short read may lead to an exit() on a replica#14092db->expires is not defragmented
Performance and resource utilization improvements (compared to 8.0.2)¶
#13806Keyspace - unify key and value#13968Offload memory release of argv and rewrite objects into I/O threads#13969Make I/O threads and main thread process in parallel and reduce notifications#14017Improve I/O threads performance by using memory prefetching#J1351JSON - Reduce memory footprint of numerical values (MOD-9511)
Metrics 8.2-M01¶
#13944CLIENT INFOandCLIENT LIST:tot-net-in: total network bytes read from the client connectiontot-net-out: total network bytes sent to the client connectiontot-cmds: number of commands executed by the client connection#13907INFO:sentinelsection -sentinel_total_tilt- number of times entering tilt mode
Redis 8.0 release notes¶
Redis 8.0.3¶
@Released Sun 6 Jul 2025 12:00:00 IST
Update urgency: SECURITY: There are security fixes in the release.
Security fixes 8.0.3¶
- (CVE-2025-32023) Fix out-of-bounds write in 
HyperLogLogcommands - (CVE-2025-48367) Retry accepting other connections even if the accepted connection reports an error
 
New Features 8.0.3¶
#14065VSIM: Add newWITHATTRIBSto return the JSON attribute associated with an element
Bug fixes 8.0.3¶
#14085A short read may lead to an exit() on a replica#14092db->expires is not defragmented
Redis 8.0.2¶
@Released Tue 27 May 2025 12:00:00 IST
Update urgency: SECURITY: There are security fixes in the release.
Security fixes 8.0.2¶
- (CVE-2025-27151) redis-check-aof may lead to stack overflow and potential RCE
 
Other general improvements¶
#14048LOLWUTfor Redis 8
Redis 8.0.1¶
@Released Sun 13 May 2025 16:00:00 IST
Update urgency: MODERATE: No need to upgrade unless there are new features you want to use.
Performance and resource utilization improvements @8.0.1¶
#13959Vector set - fasterVSIMFILTERparsing
Bug fixes @8.0.1¶
#QE6083Query Engine - revert default policysearch-on-timeouttoRETURN#QE6050Query Engine -@__keyonFT.AGGREGATEused as reserved field name preventing access to Redis keyspace#QE6077Query Engine - crash when callingFT.CURSOR DELwhile retrieving from the CURSOR
Notes¶
- Fixed wrong text in the license files
 
8.0 GA (v8.0.0)¶
@Released Fri 2 May 2025 12:00:00 IST
This is the General Availability release of Redis Open Source 8.0.
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
 - © 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-threadsconfiguration 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
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,#13932CLUSTER SLOTS- TLS port update not reflected in CLUSTER SLOTS#13958 ``XTRIM,XADD- incorrect lag due to trimming stream#13931 ``HGETEX- wrong order of keyspace notifications#JS1337- JSON -JSON.DELemits noDELnotification when removing the entire value (MOD-9117)#TS1742- Time Series -TS.INFO-duplicatePolicyisnilwhen set to the default value (MOD-5423) (edited)
8.0-RC1 (v7.9.240)¶
@Released Mon 7 Apr 2025 10:00:00 IST
This is the first Release Candidate of Redis Community Edition 8.0.
Release Candidates are feature-complete pre-releases. Pre-releases are not suitable for production use.
Headlines @8.0-RC1¶
8.0-RC1 includes a new beta data structure - vector set.
New Features @8.0-RC1¶
#13915Vector set - a new data structure [beta]: Vector set extends the concept of sorted sets to allow the storage and querying of high-dimensional vector embeddings, enhancing Redis for AI use cases that involve semantic search and recommendation systems. Vector sets complement the existing vector search capability in the Redis Query Engine. The vector set data type is available in beta. We may change, or even break, the features and the API in future versions. We are open to your feedback as you try out this new data type.#13846Allow detecting incompatibility risks before switching to cluster mode
Bug fixes @8.0-RC1¶
#13895RDB Channel replication - replica is online after BGSAVE is done#13877Inconsistency for ShardID in case both master and replica support it#13883Defrag scan may return nothing when type/encoding changes during it#13863RANDOMKEY- infinite loop during client pause#13853SLAVEOF- crash when clients are blocked on lazy free#13632XREADreturns nil while stream is not empty
Metrics @8.0-RC1¶
#13846INFO:cluster_incompatible_ops- number of cluster-incompatible commands
Configuration parameters¶
#13846cluster-compatibility-sample-ratio- sampling ratio (0-100) for checking command compatibility with cluster mode
8.0-M04 (v7.9.227)¶
@Committed Sun 16 Mar 2025 11:00:00 IST
This is the fourth Milestone of Redis Community Edition 8.0.
Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. Once we reach feature-completeness we will release RC1.
Headlines @8.0-M04¶
8.0-M04 includes 3 new hash commands, performance improvements, and memory defragmentation improvements.
New Features @8.0-M04¶
#13798Hash - new commands:HGETDELGet and delete the value of one or more fields of a given hash keyHGETEXGet the value of one or more fields of a given hash key, and optionally set their expirationHSETEXSet the value of one or more fields of a given hash key, and optionally set their expiration#13773Add replication offset to AOF, allowing more robust way to determine which AOF has a more up-to-date data during recovery#13740,#13763shared secret - new mechanism to allow sending internal commands between nodes
Bug fixes @8.0-M04¶
#13804Overflow on 32-bit systems when calculating idle time for eviction#13793WAITAOFreturns prematurely#13800RemoveDENYOOMfromHEXPIRE,HEXPIREAT,HPEXPIRE, andHPEXPIREAT#13632Streams - wrong behavior ofXREAD +after last entry
Modules API @8.0-M04¶
#13788RedisModule_LoadDefaultConfigs- load module configuration values from redis.conf#13815RM_RegisterDefragFunc2- support for incremental defragmentation of global module data#13816RM_DefragRedisModuleDict- allow modules to defragRedisModuleDict#13774RM_GetContextFlags- add aREDISMODULE_CTX_FLAGS_DEBUG_ENABLEDflag to execute debug commands
Performance and resource utilization improvements @8.0-M04¶
#13752Reduce defrag CPU usage when defragmentation is ineffective#13764Reduce latency when a command is called consecutively#13787Optimize parsing data from clients, specifically multi-bulk (array) data#13792Optimize dictionary lookup by avoiding duplicate key length calculation during comparisons#13796Optimize expiration checks
8.0-M03 (v7.9.226)¶
@Committed Mon 20 Jan 2025 15:00:00 IST
This is the third Milestone of Redis Community Edition 8.0.
Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. Once we reach feature-completeness we will release RC1.
Headlines @8.0-M03¶
8.0-M03 introduces an improved replication mechanism which is more performant and robust, a new I/O threading implementation which enables throughput increase on multi-core environments, and many additional performance improvements. Both Alpine and Debian Docker images are now available on Docker Hub. A snap and Homebrew distributions are available as well.
Security fixes @8.0-M03¶
- (CVE-2024-46981) Lua script may lead to remote code execution
 - (CVE-2024-51741) Denial-of-service due to malformed ACL selectors
 
New Features @8.0-M03¶
#13695New I/O threading implementation#13732New replication mechanism
Bug fixes @8.0-M03¶
#13653MODULE LOADEX- crash on nonexistent parameter name#13661FUNCTION FLUSH- memory leak when using jemalloc#13626Memory leak on failed RDB loading
Other general improvements @8.0-M03¶
#13639Whenhide-user-data-from-logis enabled - also print command tokens on crash#13660Add the Lua VM memory to memory overhead
New metrics @8.0-M03¶
#13592INFO- newKEYSIZESsection includes key size distributions for basic data types#13695INFO- newThreadssection includes I/O threading metrics
Modules API @8.0-M03¶
#13666RedisModule_ACLCheckKeyPrefixPermissions- check access permissions to any key matching a given prefix#13676RedisModule_HashFieldMinExpire- query the minimum expiration time over all the hash’s fields#13676RedisModule_HashGet- newREDISMODULE_HASH_EXPIRE_TIMEflag - query the field expiration time#13656RedisModule_RegisterXXXConfig- allow registering unprefixed configuration parameters
Configuration parameters @8.0-M03¶
replica-full-sync-buffer-limit- maximum size of accumulated replication stream data on the replica sideio-threads-do-readsis no longer effective. The new I/O threading implementation always use threads for both reads and writes
Performance and resource utilization improvements @8.0-M03¶
#13638Optimize CRC64 performance#13521Optimize commands with large argument count - reuse c->argv after command execution#13558OptimizePFCOUNTandPFMERGE- SIMD acceleration#13644OptimizeGETon high pipeline use-cases#13646OptimizeEXISTS- prefetching and branch prediction hints#13652OptimizeLRANGE- improve listpack handling and decoding efficiency#13655OptimizeHSET- avoid unnecessary hash field creation or deletion#13721OptimizeLRANGEandHGETALL- refactor client write preparation and handling
8.0-M02 (v7.9.225)¶
@Committed Mon 28 Oct 2024 14:00:00 IST
This is the second Milestone of Redis Community Edition 8.0.
Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. Once we reach feature-completeness we will release RC1.
Headlines @8.0-M02¶
8.0-M02 introduces significant performance improvements. Both Alpine and Debian Docker images are now available on Docker Hub. Additional distributions will be introduced in upcoming pre-releases.
Supported upgrade paths (by replication or persistence) to 8.0-M02¶
- From previous Redis versions, without modules
 
The following upgrade paths (by replication or persistence) to 8.0-M02 are not yet tested and will be introduced in upcoming pre-releases:
- From previous Redis versions with modules (RediSearch, RedisJSON, RedisTimeSeries, RedisBloom)
 - From Redis Stack 7.2 or 7.4
 
Security fixes @8.0-M02¶
- (CVE-2024-31449) Lua library commands may lead to stack overflow and potential RCE.
 - (CVE-2024-31227) Potential Denial-of-service due to malformed ACL selectors.
 - (CVE-2024-31228) Potential Denial-of-service due to unbounded pattern matching.
 
Bug fixes @8.0-M02¶
#13539Hash: Fix key ref for a hash that no longer has fields with expiration onRENAME/MOVE/SWAPDB/RESTORE#13512FixTOUCHcommand from a script in no-touch mode#13468Cluster: Fix cluster node config corruption caused by mixing shard-id and non-shard-id versions#13608Cluster: FixGET #option inSORTcommand
Modules API @8.0-M02¶
#13526ExtendRedisModule_OpenKeyto read also expired keys and subkeys
Performance and resource utilization improvements @8.0-M02¶
#11884OptimizeZADDandZRANGE*commands#13530OptimizeSSCANcommand in case of listpack or intset encoding#13531OptimizeHSCAN/ZSCANcommand in case of listpack encoding#13520Optimize commands that heavily rely on bulk/mbulk replies (example ofLRANGE)#13566OptimizeZUNION[STORE]by avoiding redundant temporary dict usage#13567OptimizeSUNION/SDIFFcommands by avoiding redundant temporary dict usage#11533Avoid redundantlpGetto boostquicklistCompare#13412Reduce redundant call ofprepareClientToWritewhen calladdReply*continuously
8.0-M01 (v7.9.224)¶
@Released Thu 12 Sep 2024 10:00:00 IST
This is the first Milestone of Redis Community Edition 8.0.
Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. Once we reach feature-completeness we will release RC1.
8.0-M01 Headlines¶
Redis 8.0 introduces new data structures: JSON, time series, and 5 probabilistic data structures (previously available as separate Redis modules) and incorporates the enhanced Redis Query Enginer (with vector search).
8.0-M01 is available as a Docker image and can be downloaded from Docker Hub. Additional distributions will be introduced in upcoming pre-releases.
Supported upgrade paths (by replication or persistence) to 8.0-M01¶
- From previous Redis versions, without modules
 
The following upgrade paths (by replication or persistence) to 8.0-M01 are not yet tested and will be introduced in upcoming pre-releases:
- From previous Redis versions with modules (RediSearch, RedisJSON, RedisTimeSeries, RedisBloom)
 - From Redis Stack 7.2 or 7.4
 
New Features in binary distributions¶
- 7 new data structures: JSON, Time series, Bloom filter, Cuckoo filter, Count-min sketch, Top-k, t-digest
 - The enhanced Redis Query Engine (with vector search)
 
Potentially breaking changes¶
#12272GETRANGEreturns an empty bulk when the negative end index is out of range#12395OptimizeSCANcommand when matching data type
Bug fixes 8.0-M01¶
#13510FixRM_RdbLoadto enable AOF after RDB loading is completed#13489ACL CAT- return module commands#13476Fix a race condition in thecache_memoryoffunctionsLibCtx#13473Fix incorrect lag due to trimming stream viaXTRIMcommand#13338Fix incorrect lag field inXINFOwhen tombstone is after thelast_idof the consume group#13470OnHDELof last field - update the global hash field expiration data structure#13465Cluster: Pass extensions to node if extension processing is handled by it#13443Cluster: Ensure validity of myself when loading cluster config#13422Cluster: FixCLUSTER SHARDScommand returns empty array
Modules API 8.0-M01¶
#13509New API calls:RM_DefragAllocRaw,RM_DefragFreeRaw, andRM_RegisterDefragCallbacks- defrag API to allocate and free raw memory
Performance and resource utilization improvements 8.0-M01¶
#13503Avoid overhead of comparison function pointer calls in listpacklpFind#13505OptimizeSTRINGdatatype write commands#13499OptimizeSMEMBERScommand#13494OptimizeGEO*commands reply#13490OptimizeHELLOcommand#13488Optimize client query buffer#12395OptimizeSCANcommand when matching data type#13529OptimizeLREM,LPOS,LINSERT, andLINDEXcommands#13516OptimizeLRANGEand other commands that perform several writes to client buffers per call#13431Avoidused_memorycontention when updating from multiple threads
Other general improvements 8.0-M01¶
#13495Reply-LOADINGon replica while flushing the db
CLI tools 8.0-M01¶
#13411redis-cli: Fix wrongdbnumshowed after the client reconnected
Notes 8.0-M01¶
- No backward compatibility for replication or persistence.
 - Additional distributions, upgrade paths, features, and improvements will be introduced in upcoming pre-releases.
 - With the GA release of 8.0 we will deprecate Redis Stack.
 
Redis Community Edition 7.4 release notes¶
Redis 7.4.5¶
@Released Sun 6 Jul 2025 12:00:00 IST
Update urgency: SECURITY: There are security fixes in the release.
[7.4.5] Security fixes¶
- (CVE-2025-32023) Fix out-of-bounds write in 
HyperLogLogcommands - (CVE-2025-48367) Retry accepting other connections even if the accepted connection reports an error
 
Redis 7.4.4¶
@Released Tue 27 May 2025 12:00:00 IST
Update urgency: SECURITY: There are security fixes in the release.
[7.4.4] Security fixes¶
- (CVE-2025-27151) redis-check-aof may lead to stack overflow and potential RCE
 
[7.4.4] Bug fixes¶
#13966,#13932CLUSTER SLOTS- TLS port update not reflected in CLUSTER SLOTS#13958XTRIM,XADD- incorrect lag due to trimming stream
Redis 7.4.3¶
@Released Wed 23 Apr 2025 12:00:00 IST
Update urgency: SECURITY: There are security fixes in the release.
[7.4.3] Security fixes¶
- (CVE-2025-21605) An unauthenticated client can cause an unlimited growth of output buffers
 
[7.4.3] Bug fixes¶
#13661FUNCTION FLUSH- memory leak when using jemalloc#13793WAITAOFreturns prematurely#13853SLAVEOF- crash when clients are blocked on lazy free#13863RANDOMKEY- infinite loop during client pause#13877ShardID inconsistency when both primary and replica support it
Redis 7.4.2¶
@Released Mon 6 Jan 2025 12:30:00 IDT
Upgrade urgency SECURITY: See security fixes below.
[7.4.2] Security fixes¶
- (CVE-2024-46981) Lua script commands may lead to remote code execution
 - (CVE-2024-51741) Denial-of-service due to malformed ACL selectors
 
[7.4.2] Bug fixes¶
#13627Crash on module memory defragmentation#13338Streams:XINFOlag field is wrong when tombstone is after thelast_idof the consume group#13473Streams:XTRIMdoes not update the maximal tombstone, leading to an incorrect lag#13470INFOafterHDELshow wrong number of hash keys with expiration#13476Fix a race condition in thecache_memoryoffunctionsLibCtx#13626Memory leak on failed RDB loading#13539Hash: fix key ref for a hash that no longer has fields with expiration onRENAME/MOVE/SWAPDB/RESTORE#13443Cluster: crash when loading cluster config#13422Cluster:CLUSTER SHARDSreturns empty array#13465Cluster: incompatibility with older node versions#13608Cluster:SORT ... GET #: incorrect error message
Redis 7.4.1¶
@Released Wed 02 Oct 2024 20:17:04 IDT
Upgrade urgency SECURITY: See security fixes below.
[7.4.1] Security fixes¶
- (CVE-2024-31449) Lua library commands may lead to stack overflow and potential RCE.
 - (CVE-2024-31227) Potential Denial-of-service due to malformed ACL selectors.
 - (CVE-2024-31228) Potential Denial-of-service due to unbounded pattern matching.
 
Redis 7.4.0 GA¶
@Released Mon Jul 29 2024 9:00:00 IDT
This is the General Availability release of Redis Community Edition 7.4.
[7.4.0 GA] Features¶
Changes to new 7.4 features (compared to 7.4 RC2)
#13391,#13438Hash - expiration of individual fields: RDB file format changes#13372Hash - expiration of individual fields: rename and fix counting ofexpired_subkeysmetric#13372Hash - expiration of individual fields: renameINFOkeyspace field tosubexpiry
[7.4.0 GA] Configuration parameters¶
#13400Add hide-user-data-from-log - allows hiding user data from the log file
[7.4.0 GA] Bug fixes¶
#13407trigger Lua GC afterSCRIPT LOAD#13380Fix possible crash due to OOM panic on invalid command#13383FUNCTION FLUSH- improve Lua GC behavior and fix thread race in ASYNC mode#13408HEXPIRE-like commands should emit HDEL keyspace notification if expire time is in the past
Redis 7.4 RC2¶
@Released Thu 27 Jun 2024 10:00:00 IST
Upgrade urgency LOW: This is the second Release Candidate for Redis Community Edition 7.4.
[7.4 RC2] Performance and resource utilization improvements¶
#13296Optimize CPU cache efficiency
[7.4 RC2] Features¶
Changes to new 7.4 new features (compared to 7.4 RC1)
#13343Hash - expiration of individual fields: when key does not exist - reply with an array (nonexisting code for each field)#13329Hash - expiration of individual fields: new keyspace event:hexpired
[7.4 RC2] Modules API¶
Potentially breaking changes to new 7.4 features (compared to 7.4 RC1)
#13326Hash - expiration of individual fields: avoid lazy expire when called from a Modules API function
Redis 7.4 RC1¶
@Released Thu 6 Jun 2024 10:00:00 IST
Note: License changed - see LICENSE.txt
Upgrade urgency LOW: This is the first Release Candidate for Redis Community Edition 7.4.
Here is a comprehensive list of changes in this release compared to 7.2.5.
[7.4 RC1] New Features¶
#13303Hash - expiration of individual fields. 9 commands were introduced:HEXPIREandHPEXPIREset the remaining time to live for specific fieldsHEXPIREATandHPEXPIREATset the expiration time to a UNIX timestamp for specific fieldsHPERSISTremoves the expiration for specific fieldsHEXPIRETIMEandHPEXPIRETIMEget the expiration time for specific fieldsHTTLandHPTTLget the remaining time to live for specific fields#13117XREAD: new id value+to start reading from the last message#12765HSCAN: new [NOVALUES] flag to report only field names#12728SORT,SORT_RO: allowBYandGEToptions in cluster mode when the pattern maps to the same slot as the key#12299CLIENT KILL: new optional filter:MAXAGE maxage- retain connections older thanmaxageseconds#12971Lua: exposeos.clock()API for getting the elapsed time of Lua code execution#13276AllowSPUBLISHcommand withinMULTI ... EXECtransactions on replica
[7.4 RC1] Bug fixes¶
#12898XREADGROUP: fix entries-read inconsistency between master and replicas#13042SORT ... STORE: fix created lists to respect list compression and packing configs#12817, #12905 Fix race condition issues between the main thread and module threads#12577Unsubscribe all clients from replica for shard channel if the master ownership changes#12622WAITAOFcould timeout or hang if used after a module command that propagated effects only to replicas and not to AOF#11734BITCOUNTandBITPOSwith nonexistent key and illegal arguments return an error, not 0#12394BITCOUNT: check for wrong argument before checking if key exists#12961Allow execution of read-only transactions when out of memory#13274Fix crash when a client performs ACL change that disconnects itself#13311Cluster: Fix crash due to unblocking client during slot migration
[7.4 RC1] Security improvements¶
#13108Lua: LRU eviction for scripts generated withEVAL*** BEHAVIOR CHANGE ***#12961Restrict the total request size ofMULTI ... EXECtransactions#12860Redact ACL username information and mark '*-key-file-pass configs' as sensitive
[7.4 RC1] Performance and resource utilization improvements¶
#12838Improve performance when many clients callPUNSUBSCRIBE/SUNSUBSCRIBEsimultaneously#12627Reduce lag when wakingWAITAOFclients and there is not much traffic#12754OptimizeKEYSwhen pattern includes hashtag and implies a single slot#11695Reduce memory and improve performance by replacing cluster metadata with slot specific dictionaries#13087SCRIPT FLUSH ASYNCnow does not block the main thread#12996Active memory defragmentation efficiency improvements#12899Improve performance of read/update operation during rehashing#12536SCAN ... MATCH: Improve performance when the pattern implies cluster slot#12450ZRANGE ... LIMIT: improved performance
[7.4 RC1] Other general improvements¶
#13133Lua: allocate VM code with jemalloc instead of libc and count it as used memory *** BEHAVIOR CHANGE ***#12171ACL LOAD: do not disconnect all clients *** BEHAVIOR CHANGE ***#13020Allow adjusting defrag configurations while active defragmentation is running#12949Increase the accuracy of avg_ttl (the average keyspace keys TTL)#12977Allow runningWAITAOFin scripts#12782Implement TCP keep-alive across most Unix-like systems#12707Improved error codes when rejecting scripts in cluster mode#12596SupportXREAD ... BLOCKin scripts; rejected only if it ends up blocking
[7.4 RC1] New metrics¶
#12849INFO:pubsub_clients- number of clients in Pub/Sub mode#12966INFO:watching_clients- number of clients that are watching keys#12966INFO:total_watched_keys- number of watched keys#12476INFO:client_query_buffer_limit_disconnections- count client input buffer OOM events#12476INFO:client_output_buffer_limit_disconnections- count client output buffer OOM events#12996INFO:allocator_muzzy- memory returned to the OS but still shows as RSS until the OS reclaims it#13108INFO:evicted_scripts- number of evicted eval scripts. Users can check it to see if they are abusing EVAL#12996MEMORY STATS:allocator.muzzy- memory returned to the OS but still shows as RSS until the OS reclaims it#12913INFO MEMORYmem_overhead_db_hashtable_rehashing- memory resharding overhead (only the memory that will be released soon)#12913MEMORY STATS':overhead.db.hashtable.lut` - total overhead of dictionary buckets in databases#12913MEMORY STATS':overhead.db.hashtable.rehashing` - temporary memory overhead of database dictionaries currently being rehashed#12913MEMORY STATS':db.dict.rehashing.count` - number of top level dictionaries currently being rehashed#12966CLIENT LIST:watch- number of keys each client is currently watching
[7.4 RC1] Modules API¶
#12985New API calls:RM_TryCallocandRM_TryRealloc- allow modules to handle memory allocation failures gracefully#13069New API call:RM_ClusterKeySlot- which slot a key will hash to#13069New API call:RM_ClusterCanonicalKeyNameInSlot- get a consistent key that will map to a slot#12486New API call:RM_AddACLCategory- allow modules to declare new ACL categories
[7.4 RC1] Configuration parameters¶
#12178New configuration parameters:max-new-connections-per-cycleandmax-new-tls-connections-per-cycleto limit the number of new client connections per event-loop cycle#7351Rename some CPU configuration parameters for style alignment. Added alias to the old names to avoid breaking change
[7.4 RC1] CLI tools¶
#10609redis-cli: new-t <timeout>argument: specify server connection timeout in seconds#11315redis-cli: new-4and-6flags to prefer IPV4 or IPV6 on DNS lookup#12862redis-cli: allows pressing up arrow to return any command (including sensitive commands which are still not persisted)#12543redis-cli: add reverse history search (like Ctrl+R in terminals)#12826redis-cli: add--keystatsand--keystats-samplesto combines--memkeysand--bigkeyswith additional distribution data#12735redis-cli: fix:--bigkeysand--memkeysnow work on cluster replicas#9411redis-benchmark: add support for binary strings#12986redis-benchmark: fix: pick random slot for a node to distribute operation across slots