Releases: neo4j/cypher-dsl
2022.8.5
2023.0.3
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
🐛 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
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
🧹 Housekeeping
- Dependency upgrades:
🛠 Build
- Move the fixed
module-info.java
somewhere out of IDEAs reach.
2023.0.1
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
withrequires static
.
2023.0.0
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
andwith
. (#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 insideSET
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
2022.8.2
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
2022.8.1
🔄️ Refactorings
- Apply learnings from full JDK 17 migrations.
- Prevent usage of
REMOVE
item insideSET
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
🚀 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!