Skip to content

Releases: neo4j/cypher-dsl

2022.8.5

27 Feb 14:49
d16c0d4
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Apply prefixes after potential separator. (#606)

🔄️ Refactorings

  • Ensure getting the type of relationships without type is safe.

🛠 Build

  • Use inputEncoding for configuring checkstyle encoding.

2023.0.3

07 Feb 13:08
8b1cc14
Compare
Choose a tag to compare

Thanks to @Andy2003 for their input on several bugs!

🐛 Bug Fixes

  • Resolve symbolic names when looking for visited items. (#602)
  • Open implicit scope when entering a UNION clause. (#590)
  • Move resolved symbolic names into StatementContext. (#588)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump maven-surefire-plugin from 3.0.0-M7 to 3.0.0-M8 (#555)
    • Bump maven-failsafe-plugin from 3.0.0-M7 to 3.0.0-M8 (#560)
    • Bump checker-qual from 3.29.0 to 3.30.0 (#601)
    • Bump maven-enforcer-plugin from 3.1.0 to 3.2.1 (#600)
    • Bump mockito.version from 4.11.0 to 5.1.1 (#599)
    • Bump checkstyle from 10.6.0 to 10.7.0 (#598)
    • Bump asciidoctorj-diagram from 2.2.3 to 2.2.4 (#597)
    • Bump jackson-bom from 2.14.1 to 2.14.2 (#594)
    • Bump neo4j-java-driver from 5.3.1 to 5.5.0 (#592)
    • Bump neo4j-cypher-javacc-parser from 5.3.0 to 5.4.0 (#593)

2022.8.4

07 Feb 12:19
c748bc1
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Correctly track identifiable elements. (#579)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump checker-qual from 3.29.0 to 3.30.0 (#601)
    • Bump maven-enforcer-plugin from 3.1.0 to 3.2.1 (#600)
    • Bump checkstyle from 10.6.0 to 10.7.0 (#598)
    • Bump asciidoctorj-diagram from 2.2.3 to 2.2.4 (#597)
    • Bump jackson-bom from 2.14.1 to 2.14.2 (#594)
    • Bump assertj-core from 3.24.1 to 3.24.2 (#576)
    • Bump maven-checkstyle-plugin from 3.2.0 to 3.2.1 (#564)
    • Bump junit-bom from 5.9.1 to 5.9.2 (#563)
    • Bump reactor-bom from 2022.0.1 to 2022.0.2 (#559)
    • Bump mockito.version from 4.11.0 to 5.0.0 (#558)
    • Bump annotations from 23.1.0 to 24.0.0 (#557)
    • Bump jna from 5.12.1 to 5.13.0 (#556)

2023.0.2

24 Jan 10:29
7af1b13
Compare
Choose a tag to compare

Thanks to @ikwattro, @lukaseder and @bonelli for their input!

🚀 Features

  • Add missing string functions. (#584)
  • Add support for rewriting the MATCH clause after parsing. (#580)

🐛 Bug Fixes

  • Add support for label expressions. (#582)
  • Correctly track identifiable elements. (#579)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump spring-boot-starter-parent from 3.0.1 to 3.0.2 (#577)
    • Bump assertj-core from 3.24.1 to 3.24.2 (#576)

🛠 Build

  • Move the fixed module-info.java somewhere out of IDEAs reach.

2023.0.1

19 Jan 17:22
041bc7c
Compare
Choose a tag to compare

This patch releases adds a build-in length function for paths (thanks @Lukasmp3 for the request) and fixes issues when running Cypher-DSL on the module path (see c7747ca on main for more information).

🚀 Features

  • Add length() function. (#569)

🔄️ Refactorings

  • Replace requires static transitive with requires static.

2023.0.0

10 Jan 09:58
bc532c7
Compare
Choose a tag to compare

Welcome to 2023, welcome Java 17, welcome Neo4j 5 clauses. This is the first release of the Cypher-DSL requiring Java 17. This is in line with Neo4j itself, Spring Data Neo4j 7 and several other frameworks out there. This allows for more concise code (which is nice for us) as well as using the Neo4j 5 parser in neo4j-cypher-dsl-parser module. Bumping the JDK warrants a major upgrade already.

Apart from that we have been very reluctant on breaking changes. As a matter of fact, close to none has been necessary. One of the few improvements that might need changes on your side is #551 (Commit 10080df) in which we improved the WITH clause: You might see ambiguous method errors and the fix can be seen here for example: Either use JDK 17 reserved name var for local variable type-inference or use explicit IdentifiableElement.

There's a lot of new stuff as well: You can now use Expressions.count to build new Neo4j 5 COUNT expressions and we do support the USE clause for composite database queries as well.

Please fear not if you are still on JDK 8: We will maintain the 2022.8.x branch at least as long as Spring Data Neo4j 6.3 is maintained, as the latter is build on top of the Cypher-DSL and is JDK 8, too.

Thanks a lot to our friend @ikwattro from @graphaware for his continuous and well appreciated feedback and input to this project.

🚀 Features

  • Add support for the COUNT {} sub-query expressions. (#546)
  • Pretty print USE clause proper. (#543, thanks to @ikwattro for contributing this)
  • Add support for the USE clause in the DSL. (#542)

🐛 Bug Fixes

  • Allow match after unwind as defined by OpenCypher. (#531)

🔄️ Refactorings

  • Improve returning and with. (#551)
  • Allow yield * for standalone calls with arguments, too. (#545, thanks to @zakjan taking the time and report this)
  • Upgrade the parser module to use the new Neo4j 5 parser. (#503)
  • Migrate the project to Java 17. (#518)
  • Prevent usage of REMOVE item inside SET clause (during RT). (#506)

📖 Documentation

  • Update changelog.
  • Add section about dialect support.
  • Make clear that pretty printing does not always escape names.
  • Document correct Java version in README.adoc.

🧰 Tasks

  • Extend license header to 2023.

🧹 Housekeeping

  • Dependency upgrades:
    • Bump assertj-core from 3.23.1 to 3.24.1 (#549)
    • Bump checker-qual from 3.28.0 to 3.29.0 (#548)
    • Bump neo4j-java-driver from 5.3.0 to 5.3.1 (#535)
    • Bump spring-boot-starter-parent from 3.0.0 to 3.0.1 (#534)
    • Bump checkstyle from 10.5.0 to 10.6.0 (#537)
    • Bump mockito.version from 4.10.0 to 4.11.0 (#536)
    • Bump neo4j-cypher-javacc-parser from 5.2.0 to 5.3.0 (#529)
    • Bump annotations from 23.0.0 to 23.1.0 (#521)
    • Bump compile-testing from 0.20 to 0.21.0 (#526)
    • Bump reactor-bom from 2022.0.0 to 2022.0.1 (#527)
    • Bump mockito.version from 4.9.0 to 4.10.0 (#528)
    • Bump spring-boot-starter-parent from 2.7.5 to 3.0.0 (#509)
    • Bump neo4j-java-driver from 4.4.9 to 5.3.0 (#508)
    • Bump checker-qual from 3.27.0 to 3.28.0 (#517)
    • Bump compile-testing from 0.19 to 0.20 (#516)
    • Bump native-maven-plugin from 0.9.18 to 0.9.19 (#515)
    • Bump joda-time from 2.12.1 to 2.12.2 (#514)
    • Bump jackson-bom from 2.14.0 to 2.14.1 (#513)
    • Bump archunit from 1.0.0 to 1.0.1 (#512)
    • Bump native-maven-plugin from 0.9.17 to 0.9.18 (#511)
    • Bump checkstyle from 10.4 to 10.5.0 (#510)

🛠 Build

  • Add more tests for GH-547.
  • Define JaCoCo config in plugin-management. (#541)
  • Add license-maven-plugin for checking Apache 2 compatible license and header formatting.
  • Fix quality gate.
  • Verify examples on Java LTS and next version.
  • Fix docs build.
  • Upgrade various actions to non-deprecated versions. (#519)

2022.8.3

10 Jan 08:56
e662367
Compare
Choose a tag to compare

🔄️ Refactorings

  • Allow yield * for standalone calls with arguments, too. (#545, thanks to @zakjan taking the time and report this)

🧹 Housekeeping

  • Extend license header to 2023.
  • Dependency upgrades:
    • Bump assertj-core from 3.23.1 to 3.24.1 (#549)
    • Bump checker-qual from 3.28.0 to 3.29.0 (#548)
    • Bump checkstyle from 10.5.0 to 10.6.0 (#537)
    • Bump mockito.version from 4.10.0 to 4.11.0 (#536)

2022.8.2

19 Dec 12:46
e93c282
Compare
Choose a tag to compare

Thanks to @ikwattro from @graphaware for investing his time and creating valuable tickets for this release.

🐛 Bug Fixes

  • Allow match after unwind as defined by OpenCypher. (#531)

📝 Documentation

  • Make clear that pretty printing does not always escape names

🛠 Build

  • Upgrade various actions to non-deprecated versions. (#519)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump annotations from 23.0.0 to 23.1.0 (#521)
    • Bump compile-testing from 0.20 to 0.21.0 (#526)
    • Bump reactor-bom from 2022.0.0 to 2022.0.1 (#527)
    • Bump mockito.version from 4.9.0 to 4.10.0 (#528)

2022.8.1

08 Dec 12:38
92ce1b6
Compare
Choose a tag to compare

🔄️ Refactorings

  • Apply learnings from full JDK 17 migrations.
  • Prevent usage of REMOVE item inside SET clause (during RT). (#506)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump checker-qual from 3.27.0 to 3.28.0 (#517)
    • Bump compile-testing from 0.19 to 0.20 (#516)
    • Bump native-maven-plugin from 0.9.18 to 0.9.19 (#515)
    • Bump joda-time from 2.12.1 to 2.12.2 (#514)
    • Bump jackson-bom from 2.14.0 to 2.14.1 (#513)
    • Bump archunit from 1.0.0 to 1.0.1 (#512)
    • Bump native-maven-plugin from 0.9.17 to 0.9.18 (#511)
    • Bump checkstyle from 10.4 to 10.5.0 (#510)

2022.8.0

21 Nov 10:08
adf9340
Compare
Choose a tag to compare

🚀 Features

  • Add yield * for standalone calls. (#497)

📝 Documentation

  • Add missing value to sanitize JavaDoc. (#496)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump testcontainers.version from 1.17.5 to 1.17.6 (#502)
    • Bump maven-install-plugin from 3.0.1 to 3.1.0 (#501)
    • Bump japicmp-maven-plugin from 0.16.0 to 0.17.1 (#499)
    • Bump mockito.version from 4.8.1 to 4.9.0 (#498)
    • Bump jackson-bom from 2.13.4.20221013 to 2.14.0 (#492)
    • Bump checker-qual from 3.26.0 to 3.27.0 (#493)
    • Bump reactor-bom from 2020.0.24 to 2022.0.0 (#495)
    • Bump native-maven-plugin from 0.9.16 to 0.9.17 (#491)
    • Bump maven-shade-plugin from 3.4.0 to 3.4.1 (#487)
    • Bump checkstyle from 10.3.4 to 10.4 (#488)
    • Bump joda-time from 2.12.0 to 2.12.1 (#486)
    • Bump spring-boot-starter-parent from 2.7.4 to 2.7.5 (#485)
    • Bump asciidoctorj from 2.5.6 to 2.5.7 (#483)
    • Bump native-maven-plugin from 0.9.14 to 0.9.16 (#482)
    • Bump mockito.version from 4.8.0 to 4.8.1 (#481)

Thanks to @zakjan and @robsdedude for their input!