mirror of https://github.com/redis/redis.git
179 lines
7.9 KiB
Plaintext
179 lines
7.9 KiB
Plaintext
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 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
|
||
|