Skip to content

DOC-5422, DOC-5365: update what's new section with 8.2 info and add release notes #1894

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions content/develop/whats-new/8-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ categories:
- operate
- rs
- rc
description: What's new in Redis 8
linkTitle: What's new in Redis 8
description: What's new in Redis 8.0
linkTitle: What's new in Redis 8.0
weight: 5
---

Expand Down
125 changes: 125 additions & 0 deletions content/develop/whats-new/8-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
title: Redis 8.2
alwaysopen: false
categories:
- docs
- operate
- rs
- rc
description: What's new in Redis 8.2
linkTitle: What's new in Redis 8.2
weight: 4
---

Redis 8.2 builds on the foundation of Redis 8.0 with significant performance and memory optimizations, enhanced streaming capabilities, and improved cluster management tools.

This release delivers major improvements across multiple areas:
- Enhanced Redis Streams with new commands for better consumer group management
- New bitmap operations for advanced bit manipulation
- Advanced cluster monitoring with per-slot usage metrics
- Optimized vector search with new compression algorithms
- Enhanced keyspace notifications with new event types
- More than 15 performance and resource utilization improvements

Below is a detailed breakdown of these updates.

## New features

### Enhanced Redis Streams

Redis 8.2 introduces powerful new commands that simplify consumer group management and stream lifecycle operations:

- [`XDELEX`]({{< relref "/commands/xdelex/" >}}): Delete entries from streams with advanced consumer group handling options.
- [`XACKDEL`]({{< relref "/commands/xackdel/" >}}): Acknowledge and delete stream entries in a single atomic operation.

These commands include `KEEPREF`, `DELREF`, and `ACKED` options that give you precise control over how consumer group references are handled during entry deletion. This simplifies common patterns where you need to clean up acknowledged entries while maintaining consumer group integrity.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"while maintaining consumer group integrity"
please change to
"while working with multiple consumer groups"


The [`XADD`]({{< relref "/commands/xadd/" >}}) and [`XTRIM`]({{< relref "/commands/xtrim/" >}}) commands have also been extended with these same options, providing consistent behavior across all stream management operations.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"all stream management operations"
please change to
"all commands that removes stream entries"


### Cluster monitoring improvements

The new [`CLUSTER SLOT-STATS`]({{< relref "/commands/cluster-slot-stats/" >}}) command provides detailed per-slot usage metrics including:
- Key count per slot
- CPU time consumption
- Network I/O statistics
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Network I/O statistics"
please change to
"Network ingress and egress"


This enhanced visibility helps you optimize cluster performance and identify hotspots in your data distribution.

### Vector search enhancements

Redis 8.2 introduces the SVS-VAMANA vector index type, which supports vector compression and is optimized for Intel machines. This new index type can significantly reduce memory usage while maintaining search performance for vector similarity operations.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this paragraph.
We will have to remove this from OSS on 8.2.1 because it uses a intel library that is not compatible with AGPL.


The `VSIM` command now supports the `IN` operator for filtering expressions, giving you more flexibility when performing vector similarity searches with complex filtering criteria.

### Enhanced bitmap operations

Redis 8.2 extends the [`BITOP`]({{< relref "/commands/bitop/" >}}) command with new operators that provide more sophisticated bit manipulation capabilities:

- **DIFF**: Perform bitwise difference operations between bitmaps.
- **DIFF1**: Calculate the difference with optimized single-bit operations.
- **ANDOR**: Combine AND and OR operations in a single command.
- **ONE**: Specialized operation for single-bit scenarios.

These new operators enable more complex bitmap analytics and can simplify operations that previously required multiple commands.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"bitmap analytics"
please change to
"bitmap workflows"


### Improved keyspace notifications

Redis 8.2 introduces new keyspace notification event types that provide better visibility into data changes:

- **OVERWRITTEN**: Triggered when a key's value is completely overwritten.
- **TYPE_CHANGED**: Fired when a key's data type changes.

These events help you build more responsive applications by providing granular notifications about specific types of data modifications.

## Improvements

Redis 8.2 delivers substantial performance improvements across core operations.

### Performance optimizations

