content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes.md
RediSearch v2.8.32 requires:
This is a maintenance release for RediSearch 2.8.
Update urgency: LOW: No need to upgrade unless there are new features you want to use.
Improvements:
FT.AGGREGATE reply in RESP3.FT.PROFILE counter fields.FT.PROFILE with vector search execution details.Bug Fixes:
FT.AGGREGATE.FLUSHDB callback to avoid potential deadlocks.Full Changelog: https://github.com/RediSearch/RediSearch/compare/v2.8.31...v2.8.32
This is a maintenance release for RediSearch 2.8.
Update urgency: LOW: No need to upgrade unless there are new features you want to use.
Bug Fixes:
This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
INFO command is sent to the server.Full Changelog: https://github.com/RediSearch/RediSearch/compare/v2.8.29...v2.8.30.
This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
FLUSHDB while active queries are still running could lead to a crash due to premature release of the CURSOR (MOD-10681).Improvements:
FT.PROFILE using thread-independent clock mechanism (MOD-10622).This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
FT.INFO could lead to an overflow and memory leak (MOD-9396).TIMEOUT, causing a crash (MOD-9856).Improvements:
FT.INFO statistics when concurrently running the index sanitiser (MOD-10007, MOD-9761).This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
FT.CURSOR...DEL while another thread is reading it could lead to a crash (MOD-9408,MOD-9432,MOD-9433,MOD-9434,MOD-9435)TEXT without the text in the documents leads to an inf or nan score (MOD-9423)ON_TIMEOUT RETURN policy is set to stop the collection of partial results - best effort (MOD-9612)Improvements:
This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
FT.AGGREGATE with ON_TIMEOUT RETURN and using multi-threading could be missing (MOD-9222)FT.AGGREGATE with RESP3 could cause a crash (MOD-9174)Improvements:
Created on: 2025-04-21T14:51:40Z
This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
SCORER BM25 (MOD-7896)SORTBY is never depleted, blocking queries if the cursor limit is reached (MOD-8483)TIMEOUT, even if ON_TIMEOUT is set to RETURN(MOD-8482)FT.AGGREGATE is never depleted, blocking queries if cursor the limit is achieved (MOD-8515)FT.CURSOR READ on queries that timed out led to fewer results than expected (MOD-8606)total_results field of the FT.AGGREGATE command is not correct in RESP3 (MOD-9054)Improvements:
This is a maintenance release for RediSearch 2.8.
Update urgency: LOW No need to upgrade unless there are new features you want to use.
Bug fixes:
FT.SEARCH using Cyrillic characters and wildcards delivering no results (MOD-7944)This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
FT.SEARCH with error "Redis 7.4.2 crashed by signal: 11, si_code: 128"Known limitations:
Only the first 128 characters of string fields are normalized to lowercase during ingestion (for example, on HSET).
Example:
HSET doc __score 1.0 name "idx1S...S" mynum 1 # Assume "S...S" is a string of 252 capital S's
FT.CREATE "idx" SCHEMA "name" "TEXT" "mynum" "NUMERIC"
FT.SEARCH "idx" "@name:idx1S...S" # Assume "S...S" is a string of 252 capital S's
The FT.SEARCH command will return no documents.
This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
This is a maintenance release for RediSearch 2.8.
Update urgency: SECURITY: There are security fixes in the release.
Security and privacy:
Bug fixes:
replicaof (MOD-7949)FT.CURSOR READ retrieving deleted TAG fields cause a crash (MOD-8011)FT.AGGREGATE on numeric fields lead to failed_calls count increase on clustered DBs (MOD-8058)bytes_collected by the index sanitiser with missing values (MOD-8097, MOD-8114)Improvements:
This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
FT.AGGREGATE with VERBATIM option is not handled by the shards in cluster mode (MOD-7463)"is|the", starting with 2 stopwords could cause a crash (MOD-7495)#search section of an INFO response (MOD-7339)MAXPREFIXEXPANSION (MOD-7588)w'term' and prefix/infix/suffix pattern 'ter*' leading shard to restart (MOD-7453)Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
MAX reducer (MOD-7252)\ after the escaped character such as in hello\\,world ignoring , (MOD-7240)SORTBY 2 @field1 @field2 was ignoring the subsequent field(MOD-7206)Improvements:
GROUPBY recursion cleanup (MOD-7245)This is a maintenance release for RediSearch 2.8.
Update urgency: MODERATE: Program an upgrade of the server, but it's not urgent.
Bug fixes:
Improvements:
This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Details:
Bug fixes:
GEOSHAPE accepting just prefix instead of complete predicate (MOD-6663)FT.CURSOR READ in a numeric query causing a crash (MOD-6597)FT.PROFILE with incorrect arguments could cause a crash on cluster setup (MOD-6791)FT.SEARCH accessing an inexistent memory address causes a crash if using the deprecated FT.ADD command (MOD-6599)Improvements:
This is a maintenance release for RediSearch 2.8.
Update urgency: MODERATE: Program an upgrade of the server, but it's not urgent.
Details:
Bug fixes:
INFIX and SUFFIX report on FT.EXPLAIN and FT.EXPLAINCLI (MOD-6186)TAG indexed with WITHSUFFIXTRIE (MOD-6644)FT.SEARCH hangs forever without replying when an invalid topology is found (MOD-6557)Improvements:
GEOSHAPE types (MOD-6431)This is a maintenance release for RediSearch 2.8.
Update urgency: MODERATE: Program an upgrade of the server, but it's not urgent.
Details:
Bug fixes:
Improvements:
FT.PROFILE (MOD-6002)This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Details:
Bug fixes:
FT.AGGREGATE using the WITHCURSOR flag with a - clause causes a crash due to timeout (MOD-5512)JSON documents while querying it causing a crash due to deadlock (MOD-5769, MOD-5895, MOD-6189, MOD-5895)FT.AGGREGATE causes a crash on RESP3 replies (MOD-6250, MOD-6295)ON_TIMEOUT FAIL\RETURN policies in the cluster setup not being respected (MOD-6035, MOD-5948, MOD-6090)FT.SEARCH not responding when using TLS encryption on Amazon Linux 2 (MOD-6012)FT.SEARCH (MOD-5911)FT.AGGREGATE (MOD-5209)FT.CURSOR READ with geo queries causing a crash when data is updated between the cursor reads (MOD-5646)Improvements:
FT.INFO (MOD-5364)FT.INFO report (MOD-6198)FT.SEARCH on cluster setup (MOD-6278)TIMEOUT, MAXPREFIXEXPANSION warnings in RESP3 replies (MOD-6234)FT.PROFILE report (MOD-6184)FAIL timeout policy (MOD-5990)INTERSECTION (AND) of UNION (OR) (MOD-5910)ON_TIMEOUT RETURN (MOD-5966)This is a maintenance release for RediSearch 2.8.
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Details:
Bug fixes:
WITHCURSOR making memory growth since CURSOR wasn't invalidated in the shards (MOD-5580)Improvements:
This is a maintenance release for RediSearch 2.8.
Update urgency: SECURITY: There are security fixes in the release.
Details:
Security and privacy:
Bug fixes:
lower() and upper() functions on APPLY stage in FT.AGGREGATE in DIALECT 3 (MOD-5041)MAXIDLE parameter value in FT.AGGREGATE cause a crash (MOD-5608)LOAD step after a FILTER step could cause a crash on FT.AGGREGATE (MOD-5267)APPLY or FILTER parser leak (MOD-5751)Improvements:
This is the General Availability release of RediSearch 2.8.
RediSearch 2.8 introduces support for RESP3, new features, performance improvements, and bug fixes.
This new major version introduces new and frequently asked for Geo Polygon Search, adding the GEOSHAPE field type that supports polygon shapes using WKT notation. Besides the current GEO (alias for GEOPOINT) used in geo range queries, we add support for POLYGON and POINT as new geo shape formats (new GEOSHAPE). In addition, 2.8 brings performance improvements for SORT BY operations using FT.SEARCH and FT.AGGREGATE, and new FORMAT for enhanced responses on FT.SEARCH and FT.AGGREGATE in RESP3 only.
Features:
Introduce support for geo polygon shapes and queries:
Adding GEOSHAPE [field type]({{< relref "commands/ft.create" >}}) to map polygons in the SCHEMA on FT.CREATE (MOD-4798)
Support for polygons POLYGON and POINT using WKT notation, for example POLYGON((lon1 lat1, lon2 lat2, ...))
Adjust the [query syntax]({{< relref "commands/ft.search#examples" >}}) on FT.SEARCH for polygons using the predicate @geom:[OPERATOR $poly] and defining polygon in WKT format as PARAMS 2 poly "POLYGON((10 20, ...))" using DIALECT 3
Initially WITHIN and CONTAINS operators with GEOSHAPES for now
Support multiple coordinate systems: cartesian (X,Y) with the flag FLAT for flat earth and geographic (lon, lat) using the flag SPHERICAL (MOD-5303). Geographic coordinate system using spherical indexing as default (SPHERICAL)
Add memory usage per Geometry Index in the FT.INFO response report (MOD-5278)
Introduce performance optimization for sorting operations on FT.SEARCH and FT.AGGREGATE as default on DIALECT 4. It will improve performance in 4 different scenarios, listed below:
Skip Sorter - applied when there is no sort of any kind. The query can return once it reaches the LIMIT requested results.
Partial Range - applied when there is a SORTBY a numeric field, with no filter or filter by the same numeric field, the query iterates on a range large enough to satisfy the LIMIT requested results.
Hybrid - applied when there is a SORTBY a numeric field in addition to another non-numeric filter. Some results will get filtered, and the initial range may not be large enough. The iterator then is rewinded with the following ranges, and an additional iteration takes place to collect LIMIT requested results.
No optimization - If there is a sort by score or by non-numeric field, there is no other option but to retrieve all results and compare their values.
Add WITHCOUNT argument that allow return accurate counts for the query results with sorting. This operation processes all results in order to get accurate count, being less performant than the optimized option (default behavior on DIALECT 4) (MOD-5311)
New FORMAT argument in FT.SEARCH and FT.AGGREGATE to retrieve the results as JSON strings or RESP3 hierarchical structures (RESP3 only) (MOD-5390)
Improvements (since 2.8.3):
#3717 - Polygon shapes validation and orientation correction when clockwise (MOD-5575)
#3657 - Allow GC calls for all tiered indexes in the schema
#3701 - HNSW is now using data blocks to store vectors and metadata instead of array
Changed behavior:
nil (MOD-4739){{<note>}}
The version inside Redis will be 2.8.4 in semantic versioning. Since the version of a module in Redis is numeric, we could not add a GA flag.
Minimal Redis version: 7.2
If indexing and querying RedisJSON data structures, this version is best combined with RedisJSON 2.6 (v2.6.0 onwards). {{</note>}}