{
  "schema_version": 2,
  "id": "operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes",
  "title": "RediSearch 2.10 release notes",
  "url": "https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes/",
  "summary": "New vector data types. Enhanced indexing capabilities. Simplified query syntax. Expanded geospatial search.",
  "tags": [
    "docs",
    "operate",
    "stack"
  ],
  "last_updated": "2026-09-21T16:36:33+01:00",
  "page_type": "content",
  "content_hash": "7087b16c9f3c3962faf3e75bc7d6c17c6811588398b413b0725bce11d95083ea",
  "sections": [
    {
      "id": "requirements",
      "title": "Requirements",
      "role": "overview",
      "text": "RediSearch v2.10.31 requires:\n\n- Minimum Redis compatibility version (database): 7.4\n- Minimum Redis Enterprise Software version (cluster): 7.8"
    },
    {
      "id": "v21031-june-2026",
      "title": "v2.10.31 (June 2026)",
      "role": "content",
      "text": "This is a maintenance release for Redis Search 2.10.\nUpdate urgency: `LOW`: No need to upgrade unless there are new features you want to use.\n\n**Bug Fixes**\n\n- [#9938](https://github.com/redisearch/redisearch/pull/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) \n- [#10104](https://github.com/redisearch/redisearch/pull/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) \n- [#9578](https://github.com/redisearch/redisearch/pull/9578) Server can crash when FT.CREATE is called with an extremely large number of arguments or fields. (MOD-6411) \n- [#9810](https://github.com/redisearch/redisearch/pull/9810) FT.SYNUPDATE leaves the synonym map partially mutated when an update batch exceeds synonym or group-ID limits. (MOD-15402) \n- [#9533](https://github.com/redisearch/redisearch/pull/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)"
    },
    {
      "id": "v21030-may-2026",
      "title": "v2.10.30 (May 2026)",
      "role": "content",
      "text": "This is a maintenance release for Redis Search 2.10. \n\nUpdate urgency: `HIGH`: There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#Q8948](https://github.com/redisearch/redisearch/pull/8948) `FT.CURSOR READ` enters an infinite loop when the caller lacks the required ACL permissions. (MOD-14479)\n- [#Q8794](https://github.com/redisearch/redisearch/pull/8794) `FT.EXPLAIN` crashes or produces corrupt output when a concurrent schema change occurs. (MOD-14461)\n- [#Q9176](https://github.com/redisearch/redisearch/pull/9176), [#Q9314](https://github.com/redisearch/redisearch/pull/9314) Coordinator deadlock under mixed `FT.SEARCH` and `FT.AGGREGATE` load. (MOD-14268)\n- [#Q9273](https://github.com/redisearch/redisearch/pull/9273), [#Q9302](https://github.com/redisearch/redisearch/pull/9302) Async shard connect hangs indefinitely when a peer endpoint is unreachable; the connect is now bounded by search-connect-timeout. (MOD-12739)\n- [#Q9167](https://github.com/redisearch/redisearch/pull/9167) Crash on `FT.SEARCH` when topology validation fails (for example, some nodes unreachable). (MOD-14475)\n- [#Q9082](https://github.com/redisearch/redisearch/pull/9082) `FT.SPELLCHECK` ignores $param placeholders even when `PARAMS` is supplied. (MOD-10596)\n- [#Q9050](https://github.com/redisearch/redisearch/pull/9050) `FT.PROFILE` produces malformed output for documents with missing field values. (MOD-10560)\n- [#Q9075](https://github.com/redisearch/redisearch/pull/9075) Invalid schema option combinations are silently accepted at `FT.CREATE` time. (MOD-14655)\n- [#Q9436](https://github.com/redisearch/redisearch/pull/9436) Malformed index definitions in an RDB file crash the shard or load an invalid index. (MOD-13118)\n- [#Q7686](https://github.com/redisearch/redisearch/pull/7686) Cursors are not released on certain error paths, leaking cursor slots over time. (MOD-12807)\n- [#Q8465](https://github.com/redisearch/redisearch/pull/8465) Garbage collector mishandles out-of-memory responses on replicas, leaving the index inconsistent. (MOD-14066)\n- [#Q7771](https://github.com/redisearch/redisearch/pull/7771) String comparisons truncate at embedded `NULL` bytes, returning wrong results for TAG and binary fields. (MOD-13010)\n- [#Q7851](https://github.com/redisearch/redisearch/pull/7851) `FT.SUG*` commands are not registered on Redis Enterprise builds. (MOD-13152)\n- [#Q8154](https://github.com/redisearch/redisearch/pull/8154) Per-shard total time in cluster `FT.PROFILE` output is reported incorrectly. (MOD-13735, MOD-13181)\n- [#Q8084](https://github.com/redisearch/redisearch/pull/8084) `FULLTEXT` field count in `FT.INFO` statistics is inaccurate. (MOD-13432)\n\nMetrics:\n- [#Q7558](https://github.com/redisearch/redisearch/pull/7558), [#Q7688](https://github.com/redisearch/redisearch/pull/7688), [#Q7723](https://github.com/redisearch/redisearch/pull/7723), [#Q7791](https://github.com/redisearch/redisearch/pull/7791), [#Q7749](https://github.com/redisearch/redisearch/pull/7749), [#Q7738](https://github.com/redisearch/redisearch/pull/7738), [#Q7744](https://github.com/redisearch/redisearch/pull/7744) New `FT.INFO` metrics 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)\n- [#Q7793](https://github.com/redisearch/redisearch/pull/7793), [#Q7816](https://github.com/redisearch/redisearch/pull/7816) New `FT.INFO` counters track per-shard and coordinator query timeouts and `MAXPREFIXEXPANSIONS` truncations (`search_shard_total_query_errors_timeout`, `search_shard_total_query_warnings_timeout`, `search_shard_total_query_warnings_max_prefix_expansions`, and equivalent `search_coord_total_* counters`). (MOD-12419, MOD-12417)\n- [#Q7766](https://github.com/redisearch/redisearch/pull/7766) New `FT.INFO` per-field-type indexing-operation counters added for `TEXT`, `TAG`, `NUMERIC`, `GEO`, `GEOSHAPE`, and `VECTOR fields`. (MOD-12070)\n- [#Q7746](https://github.com/redisearch/redisearch/pull/7746) New Internal cursor reads counter in cluster `FT.PROFILE` output surfaces internal cursor-hop round-trips per query. (MOD-12414)\n- [#Q7593](https://github.com/redisearch/redisearch/pull/7593) FT.PROFILE now reports GIL time, giving an accurate breakdown of where query time is spent. (MOD-11987, MOD-12816)"
    },
    {
      "id": "v21025-december-2025",
      "title": "v2.10.25 (December 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `LOW`: No need to upgrade unless there are new features you want to use.\n\nImprovements:\n\n- [#7157](https://github.com/RediSearch/RediSearch/pull/7157) Show background Indexing OOM warning in FT.AGGREGATE reply in RESP3.\n- [#7086](https://github.com/RediSearch/RediSearch/pull/7086) Add the default text scorer as a new configuration.\n- [#7380](https://github.com/RediSearch/RediSearch/pull/7380) Rename FT.PROFILE counter fields.\n- [#7366](https://github.com/RediSearch/RediSearch/pull/7366) Reduce temporary memory overhead upon index load from RDB.\n- [#7393](https://github.com/RediSearch/RediSearch/pull/7393) Improve timeout check for FT.AGGREGATE in cluster mode.\n- [#7451](https://github.com/RediSearch/RediSearch/pull/7451) Enhance FT.PROFILE with vector search execution details.\n- [#7480](https://github.com/RediSearch/RediSearch/pull/7480) Ensure full profile output on timeout with RETURN policy.\n\nBug Fixes:\n\n- [#7216](https://github.com/RediSearch/RediSearch/pull/7216) Fix a concurrency issue on Reducer in FT.AGGREGATE.\n- [#7259](https://github.com/RediSearch/RediSearch/pull/7259) Fix underflow in BM25STD.\n- [#7278](https://github.com/RediSearch/RediSearch/pull/7278) Report used memory as unsigned long long to avoid underflows.\n- [#7340](https://github.com/RediSearch/RediSearch/pull/7340) Fix a rare leak in GC.\n- [#7462](https://github.com/RediSearch/RediSearch/pull/7462) Fix Fork GC potential double-free on error path.\n- [#7525](https://github.com/RediSearch/RediSearch/pull/7525) Avoid draining workers thread pool from FLUSHDB callback to avoid potential deadlocks.\n\n\nFull Changelog: https://github.com/RediSearch/RediSearch/compare/v2.10.24...v2.10.25"
    },
    {
      "id": "v21024-october-2025",
      "title": "v2.10.24 (October 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `LOW`: No need to upgrade unless there are new features you want to use.\n\nBug Fixes\n- [#6960](https://github.com/redisearch/redisearch/pull/6960) - FT.INFO returns the wrong number of documents in OSS Cluster with replicas.\n- [#6938](https://github.com/redisearch/redisearch/pull/6938) - Fix for the HIGHLIGHT feature, where if some fields have empty strings, wrong tokens might be highlighted.\n- [#7047](https://github.com/redisearch/redisearch/pull/7047) - Avoid crashing in the FT.AGGREGATE command in clusters where different shards have different ON_TIMEOUT policies configured (fail vs return).\n\nFull Changelog: https://github.com/RediSearch/RediSearch/compare/v2.10.23...v2.10.24."
    },
    {
      "id": "v21023-september-2025",
      "title": "v2.10.23 (September 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `HIGH` : There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#6672](https://github.com/RediSearch/RediSearch/pull/6672) Fix potential file descriptor leak when OOM.\n- [#6763](https://github.com/RediSearch/RediSearch/pull/6763) Fix potential deadlock during RDB loading in cases where the `INFO` command is sent to the server.\n\nFull Changelog: https://github.com/RediSearch/RediSearch/compare/v2.10.22...v2.10.23"
    },
    {
      "id": "v21022-august-2025",
      "title": "v2.10.22 (August 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `HIGH` : There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#6600](https://github.com/redisearch/redisearch/pull/6600) `FLUSHDB` while active queries are still running could lead to a crash due to premature release of the CURSOR (MOD-10681).\n\nImprovements:\n- [#6664](https://github.com/redisearch/redisearch/pull/6664) Time measurement on `FT.PROFILE` using thread-independent clock mechanism (MOD-10622).\n- [#6647](https://github.com/redisearch/redisearch/pull/6647) Response on RESP2/3 validation was inefficiently consuming excessive CPU cycles (MOD-9687)."
    },
    {
      "id": "v21021-july-2025",
      "title": "v2.10.21 (July 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `LOW`: No need to upgrade unless there are new features you want to use.\n\nBug fixes:\n- [#6405](https://github.com/redisearch/redisearch/pull/6405) Validate compatibility against RedisJSON version upon open key.\n\nImprovements:\n- [#6340](https://github.com/redisearch/redisearch/pull/6340) Handle excessive logging when processing JSON.DEL errors."
    },
    {
      "id": "v21020-june-2025",
      "title": "v2.10.20 (June 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `LOW` No need to upgrade unless there are new features you want to use.\n\nImprovements:\n- [#6279](https://github.com/redisearch/redisearch/pull/6279) Added a locking mechanism for collecting `FT.INFO` statistics when concurrently running the index sanitiser (MOD-10007, MOD-9761)."
    },
    {
      "id": "v21019-june-2025",
      "title": "v2.10.19 (June 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `LOW` No need to upgrade unless there are new features you want to use.\n\nBug fixes:\n- [#6211](https://github.com/redisearch/redisearch/pull/6211) Some languages (like Russian) could have multiple lower and upper case matches, causing index misbehaviour (MOD-9835).\n\nImprovements:\n- [#5637](https://github.com/redisearch/redisearch/pull/5637) Memory allocation when converting special UTF-8 symbols requires more memory (MOD-8799)."
    },
    {
      "id": "v21018-may-2025",
      "title": "v2.10.18 (May 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `HIGH` : There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#6184](https://github.com/redisearch/redisearch/pull/6184) Reindexing from RDB with multiple vector indices could lead to a crash due to cluster health check - NodeWD (MOD-9220,MOD-8809)\n- [#6028](https://github.com/redisearch/redisearch/pull/6028) `FT.CURSOR...DEL` while another thread is reading it could lead to a crash (MOD-9408,MOD-9432,MOD-9433,MOD-9434,MOD-9435)\n- [#5967](https://github.com/redisearch/redisearch/pull/5967) Indexing documents using `TEXT` without the text in the documents leads to an `inf` or `nan` score (MOD-9423)\n- [#6056](https://github.com/redisearch/redisearch/pull/6056) Avoid lazy expiration in background indexing for Active-Active setup preventing keys from expiring incorrectly (MOD-9486)\n- [#6108](https://github.com/redisearch/redisearch/pull/6108) A timeout failure is returned when the `ON_TIMEOUT RETURN` policy is set to stop the collection of partial results - best effort (MOD-9612)\n\nImprovements:\n- [#6007](https://github.com/redisearch/redisearch/pull/6007) Parser for intersections on parentheses and sub-queries order won't affect full-text scores (MOD-9278)\n- [#6020](https://github.com/redisearch/redisearch/pull/6020) Prevent access to the Redis key space when `LOAD...@__key` is used (MOD-9419)"
    },
    {
      "id": "v21017-april-2025",
      "title": "v2.10.17 (April 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `HIGH` : There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#5859](https://github.com/redisearch/redisearch/pull/5859) Last query result using `FT.AGGREGATE` with `ON_TIMEOUT RETURN` and using multi-threading could be missing (MOD-9222)\n- [#5858](https://github.com/redisearch/redisearch/pull/5858) Collecting empty results from shards during `FT.AGGREGATE` with RESP3 could cause a crash (MOD-9174)\n\nImprovements:\n- [#5938](https://github.com/redisearch/redisearch/pull/5938) Improved performance (reduced CPU time) of collecting vector index statistics(MOD-9354)\n- [#5800](https://github.com/redisearch/redisearch/pull/5800) Improved accuracy of index memory reporting by correcting a bug that caused negative memory counts (MOD-5904)"
    },
    {
      "id": "v21015-march-2025",
      "title": "v2.10.15 (March 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `HIGH` : There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#5788](https://github.com/redisearch/redisearch/pull/5788) Cursor with `SORTBY` is never depleted, blocking queries if the cursor limit is reached (MOD-8483)\n- [#5788](https://github.com/redisearch/redisearch/pull/5788) Empty results with RESP3 due to the `TIMEOUT`, even if `ON_TIMEOUT` is set to `RETURN`(MOD-8482)\n- [#5788](https://github.com/redisearch/redisearch/pull/5788) Cursor with RESP3 on `FT.AGGREGATE` is never depleted, blocking queries if cursor the limit is achieved (MOD-8515)\n- [#5788](https://github.com/redisearch/redisearch/pull/5788) Using `FT.CURSOR READ` on queries that timed out led to fewer results than expected (MOD-8606)\n- [#5810](https://github.com/redisearch/redisearch/pull/5810) The `total_results` field of the `FT.AGGREGATE` command is not correct in RESP3 (MOD-9054)\n\nImprovements:\n- [#5788](https://github.com/redisearch/redisearch/pull/5788) Corrected a coordinator race condition that prevented premature release, avoiding errors and inconsistencies during query executions (MOD-8794)"
    },
    {
      "id": "v21014-march-2025",
      "title": "v2.10.14 (March 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `LOW` No need to upgrade unless there are new features you want to use.\n\nBug fixes:\n- [#5704](https://github.com/redisearch/redisearch/pull/5704) Weights in the query string are ignored if using `SCORER BM25` (MOD-7896)."
    },
    {
      "id": "v21013-february-2025",
      "title": "v2.10.13 (February 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `LOW` No need to upgrade unless there are new features you want to use.\n\nBug fixes:\n- [#5646](https://github.com/redisearch/redisearch/pull/5646) `FT.SEARCH` using Cyrillic characters and wildcards delivering no results (MOD-7944)"
    },
    {
      "id": "v21012-february-2025",
      "title": "v2.10.12 (February 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `HIGH` : There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#5596](https://github.com/redisearch/redisearch/pull/5596) Changes on the memory block reading logic could cause crash on `FT.SEARCH` with error \"_Redis 7.4.2 crashed by signal: 11, si_code: 128\"_\n\nKnown limitations:\n- Only the first 128 characters of string fields are normalized to lowercase during ingestion (for example, on `HSET`).\n    Example:\n\n    [code example]\n\n    The `FT.SEARCH` command will return no documents."
    },
    {
      "id": "v21011-january-2025",
      "title": "v2.10.11 (January 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `HIGH` : There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#5536](https://github.com/redisearch/redisearch/pull/5536) Querying for the latest document added to the index may result in a crash if the last block is not read (MOD-8561)."
    },
    {
      "id": "v21010-january-2025",
      "title": "v2.10.10 (January 2025)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10\n\nUpdate urgency: `SECURITY`: There are security fixes in the release.\n\n**Security and privacy**:\n- [#5459](https://github.com/redisearch/redisearch/pull/5459) (CVE-2024-51737) Query: potential out-of-bounds write (MOD-8486)\n\nBug fixes:\n- [#5392](https://github.com/redisearch/redisearch/pull/5392) `NOSTEM` option does not work on query, just on tokenisation (index creation) (MOD-7634)\n- [#5300](https://github.com/redisearch/redisearch/pull/5300) Prefix/Infix/Suffix queries longer than 1024 chars could cause a crash (MOD-7882)\n- [#5294](https://github.com/redisearch/redisearch/pull/5294) Expired keys while background indexing could cause cross slot error when using `replicaof` (MOD-7949)\n- [#5282](https://github.com/redisearch/redisearch/pull/5282) `FT.CURSOR READ` retrieving deleted `TAG` fields cause a crash (MOD-8011)\n- [#5424](https://github.com/redisearch/redisearch/pull/5424) `FT.AGGREGATE` on numeric fields lead to `failed_calls` count increase on clustered DBs (MOD-8058)\n- [#5241](https://github.com/redisearch/redisearch/pull/5241) Memory count on `bytes_collected` by the index sanitiser with missing values (MOD-8097, MOD-8114)\n\nImprovements:\n- [#5257](https://github.com/redisearch/redisearch/pull/5257) Optimizing index consumed memory with the creation only upon write operations (MOD-8125)"
    },
    {
      "id": "v2107-septermber-2024",
      "title": "v2.10.7 (Septermber 2024)",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10\n\nUpdate urgency: `HIGH` : There is a critical bug that may affect a subset of users. Upgrade!\n\nBug Fixes:\n- https://github.com/RediSearch/RediSearch/pull/4941 Adjusting the module configuration to avoid routing overload on the first shard in a clustered database (MOD-7505)\n- https://github.com/RediSearch/RediSearch/pull/4950 `FT.PROFILE` on `AGGREGATE` numeric queries could cause a crash due to reuse of an internal CURSOR in a large range of numeric values (MOD-7454)"
    },
    {
      "id": "v2106-august-2024",
      "title": "v2.10.6 (August 2024):",
      "role": "content",
      "text": "This is a maintenance release for RediSearch 2.10.\n\nUpdate urgency: `HIGH` - There is a critical bug that may affect a subset of users. Upgrade!\n\nBug fixes:\n- [#4916](https://github.com/redisearch/redisearch/pull/4916) - Union query, similar to `\"is|the\"`, starting with 2 [storwords](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/stopwords/) could cause a crash (MOD-7495)\n- [#4895](https://github.com/redisearch/redisearch/pull/4895) - `FT.AGGREGATE` with `VERBATIM` option is not handled by the shards in cluster mode (MOD-7463) \n- [#4922](https://github.com/redisearch/redisearch/pull/4922) - Counting twice the field statistics at `#search` section of `INFO` response (MOD-7339)"
    },
    {
      "id": "v210-ga-v2105-july-2024",
      "title": "v2.10 GA (v2.10.5) (July 2024)",
      "role": "content",
      "text": "This is the General Availability release of RediSearch 2.10"
    },
    {
      "id": "headlines",
      "title": "Headlines:",
      "role": "content",
      "text": "This latest RediSearch introduces memory-efficient vector data types, enhanced indexing capabilities with support for empty and missing fields, simplified query syntax, and expanded geospatial search features."
    },
    {
      "id": "whats-new-in-2105",
      "title": "What's new in 2.10.5",
      "role": "content",
      "text": "This new major version introduces new `BFLOAT16` and `FLOAT16` vector data types, reducing memory consumed by vectors while preserving accuracy. This update also includes highly-requested support for indexing empty and missing values and enhances the developer experience for queries with exact matching capabilities. Developers can now match `TAG` fields without needing to escape special characters, making the onboarding process and use of the query syntax easier. Lastly, Geospatial search capabilities have been expanded with new `INTERSECT` and `DISJOINT` operators, and ergonomics have been improved by providing better reporting of the memory consumed by the index and exposing the full-text scoring in an aggregation pipeline.\n\nFeatures:\n\n- Enhancing exact matching queries with `TAG` avoiding escaping special meaning characters using the [simpler syntax](https://redis.io/docs/latest/develop/ai/search-and-query/query/exact-match/#tag-field) `'@tag:{\"my-query%term\"}'` and `NUMERIC` queries:\n  - [#4802](https://github.com/RediSearch/RediSearch/pull/4802) - Using double quotes to wrap exact matching query terms such as `@email:{\"test@redis.com\"}` in `DIALECT 2` ( MOD-7299)\n  - [#4676](https://github.com/RediSearch/RediSearch/pull/4676), [#4433](https://github.com/RediSearch/RediSearch/pull/4433) - Enhancing query parser to avoid unnecessary escaping (MOD-5756)\n  - [#4527](https://github.com/RediSearch/RediSearch/pull/4527) - Enhancing exact matching queries for `NUMERIC` using single value `FT.SEARCH idx @numeric:[3456]` (MOD-6623)\n  - [#4802](https://github.com/RediSearch/RediSearch/pull/4802) - Enabling support for single operators in `NUMERIC` queries such as equivalence `==`, difference `!=`, greater than `>` and `>=` and less than `<` and `<=` as in `FT.SEARCH idx '@numeric==3456'` (MOD-6749)\n\n- Adding new keywords to support indexing empty values using `INDEXEMPTY` and missing values using `INDEXMISSING` per field in the `SCHEMA` while defining the [index](https://redis.io/docs/latest/commands/ft.create/) with `FT.CREATE`\n  - [#4663](https://github.com/RediSearch/RediSearch/pull/4663), [#4721](https://github.com/RediSearch/RediSearch/pull/4721) - Indexing empty strings values `\"\"` for `TAG` and `TEXT` fields (MOD-6540, MOD-7200)\n  - [#4721](https://github.com/RediSearch/RediSearch/pull/4721) - Updating the query parser to support empty value queries for `TEXT` as `FT.SEARCH idx '@text_field:\"\"'`or `FT.SEARCH idx '\"\"'` and for `TAG` as in `FT.SEARCH idx '@tag_field:{\"\"}'` (MOD-7200)\n  - [#4720](https://github.com/RediSearch/RediSearch/pull/4720), [#4635](https://github.com/RediSearch/RediSearch/pull/4635) - Indexing missing values for all field types introducing the query syntax function `ismissing(@field)` enabling query for missing fields as in `FT.SEARCH idx 'ismissing(@text)'` (MOD-6532)\n\n\n- Enabling new vector data types reducing memory consumed by vectors with the new `BFLOAT16` and `FLOAT16`\n  - [#4674](https://github.com/RediSearch/RediSearch/pull/4674) - Adding support `BFLOAT16` and `FLOAT16` in the [vector index definition](https://redis.io/docs/latest/develop/ai/search-and-query/vectors/#creation-attributes-per-algorithm) (MOD-6765, MOD-6776)\n\n- Exposing the full-text score values during the aggregation pipeline using `ADDSCORE`. When calling the scores you can use `@__score` in the pipeline as in `FT.AGGREGATE idx 'hello' ADDSCORES SORTBY 2 @__score DESC`\n  - [#4859](https://github.com/RediSearch/RediSearch/pull/4859) - Expose scores to `FT.AGGREGATE` pipeline (MOD-7190)\n\n- [#4227](https://github.com/RediSearch/RediSearch/pull/4227) - Adding support for new operators `INTERSECT` and `DISJOINT` when querying for `GEOSHAPE` [polygons](https://redis.io/docs/latest/develop/ai/search-and-query/query/geo-spatial/) (MOD-6178)\n\n\nBug fixes (since 2.10.4):\n- [#4854](https://github.com/RediSearch/RediSearch/pull/4854) - Avoid expansion on stemming from numeric values (MOD-7025)\n\nImprovements (since 2.10.4):\n- [#4865](https://github.com/RediSearch/RediSearch/pull/4865) - Add coverage for cleaning garbage entries when indexing missing fields (MOD-7415)\n\n> [!NOTE]\n> - The version inside Redis will be 2.10.5 in semantic versioning. Since the version of a module in Redis is numeric, we could not add a Release Candidate flag.\n> - Minimal Redis version: 7.4\n> - If indexing and querying RedisJSON data structures, this version is best combined with RedisJSON 2.8 (v2.8.2 onwards)\n> - If one or more fields of a hash key expire after a query begins (using FT.SEARCH or FT.AGGREGATE), Redis does not account for these lazily expired fields. As a result, keys with expired fields may still be included in the query results, leading to potentially incorrect or inconsistent results."
    }
  ],
  "examples": [
    {
      "id": "v21012-february-2025-ex0",
      "language": "plaintext",
      "code": "HSET doc __score 1.0 name \"idx1S...S\" mynum 1          # Assume \"S...S\" is a string of 252 capital S's\n    FT.CREATE \"idx\" SCHEMA \"name\" \"TEXT\" \"mynum\" \"NUMERIC\"\n    FT.SEARCH \"idx\" \"@name:idx1S...S\"                      # Assume \"S...S\" is a string of 252 capital S's",
      "section_id": "v21012-february-2025"
    }
  ]
}