- **BITCOUNT**: Enhanced with prefetching optimizations for faster bit counting operations.
- **SCAN**: Optimized to perform expiration checks only on databases with volatile keys, reducing unnecessary overhead.
- **List operations**: `LREM`, `LPOS`, and `LINSERT` benefit from cached `string2ll` results in `quicklistCompare`.
- **Sorted set operations**: `ZRANK` and related commands use the same caching optimizations.
- **Key operations**: `COPY`, `RENAME`, and `RESTORE` are optimized when TTL is used.
- **Client management**: Reduced overhead in client cron operations to avoid blocking the main thread.
- **Vector operations**: Improved RDB loading and RESTORE speed for vector sets by storing worst link information.

### Memory efficiency improvements

- **JSON data types**: Memory footprint improvements through number inlining.
- **Memory tracking**: Reduced overhead associated with tracking malloc's usable memory.
- **Expiry handling**: Optimized expiry checks in scan callbacks.
- **Vector compression**: Additional compression variants for the SVS-VAMANA vector index reduce memory usage.

### Vector search performance

Redis 8.2 introduces the `SHARD_K_RATIO` parameter for KNN vector queries in Redis clusters. This unstable feature allows you to favor network latency over accuracy, providing faster responses when exact precision isn't critical.

### Enhanced metrics

Redis 8.2 provides new metrics to help you monitor and troubleshoot your Redis instances.

#### Memory metrics

- `used_memory_peak_time`: Timestamp when `used_memory_peak` was reached

#### Replication metrics

- `master_current_sync_attempts`: Number of sync attempts since last disconnection
- `master_total_sync_attempts`: Total number of sync attempts to master
- `master_link_up_since_seconds`: Duration since the replication link was established
- `total_disconnect_time_sec`: Cumulative time the replica has been disconnected

These metrics provide better visibility into replication health and help you identify patterns in connection stability.

## Security improvements

Redis 8.2 includes important security fixes:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this section be on the top? (if sections are ordered by importance)

- **CVE-2025-27151**: Fixed potential stack overflow and RCE vulnerability in redis-check-aof.
- **CVE-2025-32023**: Fixed out-of-bounds write vulnerability in HyperLogLog commands.
- **CVE-2025-48367**: Improved connection handling to retry accepting connections even when errors occur.

## Component versions

Redis 8.2 continues the unified distribution approach introduced in Redis 8.0, delivering all functionality in a single Redis Open Source package without separate modules.
1 change: 1 addition & 0 deletions content/develop/whats-new/redis-feature-sets.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ To use a new feature introduced in a later feature set, you must upgrade the cor

