Skip to content

Releases: neo4j/cypher-builder

v2.10.0

22 Oct 15:39
Immutable release. Only release title and notes can be modified.
8440433

Choose a tag to compare

Minor Changes

  • #599 a0e01d0 Thanks @angrykoala! - Add support for range operator ([ .. ]) in Cypher.List, PropertyRef.range and using Cypher.listRange:

    new Cypher.Variable().property("prop").range(1, -1); // var0["prop"][1..-1]
    new Cypher.List([1, 2, 3, 4]).range(1, -1); // [1, 2, 3, 4][1..-1]
    Cypher.listRange(expr, 2, -1); // expr[2..-1]
  • #600 074ea4a Thanks @angrykoala! - Add support for .set and .remove in Cypher.With

Patch Changes

  • #596 e3a3447 Thanks @angrykoala! - Support for a single value in Cypher.minus operator:

    Cypher.minus(var1, var2); // var1 - var2
    Cypher.minus(var1); // -var1

v2.9.0

15 Oct 11:05
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Minor Changes

  • #591 d8b28c2 Thanks @angrykoala! - Support for index operator on arbitrary expressions using listIndex

    Cypher.listIndex(Cypher.collect(new Cypher.Variable()), 2);
    collect(var0)[2]

v2.8.1

13 Oct 08:27
e633b7f

Choose a tag to compare

Patch Changes

v2.8.0

19 Aug 15:37
131c372

Choose a tag to compare

Minor Changes

  • #559 137a908 Thanks @angrykoala! - Support for dynamic labels in patterns

    const query = new Cypher.Match(
        new Cypher.Pattern(new Cypher.Node(), {
            labels: new Cypher.Param("Movie"),
        })
    );
    MATCH (this0:$($param0))
  • #559 0223ca9 Thanks @angrykoala! - Add support for dynamic types in patterns

    const query = new Cypher.Match(
        new Cypher.Pattern(new Cypher.Node())
            .related({
                type: new Cypher.Param("ACTED_IN"),
            })
            .to()
    );
    MATCH (this0)-[:$($param1)]->()

Patch Changes

  • #561 83774e8 Thanks @angrykoala! - Deprecates the option labelOperator, this option only exists for compatibility with Cypher 4 and is no longer relevant for Cypher 5 or 25

v2.7.2

04 Aug 09:05
b2101df

Choose a tag to compare

Patch Changes

  • #554 e3278f8 Thanks @angrykoala! - Deprecates Call.importWith in favor of scope variables in Call constructor

  • #554 a9af397 Thanks @angrykoala! - Deprecate apoc functions and procedures. These will no longer be supported in version 3 of Cypher Builder:

    • apoc.date.convertFormat

    • apoc.util.validate

    • apoc.util.validatePredicate

    • apoc.cypher.runFirstColumnMany

    • apoc.cypher.runFirstColumnSingle

      These can still be used by using the Function class directly:

      const convertFormat = new Cypher.Function("apoc.date.convertFormat", [
          new Cypher.Variable(),
          new Cypher.Literal("iso_zoned_date_time"),
          new Cypher.Literal("iso_offset_date_time"),
      ]);

v2.7.1

25 Jun 16:30
478a4f5

Choose a tag to compare

Patch Changes

  • #549 7b5b625 Thanks @angrykoala! - Makes value of Cypher.Param writable so it can be overwritten before the query is built

v2.7.0

30 May 10:54
ad5e04e

Choose a tag to compare

Minor Changes

  • #541 6b02a4a Thanks @angrykoala! - Add support for OPTIONAL CALL on procedures:

    Cypher.db.labels().optional().yield("*");
    OPTIONAL CALL db.labels() YIELD *

v2.6.0

19 May 14:48
c340e47

Choose a tag to compare

Minor Changes

  • #528 2f8dfa6 Thanks @angrykoala! - Add option retry to Call.inTransactions configuration to add a RETRY statement to CALL {} IN TRANSACTIONS.
    This option can be a boolean set to true or a number to define the retry seconds:

    new Cypher.Call(subquery).inTransactions({
        retry: true,
    });
    CALL {
        // ...
    } IN TRANSACTIONS ON ERROR RETRY

    Using it in conjuntion with onError and with a defined seconds of retry:

    new Cypher.Call(subquery).inTransactions({
        retry: 10,
        onError: "break",
    });
    CALL {
        // ...
    } IN TRANSACTIONS ON ERROR RETRY FOR 10 SECONDS THEN BREAK

v2.5.2

22 Apr 14:47
bce377d

Choose a tag to compare

Patch Changes

  • #530 35fdd7e Thanks @angrykoala! - Fix types to support paths on chained .match and .optionalMatch:

    const path = new Cypher.PathVariable();
    const query = new Cypher.Match(new Cypher.Node()).match(pattern.assignTo(path)).return(path);
    MATCH (this0)
    MATCH p3 = (this0)-[this1:ACTED_IN]->(this2)
    RETURN p3

v2.5.1

01 Apr 13:40
402c8b2

Choose a tag to compare

Patch Changes