From 406a365f44c33022b649f02241dc39224c3729b1 Mon Sep 17 00:00:00 2001 From: YaacovHazan Date: Wed, 11 Sep 2024 14:23:16 +0300 Subject: [PATCH 1/8] Bundle modules for Redis 8.0 M01 --- modules/redisbloom/Makefile | 2 +- modules/redisearch/Makefile | 2 +- modules/redisjson/Makefile | 2 +- modules/redistimeseries/Makefile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/redisbloom/Makefile b/modules/redisbloom/Makefile index d8e01be1c..bb10b8308 100644 --- a/modules/redisbloom/Makefile +++ b/modules/redisbloom/Makefile @@ -1,5 +1,5 @@ SRC_DIR = src -MODULE_VERSION = v9.99.99 +MODULE_VERSION = v2.8.2 MODULE_REPO = https://github.com/redisbloom/redisbloom TARGET_MODULE = $(SRC_DIR)/bin/$(FULL_VARIANT)/redisbloom.so diff --git a/modules/redisearch/Makefile b/modules/redisearch/Makefile index fcc43dfeb..70452fb63 100644 --- a/modules/redisearch/Makefile +++ b/modules/redisearch/Makefile @@ -1,5 +1,5 @@ SRC_DIR = src -MODULE_VERSION = v9.99.99 +MODULE_VERSION = v7.99.0 MODULE_REPO = https://github.com/redisearch/redisearch TARGET_MODULE = $(SRC_DIR)/bin/$(FULL_VARIANT)/coord-oss/redisearch.so diff --git a/modules/redisjson/Makefile b/modules/redisjson/Makefile index 9d98c3a6b..098e1e961 100644 --- a/modules/redisjson/Makefile +++ b/modules/redisjson/Makefile @@ -1,5 +1,5 @@ SRC_DIR = src -MODULE_VERSION = v9.99.99 +MODULE_VERSION = v2.8.4 MODULE_REPO = https://github.com/redisjson/redisjson TARGET_MODULE = $(SRC_DIR)/bin/$(FULL_VARIANT)/rejson.so diff --git a/modules/redistimeseries/Makefile b/modules/redistimeseries/Makefile index 0fcfc3284..c7c7d3f31 100644 --- a/modules/redistimeseries/Makefile +++ b/modules/redistimeseries/Makefile @@ -1,5 +1,5 @@ SRC_DIR = src -MODULE_VERSION = v9.99.99 +MODULE_VERSION = v1.12.2 MODULE_REPO = https://github.com/redistimeseries/redistimeseries TARGET_MODULE = $(SRC_DIR)/bin/$(FULL_VARIANT)/redistimeseries.so From 4955375ec766785b855cd00a91bdd36abde66544 Mon Sep 17 00:00:00 2001 From: YaacovHazan Date: Wed, 11 Sep 2024 15:04:06 +0300 Subject: [PATCH 2/8] Redis 8.0 M01 --- 00-RELEASENOTES | 86 ++++++++++++++++++++++++++++++++++++++++++------- src/version.h | 4 +-- 2 files changed, 77 insertions(+), 13 deletions(-) diff --git a/00-RELEASENOTES b/00-RELEASENOTES index 0a5a8e4dd..2b66cb545 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -1,16 +1,80 @@ -Hello! This file is just a placeholder, since this is the "unstable" branch -of Redis, the place where all the development happens. +Redis Community Edition 8.0 release notes +========================================= -There is no release notes for this branch, it gets forked into another branch -every time there is a partial feature freeze in order to eventually create -a new stable release. +=========================================================== +8.0-M01 (v7.9.224) Released Thu 12 Sep 2024 10:00:00 IST +=========================================================== -Usually "unstable" is stable enough for you to use it in development environments -however you should never use it in production environments. It is possible -to download the latest stable release here: +This is the first Milestone of Redis Community Edition 8.0. - https://download.redis.io/redis-stable.tar.gz +Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. +Once we reach feature-completeness we will release RC1. -More information is available at https://redis.io +### Headlines: + +Redis 8.0 introduces new data structures: JSON, time series, and 5 probabilistic data structures (previously available as separate Redis modules) and incorporates Redis scalable query engine (including vector search). + +8.0-M01 is available as a Docker image and can be downloaded from [Docker Hub](https://hub.docker.com/_/redis). Additional distributions will be introduced in upcoming pre-releases. + +### Supported upgrade paths (by replication or persistence) to 8.0-M01 + + +- From previous Redis versions, without modules + +The following upgrade paths (by replication or persistence) to 8.0-M01 are not yet tested and will be introduced in upcoming pre-releases: +- From previous Redis versions with modules (RediSearch, RedisJSON, RedisTimeSeries, RedisBloom) +- From Redis Stack 7.2 or 7.4 + +### New Features in binary distributions + +- 7 new data structures: JSON, Time series, Bloom filter, Cuckoo filter, Count-min sketch, Top-k, t-digest +- Redis scalable query engine (including vector search) + +### Potentially breaking changes + +- #12272 `GETRANGE` returns an empty bulk when the negative end index is out of range +- #12395 Optimize `SCAN` command when matching data type + +### Bug fixes + +- #13510 Fix `RM_RdbLoad` to enable AOF after RDB loading is completed +- #13489 `ACL CAT` - return module commands +- #13476 Fix a race condition in the `cache_memory` of `functionsLibCtx` +- #13473 Fix incorrect lag due to trimming stream via `XTRIM` command +- #13338 Fix incorrect lag field in `XINFO` when tombstone is after the `last_id` of the consume group +- #13470 On `HDEL` of last field - update the global hash field expiration data structure +- #13465 Cluster: Pass extensions to node if extension processing is handled by it +- #13443 Cluster: Ensure validity of myself when loading cluster config +- #13422 Cluster: Fix `CLUSTER SHARDS` command returns empty array + +### Modules API + +- #13509 New API calls: `RM_DefragAllocRaw`, `RM_DefragFreeRaw`, and `RM_RegisterDefragCallbacks` - defrag API to allocate and free raw memory + +### Performance and resource utilization improvements + +- #13503 Avoid overhead of comparison function pointer calls in listpack `lpFind` +- #13505 Optimize `STRING` datatype write commands +- #13499 Optimize `SMEMBERS` command +- #13494 Optimize `GEO*` commands reply +- #13490 Optimize `HELLO` command +- #13488 Optimize client query buffer +- #12395 Optimize `SCAN` command when matching data type +- #13529 Optimize `LREM`, `LPOS`, `LINSERT`, and `LINDEX` commands +- #13516 Optimize `LRANGE` and other commands that perform several writes to client buffers per call +- #13431 Avoid `used_memory` contention when updating from multiple threads + +### Other general improvements + +- #13495 Reply `-LOADING` on replica while flushing the db + +### CLI tools + +- #13411 redis-cli: Fix wrong `dbnum` showed after the client reconnected + +### Notes + +- No backward compatibility for replication or persistence. +- Additional distributions, upgrade paths, features, and improvements will be introduced in upcoming pre-releases. +- With the GA release of 8.0 we will deprecate Redis Stack. -Happy hacking! diff --git a/src/version.h b/src/version.h index 89aef53fc..df25f3deb 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define REDIS_VERSION "255.255.255" -#define REDIS_VERSION_NUM 0x00ffffff +#define REDIS_VERSION "7.9.224" +#define REDIS_VERSION_NUM 0x000709e0 From 14c48cc5ed2b4ceab998e54bff4c9fc4ab5bce42 Mon Sep 17 00:00:00 2001 From: YaacovHazan Date: Sun, 27 Oct 2024 15:11:25 +0200 Subject: [PATCH 3/8] Redis 8.0 M02 --- 00-RELEASENOTES | 54 +++++++++++++++++++++++++++++++++++++++++++++++-- src/version.h | 4 ++-- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/00-RELEASENOTES b/00-RELEASENOTES index 2b66cb545..fc762a23e 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -1,6 +1,56 @@ Redis Community Edition 8.0 release notes ========================================= +============================================================ +8.0-M02 (v7.9.225) Committed Mon 28 Oct 2024 14:00:00 IST +============================================================ + +This is the second Milestone of Redis Community Edition 8.0. + +Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. +Once we reach feature-completeness we will release RC1. + +### Headlines: + +8.0-M02 introduces significant performance improvements. Both Alpine and Debian Docker images are now available on [Docker Hub](https://hub.docker.com/_/redis). Additional distributions will be introduced in upcoming pre-releases. + +### Supported upgrade paths (by replication or persistence) to 8.0-M02 + +- From previous Redis versions, without modules + +The following upgrade paths (by replication or persistence) to 8.0-M02 are not yet tested and will be introduced in upcoming pre-releases: +- From previous Redis versions with modules (RediSearch, RedisJSON, RedisTimeSeries, RedisBloom) +- From Redis Stack 7.2 or 7.4 + +### Security fixes + +- (CVE-2024-31449) Lua library commands may lead to stack overflow and potential RCE. +- (CVE-2024-31227) Potential Denial-of-service due to malformed ACL selectors. +- (CVE-2024-31228) Potential Denial-of-service due to unbounded pattern matching. + +### Bug fixes + +- #13539 Hash: Fix key ref for a hash that no longer has fields with expiration on `RENAME`/`MOVE`/`SWAPDB`/`RESTORE` +- #13512 Fix `TOUCH` command from a script in no-touch mode +- #13468 Cluster: Fix cluster node config corruption caused by mixing shard-id and non-shard-id versions +- #13608 Cluster: Fix `GET #` option in `SORT` command + +### Modules API + +- #13526 Extend `RedisModule_OpenKey` to read also expired keys and subkeys + +### Performance and resource utilization improvements + +- #11884 Optimize `ZADD` and `ZRANGE*` commands +- #13530 Optimize `SSCAN` command in case of listpack or intset encoding +- #13531 Optimize `HSCAN`/`ZSCAN` command in case of listpack encoding +- #13520 Optimize commands that heavily rely on bulk/mbulk replies (example of `LRANGE`) +- #13566 Optimize `ZUNION[STORE]` by avoiding redundant temporary dict usage +- #13567 Optimize `SUNION`/`SDIFF` commands by avoiding redundant temporary dict usage +- #11533 Avoid redundant `lpGet` to boost `quicklistCompare` +- #13412 Reduce redundant call of `prepareClientToWrite` when call `addReply*` continuously + + =========================================================== 8.0-M01 (v7.9.224) Released Thu 12 Sep 2024 10:00:00 IST =========================================================== @@ -12,7 +62,7 @@ Once we reach feature-completeness we will release RC1. ### Headlines: -Redis 8.0 introduces new data structures: JSON, time series, and 5 probabilistic data structures (previously available as separate Redis modules) and incorporates Redis scalable query engine (including vector search). +Redis 8.0 introduces new data structures: JSON, time series, and 5 probabilistic data structures (previously available as separate Redis modules) and incorporates the enhanced Redis Query Enginer (with vector search). 8.0-M01 is available as a Docker image and can be downloaded from [Docker Hub](https://hub.docker.com/_/redis). Additional distributions will be introduced in upcoming pre-releases. @@ -28,7 +78,7 @@ The following upgrade paths (by replication or persistence) to 8.0-M01 are not y ### New Features in binary distributions - 7 new data structures: JSON, Time series, Bloom filter, Cuckoo filter, Count-min sketch, Top-k, t-digest -- Redis scalable query engine (including vector search) +- The enhanced Redis Query Engine (with vector search) ### Potentially breaking changes diff --git a/src/version.h b/src/version.h index df25f3deb..69d8dccd9 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define REDIS_VERSION "7.9.224" -#define REDIS_VERSION_NUM 0x000709e0 +#define REDIS_VERSION "7.9.225" +#define REDIS_VERSION_NUM 0x000709e1 From 4c5a9076d7647c4352de21bd60f4dece7c1ef85d Mon Sep 17 00:00:00 2001 From: YaacovHazan Date: Mon, 20 Jan 2025 16:00:49 +0200 Subject: [PATCH 4/8] Redis 8.0 M03 --- 00-RELEASENOTES | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ src/version.h | 4 +-- 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/00-RELEASENOTES b/00-RELEASENOTES index fc762a23e..59e89012e 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -1,6 +1,72 @@ Redis Community Edition 8.0 release notes ========================================= +============================================================ +8.0-M03 (v7.9.226) Committed Mon 20 Jan 2025 15:00:00 IST +============================================================ + +This is the third Milestone of Redis Community Edition 8.0. + +Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. +Once we reach feature-completeness we will release RC1. + +### Headlines: + +8.0-M03 introduces an improved replication mechanism which is more performant and robust, a new I/O threading implementation which enables throughput increase on multi-core environments, and many additional performance improvements. Both Alpine and Debian Docker images are now available on [Docker Hub](https://hub.docker.com/_/redis). A snap and Homebrew distributions are available as well. + + +### Security fixes + +- (CVE-2024-46981) Lua script may lead to remote code execution +- (CVE-2024-51741) Denial-of-service due to malformed ACL selectors + +### New Features + +- #13695 New I/O threading implementation +- #13732 New replication mechanism + + +### Bug fixes + +- #13653 `MODULE LOADEX` - crash on nonexistent parameter name +- #13661 `FUNCTION FLUSH` - memory leak when using jemalloc +- #13626 Memory leak on failed RDB loading + +### Other general improvements + +- #13639 When `hide-user-data-from-log` is enabled - also print command tokens on crash +- #13660 Add the Lua VM memory to memory overhead + +### New metrics + +- #13592 `INFO` - new `KEYSIZES` section includes key size distributions for basic data types +- #13695 `INFO` - new `Threads` section includes I/O threading metrics + +### Modules API + +- #13666 `RedisModule_ACLCheckKeyPrefixPermissions` - check access permissions to any key matching a given prefix +- #13676 `RedisModule_HashFieldMinExpire` - query the minimum expiration time over all the hash’s fields +- #13676 `RedisModule_HashGet` - new `REDISMODULE_HASH_EXPIRE_TIME` flag - query the field expiration time +- #13656 `RedisModule_RegisterXXXConfig` - allow registering unprefixed configuration parameters + +### Configuration parameters + + +- `replica-full-sync-buffer-limit` - maximum size of accumulated replication stream data on the replica side +- `io-threads-do-reads` is no longer effective. The new I/O threading implementation always use threads for both reads and writes + +### Performance and resource utilization improvements + +- #13638 Optimize CRC64 performance +- #13521 Optimize commands with large argument count - reuse c->argv after command execution +- #13558 Optimize `PFCOUNT` and `PFMERGE` - SIMD acceleration +- #13644 Optimize `GET` on high pipeline use-cases +- #13646 Optimize `EXISTS` - prefetching and branch prediction hints +- #13652 Optimize `LRANGE` - improve listpack handling and decoding efficiency +- #13655 Optimize `HSET` - avoid unnecessary hash field creation or deletion +- #13721 Optimize `LRANGE` and `HGETALL` - refactor client write preparation and handling + + ============================================================ 8.0-M02 (v7.9.225) Committed Mon 28 Oct 2024 14:00:00 IST ============================================================ diff --git a/src/version.h b/src/version.h index 69d8dccd9..61f444dfd 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define REDIS_VERSION "7.9.225" -#define REDIS_VERSION_NUM 0x000709e1 +#define REDIS_VERSION "7.9.226" +#define REDIS_VERSION_NUM 0x000709e2 From d1df881ec51c62c80534ec4abea44e6fc215e683 Mon Sep 17 00:00:00 2001 From: YaacovHazan Date: Tue, 11 Mar 2025 09:49:25 +0200 Subject: [PATCH 5/8] Redis 8.0 RC1 --- 00-RELEASENOTES | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ src/version.h | 4 ++-- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/00-RELEASENOTES b/00-RELEASENOTES index 59e89012e..b652b6f9b 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -1,6 +1,58 @@ Redis Community Edition 8.0 release notes ========================================= +============================================================ +8.0-RC1 (v7.9.240) Committed Tue 11 Mar 2025 11:00:00 IST +============================================================ + +This is the first Release Candidate of Redis Community Edition 8.0. + +Release candidates are feature-complete pre-releases. Pre-releases are not suitable for production use. + +### Headlines + +8.0-RC1 includes 3 new hash commands, performance improvements, and memory defragmentation improvements. + +### Distributions + +- Alpine and Debian Docker images - https://hub.docker.com/_/redis +- Install using snap - see https://github.com/redis/redis-snap +- Install using brew - see https://github.com/redis/homebrew-redis +- Install using RPM and Debian APT - will be added on the GA release + +### New Features + +- #13798 Hash - new commands: + - `HGETDEL` Get and delete the value of one or more fields of a given hash key + - `HGETEX` Get the value of one or more fields of a given hash key, and optionally set their expiration + - `HSETEX` Set the value of one or more fields of a given hash key, and optionally set their expiration +- #13773 Add replication offset to AOF, allowing more robust way to determine which AOF has a more up-to-date data during recovery +- #13740, #13763 shared secret - new mechanism to allow sending internal commands between nodes + +### Bug fixes + +- #13804 Overflow on 32-bit systems when calculating idle time for eviction +- #13793 `WAITAOF` returns prematurely +- #13800 Remove `DENYOOM` from `HEXPIRE`, `HEXPIREAT`, `HPEXPIRE`, and `HPEXPIREAT` +- #13632 Streams - wrong behavior of `XREAD +` after last entry + +### Modules API + +- #13788 `RedisModule_LoadDefaultConfigs` - load module configuration values from redis.conf +- #13815 `RM_RegisterDefragFunc2` - support for incremental defragmentation of global module data +- #13816 `RM_DefragRedisModuleDict` - allow modules to defrag `RedisModuleDict` +- #13774 `RM_GetContextFlags` - add a `REDISMODULE_CTX_FLAGS_DEBUG_ENABLED` flag to execute debug commands + + +### Performance and resource utilization improvements + +- #13752 Reduce defrag CPU usage when defragmentation is ineffective +- #13764 Reduce latency when a command is called consecutively +- #13787 Optimize parsing data from clients, specifically multi-bulk (array) data +- #13792 Optimize dictionary lookup by avoiding duplicate key length calculation during comparisons +- #13796 Optimize expiration checks + + ============================================================ 8.0-M03 (v7.9.226) Committed Mon 20 Jan 2025 15:00:00 IST ============================================================ diff --git a/src/version.h b/src/version.h index 61f444dfd..332529d09 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define REDIS_VERSION "7.9.226" -#define REDIS_VERSION_NUM 0x000709e2 +#define REDIS_VERSION "7.9.240" +#define REDIS_VERSION_NUM 0x000709f0 From 095c131fbbb6cdea5d3d93fd1ce990b3968123cf Mon Sep 17 00:00:00 2001 From: YaacovHazan Date: Sun, 16 Mar 2025 10:05:37 +0200 Subject: [PATCH 6/8] Redis 8.0 M04 --- 00-RELEASENOTES | 9 +++++---- src/version.h | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/00-RELEASENOTES b/00-RELEASENOTES index b652b6f9b..91a65e5c3 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -2,16 +2,17 @@ Redis Community Edition 8.0 release notes ========================================= ============================================================ -8.0-RC1 (v7.9.240) Committed Tue 11 Mar 2025 11:00:00 IST +8.0-M04 (v7.9.227) Committed Sun 16 Mar 2025 11:00:00 IST ============================================================ -This is the first Release Candidate of Redis Community Edition 8.0. +This is the fourth Milestone of Redis Community Edition 8.0. -Release candidates are feature-complete pre-releases. Pre-releases are not suitable for production use. +Milestones are non-feature-complete pre-releases. Pre-releases are not suitable for production use. +Once we reach feature-completeness we will release RC1. ### Headlines -8.0-RC1 includes 3 new hash commands, performance improvements, and memory defragmentation improvements. +8.0-M04 includes 3 new hash commands, performance improvements, and memory defragmentation improvements. ### Distributions diff --git a/src/version.h b/src/version.h index 332529d09..a96e591cd 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define REDIS_VERSION "7.9.240" -#define REDIS_VERSION_NUM 0x000709f0 +#define REDIS_VERSION "7.9.227" +#define REDIS_VERSION_NUM 0x000709e3 From b0403f1fa20c2735f981d65d2dfc17fb77b45982 Mon Sep 17 00:00:00 2001 From: YaacovHazan <31382944+YaacovHazan@users.noreply.github.com> Date: Mon, 7 Apr 2025 11:38:16 +0300 Subject: [PATCH 7/8] Redis CE 8.0 RC1 (#13924) --- 00-RELEASENOTES | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ src/version.h | 4 ++-- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/00-RELEASENOTES b/00-RELEASENOTES index 91a65e5c3..11c8b4e5f 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -1,6 +1,55 @@ Redis Community Edition 8.0 release notes ========================================= +========================================================== +8.0-RC1 (v7.9.240) Released Mon 7 Apr 2025 10:00:00 IST +========================================================== + +This is the first Release Candidate of Redis Community Edition 8.0. + +Release Candidates are feature-complete pre-releases. Pre-releases are not suitable for production use. + + +### Headlines + +8.0-RC1 includes a new beta data structure - vector set. + +### Distributions + +- Alpine and Debian Docker images - https://hub.docker.com/_/redis +- Install using snap - see https://github.com/redis/redis-snap +- Install using brew - see https://github.com/redis/homebrew-redis +- Install using RPM and Debian APT - will be added on the GA release + +### New Features + +- #13915 Vector set - a new data structure [beta]: + Vector set extends the concept of sorted sets to allow the storage and querying of + high-dimensional vector embeddings, enhancing Redis for AI use cases that involve + semantic search and recommendation systems. Vector sets complement the existing + vector search capability in the Redis Query Engine. The vector set data type is + available in beta. We may change, or even break, the features and the API in + future versions. We are open to your feedback as you try out this new data type. +- #13846 Allow detecting incompatibility risks before switching to cluster mode + +### Bug fixes + +- #13895 RDB Channel replication - replica is online after BGSAVE is done +- #13877 Inconsistency for ShardID in case both master and replica support it +- #13883 Defrag scan may return nothing when type/encoding changes during it +- #13863 `RANDOMKEY` - infinite loop during client pause +- #13853 `SLAVEOF` - crash when clients are blocked on lazy free +- #13632 `XREAD` returns nil while stream is not empty + +### Metrics + +- #13846 `INFO`: `cluster_incompatible_ops` - number of cluster-incompatible commands + +### Configuration parameters + +- #13846 `cluster-compatibility-sample-ratio` - sampling ratio (0-100) for checking command compatibility with cluster mode + + ============================================================ 8.0-M04 (v7.9.227) Committed Sun 16 Mar 2025 11:00:00 IST ============================================================ diff --git a/src/version.h b/src/version.h index a96e591cd..332529d09 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define REDIS_VERSION "7.9.227" -#define REDIS_VERSION_NUM 0x000709e3 +#define REDIS_VERSION "7.9.240" +#define REDIS_VERSION_NUM 0x000709f0 From 4ec6d54426a7523435a650b043c1bb8853c52fd7 Mon Sep 17 00:00:00 2001 From: YaacovHazan Date: Fri, 2 May 2025 12:09:49 +0300 Subject: [PATCH 8/8] Redis 8.0 GA --- 00-RELEASENOTES | 78 +++++++++++++++++++++++++++++++++++++++++++++++-- src/version.h | 4 +-- 2 files changed, 78 insertions(+), 4 deletions(-) diff --git a/00-RELEASENOTES b/00-RELEASENOTES index 11c8b4e5f..b6a90c5af 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -1,5 +1,79 @@ -Redis Community Edition 8.0 release notes -========================================= +Redis Open Source 8.0 release notes +=================================== + +======================================================= +8.0 GA (v8.0.0) Released Fri 2 May 2025 12:00:00 IST +======================================================= + +This is the General Availability release of Redis Open Source 8.0. + +Redis 8.0 deprecates previous Redis and Redis Stack versions. + +Stand alone RediSearch, RedisJSON, RedisTimeSeries, and RedisBloom are no longer needed as they are now part of Redis. + + +### Major changes compared to 7.4.2 + +- Name change: Redis Community Edition is now Redis Open Source +- License change: licensed under your choice of + - (a) the Redis Source Available License 2.0 (RSALv2); or + - (b) the Server Side Public License v1 (SSPLv1); or + - (c) the GNU Affero General Public License (AGPLv3) +- Redis Query engine and 8 new data structures are now an integral part of Redis 8 + - (1) Redis Query Engine, which now supports both horizontal and vertical scaling for search, query and vector workloads + - (2) JSON - a queryable JSON document + - (3) Time series + - (4-8) Five probabilistic data structures: Bloom filter, Cuckoo filter, Count-min sketch, Top-k, and t-digest + - (9) Vector set [beta] - a data structure designed for Vector Similarity Search, inspired by Sorted set + - These nine components are included in all binary distributions + + - See instructions in the README.md file on how to build from source with all these components + - New configuration file: redis-full.conf - loads Redis with all these components, + and contains new configuration parameters for Redis Query engine and the new data structures + - New ACL categories: @search, @json, @timeseries, @bloom, @cuckoo, @cms, @topk, @tdigest + - Commands are also included in the existing ACL categories (@read, @write, etc.) + +- More than 30 performance and resource utilization improvements +- A new I/O threading implementation which enables throughput increase on multi-core environments + (set with `io-threads` configuration parameter) +- An improved replication mechanism which is more performant and robust +- New hash commands - `HGETDEL`, `HGETEX`, `HSETEX` + +For more details, see the release notes of 8.0-M01, 8.0-M02, 8.0-M03,8.0-M04, and 8.0-RC1 + +### Binary distributions + +- Alpine and Debian Docker images - https://hub.docker.com/_/redis +- Install using snap - see https://github.com/redis/redis-snap +- Install using brew - see https://github.com/redis/homebrew-redis +- Install using RPM - see https://github.com/redis/redis-rpm +- Install using Debian APT - see https://github.com/redis/redis-debian + +### Operating systems we test Redis 8.0 on + +- Ubuntu 20.04 (Focal Fossa), 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat) +- Rocky Linux 8.10, 9.5 +- AlmaLinux 8.10, 9.5 +- Debian 11 (Bullseye), 12 (Bookworm) +- macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia) + +### Supported upgrade paths (by replication or persistence) + +- From previous Redis versions, without modules +- From previous Redis versions with modules (RediSearch, RedisJSON, RedisTimeSeries, RedisBloom) +- From Redis Stack 7.2 or 7.4 + +### Security fixes (compared to 8.0-RC1) + + +* (CVE-2025-21605) An unauthenticated client can cause an unlimited growth of output buffers + +### Bug fixes (compared to 8.0-RC1) + +- #13966, #13932 `CLUSTER SLOTS` - TLS port update not reflected in CLUSTER SLOTS +- #13958 `XTRIM`, `XADD` - incorrect lag due to trimming stream +- #13931 `HGETEX` - wrong order of keyspace notifications + ========================================================== 8.0-RC1 (v7.9.240) Released Mon 7 Apr 2025 10:00:00 IST diff --git a/src/version.h b/src/version.h index 332529d09..416df6daf 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define REDIS_VERSION "7.9.240" -#define REDIS_VERSION_NUM 0x000709f0 +#define REDIS_VERSION "8.0.0" +#define REDIS_VERSION_NUM 0x00080000