Releases: RediSearch/RediSearch
Release list
v2.10.31
This is a maintenance release for Redis Search 2.10.
Update urgency: LOW: No need to upgrade unless there are new features you want to use.
Bug Fixes
• #9938 Server can crash in fork GC when the last document with an empty TAG value is deleted from an INDEXEMPTY WITHSUFFIXTRIE field. (MOD-15996)
• #10104 FT.SEARCH and FT.AGGREGATE return Unknown argument errors on 2.10 shards during rolling upgrades when a newer coordinator injects internal query arguments. (MOD-16047)
• #9578 Server can crash when FT.CREATE is called with an extremely large number of arguments or fields. (MOD-6411)
• #9810 FT.SYNUPDATE leaves the synonym map partially mutated when an update batch exceeds synonym or group-ID limits. (MOD-15402)
• #9533 FT.INFO num_records grows without bound for indexes with vector fields because vector records were counted on insert but never decremented. (MOD-15487)
v2.8.38
This is a maintenance release for Redis Search 2.8.
Update urgency: LOW: No need to upgrade unless there are new features you want to use.
Bug Fixes
• #10105 FT.SEARCH and FT.AGGREGATE return Unknown argument errors on 2.8 shards during rolling upgrades when a newer coordinator injects internal query arguments. (MOD-16047)
• #9579 Server becomes unresponsive when FT.CREATE is called with an extremely large number of fields. (MOD-6411)
• #9825 FT.SYNUPDATE leaves the synonym map partially mutated when an update batch exceeds synonym or group-ID limits. (MOD-15402)
• #9534 FT.INFO num_records grows without bound for indexes with vector fields due to missing decrement on deletion. (MOD-15487)
v2.6.37
This is a maintenance release for Redis Search 2.6.
Update urgency: LOW: No need to upgrade unless there are new features you want to use.
Bug Fixes
• #10106 FT.SEARCH and FT.AGGREGATE return Unknown argument errors on 2.6 shards during rolling upgrades when a newer coordinator injects internal query arguments. (MOD-16047)
• #9826 FT.SYNUPDATE leaves the synonym map partially mutated when an update batch exceeds synonym or group-ID limits. (MOD-15402)
• #9535 FT.INFO num_records is skewed for indexes with vector fields because vector entries are never decremented on deletion. (MOD-15487)
v2.10.30
This is a maintenance release for Redis Search 2.10.
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade
Bug Fixes:
- #8948
FT.CURSOR READenters an infinite loop when the caller lacks the required ACL permissions. (MOD-14479) - #8794
FT.EXPLAINcrashes or produces corrupt output when a concurrent schema change occurs. (MOD-14461) - #9176, #9314 Coordinator deadlock under mixed
FT.SEARCHandFT.AGGREGATEload. (MOD-14268) - #9273, #9302 Async shard connect hangs indefinitely when a peer endpoint is unreachable; the connect is now bounded by search-connect-timeout. (MOD-12739)
- #9167 Crash on
FT.SEARCHwhen topology validation fails (for example, some nodes unreachable). (MOD-14475) - #9082
FT.SPELLCHECKignores $param placeholders even whenPARAMSis supplied. (MOD-10596) - #9050
FT.PROFILEproduces malformed output for documents with missing field values. (MOD-10560) - #9075 Invalid schema option combinations are silently accepted at
FT.CREATEtime. (MOD-14655) - #9436 Malformed index definitions in an RDB file crash the shard or load an invalid index. (MOD-13118)
- #7686 Cursors are not released on certain error paths, leaking cursor slots over time. (MOD-12807)
- #8465 Garbage collector mishandles out-of-memory responses on replicas, leaving the index inconsistent. (MOD-14066)
- #7771 String comparisons truncate at embedded
NULLbytes, returning wrong results for TAG and binary fields. (MOD-13010) - #7851
FT.SUG*commands are not registered on Redis Enterprise builds. (MOD-13152) - #8154 Per-shard total time in cluster
FT.PROFILEoutput is reported incorrectly. (MOD-13735, MOD-13181) - #8084
FULLTEXTfield count inFT.INFOstatistics is inaccurate. (MOD-13432)
Metrics:
- #7558, #7688, #7723, #7791, #7749, #7738, #7744 New
FT.INFOmetrics expose live thread-pool utilization and pending-job depth for worker, coordinator, IO, and topology-update pools (search_active_io_threads,search_active_worker_threads,search_active_coord_threads,search_active_topology_update_threads,search_workers_low_priority_pending_jobs,search_workers_high_priority_pending_jobs,search_workers_admin_priority_pending_jobs,search_coord_high_priority_pending_jobs). (MOD-12069, MOD-12695, MOD-12694, MOD-12790, MOD-12791) - #7793, #7816 New
FT.INFOcounters track per-shard and coordinator query timeouts andMAXPREFIXEXPANSIONStruncations (search_shard_total_query_errors_timeout,search_shard_total_query_warnings_timeout,search_shard_total_query_warnings_max_prefix_expansions, and equivalentsearch_coord_total_* counters). (MOD-12419, MOD-12417) - #7766 New
FT.INFOper-field-type indexing-operation counters added forTEXT,TAG,NUMERIC,GEO,GEOSHAPE, andVECTOR fields. (MOD-12070) - #7746 New Internal cursor reads counter in cluster
FT.PROFILEoutput surfaces internal cursor-hop round-trips per query. (MOD-12414) - #7593 FT.PROFILE now reports GIL time, giving an accurate breakdown of where query time is spent. (MOD-11987, MOD-12816)
v2.8.37
This is a maintenance release for Redis Search 2.8.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade
Bug Fixes:
- #7860:
FT.SUGADDandFT.SUGDELreturn inconsistent results in sharded pre-Redis-8 deployments due to random shard routing (MOD-13152) - #8949:
FT.CURSORenters an infinite loop when the caller's ACL restricts key access (MOD-14479) - #8795:
FT.EXPLAINcrashes or reads stale state under concurrent schema changes (MOD-14461) - #7697: Stack-use-after-scope in
_FT.CURSOR PROFILEproduces undefined behavior (MOD-12955) - #7687: Cursor resources leak when the associated index is dropped while the cursor is open (MOD-12807)
- #8466: Garbage collector mishandles Out-of-Memory conditions on replicas (MOD-14066)
- #8163:
FT.PROFILEreports incorrect shard total profile time in cluster mode (MOD-13735, MOD-13181) - #8085:
FT.PROFILEreports incorrectFULLTEXTfield metric count (MOD-13432) - #7721:
FT.PROFILEalways reports GILTime 0 due to missing initialization and accumulation (MOD-11987, MOD-12816) - #9074:
FT.CREATEaccepts invalid schema option combinations that fail silently at query time (MOD-14655) - #9083:
FT.SPELLCHECKignores $param placeholders from thePARAMSclause (MOD-10596) - #9435: RDB loader accepts out-of-range or malformed values, causing instability on restore (MOD-13118)
- #7703, #7727: Pending coordinator and worker jobs are not correctly tracked in the queue
- #7629, #7653, #7662:
FT.PROFILEgains a debug mode to simulate timeouts, crashes, and mid-execution pauses (MOD-8127, MOD-11155, MOD-12627) - #7966: Module load no longer fails when find_module is undefined (MOD-13330)
Metrics:
- #7597, #7645, #7665: New
active_io_threads,active_worker_threads, andactive_coord_threadsmetrics expose live thread activity (MOD-12069, MOD-12694, MOD-12695) - #7778: New counters track total documents indexed and fields indexed per field type across all indexes (MOD-12070)
- #7788, #7819, #7820: New
FT.INFOcounters track query syntax errors, timeout errors/warnings, and MAXPREFIXEXPANSIONS warnings (MOD-12416, MOD-12417, MOD-12419) - #7751: Cluster-mode
FT.PROFILEnow reports Internal cursor reads per shard (MOD-12414) - #8066: Index commands now emit informational log entries for operational visibility (MOD-13431)
v2.6.36
This is a maintenance release for Redis Search 2.6.
Update urgency: HIGH : There is a critical bug that may affect a subset of users. Upgrade
Bug Fixes:
- #8950
FT.CURSORenters an infinite loop when the invoking user's ACL restricts access to the cursor's index, causing CPU exhaustion and shard restarts. (MOD-14479) - #8468 Garbage collector mishandles out-of-memory conditions on replicas, causing instability under memory pressure during indexing. (MOD-14066)
- #6792 Counter result-processor cleanup uses an incorrect type cast, risking memory corruption when freeing query pipeline resources. (MOD-11216)
- #6998 FT.INFO is fanned out to replicas in clustered deployments, producing inconsistent responses and unnecessary inter-node traffic.
- #6871 Coupled grow/shrink logic in Flat and HNSW vector index containers causes excess memory churn for large or fluctuating vector datasets. (MOD-10559)
v2.10.25
This is a maintenance release for RediSearch 2.10
Update urgency: LOW: No need to upgrade unless there are new features you want to use.
Bug Fixes:
- #7216 Fix a concurrency issue on Reducer in
FT.AGGREGATE - #7259 Fix underflow in BM25STD
- #7278 Report used memory as unsigned long long to avoid underflows
- #7340 Fix a rare leak in GC
- #7462 Fix Fork GC potential double-free on error path
- #7525 Avoid draining workers thread pool from
FLUSHDBcallback to avoid potential deadlocks
Improvements:
- #7157 Show background Indexing OOM warning in
FT.AGGREGATEreply in RESP3 - #7086 Add the default text scorer as a new configuration
- #7380 Rename
FT.PROFILEcounter fields - #7366 Reduce temporary memory overhead upon index load from RDB
- #7393 Improve timeout check for
FT.AGGREGATEin cluster mode - #7451 Enhance
FT.PROFILEwith vector search execution details - #7480 Ensure full profile output on timeout with RETURN policy
Full Changelog: v2.10.24...v2.10.25
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:
- #7216 Fix a concurrency issue on Reducer in
FT.AGGREGATE - #7259 Fix underflow in BM25STD
- #7278 Report used memory as unsigned long long to avoid underflows
- #7340 Fix a rare leak in GC
- #7462 Fix Fork GC potential double-free on error path
- #7525 Avoid draining workers thread pool from
FLUSHDBcallback to avoid potential deadlocks
Improvements:
- #7157 Show background Indexing OOM warning in
FT.AGGREGATEreply in RESP3 - #7086 Add the default text scorer as a new configuration
- #7380 Rename
FT.PROFILEcounter fields - #7366 Reduce temporary memory overhead upon index load from RDB
- #7393 Improve timeout check for
FT.AGGREGATEin cluster mode - #7451 Enhance
FT.PROFILEwith vector search execution details - #7480 Ensure full profile output on timeout with RETURN policy
Full Changelog: v2.8.31...v2.8.32
v2.10.24
This is a maintenance release for RediSearch 2.10
Update urgency: LOW: No need to upgrade unless there are new features you want to use.
Bug Fixes
- #6960
FT.INFOreturns the wrong number of documents in OSS Cluster with replicas - #6938 Fix in the HIGHLIGHT feature, where if some fields have empty strings, wrong tokens might be highlighted
- #7047 Avoid crashing in
FT.AGGREGATEcommand in clusters where different shards have different ON_TIMEOUT policy configured (fail vs return)
Full Changelog: v2.10.23...v2.10.24
v2.8.31
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:
- #6960
FT.INFOreturns the wrong number of documents in OSS Cluster with replicas - #6938 Fix in the HIGHLIGHT feature, where if some fields have empty strings, wrong tokens might be highlighted
- #7049 Avoid crashing in
FT.AGGREGATEcommand in clusters where different shards have different ON_TIMEOUT policy configured (fail vs return)