content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisos-8.0-release-notes.md
Update urgency: HIGH: There are critical bugs that may affect a subset of users.
HGETEX - potential crash when FIELDS is used and numfields is missingUpdate urgency: SECURITY: There are security fixes in the release.
VSIM: new EPSILON argument to specify maximum distanceHINCRBYFLOAT removes field expiration on replicaCLIENT UNBLOCK from unblocking CLIENT PAUSEEVAL crash when error table is emptyUpdate urgency: SECURITY: There are security fixes in the release.
HyperLogLog commandsVSIM: Add new WITHATTRIBS option to return the JSON attribute associated with an elementUpdate urgency: SECURITY: There are security fixes in the release.
LOLWUT improvements for Redis 8.Update urgency: MODERATE: Plan an upgrade of the server, but it's not urgent.
VSIM FILTER parsing.search-on-timeout to RETURN.@__key on FT.AGGREGATE used as reserved field name preventing access to Redis keyspace.FT.CURSOR DEL while reading from the CURSOR.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 modules are no longer needed as they are now part of Redis.
(1) Redis Search, which now supports both horizontal and vertical scaling for search, query, and vector workloads.
(2) JSON, a queryable JSON document data type.
(3) Time series.
(4-8) Five probabilistic data structures: Bloom filter, Cuckoo filter, Count-min sketch, Top-k, and t-digest.
(9) Vector set [preview], a data structure designed for vector similarity search, inspired by sorted set.
These nine components are included in all binary distributions.
See the [build instructions]({{< relref "/operate/oss_and_stack/install/build-stack" >}}) for information about building from source code.
New configuration file: redis-full.conf, loads Redis with all components,
and contains new configuration parameters for Redis Search and the new data structures.
New ACL categories: @search, @json, @timeseries, @bloom, @cuckoo, @cms, @topk, and @tdigest commands are also included in the existing ACL categories such as @read and @write. See [below]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisos-8.0-release-notes/#potentially-breaking-changes-to-acls" >}}) for information about potentially breaking changes.
io-threads configuration parameter).For more details, see the release notes for the 8.0-M01, 8.0-M02, 8.0-M03, 8.0-M04, and 8.0-RC1 releases of Redis Open Source.
CLUSTER SLOTS - TLS port update not reflected.XTRIM, XADD - incorrect lag due to trimming stream.HGETEX - wrong order of keyspace notifications.{{<embed-md "redis8-breaking-changes-acl.md">}}
| New ACL commands category names | Included commands |
|---|---|
search | All Redis Search commands |
json | All JSON commands |
timeseries | All time series commands |
bloom | All Bloom filter commands |
cuckoo | All cuckoo filter commands |
topk | All top-k commands |
cms | All count-min sketch commands |
tdigest | All t-digest commands |
You can use these new categories in your ACL rules.
The following time series commands retrieve data from all keys that match a given filter expression: TS.MGET, TS.MRANGE, and TS.MREVRANGE.
There can be a case where a user may have to only some of the matching keys. In such cases, the command’s result is an error message: "current user doesn't have read permission to one or more keys that match the specified filter".
On the other hand, TS.QUERYINDEX does not require @read access to the keys that match the specified filter, as it accesses only time series metadata (name and labels) and not content (measurements).
The following Redis Search commands may retrieve data from all keys that match the prefixes defined in the index (that is, all indexed documents, per-index):
FT.SEARCHFT.AGGREGATE (may be followed by FT.CURSOR)FT.PROFILEOnly ACL users with access to a superset of the key prefixes defined during index creation can create, modify, or read the index. For example, a user with the key ACL pattern h:* can create an index with keys prefixed by h:* or h:p*, but not keys prefixed by h*, k:*, or k*, because these prefixes may involve keys to which the user does not have access.