| Redis feature set | What's new |
|-------------------|------------|
| **Feature set version:** 8.2| See [here]({{< relref "/develop/whats-new/8-2" >}})|
| **Feature set version:** 8.0| See [here]({{< relref "/develop/whats-new/8-0" >}})|
| **Feature set version:** 7.4<br /><br />**Component versions:**<br />[Redis 7.4]({{<relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisce-7.4-release-notes.md">}})<br />[Search 2.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md" >}})<br />[JSON 2.8]({{<relref "operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.8-release-notes.md">}})<br />[Time series 1.12]({{<relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.12-release-notes.md">}})<br />[Bloom 2.8]({{<relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.8-release-notes.md">}}) | **Hash**: <br>- [Expiration of individual hash fields]({{<relref "/develop/data-types/hashes#field-expiration">}}). <br> **Streams**: <br>- To start reading from the last stream message, use [`XREAD`]({{<relref "/commands/xread">}}) with the new ID value `+`.<br> **Time series**: <br>Insertion-filter for close samples. <br> **JSON**: <br>- A fix to not duplicate `AOF` commands multiple times in [`JSON.MSET`]({{< relref "commands/json.mset/" >}}). <br> **Probabilistic**: <br>- Returns an error if [`CMS.MERGE`]({{< relref "commands/cms.merge/" >}}) results in an overflow or underflow. <br> **Redis Query Engine**: <br>- New `BFLOAT16` and `FLOAT16` vector data types, reducing memory consumed by vectors while preserving accuracy. <br>- Support for indexing empty and missing values and enhanced developer experience for queries with exact matching capabilities. <br>- You can match `TAG` fields without needing to escape special characters. <br>- Expanded geospatial search with new `INTERSECT` and `DISJOINT` operators, improved reporting of the memory consumed by the index, and exposed full-text scoring in aggregation pipelines. |
| **Feature set version:** 7.2<br /><br />**Component versions:**<br />[Redis 7.2](https://raw.githubusercontent.com/redis/redis/7.2/00-RELEASENOTES)<br />[Search 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes.md" >}})<br />[JSON 2.6]({{<relref "operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.6-release-notes.md">}})<br />[Time series 1.10]({{<relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.10-release-notes.md">}})<br />[Bloom 2.6]({{<relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.6-release-notes.md">}})<br />[Gears 2.0](https://github.com/RedisGears/RedisGears/releases) | - Performance and resource utilization improvements, including significant memory and speed optimizations for lists, sets, and sorted sets.<br />**JSON**:<br />- New JSON commands: [`JSON.MERGE`]({{< relref "commands/json.merge/" >}}) and [`JSON.MSET`]({{< relref "commands/json.mset/" >}}).<br />**Redis Query Engine:**<br />- [Geo polygon search]({{< relref "commands/ft.search/#examples" >}}).<br>**Compatibility changes**:<br>- Redis 7.2 uses a new format (version 11) for RDB files, which is incompatible with older versions.<br />- Redis feature set 7.2 does not include [graph capabilities](https://redis.io/blog/redisgraph-eol/). |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,76 @@ categories:
- operate
- stack
description: Redis Open Source 8.2 release notes.
linkTitle: v8.2.0 (July 2025)
linkTitle: v8.2.0 (August 2025)
min-version-db: blah
min-version-rs: blah
weight: 20
---

## Redis Open Source 8.2 (August 2025)

This is the General Availability release of Redis 8.2 in Redis Open Source.

### Headlines

Redis 8.2 introduces major performance and memory footprint improvements, new commands, and command extensions.

### 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

### Redis 8.0.0 was tested on the following operating systems

- 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](https://github.com/redis/redis/pull/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](https://github.com/redis/redis/pull/14162) Crash when using evport with I/O threads.
- [#14163](https://github.com/redis/redis/pull/14163) `EVAL` crash when error table is empty.
- [#14144](https://github.com/redis/redis/pull/14144) Vector sets - RDB format is not compatible with big endian machines.
- [#14165](https://github.com/redis/redis/pull/14165) Endless client blocking for blocking commands.
- [#14164](https://github.com/redis/redis/pull/14164) Prevent `CLIENT UNBLOCK` from unblocking `CLIENT PAUSE`.
- [#14216](https://github.com/redis/redis/pull/14216) TTL was not removed by the `SET` command.
- [#14224](https://github.com/redis/redis/pull/14224) `HINCRBYFLOAT` removes field expiration on replica.

### Performance and resource utilization improvements (compared to 8.2-RC1)

- [#Q6430](https://github.com/RediSearch/RediSearch/pull/6430) More compression variants for the SVS-VAMANA vector index.
- [#Q6535](https://github.com/RediSearch/RediSearch/pull/6535) `SHARD_K_RATIO` parameter - favor network latency over accuracy for KNN vector query in a Redis cluster (unstable feature) (MOD-10359).
- [#14144](https://github.com/redis/redis/pull/14144) Vector set - improve RDB loading / RESTORE speed by storing the worst link info .

### Modules API

- [#14051](https://github.com/redis/redis/pull/14051) `RedisModule_Get*`, `RedisModule_Set*` - allow modules to access Redis configurations.
- [#14114](https://github.com/redis/redis/pull/14114) `RM_UnsubscribeFromKeyspaceEvents` - unregister a module from specific keyspace notifications.

## Redis Open Source 8.2-RC1 (July 2025)

This is the first Release Candidate of Redis Open Source 8.2.
Expand All @@ -30,31 +94,31 @@ Redis 8.2-RC1 is available as a Docker image and can be downloaded from [Docker

### New Features (compared to 8.2-M01)

- [#14130](https://github.com/redis/redis/pull/14130) Streams - new commands: `XDELEX` and `XACKDEL`; extension to `XADD` and `XTRIM`
- [#14039](https://github.com/redis/redis/pull/14039) New command: `CLUSTER SLOT-STATS` - get per-slot usage metrics such as key count, CPU time, and network I/O
- [#14122](https://github.com/redis/redis/pull/14122) `VSIM` - new `IN` operator for filtering expressions
- [#Q6329](https://github.com/RediSearch/RediSearch/pull/6329), [#Q6394](https://github.com/RediSearch/RediSearch/pull/6394) - Query Engine - new SVS-VAMANA vector index type which supports vector compression (optimized for Intel machines)
- [#14130](https://github.com/redis/redis/pull/14130) Streams - new commands: `XDELEX` and `XACKDEL`; extension to `XADD` and `XTRIM`.
- [#14039](https://github.com/redis/redis/pull/14039) New command: `CLUSTER SLOT-STATS` - get per-slot usage metrics such as key count, CPU time, and network I/O.
- [#14122](https://github.com/redis/redis/pull/14122) `VSIM` - new `IN` operator for filtering expressions.
- [#Q6329](https://github.com/RediSearch/RediSearch/pull/6329), [#Q6394](https://github.com/RediSearch/RediSearch/pull/6394) - Query Engine - new SVS-VAMANA vector index type which supports vector compression (optimized for Intel machines).

### Bug fixes (compared to 8.2-M01)

- [#14143](https://github.com/redis/redis/pull/14143) Gracefully handle short read errors for hashes with TTL during full sync
- [#14143](https://github.com/redis/redis/pull/14143) Gracefully handle short read errors for hashes with TTL during full sync.

### Performance and resource utilization improvements (compared to 8.2-M01)

- [#14103](https://github.com/redis/redis/pull/14103) Optimize `BITCOUNT` by introducing prefetching
- [#14121](https://github.com/redis/redis/pull/14121) Optimize `SCAN` by performing expiration checks only on DBs with volatile keys
- [#14140](https://github.com/redis/redis/pull/14140) Optimize expiry check in `scanCallback`
- [#14131](https://github.com/redis/redis/pull/14131) Optimize `LREM`, `LPOS`, `LINSERT`, `ZRANK`, and more by caching `string2ll` results in `quicklistCompare`
- [#14088](https://github.com/redis/redis/pull/14088) Optimize `COPY`, `RENAME`, and `RESTORE` when TTL is used
- [#14074](https://github.com/redis/redis/pull/14074) Reduce the overhead associated with tracking `malloc`’s usable memory
- [#13900](https://github.com/redis/redis/pull/13900) Optimize the client’s cron to avoid blocking the main thread
- [#J1350](https://github.com/RedisJSON/RedisJSON/pull/1350) JSON - memory footprint improvement by inlining numbers (MOD-9511)
- [#14103](https://github.com/redis/redis/pull/14103) Optimize `BITCOUNT` by introducing prefetching.
- [#14121](https://github.com/redis/redis/pull/14121) Optimize `SCAN` by performing expiration checks only on DBs with volatile keys.
- [#14140](https://github.com/redis/redis/pull/14140) Optimize expiry check in `scanCallback`.
- [#14131](https://github.com/redis/redis/pull/14131) Optimize `LREM`, `LPOS`, `LINSERT`, `ZRANK`, and more by caching `string2ll` results in `quicklistCompare`.
- [#14088](https://github.com/redis/redis/pull/14088) Optimize `COPY`, `RENAME`, and `RESTORE` when TTL is used.
- [#14074](https://github.com/redis/redis/pull/14074) Reduce the overhead associated with tracking `malloc`’s usable memory.
- [#13900](https://github.com/redis/redis/pull/13900) Optimize the client’s cron to avoid blocking the main thread.
- [#J1350](https://github.com/RedisJSON/RedisJSON/pull/1350) JSON - memory footprint improvement by inlining numbers (MOD-9511).

### Metrics

- [#14067](https://github.com/redis/redis/pull/14067) `INFO`: `used_memory_peak_time` - time when `used_memory_peak` was hit
- [#14067](https://github.com/redis/redis/pull/14067) `INFO`: `used_memory_peak_time` - time when `used_memory_peak` was hit.
- [#13990](https://github.com/redis/redis/pull/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 the replica has been disconnected
- `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 the replica has been disconnected.