RedisGraph 2.2 release notes
Support for scaling reads, OPTIONAL MATCH, query caching, and GRAPH.SLOWLOG.
Requirements
RedisGraph v2.2.16 requires:
- Minimum Redis compatibility version (database): 5.0.7
- Minimum Redis Enterprise Software version (cluster): 6.0.8
v2.2.16 (April 2021)
This is a maintenance release for version 2.2.
Update urgency: Medium
Headlines:
- This release improves overall stability and provides fixes for issues found after the previous release.
Details:
-
Enhancements:
-
Performance Improvements:
- #1569 Avoid network overhead of emitting arrays with postponed length values
-
Bugfixes:
-
Infrastructure:
v2.2.14 (16 February 2021)
This is a maintenance release for version 2.2.
Update urgency: Medium
Headlines:
- This release improves overall stability and provides fixes for issues found after the previous release.
Details:
-
Performance improvements:
-
Bugfixes:
v2.2.13 (16 February 2021)
This is a maintenance release for version 2.2.
Update urgency: Medium
Headlines:
- This release improves overall stability and provides fixes for issues found after the previous release.
Details:
-
Minor enhancements:
-
Performance improvements:
-
Bugfixes:
- #1534 Outdated label information used when performing index scans.
- #1532 Invalid optimization of IN [array] lookups when values are indexed.
- #1524 Memory error in accessing complex values after CREATE operations.
- #1523 Erroneous results when traversing over some transposed matrix sequences.
- #1499 Erroneous results on variable-length traversals on repeatedly-transposed arrays.
- #1504 Crash on certain constructions of 0-hop traversals.
- #1495 Disallow access of properties that have not yet been created.
- #1503 Only allow literal values as parameters.
- #1496 Disallow assignment of complex data types to property values in MERGE contexts.
- #1494 Disallow assignment of values to properties on deleted entities.
-
Build:
- #1524 Update test suite to run under Python 3.
v2.2.11 (20 December 2020)
This is a maintenance release for version 2.2.
Headlines:
This release introduces support for runtime configuration of the maximum number of results to be returned.
Details:
- Features
- #1480 Introduce GRAPH.CONFIG SET/GET to allow result-set size to be configured at runtime.
v2.2.10 (20 December 2020)
This is a maintenance release for version 2.2.
Headlines:
This release improves overall stability and fixes an issue with backwards compatibility logic for indexing.
Details:
- Bugfixes:
v2.2.9 (4 December 2020)
This is a maintenance release for version 2.2.
Headlines:
This release improves overall stability and provides fixes for issues found after the previous release.
Details:
- Performance improvements:
- #1426 Improve load times of adjacency matrices that always have different source and destination nodes.
- Minor enhancements:
- #1463 Remove all assertions from production builds.
- #1442 NULL property values should be ignored in
CREATE
clauses and trigger errors in MERGE clauses. - #1429 Improve error handling of a number of invalid query constructions.
- #1431 Traversal patterns are only allowed in
MATCH
,MERGE
,CREATE
, andWHERE
contexts.
- Bugfixes:
- #1429 Fix potential misapplications of
WHERE
filters. - #1460
RETURN
clauses can only be followed byUNION
clauses. - #1467 Disallow assignment of complex data types to property values.
- #1437 Failed property updates on
MERGE
should be handled gracefully. - #1446 Fix errors in Cartesian Product filter placement.
- #1429 Fix potential misapplications of
v2.2 GA (November 2020)
This is the General Availability Release of RedisGraph 2.2 (v2.2.8)!
Headlines:
- Enhanced support for scaling reads
OPTIONAL MATCH
(Left outer join)- Query cache: Improve performance by caching the query execution plan
- Tooling to increase developer experience
Details:
-
Support for scaling reads
- #1054 Drastic reduction of memory consumption during replication (and Active-Passive). Break down a large graph into several portions, each accommodating a virtual key and distribute those for reconstruction at the replica end, by doing so we reduce memory consumption on the replica's end.
-
OPTIONAL MATCH
support Unlike MATCH, which requires for a pattern to exist,OPTIONAL MATCH
continues processing when the optional pattern doesn't exist. We can easily compareOPTIONAL MATCH
in Cypher to an outer join in SQL. It works just like a regularMATCH
with the difference that if no matches are found,OPTIONAL MATCH
will use a null for missing parts of the pattern.-
Query cache: Improve performance by caching the query execution plan
When executing parameterised queries, RedisGraph will cache the execution plan for increased performance. By caching query's execution-plan, RedisGraph skips the parsing and execution-plan construction phase. Cache size can be configured at module load time. The default value is 25.
-
-
Tooling to increase developer experience
Introduction of
GRAPH.SLOWLOG
command which returns the longest running queries. In addition #1274 introduces query timeouts with an optional query flag. -
Smaller features and enhancements:
- #1225 Only update index on change of relevant Node properties.
- #1229 RediSearch 1.8.2. (Dependency update)
- #1266
, #1277
Add support for
any()
andall()
functions in list comprehension. - #877 Transpose matrices: maintain transpose relationship matrices such that we won't have to compute the transpose of a matrix at run-time. This feature is on by default but can be configured to reduce memory consumption.
-
Small updates compared to RC7
- Minor enhancements:
- Bug fixes:
Notes: This is the GA version of 2.2. The version inside Redis will be 20208 or 2.2.8 in semantic versioning. Since the version of a module in Redis is numeric, we could not add a GA flag.