Redis Open Source 8.2 release notes =================================== -------------------------------------------------------------------------------- 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. -------------------------------------------------------------------------------- The release notes contain PRs from multiple 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) ============================================================= 8.2.1 (v8.2.1) Committed Mon 18 Aug 2025 12:00:00 IST ============================================================= Update urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent. ### Bug fixes - #14240 `INFO KEYSIZES` - potential incorrect histogram updates on cluster mode with modules - #14274 Disable Active Defrag during flushing replica - #14276 `XADD` or `XTRIM` can crash the server after loading RDB - #Q6601 Potential crash when running `FLUSHDB` (MOD-10681) ### Performance and resource utilization - Query Engine - LeanVec and LVQ proprietary Intel optimizations were removed from Redis Open Source - #Q6621 Fix regression in `INFO` (MOD-10779) =========================================================== 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: `XDELEX` and `XACKDEL`; extension to `XADD` and `XTRIM` - Bitmap - `BITOP`: new operators: `DIFF`, `DIFF1`, `ANDOR`, and `ONE` - Query Engine - new SVS-VAMANA vector index type which supports vector compression - More than 15 performance and resource utilization improvements - New metrics: per-slot usage metrics, key size distributions for basic data types, and more ### Binary distributions - Alpine and Debian Docker images - https://hub.docker.com/_/redis - Install using snap - see https://github.com/redis/redis-snap - Install using brew - see https://github.com/redis/homebrew-redis - Install using RPM - see https://github.com/redis/redis-rpm - Install using Debian APT - see https://github.com/redis/redis-debian ### Operating systems we test Redis 8.2 on - Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat) - Rocky Linux 8.10, 9.5 - AlmaLinux 8.10, 9.5 - Debian 12 (Bookworm) - macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia) ### Security fixes (compared to 8.2-RC1) - (CVE-2025-32023) Fix out-of-bounds write in `HyperLogLog` commands - (CVE-2025-48367) Retry accepting other connections even if the accepted connection reports an error ### New Features (compared to 8.2-RC1) - #14141 Keyspace notifications - new event types: - `OVERWRITTEN` - the value of a key is completely overwritten - `TYPE_CHANGED` - key type change ### Bug fixes (compared to 8.2-RC1) - #14162 Crash when using evport with I/O threads - #14163 `EVAL` crash when error table is empty - #14144 Vector sets - RDB format is not compatible with big endian machines - #14165 Endless client blocking for blocking commands - #14164 Prevent `CLIENT UNBLOCK` from unblocking `CLIENT PAUSE` - #14216 TTL was not removed by the `SET` command - #14224 `HINCRBYFLOAT` removes field expiration on replica ### Performance and resource utilization improvements (compared to 8.2-RC1) - #14200 Store iterators on stack instead of on heap - #14144 Vector set - improve RDB loading / RESTORE speed by storing the worst link info - #Q6430 More compression variants for the SVS-VAMANA vector index - #Q6535 `SHARD_K_RATIO` parameter - favor network latency over accuracy for KNN vector query in a Redis cluster (unstable feature) (MOD-10359) ### Modules API - #14051 `RedisModule_Get*`, `RedisModule_Set*` - allow modules to access Redis configurations - #14114 `RM_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](https://hub.docker.com/_/redis). 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 - #14130 Streams - new commands: `XDELEX` and `XACKDEL`; extension to `XADD` and `XTRIM` - #14039 New command: `CLUSTER SLOT-STATS` - get per-slot usage metrics such as key count, CPU time, and network I/O - #14122 `VSIM` - new `IN` operator for filtering expression - #Q6329, #Q6329 - Query Engine - new SVS-VAMANA vector index type which supports vector compression (optimized for Intel machines) ### Bug fixes - #14143 Gracefully handle short read errors for hashes with TTL during full sync ### Performance and resource utilization improvements - #14103 Optimize `BITCOUNT` by introducing prefetching - #14121 Optimize `SCAN` by performing expiration checks only on DBs with volatile keys - #14140 Optimize expiry check in `scanCallback` - #14131 Optimize `LREM`, `LPOS`, `LINSERT`, `ZRANK`, and more by caching `string2ll` results in `quicklistCompare` - #14088 Optimize `COPY`, `RENAME`, and `RESTORE` when TTL is used - #14074 Reduce the overhead associated with tracking `malloc`’s usable memory - #13900 Optimize the client’s cron to avoid blocking the main thread - #J1351 JSON - memory footprint improvement by inlining numbers (MOD-9511) ### Metrics - #14067 `INFO`: `used_memory_peak_time` - time when `used_memory_peak` was hit - #13990 `INFO`: - `master_current_sync_attempts` - number of times the replica attempted to sync to a master since last disconnection - `master_total_sync_attempts` - number of times the replica attempted to sync to a master - `master_link_up_since_seconds` - number of seconds since the link has been up - `total_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: 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](https://hub.docker.com/_/redis). Additional distributions will be introduced in upcoming pre-releases. ### New Features - #13898 `BITOP`: new operators: `DIFF`, `DIFF1`, `ANDOR`, and `ONE` (RED-143607) - #14065 `VSIM`: Add new `WITHATTRIBS` to return the JSON attribute associated with an element ### Bug fixes (compared to 8.0.2) - #13984 Memory usage and overhead report not updated when emptying or releasing a dict - #14081 Cron-based timers run twice as fast when active defrag is enabled - #14085 A short read may lead to an exit() on a replica - #14092 db->expires is not defragmented ### Performance and resource utilization improvements (compared to 8.0.2) - #13806 Keyspace - unify key and value - #13968 Offload memory release of argv and rewrite objects into I/O threads - #13969 Make I/O threads and main thread process in parallel and reduce notifications - #14017 Improve I/O threads performance by using memory prefetching - #J1351 JSON - Reduce memory footprint of numerical values (MOD-9511) ### Metrics - #13944 `CLIENT INFO` and `CLIENT LIST`: - `tot-net-in`: total network bytes read from the client connection - `tot-net-out`: total network bytes sent to the client connection - `tot-cmds`: number of commands executed by the client connection - #13907 `INFO`: `sentinel` section - `sentinel_total_tilt` - number of times entering tilt mode