From 6ef98e0fb7e3c50781edf00fd8a1492774453a5c Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka Date: Tue, 28 Jan 2025 15:19:31 +0100 Subject: [PATCH 01/30] Draft for the feature sets --- content/develop/feature-sets/7-4 | 58 ++++++++++++++++++++++++++ content/develop/feature-sets/_index.md | 22 ++++++++++ 2 files changed, 80 insertions(+) create mode 100644 content/develop/feature-sets/7-4 create mode 100644 content/develop/feature-sets/_index.md diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 new file mode 100644 index 0000000000..a2e7f51fba --- /dev/null +++ b/content/develop/feature-sets/7-4 @@ -0,0 +1,58 @@ +--- +title: Redis 7.4 +alwaysopen: false +categories: +- docs +- operate +- rs +- rc +description: Highlights of what's new for Redis 7.4 +linkTitle: Redis 7.4 +weight: 10 +--- + +This page highlights the changes and new features introduced in Redis feature set 7.4. + +## Key Changes and New Features + +### Dual Licensing with RSALv2 and SSPLv1 +Redis 7.4 Community Edition is the first version to be dual-licensed under RSALv2 and SSPLv1. It remains free for the community and customers, maintaining permissive usage rights under the dual license. Versions prior to 7.4 are referred to as Redis open source software (OSS). Starting with Redis 7.4, the freely available versions are officially called Redis Community Edition. + +### Set Expiration for Hash Fields +Redis 7.4 introduces the ability to set expiration times for individual hash fields. This long-requested feature enhances memory efficiency and performance for use cases like caching and session storage. + +### New Data Types for Memory-Efficient Vector Databases +To support AI applications and Retrieval Augmented Generation (RAG), Redis 7.4 adds `bfloat16` and `float16` data types, reducing memory usage by up to 47% and latency under load by up to 59%. These optimizations help maximize performance when working with vector data and AI workloads. + +### Simplified Secondary Indexing +Redis Query Engine now offers easier-to-use secondary indexing with the TAG index type: + +- Querying tags with special characters (e.g., @, .) no longer requires escaping. Simply wrap query terms in double quotes. +- Improved handling of empty and missing fields supports more dynamic data models. +- Additional geospatial search capabilities include [INTERSECT](https://redis.io/docs/latest/develop/interact/search-and-query/query/geo-spatial/) and [DISJOIN](https://redis.io/docs/latest/develop/interact/search-and-query/query/geo-spatial/) operators, as well as better memory usage reporting for indexes. + +Check the [release notes](https://github.com/redis-stack/redis-stack/releases/tag/v7.4.0-v0) for more details. + + +### Time Series Optimization with Insertion Filters +Sensors that report small or negligible changes can now use insertion filters to ignore new measurements when differences between time or value are minimal. This reduces time series data size and improves efficiency. + +## Compatibility and Behavior Changes + +### Behavior Changes + +Behavior adjustments in Redis 7.4 include the use of jemalloc instead of libc for allocating Lua VM code, which optimizes memory fragmentation and enhances speed. + +Additionally, changes to the ACL LOAD command now ensure that only clients with affected user configurations are disconnected, minimizing unnecessary disruptions. + +### General changes +Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during public preview. We removed these to make Redis simpler. + +## Component versions +The Redis feature set 7.4 includes the following components: + +- [Redis 7.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisce-7.4-release-notes/) +- [Search 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes/) +- [JSON 2.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.8-release-notes/) +- [Time series 1.12](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.12-release-notes/) +- [Bloom 2.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.8-release-notes/) \ No newline at end of file diff --git a/content/develop/feature-sets/_index.md b/content/develop/feature-sets/_index.md new file mode 100644 index 0000000000..36f57f3282 --- /dev/null +++ b/content/develop/feature-sets/_index.md @@ -0,0 +1,22 @@ +--- +title: Redis feature sets +alwaysopen: false +categories: +- docs +- operate +- rs +- rc +description: Highlights of what's new for Redis feature sets +linkTitle: Redis feature sets +weight: 10 +--- + +A Redis feature set represents the complete set of features available in a specific Redis version. + +Currently, the following Redis feature sets are supported and maintained: + +- Redis feature set [7.4]({{< relref "/develop/feature-sets/7-4" >}}) +- Redis feature set 7.2 +- Redis feature set 6.2 + +To use a new feature introduced in a later feature set, you must upgrade the corresponding components according to the following table. \ No newline at end of file From ae436e22ad3132023f11dbd276c8caef5add4f2e Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 28 Jan 2025 15:25:40 +0100 Subject: [PATCH 02/30] Update _index.md --- content/develop/feature-sets/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/develop/feature-sets/_index.md b/content/develop/feature-sets/_index.md index 36f57f3282..11169fc9ca 100644 --- a/content/develop/feature-sets/_index.md +++ b/content/develop/feature-sets/_index.md @@ -19,4 +19,4 @@ Currently, the following Redis feature sets are supported and maintained: - Redis feature set 7.2 - Redis feature set 6.2 -To use a new feature introduced in a later feature set, you must upgrade the corresponding components according to the following table. \ No newline at end of file +To use a new feature introduced in a later feature set, you must upgrade the corresponding components included in that feature set. From 3366a45af7103e9949be30a73070be82d40d64e2 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 28 Jan 2025 23:15:43 +0100 Subject: [PATCH 03/30] Update _index.md --- content/develop/feature-sets/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/develop/feature-sets/_index.md b/content/develop/feature-sets/_index.md index 11169fc9ca..d81777a08e 100644 --- a/content/develop/feature-sets/_index.md +++ b/content/develop/feature-sets/_index.md @@ -13,7 +13,7 @@ weight: 10 A Redis feature set represents the complete set of features available in a specific Redis version. -Currently, the following Redis feature sets are supported and maintained: +The following Redis feature sets are supported and maintained: - Redis feature set [7.4]({{< relref "/develop/feature-sets/7-4" >}}) - Redis feature set 7.2 From cf4a4df2caf0aa933a24e17359a55f9817d32bd1 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 28 Jan 2025 23:21:28 +0100 Subject: [PATCH 04/30] Update 7-4 --- content/develop/feature-sets/7-4 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 index a2e7f51fba..99995ee218 100644 --- a/content/develop/feature-sets/7-4 +++ b/content/develop/feature-sets/7-4 @@ -33,7 +33,6 @@ Redis Query Engine now offers easier-to-use secondary indexing with the TAG inde Check the [release notes](https://github.com/redis-stack/redis-stack/releases/tag/v7.4.0-v0) for more details. - ### Time Series Optimization with Insertion Filters Sensors that report small or negligible changes can now use insertion filters to ignore new measurements when differences between time or value are minimal. This reduces time series data size and improves efficiency. @@ -55,4 +54,4 @@ The Redis feature set 7.4 includes the following components: - [Search 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes/) - [JSON 2.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.8-release-notes/) - [Time series 1.12](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.12-release-notes/) -- [Bloom 2.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.8-release-notes/) \ No newline at end of file +- [Bloom 2.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.8-release-notes/) From 3a65393abec92a65a91ca7f21c3b19d1032479f6 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 28 Jan 2025 23:22:19 +0100 Subject: [PATCH 05/30] Update 7-4 --- content/develop/feature-sets/7-4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 index 99995ee218..059b5d79dc 100644 --- a/content/develop/feature-sets/7-4 +++ b/content/develop/feature-sets/7-4 @@ -44,7 +44,7 @@ Behavior adjustments in Redis 7.4 include the use of jemalloc instead of libc fo Additionally, changes to the ACL LOAD command now ensure that only clients with affected user configurations are disconnected, minimizing unnecessary disruptions. -### General changes +### Other changes Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during public preview. We removed these to make Redis simpler. ## Component versions From 8395edb774344b05454d1e8c50c35110e7b0f4be Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 4 Feb 2025 13:01:13 +0100 Subject: [PATCH 06/30] Update 7-4 --- content/develop/feature-sets/7-4 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 index 059b5d79dc..3d70746444 100644 --- a/content/develop/feature-sets/7-4 +++ b/content/develop/feature-sets/7-4 @@ -15,11 +15,8 @@ This page highlights the changes and new features introduced in Redis feature se ## Key Changes and New Features -### Dual Licensing with RSALv2 and SSPLv1 -Redis 7.4 Community Edition is the first version to be dual-licensed under RSALv2 and SSPLv1. It remains free for the community and customers, maintaining permissive usage rights under the dual license. Versions prior to 7.4 are referred to as Redis open source software (OSS). Starting with Redis 7.4, the freely available versions are officially called Redis Community Edition. - -### Set Expiration for Hash Fields -Redis 7.4 introduces the ability to set expiration times for individual hash fields. This long-requested feature enhances memory efficiency and performance for use cases like caching and session storage. +### Support for hash field expiration +Redis 7.4 introduces the ability to set expiration times or adjust the remaining TTL for individual hash fields. This long-requested feature enhances memory efficiency and performance for use cases like caching and session storage. ### New Data Types for Memory-Efficient Vector Databases To support AI applications and Retrieval Augmented Generation (RAG), Redis 7.4 adds `bfloat16` and `float16` data types, reducing memory usage by up to 47% and latency under load by up to 59%. These optimizations help maximize performance when working with vector data and AI workloads. @@ -34,7 +31,7 @@ Redis Query Engine now offers easier-to-use secondary indexing with the TAG inde Check the [release notes](https://github.com/redis-stack/redis-stack/releases/tag/v7.4.0-v0) for more details. ### Time Series Optimization with Insertion Filters -Sensors that report small or negligible changes can now use insertion filters to ignore new measurements when differences between time or value are minimal. This reduces time series data size and improves efficiency. +Sensors can now use insertion filters to ignore new measurements when differences between time or value are minimal. This reduces time series data size and improves efficiency. ## Compatibility and Behavior Changes @@ -47,6 +44,9 @@ Additionally, changes to the ACL LOAD command now ensure that only clients with ### Other changes Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during public preview. We removed these to make Redis simpler. +### Dual Licensing with RSALv2 and SSPLv1 +Redis 7.4 Community Edition is the first version to be dual-licensed under RSALv2 and SSPLv1. It remains free for the community and customers, maintaining permissive usage rights under the dual license. Versions prior to 7.4 are referred to as Redis open source software (OSS). Starting with Redis 7.4, the freely available versions are officially called Redis Community Edition. + ## Component versions The Redis feature set 7.4 includes the following components: From e63989319e4a1c4f05feb6dc660ed3ad6a3fec04 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 4 Feb 2025 13:05:45 +0100 Subject: [PATCH 07/30] Update 7-4 --- content/develop/feature-sets/7-4 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 index 3d70746444..612194f960 100644 --- a/content/develop/feature-sets/7-4 +++ b/content/develop/feature-sets/7-4 @@ -41,12 +41,14 @@ Behavior adjustments in Redis 7.4 include the use of jemalloc instead of libc fo Additionally, changes to the ACL LOAD command now ensure that only clients with affected user configurations are disconnected, minimizing unnecessary disruptions. -### Other changes -Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during public preview. We removed these to make Redis simpler. +## Other changes ### Dual Licensing with RSALv2 and SSPLv1 Redis 7.4 Community Edition is the first version to be dual-licensed under RSALv2 and SSPLv1. It remains free for the community and customers, maintaining permissive usage rights under the dual license. Versions prior to 7.4 are referred to as Redis open source software (OSS). Starting with Redis 7.4, the freely available versions are officially called Redis Community Edition. +### Removal of triggers and functions +Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during public preview. We removed these to make Redis simpler. + ## Component versions The Redis feature set 7.4 includes the following components: From 761eada1524c65e227cac8d949ec524b248830e6 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 4 Feb 2025 13:17:44 +0100 Subject: [PATCH 08/30] Update 7-4 --- content/develop/feature-sets/7-4 | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 index 612194f960..1037c62444 100644 --- a/content/develop/feature-sets/7-4 +++ b/content/develop/feature-sets/7-4 @@ -43,9 +43,6 @@ Additionally, changes to the ACL LOAD command now ensure that only clients with ## Other changes -### Dual Licensing with RSALv2 and SSPLv1 -Redis 7.4 Community Edition is the first version to be dual-licensed under RSALv2 and SSPLv1. It remains free for the community and customers, maintaining permissive usage rights under the dual license. Versions prior to 7.4 are referred to as Redis open source software (OSS). Starting with Redis 7.4, the freely available versions are officially called Redis Community Edition. - ### Removal of triggers and functions Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during public preview. We removed these to make Redis simpler. From 25adae1efca5c2aae8614ba93caa6d4f165d2171 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 4 Feb 2025 13:36:38 +0100 Subject: [PATCH 09/30] Update 7-4 --- content/develop/feature-sets/7-4 | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 index 1037c62444..51d198b342 100644 --- a/content/develop/feature-sets/7-4 +++ b/content/develop/feature-sets/7-4 @@ -11,9 +11,9 @@ linkTitle: Redis 7.4 weight: 10 --- -This page highlights the changes and new features introduced in Redis feature set 7.4. +This page highlights the new features and changes introduced in Redis feature set 7.4. -## Key Changes and New Features +## New Features ### Support for hash field expiration Redis 7.4 introduces the ability to set expiration times or adjust the remaining TTL for individual hash fields. This long-requested feature enhances memory efficiency and performance for use cases like caching and session storage. @@ -33,17 +33,14 @@ Check the [release notes](https://github.com/redis-stack/redis-stack/releases/ta ### Time Series Optimization with Insertion Filters Sensors can now use insertion filters to ignore new measurements when differences between time or value are minimal. This reduces time series data size and improves efficiency. -## Compatibility and Behavior Changes +## Changes ### Behavior Changes - Behavior adjustments in Redis 7.4 include the use of jemalloc instead of libc for allocating Lua VM code, which optimizes memory fragmentation and enhances speed. Additionally, changes to the ACL LOAD command now ensure that only clients with affected user configurations are disconnected, minimizing unnecessary disruptions. -## Other changes - -### Removal of triggers and functions +### Other changes Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during public preview. We removed these to make Redis simpler. ## Component versions From 8f68c14ecbe418c3ae9b58de3b822af9b9d1c96e Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka Date: Fri, 14 Feb 2025 10:55:25 +0100 Subject: [PATCH 10/30] Content for 7.2 and 6.2 --- content/develop/feature-sets/6-2 | 58 ++++++++++++++++++++++++ content/develop/feature-sets/7-2 | 75 ++++++++++++++++++++++++++++++++ content/develop/feature-sets/7-4 | 10 ++--- 3 files changed, 138 insertions(+), 5 deletions(-) create mode 100644 content/develop/feature-sets/6-2 create mode 100644 content/develop/feature-sets/7-2 diff --git a/content/develop/feature-sets/6-2 b/content/develop/feature-sets/6-2 new file mode 100644 index 0000000000..88006cb4e9 --- /dev/null +++ b/content/develop/feature-sets/6-2 @@ -0,0 +1,58 @@ +--- +title: Redis 6.2 +alwaysopen: false +categories: +- docs +- operate +- rs +- rc +description: Highlights of what's new for Redis 6.2 +linkTitle: Redis 6.2 +weight: 8 +--- + +This page highlights the new features and changes introduced in Redis feature set 6.2. + +## New features + +### Multi-value indexing and querying +Developers can now index and query multi-value attributes across all field types, including TEXT, TAG, NUMERIC, GEO, and VECTOR. This enhancement allows indexing attributes defined by a JSONPath that leads to an array or multiple scalar values, eliminating the previous limitation of indexing only single scalar attributes. + +### Wildcard query support +Redis Query Engine now supports suffix and infix wildcard search queries for TEXT and TAG fields, improving flexibility in searching and filtering data. + +### T-digest: a new probabilistic data structure for quantile estimation +Redis feature set 6.2 introduces t-digest, a probabilistic data structure designed to estimate quantiles from large datasets or continuous data streams. This is particularly useful for analytics and monitoring applications that require approximate quantile calculations. + +### Retrieve aggregation results for ongoing time series buckets +A new option allows retrieving the latest, still-open time series bucket of compactions. This is useful for scenarios where data retention policies limit access to historical raw data, such as tracking event counts over extended periods. By specifying the `LATEST` option, users can now retrieve partially completed buckets. + +### Time-weighted average aggregator for time series +A new time-weighted average aggregator has been added to provide more accurate average-over-time calculations. This is particularly useful when dealing with time series data with irregular sampling intervals. + +### Gap-filling for time series data +Redis feature set 6.2 now supports gap-filling in time series data, allowing to interpolate missing values or repeat the last known value for empty time buckets. This feature enhances the continuity of time series analytics. + +### Enhanced graph algorithms +Graph introduces new pathfinding algorithms to compute minimal-weight paths, with optional constraints on cost or length. Additionally, new query language constructs allow to add or remove node labels, modify node and edge properties, and delete paths. + +## Changes + +### Behavior changes + +The `SRANDMEMBER` command now returns a RESP3 array instead of a set, aligning with the updated protocol format. The `EXPIRE`, `EXPIREAT`, `SETEX`, and `GETEX` commands will now return an error if the provided expiration time exceeds valid limits, ensuring more reliable expiration handling. Additionally, ACL subcommand validation has been removed when a fully defined command already exists, streamlining access control management. + +### Other changes +Redis feature set 6.2 introduces over 25 new commands, addressing long-standing feature requests. Among the most notable additions, the long-awaited `ZUNION` and `ZINTER` commands now allow direct result retrieval, unlike their counterparts, ZUNIONSTORE and ZINTERSTORE, which only store results. + +Redis streams have also been significantly enhanced. Exclusive range queries are now supported, giving users more precise control over data retrieval. The ability to filter pending messages by idle time improves message management, while a new mechanism simplifies message recovery in consumer groups, making it easier to reclaim lost messages. + +## Component versions +The Redis feature set 6.2 includes the following components: + +- [Redis 6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES) +- [Search 2.6](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.6-release-notes/) +- [JSON 2.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.4-release-notes/) +- [Time series 1.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.8-release-notes/) +- [Bloom 2.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.4-release-notes/) +- [Graph 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes/) \ No newline at end of file diff --git a/content/develop/feature-sets/7-2 b/content/develop/feature-sets/7-2 new file mode 100644 index 0000000000..52c53aa54c --- /dev/null +++ b/content/develop/feature-sets/7-2 @@ -0,0 +1,75 @@ +--- +title: Redis 7.2 +alwaysopen: false +categories: +- docs +- operate +- rs +- rc +description: Highlights of what's new for Redis 7.2 +linkTitle: Redis 7.2 +weight: 9 +--- + +This page highlights the new features and changes introduced in Redis feature set 7.2. + +## New features + +### Geospatial queries with polygon search +Redis Query Engine now provides improved support for querying geospatial data using polygon search. This enhancement allows developers to efficiently filter and retrieve data within complex geographic boundaries. + +For example, in a weather monitoring system, Redis can store geospatial data for extreme weather events such as hurricanes, wildfires, or thunderstorms. When a user defines a geographic area of interest, Redis Query Engine quickly retrieves relevant weather alerts within that region, enabling real-time notifications and faster emergency response. + +### Streamlined data manipulation in JSON +JSON now includes two new commands designed to simplify data manipulation. The `JSON.MERGE` command allows merging a given JSON value into matching paths, enabling more flexible updates. The `JSON.MSET` command provides a way to set or update multiple JSON values simultaneously based on specified key-path-value triplets, improving efficiency when handling structured data. + +### Optional support for RESP3 protocol +Redis 7.2 includes optional RESP3 support, improving response formatting and error handling. + +### Public preview: Triggers and Functions +Redis feature set 7.2 introduces the public preview of Triggers and Functions, an event-driven engine for executing TypeScript/JavaScript code within Redis. This enables efficient in-database data processing, reducing the need for external computation. It also supports cross-shard read operations, which were not available with Lua scripts. + +## Changes + +### Memory and speed optimizations +Redis feature set 7.2 includes significant performance improvements across Redis data types. For example, sorted sets, commonly used for gaming leaderboards, now see performance gains between [30% and 100%](https://redis.io/blog/introducing-redis-7-2/#:~:text=We%20made%20Redis%20more%20powerful%20for%20developers) due to optimizations in processing and memory efficiency. + +Redis Query Engine has also been enhanced with optimized `SORT BY` operations and a new response `FORMAT` in RESP3, improving efficiency and readability. + +### Behavior changes + +#### Script execution enhancemets +Client-side tracking now monitors the actual keys read during script execution rather than relying on declared keys, improving accuracy in key usage tracking. +Blocked commands now re-evaluate security checks before execution, ensuring compliance with updated permissions. +Additionally, ACL failure messages and error codes have been standardized, providing clearer and more consistent error handling. + +#### Client & replication enhancements +TLS-based replication now supports Server Name Indication (SNI), improving compatibility with secure deployments. +Additionally, the `HELLO` command has been refined to modify client state only upon successful execution, ensuring more predictable behavior. + +#### Streams improvements +Consumer tracking has been enhanced with seen-time and active-time metrics, providing better visibility into consumer activity. +The XREADGROUP and X[AUTO]CLAIM commands now create consumers even when no data is read, ensuring consistency in consumer group management. +Additionally, blocked stream commands now return a distinct error when the target key no longer exists, improving error clarity. + +#### Module API changes (potentially breaking) +The `RM_Call` function now enforces out-of-memory (OOM) checks for scripts only when the 'M' flag is set, refining memory management behavior. +Module command names now restrict the use of certain special characters to prevent conflicts. +Replication consistency has been improved for modules utilizing keyspace notifications, ensuring more reliable data synchronization. +Additionally, commands, configurations, and data types can no longer be registered after the `onload` handler has executed. This change enforces a stricter initialization process, ensuring that all module definitions are finalized before execution begins. + +#### Expired keys are now deleted from replica indexes +Expired keys are now deleted from Redis Query Engine replica indexes, ensuring queries return an empty array instead of nil. + +### Other changes +Redis Stack 7.2 no longer includes Graph capabilities. For more details, refer to the [RedisGraph End-of-Life Announcement](https://redis.io/blog/redisgraph-eol/#:~:text=After%20January%2031%2C%202025%2C%20RedisGraph,subscriptions%20until%20January%2031%2C%202024.). + +## Component versions +The Redis feature set 7.2 includes the following components: + +- [Redis 7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES) +- [Search 2.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes/) +- [JSON 2.6](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.6-release-notes/) +- [Time series 1.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.10-release-notes/) +- [Bloom 2.6](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.6-release-notes/) +- [Gears 2.0](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/deprecated-features/triggers-and-functions/) \ No newline at end of file diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 index 51d198b342..6ccbbc19c6 100644 --- a/content/develop/feature-sets/7-4 +++ b/content/develop/feature-sets/7-4 @@ -13,15 +13,15 @@ weight: 10 This page highlights the new features and changes introduced in Redis feature set 7.4. -## New Features +## New features ### Support for hash field expiration Redis 7.4 introduces the ability to set expiration times or adjust the remaining TTL for individual hash fields. This long-requested feature enhances memory efficiency and performance for use cases like caching and session storage. -### New Data Types for Memory-Efficient Vector Databases +### New data types formemory-efficient vector databases To support AI applications and Retrieval Augmented Generation (RAG), Redis 7.4 adds `bfloat16` and `float16` data types, reducing memory usage by up to 47% and latency under load by up to 59%. These optimizations help maximize performance when working with vector data and AI workloads. -### Simplified Secondary Indexing +### Simplified secondary indexing Redis Query Engine now offers easier-to-use secondary indexing with the TAG index type: - Querying tags with special characters (e.g., @, .) no longer requires escaping. Simply wrap query terms in double quotes. @@ -30,12 +30,12 @@ Redis Query Engine now offers easier-to-use secondary indexing with the TAG inde Check the [release notes](https://github.com/redis-stack/redis-stack/releases/tag/v7.4.0-v0) for more details. -### Time Series Optimization with Insertion Filters +### Time series optimization with insertion filters Sensors can now use insertion filters to ignore new measurements when differences between time or value are minimal. This reduces time series data size and improves efficiency. ## Changes -### Behavior Changes +### Behavior changes Behavior adjustments in Redis 7.4 include the use of jemalloc instead of libc for allocating Lua VM code, which optimizes memory fragmentation and enhances speed. Additionally, changes to the ACL LOAD command now ensure that only clients with affected user configurations are disconnected, minimizing unnecessary disruptions. From 6c92b7eb4377dcef94b2c72025b1876b251fec7c Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 17 Feb 2025 12:27:16 +0100 Subject: [PATCH 11/30] Update 6-2 --- content/develop/feature-sets/6-2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/develop/feature-sets/6-2 b/content/develop/feature-sets/6-2 index 88006cb4e9..dc36324261 100644 --- a/content/develop/feature-sets/6-2 +++ b/content/develop/feature-sets/6-2 @@ -21,7 +21,7 @@ Developers can now index and query multi-value attributes across all field types ### Wildcard query support Redis Query Engine now supports suffix and infix wildcard search queries for TEXT and TAG fields, improving flexibility in searching and filtering data. -### T-digest: a new probabilistic data structure for quantile estimation +### t-digest: a new probabilistic data structure for quantile estimation Redis feature set 6.2 introduces t-digest, a probabilistic data structure designed to estimate quantiles from large datasets or continuous data streams. This is particularly useful for analytics and monitoring applications that require approximate quantile calculations. ### Retrieve aggregation results for ongoing time series buckets @@ -55,4 +55,4 @@ The Redis feature set 6.2 includes the following components: - [JSON 2.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.4-release-notes/) - [Time series 1.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.8-release-notes/) - [Bloom 2.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.4-release-notes/) -- [Graph 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes/) \ No newline at end of file +- [Graph 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes/) From 015a79dbc75d2c899f4cc1a613399f8b67a4c0ad Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 17 Feb 2025 12:28:41 +0100 Subject: [PATCH 12/30] Update 6-2 --- content/develop/feature-sets/6-2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/develop/feature-sets/6-2 b/content/develop/feature-sets/6-2 index dc36324261..a43a8e07ef 100644 --- a/content/develop/feature-sets/6-2 +++ b/content/develop/feature-sets/6-2 @@ -22,7 +22,7 @@ Developers can now index and query multi-value attributes across all field types Redis Query Engine now supports suffix and infix wildcard search queries for TEXT and TAG fields, improving flexibility in searching and filtering data. ### t-digest: a new probabilistic data structure for quantile estimation -Redis feature set 6.2 introduces t-digest, a probabilistic data structure designed to estimate quantiles from large datasets or continuous data streams. This is particularly useful for analytics and monitoring applications that require approximate quantile calculations. +Redis introduces t-digest, a probabilistic data structure designed to estimate quantiles from large datasets or continuous data streams. This is particularly useful for analytics and monitoring applications that require approximate quantile calculations. ### Retrieve aggregation results for ongoing time series buckets A new option allows retrieving the latest, still-open time series bucket of compactions. This is useful for scenarios where data retention policies limit access to historical raw data, such as tracking event counts over extended periods. By specifying the `LATEST` option, users can now retrieve partially completed buckets. @@ -31,7 +31,7 @@ A new option allows retrieving the latest, still-open time series bucket of comp A new time-weighted average aggregator has been added to provide more accurate average-over-time calculations. This is particularly useful when dealing with time series data with irregular sampling intervals. ### Gap-filling for time series data -Redis feature set 6.2 now supports gap-filling in time series data, allowing to interpolate missing values or repeat the last known value for empty time buckets. This feature enhances the continuity of time series analytics. +Redis now supports gap-filling in time series data, allowing to interpolate missing values or repeat the last known value for empty time buckets. This feature enhances the continuity of time series analytics. ### Enhanced graph algorithms Graph introduces new pathfinding algorithms to compute minimal-weight paths, with optional constraints on cost or length. Additionally, new query language constructs allow to add or remove node labels, modify node and edge properties, and delete paths. @@ -43,7 +43,7 @@ Graph introduces new pathfinding algorithms to compute minimal-weight paths, wit The `SRANDMEMBER` command now returns a RESP3 array instead of a set, aligning with the updated protocol format. The `EXPIRE`, `EXPIREAT`, `SETEX`, and `GETEX` commands will now return an error if the provided expiration time exceeds valid limits, ensuring more reliable expiration handling. Additionally, ACL subcommand validation has been removed when a fully defined command already exists, streamlining access control management. ### Other changes -Redis feature set 6.2 introduces over 25 new commands, addressing long-standing feature requests. Among the most notable additions, the long-awaited `ZUNION` and `ZINTER` commands now allow direct result retrieval, unlike their counterparts, ZUNIONSTORE and ZINTERSTORE, which only store results. +Redis introduces over 25 new commands, addressing long-standing feature requests. Among the most notable additions, the long-awaited `ZUNION` and `ZINTER` commands now allow direct result retrieval, unlike their counterparts, ZUNIONSTORE and ZINTERSTORE, which only store results. Redis streams have also been significantly enhanced. Exclusive range queries are now supported, giving users more precise control over data retrieval. The ability to filter pending messages by idle time improves message management, while a new mechanism simplifies message recovery in consumer groups, making it easier to reclaim lost messages. From 7a129b4413aa94815f1618a50874330fb12ec637 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 17 Feb 2025 12:29:27 +0100 Subject: [PATCH 13/30] Update 7-2 --- content/develop/feature-sets/7-2 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/develop/feature-sets/7-2 b/content/develop/feature-sets/7-2 index 52c53aa54c..9f6ef2dc84 100644 --- a/content/develop/feature-sets/7-2 +++ b/content/develop/feature-sets/7-2 @@ -24,15 +24,15 @@ For example, in a weather monitoring system, Redis can store geospatial data for JSON now includes two new commands designed to simplify data manipulation. The `JSON.MERGE` command allows merging a given JSON value into matching paths, enabling more flexible updates. The `JSON.MSET` command provides a way to set or update multiple JSON values simultaneously based on specified key-path-value triplets, improving efficiency when handling structured data. ### Optional support for RESP3 protocol -Redis 7.2 includes optional RESP3 support, improving response formatting and error handling. +Redis includes optional RESP3 support, improving response formatting and error handling. ### Public preview: Triggers and Functions -Redis feature set 7.2 introduces the public preview of Triggers and Functions, an event-driven engine for executing TypeScript/JavaScript code within Redis. This enables efficient in-database data processing, reducing the need for external computation. It also supports cross-shard read operations, which were not available with Lua scripts. +Redis introduces the public preview of Triggers and Functions, an event-driven engine for executing TypeScript/JavaScript code within Redis. This enables efficient in-database data processing, reducing the need for external computation. It also supports cross-shard read operations, which were not available with Lua scripts. ## Changes ### Memory and speed optimizations -Redis feature set 7.2 includes significant performance improvements across Redis data types. For example, sorted sets, commonly used for gaming leaderboards, now see performance gains between [30% and 100%](https://redis.io/blog/introducing-redis-7-2/#:~:text=We%20made%20Redis%20more%20powerful%20for%20developers) due to optimizations in processing and memory efficiency. +Redis includes significant performance improvements across Redis data types. For example, sorted sets, commonly used for gaming leaderboards, now see performance gains between [30% and 100%](https://redis.io/blog/introducing-redis-7-2/#:~:text=We%20made%20Redis%20more%20powerful%20for%20developers) due to optimizations in processing and memory efficiency. Redis Query Engine has also been enhanced with optimized `SORT BY` operations and a new response `FORMAT` in RESP3, improving efficiency and readability. @@ -72,4 +72,4 @@ The Redis feature set 7.2 includes the following components: - [JSON 2.6](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.6-release-notes/) - [Time series 1.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.10-release-notes/) - [Bloom 2.6](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.6-release-notes/) -- [Gears 2.0](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/deprecated-features/triggers-and-functions/) \ No newline at end of file +- [Gears 2.0](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/deprecated-features/triggers-and-functions/) From e4c548e1cd4213187c1af82f145d15e13261772d Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 17 Feb 2025 12:32:10 +0100 Subject: [PATCH 14/30] Update 6-2 --- content/develop/feature-sets/6-2 | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/develop/feature-sets/6-2 b/content/develop/feature-sets/6-2 index a43a8e07ef..89c01ff930 100644 --- a/content/develop/feature-sets/6-2 +++ b/content/develop/feature-sets/6-2 @@ -33,9 +33,6 @@ A new time-weighted average aggregator has been added to provide more accurate a ### Gap-filling for time series data Redis now supports gap-filling in time series data, allowing to interpolate missing values or repeat the last known value for empty time buckets. This feature enhances the continuity of time series analytics. -### Enhanced graph algorithms -Graph introduces new pathfinding algorithms to compute minimal-weight paths, with optional constraints on cost or length. Additionally, new query language constructs allow to add or remove node labels, modify node and edge properties, and delete paths. - ## Changes ### Behavior changes From 103a099ec90fccdd0b6a971855e25ffdfe25ccff Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 17 Feb 2025 12:32:57 +0100 Subject: [PATCH 15/30] Update 6-2 --- content/develop/feature-sets/6-2 | 6 ------ 1 file changed, 6 deletions(-) diff --git a/content/develop/feature-sets/6-2 b/content/develop/feature-sets/6-2 index 89c01ff930..e53545bafb 100644 --- a/content/develop/feature-sets/6-2 +++ b/content/develop/feature-sets/6-2 @@ -34,12 +34,6 @@ A new time-weighted average aggregator has been added to provide more accurate a Redis now supports gap-filling in time series data, allowing to interpolate missing values or repeat the last known value for empty time buckets. This feature enhances the continuity of time series analytics. ## Changes - -### Behavior changes - -The `SRANDMEMBER` command now returns a RESP3 array instead of a set, aligning with the updated protocol format. The `EXPIRE`, `EXPIREAT`, `SETEX`, and `GETEX` commands will now return an error if the provided expiration time exceeds valid limits, ensuring more reliable expiration handling. Additionally, ACL subcommand validation has been removed when a fully defined command already exists, streamlining access control management. - -### Other changes Redis introduces over 25 new commands, addressing long-standing feature requests. Among the most notable additions, the long-awaited `ZUNION` and `ZINTER` commands now allow direct result retrieval, unlike their counterparts, ZUNIONSTORE and ZINTERSTORE, which only store results. Redis streams have also been significantly enhanced. Exclusive range queries are now supported, giving users more precise control over data retrieval. The ability to filter pending messages by idle time improves message management, while a new mechanism simplifies message recovery in consumer groups, making it easier to reclaim lost messages. From 5b8cf2da08715d580e60d81c2fefb84bab668157 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 17 Feb 2025 12:34:36 +0100 Subject: [PATCH 16/30] Update 7-2 --- content/develop/feature-sets/7-2 | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/develop/feature-sets/7-2 b/content/develop/feature-sets/7-2 index 9f6ef2dc84..5768196774 100644 --- a/content/develop/feature-sets/7-2 +++ b/content/develop/feature-sets/7-2 @@ -23,9 +23,6 @@ For example, in a weather monitoring system, Redis can store geospatial data for ### Streamlined data manipulation in JSON JSON now includes two new commands designed to simplify data manipulation. The `JSON.MERGE` command allows merging a given JSON value into matching paths, enabling more flexible updates. The `JSON.MSET` command provides a way to set or update multiple JSON values simultaneously based on specified key-path-value triplets, improving efficiency when handling structured data. -### Optional support for RESP3 protocol -Redis includes optional RESP3 support, improving response formatting and error handling. - ### Public preview: Triggers and Functions Redis introduces the public preview of Triggers and Functions, an event-driven engine for executing TypeScript/JavaScript code within Redis. This enables efficient in-database data processing, reducing the need for external computation. It also supports cross-shard read operations, which were not available with Lua scripts. From 543576495d93a034f6150ef8a6f21e92196084e9 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka Date: Thu, 13 Mar 2025 18:19:48 +0100 Subject: [PATCH 17/30] Adding changes to the structure --- content/develop/feature-sets/6-2 | 30 +++++++++++------- content/develop/feature-sets/7-2 | 54 +++++++++++++++----------------- content/develop/feature-sets/7-4 | 31 ++++++++---------- 3 files changed, 57 insertions(+), 58 deletions(-) diff --git a/content/develop/feature-sets/6-2 b/content/develop/feature-sets/6-2 index e53545bafb..79684aa332 100644 --- a/content/develop/feature-sets/6-2 +++ b/content/develop/feature-sets/6-2 @@ -11,39 +11,45 @@ linkTitle: Redis 6.2 weight: 8 --- -This page highlights the new features and changes introduced in Redis feature set 6.2. +Redis version 6.2 introduces new capabilities designed to improve data indexing, querying, and analytics. This update brings multi-value indexing, expanded wildcard query support, and a new probabilistic data structure for quantile estimation. Additionally, significant enhancements to Redis Streams and time series data processing offer greater flexibility for developers working with real-time and historical datasets. Over 25 new commands have been added, addressing key feature requests and further extending Redis' functionality. +Below is a detailed breakdown of these improvements. ## New features ### Multi-value indexing and querying -Developers can now index and query multi-value attributes across all field types, including TEXT, TAG, NUMERIC, GEO, and VECTOR. This enhancement allows indexing attributes defined by a JSONPath that leads to an array or multiple scalar values, eliminating the previous limitation of indexing only single scalar attributes. +Redis now supports indexing and querying multi-value attributes across all field types, including `TEXT`, `TAG`, `NUMERIC`, `GEO`, and `VECTOR`. Developers can define JSONPath expressions leading to arrays or multiple scalar values, overcoming the previous limitation of indexing only single scalar attributes. ### Wildcard query support -Redis Query Engine now supports suffix and infix wildcard search queries for TEXT and TAG fields, improving flexibility in searching and filtering data. +The Redis Query Engine now enables suffix and infix wildcard searches for `TEXT` and `TAG` fields. This enhancement provides greater flexibility in data retrieval and filtering. ### t-digest: a new probabilistic data structure for quantile estimation -Redis introduces t-digest, a probabilistic data structure designed to estimate quantiles from large datasets or continuous data streams. This is particularly useful for analytics and monitoring applications that require approximate quantile calculations. +Redis introduces t-digest, an advanced probabilistic data structure that efficiently estimates quantiles in large datasets or continuous data streams. This is particularly beneficial for analytics and monitoring applications where precise quantile calculations are required. ### Retrieve aggregation results for ongoing time series buckets -A new option allows retrieving the latest, still-open time series bucket of compactions. This is useful for scenarios where data retention policies limit access to historical raw data, such as tracking event counts over extended periods. By specifying the `LATEST` option, users can now retrieve partially completed buckets. +A new feature allows users to retrieve the latest, still-open time series buckets during compaction. This is particularly useful when dealing with retention policies that limit access to raw historical data, enabling real-time insights into event counts over extended periods. ### Time-weighted average aggregator for time series -A new time-weighted average aggregator has been added to provide more accurate average-over-time calculations. This is particularly useful when dealing with time series data with irregular sampling intervals. +Redis now includes a time-weighted average aggregator, improving accuracy in average-over-time calculations. This feature is especially valuable for time series data with irregular sampling intervals. ### Gap-filling for time series data -Redis now supports gap-filling in time series data, allowing to interpolate missing values or repeat the last known value for empty time buckets. This feature enhances the continuity of time series analytics. +To improve time series analytics, Redis introduces gap-filling capabilities. This feature allows interpolation of missing values or repetition of the last known value for empty time buckets, ensuring continuity in time series analysis. -## Changes -Redis introduces over 25 new commands, addressing long-standing feature requests. Among the most notable additions, the long-awaited `ZUNION` and `ZINTER` commands now allow direct result retrieval, unlike their counterparts, ZUNIONSTORE and ZINTERSTORE, which only store results. +## Improvements +### Existing data structures +Redis 6.2 introduces over 25 new commands, fulfilling long-standing community requests. Notably: -Redis streams have also been significantly enhanced. Exclusive range queries are now supported, giving users more precise control over data retrieval. The ability to filter pending messages by idle time improves message management, while a new mechanism simplifies message recovery in consumer groups, making it easier to reclaim lost messages. +- The long-awaited `ZUNION` and `ZINTER` commands now allow direct retrieval of results, unlike `ZUNIONSTORE` and `ZINTERSTORE`, which store results in a key. +- Redis Streams enhancements include: + - Support for exclusive range queries, providing finer control over data retrieval. + - The ability to filter pending messages based on idle time, improving message management. + - A simplified mechanism for recovering lost messages in consumer groups, making message reclamation more efficient. ## Component versions -The Redis feature set 6.2 includes the following components: +The Redis version 6.2 is built upon the following component versions: - [Redis 6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES) - [Search 2.6](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.6-release-notes/) - [JSON 2.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.4-release-notes/) - [Time series 1.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.8-release-notes/) - [Bloom 2.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.4-release-notes/) -- [Graph 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes/) +- [Graph 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes/) \ No newline at end of file diff --git a/content/develop/feature-sets/7-2 b/content/develop/feature-sets/7-2 index 5768196774..49fedc9de7 100644 --- a/content/develop/feature-sets/7-2 +++ b/content/develop/feature-sets/7-2 @@ -11,58 +11,56 @@ linkTitle: Redis 7.2 weight: 9 --- -This page highlights the new features and changes introduced in Redis feature set 7.2. +Redis version 7.2 introduces new capabilities, including improved geospatial queries, streamlined JSON data manipulation, and the public preview of Triggers and Functions for event-driven processing. Performance optimizations, client-side enhancements, and behavioral refinements further improve Redis' efficiency, security, and usability. +Below is a detailed breakdown of these updates. ## New features ### Geospatial queries with polygon search -Redis Query Engine now provides improved support for querying geospatial data using polygon search. This enhancement allows developers to efficiently filter and retrieve data within complex geographic boundaries. +Redis Query Engine now supports querying geospatial data using polygon search, enabling developers to efficiently filter and retrieve data within complex geographic boundaries. For example, in a weather monitoring system, Redis can store geospatial data for extreme weather events such as hurricanes, wildfires, or thunderstorms. When a user defines a geographic area of interest, Redis Query Engine quickly retrieves relevant weather alerts within that region, enabling real-time notifications and faster emergency response. ### Streamlined data manipulation in JSON -JSON now includes two new commands designed to simplify data manipulation. The `JSON.MERGE` command allows merging a given JSON value into matching paths, enabling more flexible updates. The `JSON.MSET` command provides a way to set or update multiple JSON values simultaneously based on specified key-path-value triplets, improving efficiency when handling structured data. +JSON now includes two new commands for improved data handling: + +- `JSON.MERGE`: Merges a given JSON value into matching paths, allowing more flexible updates. +- `JSON.MSET`: Sets or updates multiple JSON values simultaneously based on specified key-path-value triplets, improving efficiency when handling structured data. ### Public preview: Triggers and Functions -Redis introduces the public preview of Triggers and Functions, an event-driven engine for executing TypeScript/JavaScript code within Redis. This enables efficient in-database data processing, reducing the need for external computation. It also supports cross-shard read operations, which were not available with Lua scripts. +Redis introduces the public preview of Triggers and Functions, an event-driven engine for executing TypeScript/JavaScript code within Redis. This feature enables efficient in-database data processing, reducing reliance on external computation. It also supports cross-shard read operations, which were previously unavailable with Lua scripts. -## Changes +## Improvements +### Existing data structures +Significant performance improvements have been made across Redis data types. Sorted sets, commonly used for gaming leaderboards, now see performance improvements ranging from [30% to 100%](https://redis.io/blog/introducing-redis-7-2/#:~:text=We%20made%20Redis%20more%20powerful%20for%20developers). -### Memory and speed optimizations -Redis includes significant performance improvements across Redis data types. For example, sorted sets, commonly used for gaming leaderboards, now see performance gains between [30% and 100%](https://redis.io/blog/introducing-redis-7-2/#:~:text=We%20made%20Redis%20more%20powerful%20for%20developers) due to optimizations in processing and memory efficiency. +Additionally, Redis stream consumer tracking has been enhanced to provide better visibility into consumer activity, and blocked stream commands now return a distinct error when the target key no longer exists. -Redis Query Engine has also been enhanced with optimized `SORT BY` operations and a new response `FORMAT` in RESP3, improving efficiency and readability. +### Redis Query Engine improvements +The Redis Query Engine has received several updates, including optimized `SORT BY` operations and the addition of a new `FORMAT` response in RESP3, improving both efficiency and readability. -### Behavior changes +### Script execution enhancemets +Client-side tracking now monitors actual keys read during script execution, improving key usage tracking accuracy. Additionally, blocked commands will re-evaluate security checks before execution, ensuring compliance with updated permissions. Standardized ACL failure messages and error codes now provide clearer error handling. -#### Script execution enhancemets -Client-side tracking now monitors the actual keys read during script execution rather than relying on declared keys, improving accuracy in key usage tracking. -Blocked commands now re-evaluate security checks before execution, ensuring compliance with updated permissions. -Additionally, ACL failure messages and error codes have been standardized, providing clearer and more consistent error handling. +### Client and replication enhancements +TLS-based replication now supports Server Name Indication (SNI) to improve compatibility with secure deployments. The `HELLO` command behavior has also been refined to modify client state only upon successful execution, ensuring more predictable client behavior. -#### Client & replication enhancements -TLS-based replication now supports Server Name Indication (SNI), improving compatibility with secure deployments. -Additionally, the `HELLO` command has been refined to modify client state only upon successful execution, ensuring more predictable behavior. -#### Streams improvements -Consumer tracking has been enhanced with seen-time and active-time metrics, providing better visibility into consumer activity. -The XREADGROUP and X[AUTO]CLAIM commands now create consumers even when no data is read, ensuring consistency in consumer group management. -Additionally, blocked stream commands now return a distinct error when the target key no longer exists, improving error clarity. +## Changes + +### Backward-incompatible changes +Redis 7.2 introduces several backward-incompatible changes. Lua scripts no longer support the print() function, blocking of `PFCOUNT` and `PUBLISH` in read-only scripts, and time sampling freezing during command execution. Error handling updates include case changes in error responses, new behavior for `ZPOPMIN/ZPOPMAX` with count 0, and adjustments to `XCLAIM/XAUTOCLAIM`. ACL changes affect command categorization and key access permissions, while command introspection now includes per-subcommand stats. Redis now allows certain CONFIG commands during loading and tracks stats only when commands execute. -#### Module API changes (potentially breaking) -The `RM_Call` function now enforces out-of-memory (OOM) checks for scripts only when the 'M' flag is set, refining memory management behavior. -Module command names now restrict the use of certain special characters to prevent conflicts. -Replication consistency has been improved for modules utilizing keyspace notifications, ensuring more reliable data synchronization. -Additionally, commands, configurations, and data types can no longer be registered after the `onload` handler has executed. This change enforces a stricter initialization process, ensuring that all module definitions are finalized before execution begins. +For more details, see [Redis 7.2 Breaking Changes](https://redis.io/docs/latest/embeds/r7.2-breaking-changes/). -#### Expired keys are now deleted from replica indexes -Expired keys are now deleted from Redis Query Engine replica indexes, ensuring queries return an empty array instead of nil. +### Expired keys are now deleted from replica indexes +Expired keys are now deleted from Redis Query Engine replica indexes, ensuring that queries return an empty array rather than nil when the data no longer exists. ### Other changes Redis Stack 7.2 no longer includes Graph capabilities. For more details, refer to the [RedisGraph End-of-Life Announcement](https://redis.io/blog/redisgraph-eol/#:~:text=After%20January%2031%2C%202025%2C%20RedisGraph,subscriptions%20until%20January%2031%2C%202024.). ## Component versions -The Redis feature set 7.2 includes the following components: +The Redis version 7.2 includes the following components: - [Redis 7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES) - [Search 2.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes/) diff --git a/content/develop/feature-sets/7-4 b/content/develop/feature-sets/7-4 index 6ccbbc19c6..b2fc38ad6c 100644 --- a/content/develop/feature-sets/7-4 +++ b/content/develop/feature-sets/7-4 @@ -11,40 +11,35 @@ linkTitle: Redis 7.4 weight: 10 --- -This page highlights the new features and changes introduced in Redis feature set 7.4. +Redis 7.4 introduces several new features and improvements aimed at enhancing memory efficiency, performance, and ease of use for various applications. These updates include support for hash field expiration, new memory-efficient data types for AI workloads, simplified secondary indexing, and time series optimizations. Additionally, Redis 7.4 brings several behavior and component changes. ## New features -### Support for hash field expiration -Redis 7.4 introduces the ability to set expiration times or adjust the remaining TTL for individual hash fields. This long-requested feature enhances memory efficiency and performance for use cases like caching and session storage. +### Hash field expiration support -### New data types formemory-efficient vector databases -To support AI applications and Retrieval Augmented Generation (RAG), Redis 7.4 adds `bfloat16` and `float16` data types, reducing memory usage by up to 47% and latency under load by up to 59%. These optimizations help maximize performance when working with vector data and AI workloads. +Redis 7.4 adds the ability to set expiration times for individual hash fields or adjust their remaining TTL. This feature, long-requested by users, improves memory efficiency and performance, especially in caching and session storage scenarios. -### Simplified secondary indexing -Redis Query Engine now offers easier-to-use secondary indexing with the TAG index type: +### New memory-efficient data types for AI workloads +With the growing demand for AI applications, Redis 7.4 introduces `bfloat16` and `float16` data types. These new types reduce memory usage by up to 47% and lower latency by as much as 59% under load, making them ideal for vector databases and Retrieval Augmented Generation (RAG) applications. -- Querying tags with special characters (e.g., @, .) no longer requires escaping. Simply wrap query terms in double quotes. -- Improved handling of empty and missing fields supports more dynamic data models. -- Additional geospatial search capabilities include [INTERSECT](https://redis.io/docs/latest/develop/interact/search-and-query/query/geo-spatial/) and [DISJOIN](https://redis.io/docs/latest/develop/interact/search-and-query/query/geo-spatial/) operators, as well as better memory usage reporting for indexes. +### Time series optimization with insertion filters +Redis 7.4 introduces insertion filters for time series data, allowing sensors to ignore new measurements when the differences in time or value are minimal. This feature helps reduce the size of time series data and boosts efficiency. -Check the [release notes](https://github.com/redis-stack/redis-stack/releases/tag/v7.4.0-v0) for more details. +## Improvements -### Time series optimization with insertion filters -Sensors can now use insertion filters to ignore new measurements when differences between time or value are minimal. This reduces time series data size and improves efficiency. +### Simplified secondary indexing +The Redis Query Engine now offers a more straightforward approach to secondary indexing with the addition of the `TAG` index type. Querying tags with special characters (like `@` and `.`) is easier, as it no longer requires escaping; simply wrap query terms in double quotes. The update also includes improved handling of empty and missing fields, making the data model more flexible. Geospatial search has been enhanced with new operators, such as `INTERSECT` and `DISJOIN`, and memory usage reporting for indexes has been improved. ## Changes ### Behavior changes -Behavior adjustments in Redis 7.4 include the use of jemalloc instead of libc for allocating Lua VM code, which optimizes memory fragmentation and enhances speed. - -Additionally, changes to the ACL LOAD command now ensure that only clients with affected user configurations are disconnected, minimizing unnecessary disruptions. +Redis 7.4 includes behavior changes such as using jemalloc instead of libc for allocating Lua VM code. This adjustment reduces memory fragmentation and improves performance. Additionally, the `ACL LOAD` command has been modified to ensure that only clients with affected user configurations are disconnected, reducing unnecessary disruptions. ### Other changes -Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during public preview. We removed these to make Redis simpler. +Redis Stack 7.4 no longer includes Triggers and Functions due to low adoption during its public preview. This removal simplifies Redis and ensures that resources are focused on the most widely used features. ## Component versions -The Redis feature set 7.4 includes the following components: +The Redis version 7.4 includes the following components: - [Redis 7.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisce-7.4-release-notes/) - [Search 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes/) From 84f98b8672b234b593d08c2e8feb451be476abcb Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka Date: Thu, 13 Mar 2025 18:26:59 +0100 Subject: [PATCH 18/30] Updating the index page --- content/develop/feature-sets/_index.md | 22 ------------------- .../{feature-sets => redis-versions}/6-2 | 0 .../{feature-sets => redis-versions}/7-2 | 0 .../{feature-sets => redis-versions}/7-4 | 0 content/develop/redis-versions/_index.md | 22 +++++++++++++++++++ 5 files changed, 22 insertions(+), 22 deletions(-) delete mode 100644 content/develop/feature-sets/_index.md rename content/develop/{feature-sets => redis-versions}/6-2 (100%) rename content/develop/{feature-sets => redis-versions}/7-2 (100%) rename content/develop/{feature-sets => redis-versions}/7-4 (100%) create mode 100644 content/develop/redis-versions/_index.md diff --git a/content/develop/feature-sets/_index.md b/content/develop/feature-sets/_index.md deleted file mode 100644 index d81777a08e..0000000000 --- a/content/develop/feature-sets/_index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Redis feature sets -alwaysopen: false -categories: -- docs -- operate -- rs -- rc -description: Highlights of what's new for Redis feature sets -linkTitle: Redis feature sets -weight: 10 ---- - -A Redis feature set represents the complete set of features available in a specific Redis version. - -The following Redis feature sets are supported and maintained: - -- Redis feature set [7.4]({{< relref "/develop/feature-sets/7-4" >}}) -- Redis feature set 7.2 -- Redis feature set 6.2 - -To use a new feature introduced in a later feature set, you must upgrade the corresponding components included in that feature set. diff --git a/content/develop/feature-sets/6-2 b/content/develop/redis-versions/6-2 similarity index 100% rename from content/develop/feature-sets/6-2 rename to content/develop/redis-versions/6-2 diff --git a/content/develop/feature-sets/7-2 b/content/develop/redis-versions/7-2 similarity index 100% rename from content/develop/feature-sets/7-2 rename to content/develop/redis-versions/7-2 diff --git a/content/develop/feature-sets/7-4 b/content/develop/redis-versions/7-4 similarity index 100% rename from content/develop/feature-sets/7-4 rename to content/develop/redis-versions/7-4 diff --git a/content/develop/redis-versions/_index.md b/content/develop/redis-versions/_index.md new file mode 100644 index 0000000000..2b9496a913 --- /dev/null +++ b/content/develop/redis-versions/_index.md @@ -0,0 +1,22 @@ +--- +title: Redis versions +alwaysopen: false +categories: +- docs +- operate +- rs +- rc +description: Highlights of what's new for Redis versions +linkTitle: Redis versions +weight: 10 +--- + +A Redis version represents the complete set of features available in a specific Redis version. + +The following Redis versions are supported and maintained: + +- Redis version [7.4]({{< relref "/develop/redis-versions/7-4" >}}) +- Redis version [7.2]({{< relref "/develop/redis-versions/7-2" >}}) +- Redis version [6.2]({{< relref "/develop/redis-versions/6-2" >}}) + +To use a new feature introduced in a later Redis version, you must upgrade the corresponding components included in that Redis version. From 1fd7698a2908955c8fe928d999bc9e9688e4185a Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka Date: Mon, 17 Mar 2025 13:36:05 +0100 Subject: [PATCH 19/30] Updating according to the feedback --- content/develop/redis-versions/6-2 | 4 ++-- content/develop/redis-versions/7-2 | 8 +++----- content/develop/redis-versions/7-4 | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/content/develop/redis-versions/6-2 b/content/develop/redis-versions/6-2 index 79684aa332..1f9601a066 100644 --- a/content/develop/redis-versions/6-2 +++ b/content/develop/redis-versions/6-2 @@ -23,10 +23,10 @@ Redis now supports indexing and querying multi-value attributes across all field The Redis Query Engine now enables suffix and infix wildcard searches for `TEXT` and `TAG` fields. This enhancement provides greater flexibility in data retrieval and filtering. ### t-digest: a new probabilistic data structure for quantile estimation -Redis introduces t-digest, an advanced probabilistic data structure that efficiently estimates quantiles in large datasets or continuous data streams. This is particularly beneficial for analytics and monitoring applications where precise quantile calculations are required. +Redis introduces t-digest, an advanced probabilistic data structure that efficiently estimates quantiles in large datasets or continuous data streams. This is particularly beneficial for analytics and monitoring applications where quantile calculations are required. ### Retrieve aggregation results for ongoing time series buckets -A new feature allows users to retrieve the latest, still-open time series buckets during compaction. This is particularly useful when dealing with retention policies that limit access to raw historical data, enabling real-time insights into event counts over extended periods. +A new feature allows users to retrieve the latest, still-open time series buckets during compaction. ### Time-weighted average aggregator for time series Redis now includes a time-weighted average aggregator, improving accuracy in average-over-time calculations. This feature is especially valuable for time series data with irregular sampling intervals. diff --git a/content/develop/redis-versions/7-2 b/content/develop/redis-versions/7-2 index 49fedc9de7..a6a27a0588 100644 --- a/content/develop/redis-versions/7-2 +++ b/content/develop/redis-versions/7-2 @@ -11,7 +11,7 @@ linkTitle: Redis 7.2 weight: 9 --- -Redis version 7.2 introduces new capabilities, including improved geospatial queries, streamlined JSON data manipulation, and the public preview of Triggers and Functions for event-driven processing. Performance optimizations, client-side enhancements, and behavioral refinements further improve Redis' efficiency, security, and usability. +Redis version 7.2 introduces new capabilities, including improved geospatial queries, streamlined JSON data manipulation, and the public preview of Triggers and Functions for event-driven processing (not included in 7.4 and later). Performance optimizations, client-side enhancements, and behavioral refinements further improve Redis' efficiency, security, and usability. Below is a detailed breakdown of these updates. ## New features @@ -19,15 +19,13 @@ Below is a detailed breakdown of these updates. ### Geospatial queries with polygon search Redis Query Engine now supports querying geospatial data using polygon search, enabling developers to efficiently filter and retrieve data within complex geographic boundaries. -For example, in a weather monitoring system, Redis can store geospatial data for extreme weather events such as hurricanes, wildfires, or thunderstorms. When a user defines a geographic area of interest, Redis Query Engine quickly retrieves relevant weather alerts within that region, enabling real-time notifications and faster emergency response. - ### Streamlined data manipulation in JSON JSON now includes two new commands for improved data handling: - `JSON.MERGE`: Merges a given JSON value into matching paths, allowing more flexible updates. - `JSON.MSET`: Sets or updates multiple JSON values simultaneously based on specified key-path-value triplets, improving efficiency when handling structured data. -### Public preview: Triggers and Functions +### Public preview: Triggers and Functions (not included in 7.4 and later) Redis introduces the public preview of Triggers and Functions, an event-driven engine for executing TypeScript/JavaScript code within Redis. This feature enables efficient in-database data processing, reducing reliance on external computation. It also supports cross-shard read operations, which were previously unavailable with Lua scripts. ## Improvements @@ -48,7 +46,7 @@ TLS-based replication now supports Server Name Indication (SNI) to improve compa ## Changes -### Backward-incompatible changes +### Breaking changes Redis 7.2 introduces several backward-incompatible changes. Lua scripts no longer support the print() function, blocking of `PFCOUNT` and `PUBLISH` in read-only scripts, and time sampling freezing during command execution. Error handling updates include case changes in error responses, new behavior for `ZPOPMIN/ZPOPMAX` with count 0, and adjustments to `XCLAIM/XAUTOCLAIM`. ACL changes affect command categorization and key access permissions, while command introspection now includes per-subcommand stats. Redis now allows certain CONFIG commands during loading and tracks stats only when commands execute. For more details, see [Redis 7.2 Breaking Changes](https://redis.io/docs/latest/embeds/r7.2-breaking-changes/). diff --git a/content/develop/redis-versions/7-4 b/content/develop/redis-versions/7-4 index b2fc38ad6c..6d082151e7 100644 --- a/content/develop/redis-versions/7-4 +++ b/content/develop/redis-versions/7-4 @@ -20,7 +20,7 @@ Redis 7.4 introduces several new features and improvements aimed at enhancing me Redis 7.4 adds the ability to set expiration times for individual hash fields or adjust their remaining TTL. This feature, long-requested by users, improves memory efficiency and performance, especially in caching and session storage scenarios. ### New memory-efficient data types for AI workloads -With the growing demand for AI applications, Redis 7.4 introduces `bfloat16` and `float16` data types. These new types reduce memory usage by up to 47% and lower latency by as much as 59% under load, making them ideal for vector databases and Retrieval Augmented Generation (RAG) applications. +With the growing demand for AI applications, Redis 7.4 introduces `bfloat16` and `float16` data types. These new types reduce memory usage by up to 47% and lower latency by as much as 59% under load, making them ideal for storing and processing vector embeddings in AI-powered applications, including vector databases and Retrieval Augmented Generation (RAG) systems. ### Time series optimization with insertion filters Redis 7.4 introduces insertion filters for time series data, allowing sensors to ignore new measurements when the differences in time or value are minimal. This feature helps reduce the size of time series data and boosts efficiency. From 2ef3114fb1eac87df5fa0c234254187dd8302ef3 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 17 Mar 2025 15:01:34 +0100 Subject: [PATCH 20/30] Update 6-2 --- content/develop/redis-versions/6-2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/develop/redis-versions/6-2 b/content/develop/redis-versions/6-2 index 1f9601a066..4169064917 100644 --- a/content/develop/redis-versions/6-2 +++ b/content/develop/redis-versions/6-2 @@ -42,7 +42,7 @@ Redis 6.2 introduces over 25 new commands, fulfilling long-standing community re - Redis Streams enhancements include: - Support for exclusive range queries, providing finer control over data retrieval. - The ability to filter pending messages based on idle time, improving message management. - - A simplified mechanism for recovering lost messages in consumer groups, making message reclamation more efficient. + - A new mechanism to automatically claim pending messages from a stream consumer group, transferring ownership of messages that have exceeded their idle timeout to a new consumer without requiring manual acknowledgment. ## Component versions The Redis version 6.2 is built upon the following component versions: @@ -52,4 +52,4 @@ The Redis version 6.2 is built upon the following component versions: - [JSON 2.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.4-release-notes/) - [Time series 1.8](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.8-release-notes/) - [Bloom 2.4](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.4-release-notes/) -- [Graph 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes/) \ No newline at end of file +- [Graph 2.10](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes/) From 3029ae76591efe7376648e0b7c12e073224e5241 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 6 May 2025 17:02:13 +0200 Subject: [PATCH 21/30] Initial changes --- content/develop/whats-new/8-0.md | 149 ++++++++++++++----------------- 1 file changed, 68 insertions(+), 81 deletions(-) diff --git a/content/develop/whats-new/8-0.md b/content/develop/whats-new/8-0.md index 2db79b4355..cb5a49a1e9 100644 --- a/content/develop/whats-new/8-0.md +++ b/content/develop/whats-new/8-0.md @@ -8,87 +8,74 @@ categories: - operate - rs - rc -description: What's new in Redis 8 in Redis Open Source -linkTitle: What's new in Redis 8.0 +description: What's new in Redis 8 +linkTitle: What's new in Redis 8 weight: 5 --- -## Highlights - -- **Name change**: Redis Community Edition is now **Redis Open Source** -- **License options**: - - Redis Source Available License 2.0 (RSALv2) - - Server Side Public License v1 (SSPLv1) - - GNU Affero General Public License (AGPLv3) - -- **Integrated modules** now part of core: - - JSON - - Probabilistic: Bloom, Cuckoo, Count-min sketch, Top-K, and t-digest - - Time Series - - [Vector sets (preview)]({{< relref "/develop/data-types/vector-sets/" >}}) - - [Redis Query Engine]({{< relref "/develop/interact/#search-and-query" >}}) with horizontal & vertical scaling - - All components available in Redis binary distributions - - New config file: `redis-full.conf` for full component loading - -## New Commands - -- **Hash with expiration support**: - - `HGETDEL` – get and delete hash field - - `HGETEX`, `HSETEX` – get/set hash fields with expiration -- **Field TTL & expiration (7.4+)**: - - `HEXPIRE`, `HPEXPIRE`, `HEXPIREAT`, `HPEXPIREAT` - - `HPERSIST`, `HEXPIRETIME`, `HPEXPIRETIME`, `HTTL`, `HPTTL` -- **Other command additions**: - - `XREAD +` – read latest stream entry - - `HSCAN NOVALUES` – scan hash field names only - - `SORT` in cluster mode with `BY` and `GET` - - `CLIENT KILL MAXAGE` - - Lua: `os.clock()` now available - - `SPUBLISH` in `MULTI/EXEC` transactions on replicas - - [Vector set command group (preview)]({{< relref "/commands/?group=vector_set" >}}) - -## Internal Architecture - -- **I/O threading overhaul**: read+write threading for higher throughput -- **Replication**: improved mechanism with AOF offset support -- **Over 30 performance optimizations**: - - Optimized: `GET`, `EXISTS`, `LRANGE`, `HSET`, `XREAD`, `SCAN`, `ZADD`, `ZUNION`, `PFCOUNT`, `HSCAN`, and more - - Improved latency, memory, and CPU utilization - -## Security - -- CVE-2024-46981: Lua RCE -- CVE-2024-51741: ACL DoS -- CVE-2024-31449, 31227, 31228: DoS in Lua/ACLs - -## Packaging - -Redis 8 in Redis Open Source is available in the following distributions: - -- [Docker](https://hub.docker.com/_/redis) -- APT -- RPM -- Snap -- Homebrew -- Pre-built binaries -- [Source code](https://github.com/redis/redis/releases/tag/8.0-rc1) - -## Observability - -- New `INFO` sections: - - `KEYSIZES`, `Threads` - - Hash expiration stats - - Client buffer disconnection counters - - Dictionary memory rehashing - - Script eviction stats - -## Upgrades & Support - -- Supports upgrade from: - - Redis 7.x with or without modules - - Redis Stack 7.2 and 7.4 -- Supported operating systems: - - Ubuntu 20.04 / 22.04 / 24.04 - - Debian 11 / 12 - - macOS 13–15 - - Rocky/Alma Linux 8.10 / 9.5 +Redis 8 release adds 8 more data structures, including vector set (beta), JSON, time series, and five probabilistic structures, including Bloom filter, cuckoo filter, count-min sketch, top-k, and t-digest (some previously available as separate Redis modules). These new data structures help you solve your current use cases better and build for the next generation of fast and real-time apps. + +Additionally, we’ve changed the name of our free product from Redis Community Edition to Redis Open Source. + +Below is a detailed breakdown of these updates. + +## Changes + +### One Redis +Over the years, we have created new Redis modules that help you build real-time apps for web, mobile, and GenAI faster. However, we’ve heard from many of you how it often becomes confusing figuring out how to get started with modules, especially with matching the right module version to the Redis version. The introduction of Redis Stack helped and saw significant adoption but also introduced fragmentation in the community. + +With this release, we’re combining our Redis Stack and community offerings into a single Redis Open Source distribution. All the modules are already included in this package. Going forward, Redis Open Source delivers the same feature set to you everywhere. When you use Redis Open Source, you know you’re always getting the latest and best of Redis with the full suite of capabilities that are available to the community. + +These are some of the features and capabilities that come packaged in Redis 8 in Redis Open Source. + +#### Vector set data structure [beta] +Vector set is a new data type for vector similarity search, which allows the storage and querying of high-dimensional vector embeddings, enhancing Redis for AI use cases that involve semantic search and recommendation systems. Vector set complements 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 whilst we work towards general availability. + +#### JSON data structure +The JSON data structure improves how you solve for traditional Redis use cases. It also lets you manage sessions more easily, like by using arrays and objects to model hierarchical session data. In Redis 8, the JSON data structure lets you store JSON documents as keys in Redis. Redis provides commands to retrieve and manipulate documents using the JSONPath language for more granular and efficient access to specific elements. Redis also supports atomic updates so you can make modifications to parts of a JSON document without having to retrieve the entire document first. + + +#### Time series data structure +The time series data structure simplifies how you tackle use cases with fast changing timestamped data such as those from IoT sensors, system telemetry, stock prices, commodity prices, foreign exchange rates, and crypto prices. In Redis 8, it’s very fast to get and use time series data. This is because Redis uses very efficient compression algorithms to keep the data memory footprint low. In addition, compaction (downsampling) rules can be defined for efficient long-term storage. + +#### Probabilistic data structures +Probabilistic data structures let you answer common questions about your data streams and large datasets much faster. The significant advantages given in terms of efficiency in memory usage and processing speed is a trade-off with absolute accuracy. In Redis 8, in addition to HyperLogLog, which allows estimating the cardinality of a set, there are now 5 more probabilistic data structures: + +- Bloom filter and Cuckoo filter—for checking if a given value has already appeared in a data stream +- Count-min sketch—for estimating how many times a given value appeared in a data stream +- Top-k—for finding the most frequent values in the data stream +- t-digest—for querying which fraction of the values in the data stream are smaller/larger than a given value. + +#### Redis Query Engine +The Redis Query Engine unlocks fast data access beyond a key lookup. With Redis 8 you can create a secondary index of data that resides in hashes and JSON data structures. Some of the most common ways to use the Redis Query Engine include for vector search, data queries that return exact matches by a criteria or tag, and search queries that return the best matches by keywords or semantic meaning. The query engine also supports features like stemming, synonym expansion, and fuzzy matching for more comprehensive search results. Vector embeddings that represent data points within hashes or JSON documents can also be stored so the query engine in Redis 8 can be leveraged for vector similarity search. + +#### Access Control Lists (ACLs) +While Redis 8 is secure by default, Access Control Lists (ACLs) allow more fine-grained security control. With ACLs, you can define which users can connect, what commands they can perform, and which keys they can access. This helps you restrict unauthorized access and maintain data integrity in your Redis environment. In Redis 8, we introduce new ACL categories for the new data structures. Existing ACL categories such as @read and @write now include commands that support the newly included data structures. + +### New commands building +When you build on Redis 8, you also get all the new features and capabilities that came in Redis 7.4, including our introduction of hash field expiration. One of the most frequently requested feature, you can find 3 new hash commands in Redis 8: + +- HGETDEL – Get hash fields and delete them +- HGETEX – Get hash fields and optionally set their expiration time +- HSETEX – Set hash fields and optionally set their expiration time + +### Significant performance improvements +Redis 8 introduces over 30 performance improvements for both single-core and multi-core environments, delivering the greatest leap in performance in a single new Redis version. Such improvements include: +- Up to 87% reduction in command latency +- 2x more ops per second throughput by enabling multithreading +- Up to 35% less memory used for replication +- Up to 16x more query processing power with horizontal & vertical scaling +- And many other. More details are available on the [Redis 8 blogpost](https://redis.io/blog/redis-8-ga/) + +### Breaking changes + +## Getting started with Redis 8 +Redis 8 is generally available on Redis Open Source and can be installed through the following channels as they become available in the coming days: + +- Download an Alpine or a Debian Docker image from Docker Hub +- Install using snap – instructions, Snapcraft +- Install using brew – instructions +- Install using RPM – instructions +- Install using Debian APT – instructions From 5ae584b0f28809bc1599b53d051d28cfb6d691f9 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 6 May 2025 18:46:59 +0200 Subject: [PATCH 22/30] Update 8-0.md --- content/develop/whats-new/8-0.md | 107 +++++++++++++++++++------------ 1 file changed, 67 insertions(+), 40 deletions(-) diff --git a/content/develop/whats-new/8-0.md b/content/develop/whats-new/8-0.md index cb5a49a1e9..3f879c2c53 100644 --- a/content/develop/whats-new/8-0.md +++ b/content/develop/whats-new/8-0.md @@ -13,69 +13,96 @@ linkTitle: What's new in Redis 8 weight: 5 --- -Redis 8 release adds 8 more data structures, including vector set (beta), JSON, time series, and five probabilistic structures, including Bloom filter, cuckoo filter, count-min sketch, top-k, and t-digest (some previously available as separate Redis modules). These new data structures help you solve your current use cases better and build for the next generation of fast and real-time apps. +Redis 8 introduces major new capabilities with eight additional data structures, including vector set (beta), JSON, time series, and five probabilistic data structures: Bloom filter, Cuckoo filter, Count-Min Sketch, Top-K, and T-Digest. Some of these were previously available as separate modules and are now integrated into Redis Open Source, making it easier than ever to build fast, scalable, real-time applications. -Additionally, we’ve changed the name of our free product from Redis Community Edition to Redis Open Source. +In addition, Redis Community Edition has been renamed to Redis Open Source, reflecting a unified and modern distribution that delivers the full capabilities of Redis to the community. Below is a detailed breakdown of these updates. ## Changes ### One Redis -Over the years, we have created new Redis modules that help you build real-time apps for web, mobile, and GenAI faster. However, we’ve heard from many of you how it often becomes confusing figuring out how to get started with modules, especially with matching the right module version to the Redis version. The introduction of Redis Stack helped and saw significant adoption but also introduced fragmentation in the community. +Over time, Redis introduced several modules to address new use cases such as search, vector similarity, time series analysis, and probabilistic modeling. While these modules extended Redis’s functionality, managing version compatibility and module installation introduced friction. -With this release, we’re combining our Redis Stack and community offerings into a single Redis Open Source distribution. All the modules are already included in this package. Going forward, Redis Open Source delivers the same feature set to you everywhere. When you use Redis Open Source, you know you’re always getting the latest and best of Redis with the full suite of capabilities that are available to the community. +Redis Stack partially solved this by bundling modules together, but it also created fragmentation across the ecosystem. -These are some of the features and capabilities that come packaged in Redis 8 in Redis Open Source. +Redis 8 merges Redis Stack and Redis Community Edition into a single unified distribution: Redis Open Source. All previously modular functionality is now built into the Redis Open Source package, eliminating the need to manage separate modules. You now get a single, consistent feature set across all deployments. -#### Vector set data structure [beta] -Vector set is a new data type for vector similarity search, which allows the storage and querying of high-dimensional vector embeddings, enhancing Redis for AI use cases that involve semantic search and recommendation systems. Vector set complements 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 whilst we work towards general availability. - -#### JSON data structure -The JSON data structure improves how you solve for traditional Redis use cases. It also lets you manage sessions more easily, like by using arrays and objects to model hierarchical session data. In Redis 8, the JSON data structure lets you store JSON documents as keys in Redis. Redis provides commands to retrieve and manipulate documents using the JSONPath language for more granular and efficient access to specific elements. Redis also supports atomic updates so you can make modifications to parts of a JSON document without having to retrieve the entire document first. +#### Vector set [beta] +The new `VECTOR` data structure supports high-dimensional vector similarity search, which is ideal for AI use cases such as semantic search and recommendation systems. Vector set complements Redis’s existing vector search capabilities via the Query Engine and is currently available in beta. APIs and behaviors may change before general availability. +#### JSON +Redis 8 introduces a native JSON data structure, enabling you to store and manipulate hierarchical documents directly. JSONPath expressions are supported for targeted reads and updates. Atomic operations allow modification of individual fields without fetching the entire document, making it ideal for session management, user profiles, and modern web applications. #### Time series data structure -The time series data structure simplifies how you tackle use cases with fast changing timestamped data such as those from IoT sensors, system telemetry, stock prices, commodity prices, foreign exchange rates, and crypto prices. In Redis 8, it’s very fast to get and use time series data. This is because Redis uses very efficient compression algorithms to keep the data memory footprint low. In addition, compaction (downsampling) rules can be defined for efficient long-term storage. +The time series data structure is optimized for high-ingestion workloads with time-stamped data—such as IoT, telemetry, and financial applications. Redis 8 applies efficient compression algorithms to reduce memory usage and supports downsampling (compaction) rules for long-term retention. #### Probabilistic data structures -Probabilistic data structures let you answer common questions about your data streams and large datasets much faster. The significant advantages given in terms of efficiency in memory usage and processing speed is a trade-off with absolute accuracy. In Redis 8, in addition to HyperLogLog, which allows estimating the cardinality of a set, there are now 5 more probabilistic data structures: +Redis 8 expands on HyperLogLog by adding five additional probabilistic data structures: -- Bloom filter and Cuckoo filter—for checking if a given value has already appeared in a data stream -- Count-min sketch—for estimating how many times a given value appeared in a data stream -- Top-k—for finding the most frequent values in the data stream -- t-digest—for querying which fraction of the values in the data stream are smaller/larger than a given value. +- Bloom Filter and Cuckoo Filter: Efficient membership checks in large streams +- Count-Min Sketch: Approximate frequency estimation of elements +- Top-K: Identifies the most frequent elements +- T-Digest: Enables quantile estimation and percentile queries +These structures trade absolute accuracy for significant performance and memory gains, and are ideal for streaming and telemetry workloads. +### Query Enhancements #### Redis Query Engine -The Redis Query Engine unlocks fast data access beyond a key lookup. With Redis 8 you can create a secondary index of data that resides in hashes and JSON data structures. Some of the most common ways to use the Redis Query Engine include for vector search, data queries that return exact matches by a criteria or tag, and search queries that return the best matches by keywords or semantic meaning. The query engine also supports features like stemming, synonym expansion, and fuzzy matching for more comprehensive search results. Vector embeddings that represent data points within hashes or JSON documents can also be stored so the query engine in Redis 8 can be leveraged for vector similarity search. +The Redis Query Engine now supports indexing and querying data stored in `HASH` and `JSON` structures, allowing advanced search patterns without scanning entire keyspaces. + +Use cases include: + +- Vector Search: Search based on semantic similarity using vector embeddings stored in `JSON` or `hashes` +- Exact Matching: Lookups using filters, tags, and ranges +- Full-Text Search: Supports stemming, synonyms, and fuzzy matching + +The Redis Query Engine powers a wide range of applications, from AI retrieval-augmented generation (RAG) systems to full-featured search engines. + +### Access Control Enhancements +Access Control Lists (ACLs) have been updated to support the new data structures introduced in Redis 8. Existing ACL categories such as `@read` and `@write` now include commands for `JSON`, `time series`, `VECTOR`, and `probabilistic` data structures. -#### Access Control Lists (ACLs) -While Redis 8 is secure by default, Access Control Lists (ACLs) allow more fine-grained security control. With ACLs, you can define which users can connect, what commands they can perform, and which keys they can access. This helps you restrict unauthorized access and maintain data integrity in your Redis environment. In Redis 8, we introduce new ACL categories for the new data structures. Existing ACL categories such as @read and @write now include commands that support the newly included data structures. +These updates allow for more precise control over which operations users can perform on each data structure. -### New commands building -When you build on Redis 8, you also get all the new features and capabilities that came in Redis 7.4, including our introduction of hash field expiration. One of the most frequently requested feature, you can find 3 new hash commands in Redis 8: +### New hash commands +Redis 8 builds on Redis 7.4’s introduction of field-level expiration in hashes and adds three new commands: +- [HGETDEL](https://redis.io/docs/latest/commands/hgetdel/): Fetch and delete a hash field +- [HGETEX](https://redis.io/docs/latest/commands/hgetex/): Fetch a hash field and optionally set an expiration +- [HSETEX](https://redis.io/docs/latest/commands/hsetex/): Set a hash field and optionally set an expiration -- HGETDEL – Get hash fields and delete them -- HGETEX – Get hash fields and optionally set their expiration time -- HSETEX – Set hash fields and optionally set their expiration time +These commands improve ergonomics for caching and session-management scenarios. -### Significant performance improvements -Redis 8 introduces over 30 performance improvements for both single-core and multi-core environments, delivering the greatest leap in performance in a single new Redis version. Such improvements include: -- Up to 87% reduction in command latency -- 2x more ops per second throughput by enabling multithreading -- Up to 35% less memory used for replication -- Up to 16x more query processing power with horizontal & vertical scaling -- And many other. More details are available on the [Redis 8 blogpost](https://redis.io/blog/redis-8-ga/) +### Performance improvements +Redis 8 delivers the largest performance leap in Redis history with over 30 optimizations, including: +- Up to 87% lower command latency +- 2x throughput in multi-threaded workloads +- 35% memory savings for replica nodes +- 16x more query processing capacity with horizontal and vertical scaling + +These improvements benefit both single-node and clustered deployments. More details are available in the [Redis 8 GA](https://redis.io/blog/redis-8-ga/) blog post. ### Breaking changes +#### ACL behavior +Commands from included modules are now covered under standard categories (e.g., `+@read`, `+@write`). A user with `+@all` `-@write` will no longer be able to execute `FT.SEARCH` as they could before. +Explicit inclusion of new command categories is required to maintain access. -## Getting started with Redis 8 -Redis 8 is generally available on Redis Open Source and can be installed through the following channels as they become available in the coming days: +#### Redis Query Engine +The following changes affect behavior and validation in the Redis Query Engine: +- Enforces validation for `LIMIT` arguments (offset must be 0 if limit is 0). +- Enforces parsing rules for `FT.CURSOR READ` and `FT.ALIASADD`. +- Parentheses are now required for exponentiation precedence in `APPLY` expressions. +- Invalid input now returns errors instead of empty results. +- Default values revisited for reducers like `AVG`, `COUNT`, `SUM`, `STDDEV`, `QUANTILE`, and others. +- Updates to scoring (`BM25` is now the default instead of `TF-IDF`). +- Improved handling of expired records, memory constraints, and malformed fields. -- Download an Alpine or a Debian Docker image from Docker Hub -- Install using snap – instructions, Snapcraft -- Install using brew – instructions -- Install using RPM – instructions -- Install using Debian APT – instructions +For a full list of engine-related changes, see the [release notes](https://github.com/redis/redis/releases). + +## Getting started with Redis 8 +Redis 8 is available as Redis Open Source and can be installed using the following methods: +- Docker: Alpine and Debian images via [Docker Hub](https://hub.docker.com/_/redis) +- snap – [instructions](https://github.com/redis/redis-snap), [Snapcraft](https://snapcraft.io/redis) +- brew – [instructions](https://github.com/redis/homebrew-redis) +- RPM – [instructions](https://github.com/redis/redis-rpm) +- Debian APT – [instructions](https://github.com/redis/redis-debian) + +For detailed installation instructions, visit the [Redis downloads](https://redis.io/downloads/) page. From 81e12f498fc1de3e9ef47fba004ad96b5e8ae746 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 6 May 2025 18:47:55 +0200 Subject: [PATCH 23/30] Update 8-0.md --- content/develop/whats-new/8-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/develop/whats-new/8-0.md b/content/develop/whats-new/8-0.md index 3f879c2c53..a0d36b7333 100644 --- a/content/develop/whats-new/8-0.md +++ b/content/develop/whats-new/8-0.md @@ -34,7 +34,7 @@ The new `VECTOR` data structure supports high-dimensional vector similarity sear #### JSON Redis 8 introduces a native JSON data structure, enabling you to store and manipulate hierarchical documents directly. JSONPath expressions are supported for targeted reads and updates. Atomic operations allow modification of individual fields without fetching the entire document, making it ideal for session management, user profiles, and modern web applications. -#### Time series data structure +#### Time series The time series data structure is optimized for high-ingestion workloads with time-stamped data—such as IoT, telemetry, and financial applications. Redis 8 applies efficient compression algorithms to reduce memory usage and supports downsampling (compaction) rules for long-term retention. #### Probabilistic data structures From 91b7864a451ae22693985fa50402530f283e3b31 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 6 May 2025 19:42:40 +0200 Subject: [PATCH 24/30] Update 8-0.md --- content/develop/whats-new/8-0.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/content/develop/whats-new/8-0.md b/content/develop/whats-new/8-0.md index a0d36b7333..d6663bf9c4 100644 --- a/content/develop/whats-new/8-0.md +++ b/content/develop/whats-new/8-0.md @@ -13,9 +13,11 @@ linkTitle: What's new in Redis 8 weight: 5 --- -Redis 8 introduces major new capabilities with eight additional data structures, including vector set (beta), JSON, time series, and five probabilistic data structures: Bloom filter, Cuckoo filter, Count-Min Sketch, Top-K, and T-Digest. Some of these were previously available as separate modules and are now integrated into Redis Open Source, making it easier than ever to build fast, scalable, real-time applications. +Redis 8 introduces major new capabilities, including eight additional data structures—Vector Set (beta), JSON, Time Series, and five probabilistic data types: Bloom Filter, Cuckoo Filter, Count-Min Sketch, Top-K, and T-Digest. Some of these were previously available only as Redis modules and are now fully integrated into Redis 8, simplifying deployment and unlocking new use cases in real-time analytics, caching, and AI-powered applications. -In addition, Redis Community Edition has been renamed to Redis Open Source, reflecting a unified and modern distribution that delivers the full capabilities of Redis to the community. +Redis 8 also includes the Redis Query Engine, enabling advanced secondary indexing, full-text and vector search, and complex queries across JSON and hash data types. This makes Redis a more powerful and flexible real-time data platform for modern apps. + +In addition, Redis Community Edition has been renamed to Redis Open Source, reflecting a unified and modern distribution that delivers the full capabilities of Redis to the community—no modules, no fragmentation, just Redis. Below is a detailed breakdown of these updates. @@ -29,7 +31,7 @@ Redis Stack partially solved this by bundling modules together, but it also crea Redis 8 merges Redis Stack and Redis Community Edition into a single unified distribution: Redis Open Source. All previously modular functionality is now built into the Redis Open Source package, eliminating the need to manage separate modules. You now get a single, consistent feature set across all deployments. #### Vector set [beta] -The new `VECTOR` data structure supports high-dimensional vector similarity search, which is ideal for AI use cases such as semantic search and recommendation systems. Vector set complements Redis’s existing vector search capabilities via the Query Engine and is currently available in beta. APIs and behaviors may change before general availability. +The new `Vector set` data structure supports high-dimensional vector similarity search, which is ideal for AI use cases such as semantic search and recommendation systems. Vector set complements Redis’s existing vector search capabilities via the Query Engine and is currently available in beta. APIs and behaviors may change in future releases. #### JSON Redis 8 introduces a native JSON data structure, enabling you to store and manipulate hierarchical documents directly. JSONPath expressions are supported for targeted reads and updates. Atomic operations allow modification of individual fields without fetching the entire document, making it ideal for session management, user profiles, and modern web applications. @@ -43,7 +45,7 @@ Redis 8 expands on HyperLogLog by adding five additional probabilistic data stru - Bloom Filter and Cuckoo Filter: Efficient membership checks in large streams - Count-Min Sketch: Approximate frequency estimation of elements - Top-K: Identifies the most frequent elements -- T-Digest: Enables quantile estimation and percentile queries +- t-Digest: Enables quantile estimation and percentile queries These structures trade absolute accuracy for significant performance and memory gains, and are ideal for streaming and telemetry workloads. ### Query Enhancements @@ -64,12 +66,12 @@ Access Control Lists (ACLs) have been updated to support the new data structures These updates allow for more precise control over which operations users can perform on each data structure. ### New hash commands -Redis 8 builds on Redis 7.4’s introduction of field-level expiration in hashes and adds three new commands: -- [HGETDEL](https://redis.io/docs/latest/commands/hgetdel/): Fetch and delete a hash field +Redis 8 builds on Redis 7.4’s introduction of field-level expiration in hashes and adds three new commands for working with hashes: - [HGETEX](https://redis.io/docs/latest/commands/hgetex/): Fetch a hash field and optionally set an expiration - [HSETEX](https://redis.io/docs/latest/commands/hsetex/): Set a hash field and optionally set an expiration +- [HGETDEL](https://redis.io/docs/latest/commands/hgetdel/): Fetch and delete a hash field -These commands improve ergonomics for caching and session-management scenarios. +These commands simplify common patterns used in caching and session management. ### Performance improvements Redis 8 delivers the largest performance leap in Redis history with over 30 optimizations, including: From 1b4cd6631d96fe343ffe07c5b70c283fcda8c4e9 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 6 May 2025 19:47:48 +0200 Subject: [PATCH 25/30] Update 8-0.md --- content/develop/whats-new/8-0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/develop/whats-new/8-0.md b/content/develop/whats-new/8-0.md index d6663bf9c4..eb5310c3c7 100644 --- a/content/develop/whats-new/8-0.md +++ b/content/develop/whats-new/8-0.md @@ -50,7 +50,7 @@ Redis 8 expands on HyperLogLog by adding five additional probabilistic data stru These structures trade absolute accuracy for significant performance and memory gains, and are ideal for streaming and telemetry workloads. ### Query Enhancements #### Redis Query Engine -The Redis Query Engine now supports indexing and querying data stored in `HASH` and `JSON` structures, allowing advanced search patterns without scanning entire keyspaces. +The Redis Query Engine allows users to use Redis as a document database, a vector database, a secondary index, and a search engine. With Redis Query Engine, users can define indexes for hash and JSON documents, and use a rich query language for vector search, full-text search, geospatial queries, and aggregations. Use cases include: @@ -71,7 +71,7 @@ Redis 8 builds on Redis 7.4’s introduction of field-level expiration in hashes - [HSETEX](https://redis.io/docs/latest/commands/hsetex/): Set a hash field and optionally set an expiration - [HGETDEL](https://redis.io/docs/latest/commands/hgetdel/): Fetch and delete a hash field -These commands simplify common patterns used in caching and session management. +These commands simplify common caching and session management usage patterns. ### Performance improvements Redis 8 delivers the largest performance leap in Redis history with over 30 optimizations, including: From 1ee113f8a221db7f25d71c1075a31376bbd72948 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 6 May 2025 20:01:40 +0200 Subject: [PATCH 26/30] Update 8-0.md --- content/develop/whats-new/8-0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/develop/whats-new/8-0.md b/content/develop/whats-new/8-0.md index eb5310c3c7..3092396c14 100644 --- a/content/develop/whats-new/8-0.md +++ b/content/develop/whats-new/8-0.md @@ -37,6 +37,8 @@ The new `Vector set` data structure supports high-dimensional vector similarity Redis 8 introduces a native JSON data structure, enabling you to store and manipulate hierarchical documents directly. JSONPath expressions are supported for targeted reads and updates. Atomic operations allow modification of individual fields without fetching the entire document, making it ideal for session management, user profiles, and modern web applications. #### Time series +A time series in Redis allows storing and querying a series of timestamped data points (samples), typically representing how a metric changes over time. + The time series data structure is optimized for high-ingestion workloads with time-stamped data—such as IoT, telemetry, and financial applications. Redis 8 applies efficient compression algorithms to reduce memory usage and supports downsampling (compaction) rules for long-term retention. #### Probabilistic data structures From 69b3d0a44308bd4f870442386851cab6c71a5604 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Wed, 7 May 2025 20:08:19 +0200 Subject: [PATCH 27/30] Update 8-0.md --- content/develop/whats-new/8-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/develop/whats-new/8-0.md b/content/develop/whats-new/8-0.md index 3092396c14..a9c19ce24a 100644 --- a/content/develop/whats-new/8-0.md +++ b/content/develop/whats-new/8-0.md @@ -99,7 +99,7 @@ The following changes affect behavior and validation in the Redis Query Engine: - Updates to scoring (`BM25` is now the default instead of `TF-IDF`). - Improved handling of expired records, memory constraints, and malformed fields. -For a full list of engine-related changes, see the [release notes](https://github.com/redis/redis/releases). +For a full list of the Redis Query Engine-related changes, see the [release notes](https://github.com/redis/redis/releases). ## Getting started with Redis 8 Redis 8 is available as Redis Open Source and can be installed using the following methods: From c3df8e027a80817635d55ebc69d1af6cc848f985 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 9 May 2025 18:01:48 +0200 Subject: [PATCH 28/30] Update 8-0.md --- content/develop/whats-new/8-0.md | 75 ++++++++++++-------------------- 1 file changed, 28 insertions(+), 47 deletions(-) diff --git a/content/develop/whats-new/8-0.md b/content/develop/whats-new/8-0.md index a9c19ce24a..41887cc04f 100644 --- a/content/develop/whats-new/8-0.md +++ b/content/develop/whats-new/8-0.md @@ -13,45 +13,31 @@ linkTitle: What's new in Redis 8 weight: 5 --- -Redis 8 introduces major new capabilities, including eight additional data structures—Vector Set (beta), JSON, Time Series, and five probabilistic data types: Bloom Filter, Cuckoo Filter, Count-Min Sketch, Top-K, and T-Digest. Some of these were previously available only as Redis modules and are now fully integrated into Redis 8, simplifying deployment and unlocking new use cases in real-time analytics, caching, and AI-powered applications. +Redis 8.0 introduces powerful new capabilities, including the beta release of the Vector Set data structure, designed for AI use cases such as semantic search and recommendation systems. -Redis 8 also includes the Redis Query Engine, enabling advanced secondary indexing, full-text and vector search, and complex queries across JSON and hash data types. This makes Redis a more powerful and flexible real-time data platform for modern apps. +This release also delivers over 30 performance improvements, including: +- Up to 87% faster command execution +- Up to 2x higher throughput +- Up to 18% faster replication -In addition, Redis Community Edition has been renamed to Redis Open Source, reflecting a unified and modern distribution that delivers the full capabilities of Redis to the community—no modules, no fragmentation, just Redis. +Additionally, the Redis Community Edition has been renamed to Redis Open Source, marking a shift toward a unified, modern distribution. This version offers the full power of Redis — no modules, no fragmentation — just Redis. Below is a detailed breakdown of these updates. -## Changes - -### One Redis -Over time, Redis introduced several modules to address new use cases such as search, vector similarity, time series analysis, and probabilistic modeling. While these modules extended Redis’s functionality, managing version compatibility and module installation introduced friction. - -Redis Stack partially solved this by bundling modules together, but it also created fragmentation across the ecosystem. - -Redis 8 merges Redis Stack and Redis Community Edition into a single unified distribution: Redis Open Source. All previously modular functionality is now built into the Redis Open Source package, eliminating the need to manage separate modules. You now get a single, consistent feature set across all deployments. - -#### Vector set [beta] +## New features +### Vector set [beta] The new `Vector set` data structure supports high-dimensional vector similarity search, which is ideal for AI use cases such as semantic search and recommendation systems. Vector set complements Redis’s existing vector search capabilities via the Query Engine and is currently available in beta. APIs and behaviors may change in future releases. -#### JSON -Redis 8 introduces a native JSON data structure, enabling you to store and manipulate hierarchical documents directly. JSONPath expressions are supported for targeted reads and updates. Atomic operations allow modification of individual fields without fetching the entire document, making it ideal for session management, user profiles, and modern web applications. - -#### Time series -A time series in Redis allows storing and querying a series of timestamped data points (samples), typically representing how a metric changes over time. - -The time series data structure is optimized for high-ingestion workloads with time-stamped data—such as IoT, telemetry, and financial applications. Redis 8 applies efficient compression algorithms to reduce memory usage and supports downsampling (compaction) rules for long-term retention. - -#### Probabilistic data structures -Redis 8 expands on HyperLogLog by adding five additional probabilistic data structures: +### New hash commands +Redis 8 builds on Redis 7.4’s introduction of field-level expiration in hashes and adds three new commands for working with hashes: +- [HGETEX](https://redis.io/docs/latest/commands/hgetex/): Fetch a hash field and optionally set an expiration +- [HSETEX](https://redis.io/docs/latest/commands/hsetex/): Set a hash field and optionally set an expiration +- [HGETDEL](https://redis.io/docs/latest/commands/hgetdel/): Fetch and delete a hash field -- Bloom Filter and Cuckoo Filter: Efficient membership checks in large streams -- Count-Min Sketch: Approximate frequency estimation of elements -- Top-K: Identifies the most frequent elements -- t-Digest: Enables quantile estimation and percentile queries +These commands simplify common caching and session management usage patterns. -These structures trade absolute accuracy for significant performance and memory gains, and are ideal for streaming and telemetry workloads. -### Query Enhancements -#### Redis Query Engine +## Improvements +### Redis Query Engine Improvements The Redis Query Engine allows users to use Redis as a document database, a vector database, a secondary index, and a search engine. With Redis Query Engine, users can define indexes for hash and JSON documents, and use a rich query language for vector search, full-text search, geospatial queries, and aggregations. Use cases include: @@ -62,19 +48,11 @@ Use cases include: The Redis Query Engine powers a wide range of applications, from AI retrieval-augmented generation (RAG) systems to full-featured search engines. -### Access Control Enhancements +### Access Control Improvements Access Control Lists (ACLs) have been updated to support the new data structures introduced in Redis 8. Existing ACL categories such as `@read` and `@write` now include commands for `JSON`, `time series`, `VECTOR`, and `probabilistic` data structures. These updates allow for more precise control over which operations users can perform on each data structure. -### New hash commands -Redis 8 builds on Redis 7.4’s introduction of field-level expiration in hashes and adds three new commands for working with hashes: -- [HGETEX](https://redis.io/docs/latest/commands/hgetex/): Fetch a hash field and optionally set an expiration -- [HSETEX](https://redis.io/docs/latest/commands/hsetex/): Set a hash field and optionally set an expiration -- [HGETDEL](https://redis.io/docs/latest/commands/hgetdel/): Fetch and delete a hash field - -These commands simplify common caching and session management usage patterns. - ### Performance improvements Redis 8 delivers the largest performance leap in Redis history with over 30 optimizations, including: - Up to 87% lower command latency @@ -84,6 +62,8 @@ Redis 8 delivers the largest performance leap in Redis history with over 30 opti These improvements benefit both single-node and clustered deployments. More details are available in the [Redis 8 GA](https://redis.io/blog/redis-8-ga/) blog post. +## Changes + ### Breaking changes #### ACL behavior Commands from included modules are now covered under standard categories (e.g., `+@read`, `+@write`). A user with `+@all` `-@write` will no longer be able to execute `FT.SEARCH` as they could before. @@ -101,12 +81,13 @@ The following changes affect behavior and validation in the Redis Query Engine: For a full list of the Redis Query Engine-related changes, see the [release notes](https://github.com/redis/redis/releases). -## Getting started with Redis 8 -Redis 8 is available as Redis Open Source and can be installed using the following methods: -- Docker: Alpine and Debian images via [Docker Hub](https://hub.docker.com/_/redis) -- snap – [instructions](https://github.com/redis/redis-snap), [Snapcraft](https://snapcraft.io/redis) -- brew – [instructions](https://github.com/redis/homebrew-redis) -- RPM – [instructions](https://github.com/redis/redis-rpm) -- Debian APT – [instructions](https://github.com/redis/redis-debian) +### Other changes +#### One Redis +Over time, Redis introduced several modules to address new use cases such as search, vector similarity, time series analysis, and probabilistic modeling. While these modules extended Redis’s functionality, managing version compatibility and module installation introduced friction. + +Redis Stack partially solved this by bundling modules together, but it also created fragmentation across the ecosystem. + +Redis 8 merges Redis Stack and Redis Community Edition into a single unified distribution: Redis Open Source. All previously modular functionality is now built into the Redis Open Source package, eliminating the need to manage separate modules. You now get a single, consistent feature set across all deployments. -For detailed installation instructions, visit the [Redis downloads](https://redis.io/downloads/) page. +## Component versions +Redis 8.0 delivers just Redis — no modules, no fragmentation. From 0441e1b3644a37771ac7ded5d017111d010202f9 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 9 May 2025 18:24:57 +0200 Subject: [PATCH 29/30] Update _index.md --- content/develop/whats-new/_index.md | 136 ++-------------------------- 1 file changed, 9 insertions(+), 127 deletions(-) diff --git a/content/develop/whats-new/_index.md b/content/develop/whats-new/_index.md index 0bc6edca0f..d55117ae01 100644 --- a/content/develop/whats-new/_index.md +++ b/content/develop/whats-new/_index.md @@ -6,136 +6,18 @@ categories: - operate - rs - rc -description: High-level description of important updates to the Develop section +description: Redis feature sets linkTitle: What's new? hideListLinks: true weight: 10 --- -## Q1 2025 (January - March) Updates +A Redis feature set includes a specific Redis database version along with the advanced capabilities and data structures provided by compatible module versions. -### Tools +To use a new feature introduced in a later feature set, you must upgrade the corresponding components according to the following table. -- Redis Insight [v2.66 release notes]({{< relref "/develop/tools/insight/release-notes/v.2.66.0.md" >}}) -- Updated CLI output samples for [`bigkeys`, `memkeys`, `keystats`]({{< relref "/develop/tools/cli.md" >}}) - ---- - -### Redis AI & Vectors - -- Expanded vector examples: - - [Python]({{< relref "/develop/clients/redis-py/vecsearch.md" >}}) - - [Node.js]({{< relref "/develop/clients/nodejs/vecsearch.md" >}}) - - [Java (Jedis)]({{< relref "/develop/clients/jedis/vecsearch.md" >}}) - - [Go]({{< relref "/develop/clients/go/vecsearch.md" >}}) - - [.NET]({{< relref "/develop/clients/dotnet/vecsearch.md" >}}) -- Updated AI integrations: - - [AI overview]({{< relref "/develop/ai/index.md" >}}) - - [RAG intro]({{< relref "/develop/get-started/rag.md" >}}) - - [Redis in AI]({{< relref "/develop/get-started/redis-in-ai.md" >}}) - ---- - -### Data Types - -- TimeSeries: - - [`COMPACTION_POLICY`]({{< relref "/develop/data-types/timeseries/configuration.md" >}}) - - [Client-side caching update]({{< relref "/develop/clients/client-side-caching.md" >}}) -- JSON: - - [Active memory defragmentation]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json/commands.md" >}}) -- Probabilistic: - - [Bloom filter]({{< relref "/develop/data-types/probabilistic/bloom-filter.md" >}}) - - [Count-min sketch]({{< relref "/develop/data-types/probabilistic/count-min-sketch.md" >}}) - - [Top-K]({{< relref "/develop/data-types/probabilistic/top-k.md" >}}) - - [Cuckoo filter]({{< relref "/develop/data-types/probabilistic/cuckoo-filter.md" >}}) - ---- - -### Commands & API Docs - -- Pages updated for format and accuracy: - - [ACL SETUSER]({{< relref "/commands/acl-setuser/index.md" >}}) - - [JSON.GET]({{< relref "/commands/json.get/index.md" >}}) - - [TS.ADD]({{< relref "/commands/ts.add/index.md" >}}) - - [SCAN]({{< relref "/commands/scan/index.md" >}}) - - [SORT]({{< relref "/commands/sort/index.md" >}}) -- RESP3 reply types documented in [Hiredis command page]({{< relref "/develop/clients/hiredis/issue-commands.md" >}}) -- [CSC behavior clarified]({{< relref "/develop/clients/client-side-caching.md" >}}) - ---- - -### Search & Query - -- Best practices: - - [Dev-to-prod guide]({{< relref "/develop/interact/search-and-query/best-practices/dev-to-prod-best-practices.md" >}}) - - [Scalable queries]({{< relref "/develop/interact/search-and-query/best-practices/scalable-query-best-practices.md" >}}) - - [Index lifecycle]({{< relref "/develop/interact/search-and-query/best-practices/index-mgmt-best-practices.md" >}}) -- New/updated topics: - - [Autocomplete]({{< relref "/develop/interact/search-and-query/advanced-concepts/autocomplete.md" >}}) - - [Escaping & tokenization]({{< relref "/develop/interact/search-and-query/advanced-concepts/escaping.md" >}}) - - [Geo indexing]({{< relref "/develop/interact/search-and-query/indexing/geoindex.md" >}}) - - [Sorting, scoring, stemming]({{< relref "/develop/interact/search-and-query/advanced-concepts/sorting.md" >}}) - ---- - -### Client Libraries - -#### Go -- [Trans/pipe examples]({{< relref "/develop/clients/go/transpipe.md" >}}) -- [JSON queries]({{< relref "/develop/clients/go/queryjson.md" >}}) - -#### .NET -- [Vector search]({{< relref "/develop/clients/dotnet/vecsearch.md" >}}) -- [Trans/pipe usage]({{< relref "/develop/clients/dotnet/transpipe.md" >}}) -- [JSON queries]({{< relref "/develop/clients/dotnet/queryjson.md" >}}) - -#### Java (Jedis) -- [Vector search]({{< relref "/develop/clients/jedis/vecsearch.md" >}}) -- [Trans/pipe usage]({{< relref "/develop/clients/jedis/transpipe.md" >}}) - -#### Node.js -- [Vector queries]({{< relref "/develop/clients/nodejs/vecsearch.md" >}}) -- [Trans/pipe examples]({{< relref "/develop/clients/nodejs/transpipe.md" >}}) -- [JSON queries]({{< relref "/develop/clients/nodejs/queryjson.md" >}}) - -#### Redis-py -- [ScanIter usage]({{< relref "/develop/clients/redis-py/scaniter.md" >}}) -- [Vector search]({{< relref "/develop/clients/redis-py/vecsearch.md" >}}) -- [Trans/pipe usage]({{< relref "/develop/clients/redis-py/transpipe.md" >}}) -- [JSON queries]({{< relref "/develop/clients/redis-py/queryjson.md" >}}) - -#### Lettuce -- [Cluster connection]({{< relref "/develop/clients/lettuce/connect.md" >}}) -- [Production usage]({{< relref "/develop/clients/lettuce/produsage.md" >}}) - -#### Hiredis -- Full client guide: - - [Overview]({{< relref "/develop/clients/hiredis/_index.md" >}}) - - [Connect]({{< relref "/develop/clients/hiredis/connect.md" >}}) - - [Issue commands]({{< relref "/develop/clients/hiredis/issue-commands.md" >}}) - - [Handle replies]({{< relref "/develop/clients/hiredis/handle-replies.md" >}}) - - [Transactions and pipelines]({{< relref "/develop/clients/hiredis/transpipe.md" >}}) - - - -## Q4 2024 (October - December) Updates - -* Updated the RESP3 specification document to include the [attribute type]({{< relref "/develop/reference/protocol-spec#attributes" >}}). -* Updates to the [key eviction]({{< relref "/develop/reference/eviction" >}}) page. -* Updates to the Redis Insight page related to its new Redis Query Engine auto-completion [feature]({{< relref "/develop/tools/insight#workbench">}}). -* Restructured and added testable connection examples to the [client pages]({{< relref "/develop/clients" >}}). -* Added [Redis Open Source]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce" >}}) and [Redis Stack]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisstack" >}}) release notes. -* Added new [Redis for AI]({{< relref "/develop/ai" >}}) page. -* Added new [Predis (PHP client library)]({{< relref "/develop/clients/php" >}}) page. - -## Q3 2024 (July - September) Updates - -* Updated the [RAG with Redis quick start guide]({{< relref "/develop/get-started/rag" >}}). -* Updates for [Redis Open Source version 7.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce" >}}). -* Added new [Redis Insight debugging]({{< relref "/develop/tools/insight/debugging" >}}) page. -* Completed a major re-write/restructuring of the [vector indexing page]({{< relref "/develop/interact/search-and-query/advanced-concepts/vectors" >}}). -* Added new [client-side caching page]({{< relref "/develop/clients/client-side-caching" >}}). -* Added new documentation for the [RDI in Redis Insight feature]({{< relref "/develop/tools/insight/rdi-connector" >}}). -* Added new documentation for the [Redis for VS Code feature]({{< relref "/develop/tools/redis-for-vscode/" >}}). -* Added multi-language code examples to the Redis Query Engine [query]({{< relref "/develop/interact/search-and-query/query">}}) pages. -* Added client-side caching information to the [supported clients]({{< relref "/develop/clients/client-side-caching#which-client-libraries-support-client-side-caching" >}}) pages. -* Numerous changes to the [Redis client content]({{< relref "/develop/clients" >}}). +| Redis feature set | What's new | +|-------------------|------------| +| **Feature set version:** 8.0

**Component versions:**
[Redis 8.0]({{}}) | See [here]({{< relref "/develop/whats-new/8-0" >}})| +| **Feature set version:** 7.4

**Component versions:**
[Redis 7.4]({{}})
[Search 2.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md" >}})
[JSON 2.8]({{}})
[Time series 1.12]({{}})
[Bloom 2.8]({{}}) | See [here]({{< relref "/develop/whats-new/7-4" >}})| +| **Feature set version:** 7.2

**Component versions:**
[Redis 7.2](https://raw.githubusercontent.com/redis/redis/7.2/00-RELEASENOTES)
[Search 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes.md" >}})
[JSON 2.6]({{}})
[Time series 1.10]({{}})
[Bloom 2.6]({{}})
[Gears 2.0](https://github.com/RedisGears/RedisGears/releases) | See [here]({{< relref "/develop/whats-new/7-2" >}})| +| **Feature set version:** 6.2

**Component versions:**
[Redis 6.2](https://raw.githubusercontent.com/redis/redis/6.2/00-RELEASENOTES)
[Search 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.6-release-notes.md" >}})
[JSON 2.4]({{}})
[Time series 1.8]({{}})
[Bloom 2.4]({{}})
[Graph 2.10]({{}}) | See [here]({{< relref "/develop/whats-new/6-2" >}})| From 40b76f32b2e03a6df84734fb7c45e503d0d71820 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 9 May 2025 18:29:35 +0200 Subject: [PATCH 30/30] Delete content/develop/whats-new/redis-feature-sets.md --- .../develop/whats-new/redis-feature-sets.md | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 content/develop/whats-new/redis-feature-sets.md diff --git a/content/develop/whats-new/redis-feature-sets.md b/content/develop/whats-new/redis-feature-sets.md deleted file mode 100644 index ca3a8a072e..0000000000 --- a/content/develop/whats-new/redis-feature-sets.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Redis feature sets -alwaysopen: false -categories: -- docs -- operate -- rs -- rc -description: Highlights of what's new for Redis feature sets -linkTitle: Redis feature sets -weight: 40 ---- - -A Redis feature set includes a specific Redis database version along with the advanced capabilities and data structures provided by compatible module versions. - -To use a new feature introduced in a later feature set, you must upgrade the corresponding components according to the following table. - -| Redis feature set | What's new | -|-------------------|------------| -| **Feature set version:** 8.0| See [here]({{< relref "/develop/whats-new/8-0" >}})| -| **Feature set version:** 7.4

**Component versions:**
[Redis 7.4]({{}})
[Search 2.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md" >}})
[JSON 2.8]({{}})
[Time series 1.12]({{}})
[Bloom 2.8]({{}}) | **Hash**:
- [Expiration of individual hash fields]({{}}).
**Streams**:
- To start reading from the last stream message, use [`XREAD`]({{}}) with the new ID value `+`.
**Time series**:
Insertion-filter for close samples.
**JSON**:
- A fix to not duplicate `AOF` commands multiple times in [`JSON.MSET`]({{< relref "commands/json.mset/" >}}).
**Probabilistic**:
- Returns an error if [`CMS.MERGE`]({{< relref "commands/cms.merge/" >}}) results in an overflow or underflow.
**Redis Query Engine**:
- New `BFLOAT16` and `FLOAT16` vector data types, reducing memory consumed by vectors while preserving accuracy.
- Support for indexing empty and missing values and enhanced developer experience for queries with exact matching capabilities.
- You can match `TAG` fields without needing to escape special characters.
- 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

**Component versions:**
[Redis 7.2](https://raw.githubusercontent.com/redis/redis/7.2/00-RELEASENOTES)
[Search 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes.md" >}})
[JSON 2.6]({{}})
[Time series 1.10]({{}})
[Bloom 2.6]({{}})
[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.
**JSON**:
- New JSON commands: [`JSON.MERGE`]({{< relref "commands/json.merge/" >}}) and [`JSON.MSET`]({{< relref "commands/json.mset/" >}}).
**Redis Query Engine:**
- [Geo polygon search]({{< relref "commands/ft.search/#examples" >}}).
**Compatibility changes**:
- Redis 7.2 uses a new format (version 11) for RDB files, which is incompatible with older versions.
- Redis feature set 7.2 does not include [graph capabilities](https://redis.io/blog/redisgraph-eol/). | -| **Feature set version:** 6.2

**Component versions:**
[Redis 6.2](https://raw.githubusercontent.com/redis/redis/6.2/00-RELEASENOTES)
[Search 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.6-release-notes.md" >}})
[JSON 2.4]({{}})
[Time series 1.8]({{}})
[Bloom 2.4]({{}})
[Graph 2.10]({{}}) | **Time series**:
- Time series gap filling.
**JSON**:
- Improved JSON path parser.
**Probabilistic:**
- New probabilistic data structure t-digest.
**Redis Query Engine:**
- Wildcard queries for `TEXT` and `TAG`.
- Suffix search.
- Multi-value indexing and queries.
**Graph**:
- New pathfinding algorithms for graphs. | -