{
  "schema_version": 2,
  "id": "operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes",
  "title": "RedisGraph 2.10 release notes",
  "url": "https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes/",
  "summary": "Introduces new path algorithms, additional expressivity (constructs and functions), performance improvements, and bug fixes.",
  "tags": [
    "docs",
    "operate",
    "stack"
  ],
  "last_updated": "2023-12-14T15:27:49+01:00",
  "page_type": "content",
  "content_hash": "fc4f5a7b4436244d7f8fce24185df67bdb404d024248c357f4bd44981e733799",
  "sections": [
    {
      "id": "requirements",
      "title": "Requirements",
      "role": "overview",
      "text": "RedisGraph v2.10.15 requires:\n\n- Minimum Redis compatibility version (database): 6.2.0\n- Minimum Redis Enterprise Software version (cluster): 6.2.8"
    },
    {
      "id": "v21015-september-2023",
      "title": "v2.10.15 (September 2023)",
      "role": "content",
      "text": "This is a maintenance release for RedisGraph 2.10.\n\nUpdate urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent.\n\nDetails:\n\n- Bug fixes:\n\n  - [#3172](https://github.com/RedisGraph/RedisGraph/pull/3172) Crash on certain write queries (MOD-5645)\n  - [#3179](https://github.com/RedisGraph/RedisGraph/pull/3179) High CPU on idle\n\n- Improvements:\n\n  - [#3184](https://github.com/RedisGraph/RedisGraph/pull/3184) Revert breaking change introduced in 2.10: `toString` supports list argument again\n  - [#3185](https://github.com/RedisGraph/RedisGraph/pull/3185) Don’t write AUX field in the RDB file when there are no graphs in the keyspace"
    },
    {
      "id": "v21012-july-2023",
      "title": "v2.10.12 (July 2023)",
      "role": "content",
      "text": "This is a maintenance release for RedisGraph 2.10.\n\nUpdate urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent.\n\nDetails:\n\n- Bug fixes:\n\n  - [#3129](https://github.com/RedisGraph/RedisGraph/pull/3129) Crash on certain queries (`INDEX SCAN` followed by `DEL` followed by `SET`) (MOD-5430)"
    },
    {
      "id": "v21011-june-2023",
      "title": "v2.10.11 (June 2023)",
      "role": "content",
      "text": "This is a maintenance release for RedisGraph 2.10.\n\nUpdate urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent.\n\nDetails:\n\n- Bug fixes:\n\n  - [#3096](https://github.com/RedisGraph/RedisGraph/pull/3096) Potential crash on query timeout (MOD-5202)\n  - [#3042](https://github.com/RedisGraph/RedisGraph/issues/3042), [#3052](https://github.com/RedisGraph/RedisGraph/issues/3052) Potential crashes due to false assertions"
    },
    {
      "id": "v21010-april-2023",
      "title": "v2.10.10 (April 2023)",
      "role": "content",
      "text": "This is a maintenance release for RedisGraph 2.10.\n\nUpdate urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent.\n\nDetails:\n\n- Bug fixes:\n\n  - [#3038](https://github.com/RedisGraph/RedisGraph/issues/3038) Potential crash when a query with a `UNION` clause sets or modifies an indexed property\n  - [#2631](https://github.com/RedisGraph/RedisGraph/issues/2631), [#2968](https://github.com/RedisGraph/RedisGraph/issues/2968) Potential crash on certain `MATCH` clauses where label filters are used (MOD-5093)\n  - [#2957](https://github.com/RedisGraph/RedisGraph/issues/2957) Label filters in expressions such as `WITH n MATCH (n:X)` are ignored\n  - [#2931](https://github.com/RedisGraph/RedisGraph/issues/2931), [#3027](https://github.com/RedisGraph/RedisGraph/issues/3027) Wrong overflow error message"
    },
    {
      "id": "v2109-march-2023",
      "title": "v2.10.9 (March 2023)",
      "role": "content",
      "text": "This is a maintenance release for RedisGraph 2.10.\n\nUpdate urgency: `HIGH`: There is a critical bug that may affect a subset of users. Upgrade!\n\nDetails:\n\n- Bug fixes:\n\n  - [#2880](https://github.com/RedisGraph/RedisGraph/issues/2880) Potential crash when using `WITH *` expressions\n  - [#2917](https://github.com/RedisGraph/RedisGraph/issues/2917) Potential crash when using `CASE` expressions (MOD-4873)\n  - [#2836](https://github.com/RedisGraph/RedisGraph/issues/2836) Potential crash on `*0` variable-length path (MOD-4817)\n  - [#2916](https://github.com/RedisGraph/RedisGraph/issues/2916) Potential crash when executing concurrent queries that utilize full-text indices (MOD-4818)"
    },
    {
      "id": "v2108-february-2023",
      "title": "v2.10.8 (February 2023)",
      "role": "content",
      "text": "This is a maintenance release for RedisGraph 2.10.\n\nUpdate urgency: `HIGH`: There is a critical bug that may affect a subset of users. Upgrade!\n\nDetails:\n\n- Bug fixes:\n\n  - [#2777](https://github.com/RedisGraph/RedisGraph/issues/2777), [#2841](https://github.com/RedisGraph/RedisGraph/issues/2841) Potential crash when sending queries from multiple connections and timeout is not 0\n  - [#2844](https://github.com/RedisGraph/RedisGraph/issues/2844) Potential partial results when same parametrized query is running from multiple connections\n  - [#2739](https://github.com/RedisGraph/RedisGraph/issues/2739), [#2774](https://github.com/RedisGraph/RedisGraph/issues/2774) Paths with exact variable length >1 are not matched\n  - [#2794](https://github.com/RedisGraph/RedisGraph/issues/2794) `toInteger` and `toIntegerOrNull` don't convert Booleans\n  - [#2798](https://github.com/RedisGraph/RedisGraph/issues/2798) `right` and `left` should reply with an error when `length` is null\n  - [#2809](https://github.com/RedisGraph/RedisGraph/issues/2809) `TIMEOUT_MAX` configuration parameter is not enforced when `TIMEOUT_DEFAULT` is 0\n  - [#2780](https://github.com/RedisGraph/RedisGraph/issues/2780) `indegree` and `outdegree` - relationships are counted more than once when same relationship type is supplied more than once\n\n- Improvements:\n\n  - [#2790](https://github.com/RedisGraph/RedisGraph/pull/2790) Improved performance by disabling SuiteSparse:GraphBLAS' global free pool\n  - [#2758](https://github.com/RedisGraph/RedisGraph/pull/2758) Improved edge deletion performance\n  - [#2781](https://github.com/RedisGraph/RedisGraph/issues/2781) `indegree` and `outdegree` now also accept an argument which is a list of labels"
    },
    {
      "id": "v2105-december-2022",
      "title": "v2.10.5 (December 2022)",
      "role": "content",
      "text": "This is a maintenance release for RedisGraph 2.10.\n\nUpdate urgency: `HIGH`: There is a critical bug that may affect a subset of users. Upgrade!\n\nDetails:\n\n- Bug fixes:\n\n  - [#2754](https://github.com/RedisGraph/RedisGraph/pull/2754) Partial sync may hang (MOD-4594)\n\n- Improvements:\n\n  - [#2757](https://github.com/RedisGraph/RedisGraph/pull/2757) Improved performance of `indegree` and `outdegree`\n  - [#2681](https://github.com/RedisGraph/RedisGraph/issues/2681) Fixed some error messages\n  - [#2740](https://github.com/RedisGraph/RedisGraph/issues/2740) Don’t show partial results for timed-out `GRAPH.PROFILE`"
    },
    {
      "id": "v210-ga-v2104-november-2022",
      "title": "v2.10 GA (v2.10.4) (November 2022)",
      "role": "content",
      "text": "This is the General Availability release of RedisGraph 2.10."
    },
    {
      "id": "highlights",
      "title": "Highlights",
      "role": "content",
      "text": "RedisGraph 2.10 introduces new path algorithms, additional expressivity (constructs and functions), performance improvements, and bug fixes.\n\n#### What's new in 2.10\n\n- New pathfinding algorithms: \n  - The `algo.SPpaths` procedure yields one, _n_, or all minimal-weight, optionally bounded-cost, optionally bounded-length paths between a given pair of nodes.\n  - The `algo.SSpaths` procedure yields one, _n_, or all minimal-weight, optionally bounded-cost, optionally bounded-length paths from a given node.\n- Introduce `SET` for adding node labels and `REMOVE` for removing node labels, node properties, and edge properties.\n- Support deleting paths with `DELETE`.\n- Introduce 29 functions: `toBoolean`, `toBooleanOrNull`, `toFloatOrNull`, `toIntegerOrNull`, `toStringOrNull`, `toBooleanList`, `toFloatList`, `toIntegerList`, `toStringList`, `properties`, `split`, `last`, `isEmpty`, `e`, `exp`, `log`, `log10`, `sin`, `cos`, `tan`, `cot`, `asin`, `acos`, `atan`, `atan2`, `degrees`, `radians`, `pi`, and `haversin`.\n- Graph slow log can be reset with `GRAPH.SLOWLOG g RESET`.\n- Queries are now atomic (_Atomicity_ is the guarantee that each query either succeeds or fails with no side effects). Whenever a failure occurs, the query effect is rolled back from an undo log."
    },
    {
      "id": "details",
      "title": "Details",
      "role": "content",
      "text": "- Bug fixes (since 2.10-RC1):\n\n  - [#2695](https://github.com/RedisGraph/RedisGraph/pull/2695) Potential crash on certain write queries (MOD-4286, MOD-4545)\n  - [#2724](https://github.com/RedisGraph/RedisGraph/issues/2724) Potential crash when setting property values based on nonexistent properties\n  - [#2460](https://github.com/RedisGraph/RedisGraph/issues/2460), [#2637](https://github.com/RedisGraph/RedisGraph/issues/2637), [#2680](https://github.com/RedisGraph/RedisGraph/issues/2680) Crash on invalid queries\n  - [#2672](https://github.com/RedisGraph/RedisGraph/issues/2672) Wrong matching result on multiple labels\n  - [#2643](https://github.com/RedisGraph/RedisGraph/issues/2643) Duplicate reports when matching relationship type `:R|R`\n  - [#2687](https://github.com/RedisGraph/RedisGraph/issues/2687), [#2414](https://github.com/RedisGraph/RedisGraph/issues/2414) Error when `UNWIND`ing relationships\n  - [#2636](https://github.com/RedisGraph/RedisGraph/issues/2636) `MERGE` ... `ON` ... - cannot remove property by setting it to null\n  - [#2710](https://github.com/RedisGraph/RedisGraph/pull/2710) Undo log fix\n  - [#2435](https://github.com/RedisGraph/RedisGraph/issues/2435) Incorrect result when comparing a value to NaN\n  - [#2497](https://github.com/RedisGraph/RedisGraph/issues/2497) Incorrect result when comparing a value to null\n  - [#2676](https://github.com/RedisGraph/RedisGraph/issues/2676) `sqrt`, `log`, `log10` - incorrect result for negative values\n  - [#2213](https://github.com/RedisGraph/RedisGraph/issues/2213) Division and Modulo by zero - wrong behavior"
    }
  ],
  "examples": []
}
