Skip to content

Releases: neo4j/cypher-dsl

2024.2.0

30 Sep 08:09
2a4103e
Compare
Choose a tag to compare

A new minor release so shortly after the last?
We changed the behaviour of the renderer when using generated names.
Before and upto including 2024.1.0 we didn't allow aliases to be reused.
If in the original query alias x would have been legally reused, we would not have reused them with generated names, i.e. we would have usd v0 and then v1.
I think this is wrong, and we changed this behaviour, hence a new minor is due.

If you are using generated names, you can opt out of this behaviour like this:

var generatedNamesConfig = EnumSet.complementOf(EnumSet.of(Configuration.GeneratedNames.REUSE_ALIASES));
var renderer = Renderer.getRenderer(Configuration.newConfig()
	.withGeneratedNames(generatedNamesConfig)
	.build());

Apart from that, this is a drop-in replacement for 2024.1 and 2024.0.

Congratulations to @ali-ince for contributing his first feature.

And last but not least, @Andy2003 gave our AST factory and the scoping mechanism a real good test run, and we have been able to fix several bugs again.
Thank you!

🚀 Features

  • Apply sorting of maps when parsing to projections, too. (#1085)
  • Add call raw cypher to top level entry point (#1073)

🐛 Bug Fixes

  • Don’t introduce new aliases on for each alias used. (#1084)
  • Export return variables from unions into scope proper. (#1075)
  • Correctly compute imports. (#1076)

📖 Documentation

  • Add example test for LabelExpression.

🧹 Housekeeping

  • Dependency upgrades:
    • Bump neo4j.version from 5.23.0 to 5.24.0 (#1092)
    • Bump com.google.guava:guava (#1095)
    • Bump com.mycila:license-maven-plugin from 4.5 to 4.6 (#1090)
    • Bump mockito.version from 5.13.0 to 5.14.0 (#1094)
    • Bump org.neo4j.driver:neo4j-java-driver (#1093)
    • Bump com.fasterxml.jackson:jackson-bom (#1091)
    • Bump com.puppycrawl.tools:checkstyle (#1089)
    • Bump org.jetbrains:annotations from 24.1.0 to 25.0.0 (#1088)
    • Bump org.junit:junit-bom from 5.11.0 to 5.11.1 (#1087)
    • Bump org.springframework.boot:spring-boot-starter-parent (#1083)
    • Bump net.java.dev.jna:jna from 5.14.0 to 5.15.0 (#1082)
    • Bump joda-time:joda-time from 2.12.7 to 2.13.0 (#1081)
    • Bump io.projectreactor:reactor-bom (#1080)
    • Bump org.springframework.data:spring-data-neo4j (#1079)
    • Bump org.graalvm.buildtools:native-maven-plugin (#1078)

2022.11.0

13 Sep 14:19
39d19a0
Compare
Choose a tag to compare

🚀 Features

  • Allow to call raw cypher from top level entry point (#1073) (#1074)

2024.1.0

09 Sep 08:54
6b9b25d
Compare
Choose a tag to compare

This new minor release adds a third dialect: Neo4j 5.23, catering for Neo4j >= 5.23.
The initial release will rewrite sub-query CALL statements with importing WITH into sub-queries with variable scoped CALL clause.
While the former is still available in Neo4j 5.23, it will cause deprecation warnings, hence, if you want to get rid of those, change the dialect accordingly.
No need to rewrite any query on your own.

🚀 Features

  • Add a Neo4j 5.23 dialect. (#1069)

🐛 Bug Fixes

  • Unwrap PatternList proper if unique.

📖 Documentation

  • Add an example of building a stand-alone WHERE clause.

🧹 Housekeeping

  • Dependency upgrades:
    • Bump org.checkerframework:checker-qual (#1072)
    • Bump actions/download-artifact from 1 to 4.1.7 in /.github/workflows (#1070)
    • Bump org.apache.maven.plugins:maven-surefire-plugin (#1068)
    • Bump mockito.version from 5.12.0 to 5.13.0 (#1067)
    • Bump org.apache.maven.plugins:maven-failsafe-plugin (#1066)
    • Bump org.neo4j.driver:neo4j-java-driver (#1065)
    • Bump com.puppycrawl.tools:checkstyle (#1064)
    • Bump org.apache.maven.plugins:maven-javadoc-plugin (#1063)
    • Bump neo4j.version from 5.22.0 to 5.23.0 (#1053)
    • Bump org.apache.maven.plugins:maven-install-plugin (#1057)
    • Bump org.asciidoctor:asciidoctorj from 2.5.13 to 3.0.0 (#1056)
    • Bump org.springframework.boot:spring-boot-starter-parent (#1055)
    • Bump org.apache.maven.plugins:maven-deploy-plugin (#1054)
    • Bump com.puppycrawl.tools:checkstyle (#1052)
    • Bump org.apache.maven.plugins:maven-checkstyle-plugin (#1051)
    • Bump com.github.siom79.japicmp:japicmp-maven-plugin (#1050)

2022.10.0

06 Sep 10:20
fe0324c
Compare
Choose a tag to compare

Welcome @ali-ince to the list of contributors to Cypher-DSL.
We are glad that you and your team are users of this module.

🚀 Features

  • Allow retrieving parameter names (#1071)
  • Allow chainable foreach. (#988)
  • Add builder methods for FOREACH. (#740)

🧹 Housekeeping

  • Dependency upgrades:
    • Update Neo4j from 4.4.29 to 4.4.37
    • Update Neo4j Java Driver from 4.4.15 to 4.4.18

2024.0.3

19 Aug 11:50
8d31d16
Compare
Choose a tag to compare

This is mostly a release that upgrades dependency, with the noteworthy exception of having now a unified property accessor.

Thanks to @fbiville for his contribution to the documentation, @loveleif for his support and making the latest Neo4j Cypher parser and its improvements work on the module path again and to @Andy2003 for his latest suggestion of the unified property accessor.

🚀 Features

  • Add a common interface PropertyAccessor (#908)

📖 Documentation

  • Update latest version supporting JDK 8 in README. (#1041)
  • Fix documentation link in README (#1026)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump com.google.guava:guava (#1049)
    • Bump org.junit:junit-bom from 5.10.3 to 5.11.0 (#1048)
    • Bump org.apache.maven.plugins:maven-failsafe-plugin (#1047)
    • Bump org.codehaus.mojo:exec-maven-plugin (#1046)
    • Bump org.springframework.data:spring-data-neo4j (#1045)
    • Bump io.projectreactor:reactor-bom (#1044)
    • Bump org.apache.maven.plugins:maven-surefire-plugin (#1043)
    • Bump org.apache.maven.plugins:maven-site-plugin (#1042)
    • Bump org.codehaus.mojo:exec-maven-plugin (#1040)
    • Bump org.checkerframework:checker-qual (#1039)
    • Bump testcontainers.version from 1.20.0 to 1.20.1 (#1038)
    • Bump neo4j.version from 5.20.0 to 5.22.0 (#1036)
    • Bump org.neo4j.driver:neo4j-java-driver (#1037)
    • Bump org.springframework.boot:spring-boot-starter-parent (#1035)
    • Bump testcontainers.version from 1.19.8 to 1.20.0 (#1034)
    • Bump com.github.siom79.japicmp:japicmp-maven-plugin (#1033)
    • Bump org.apache.maven.plugins:maven-javadoc-plugin (#1032)
    • Bump org.apache.maven.plugins:maven-surefire-plugin (#1030)
    • Bump org.apache.maven.plugins:maven-failsafe-plugin (#1029)
    • Bump org.springframework.data:spring-data-neo4j (#1028)
    • Bump org.assertj:assertj-core from 3.26.0 to 3.26.3 (#1027)

2024.0.2

09 Jul 13:40
302457e
Compare
Choose a tag to compare

🎉 The big party release! 🎉

With this release we move the repository from github.com/neo4j-contrib to github.com/neo4j with Neo4j adding Cypher-DSL to the list of supported modules.
What we have now on our todo list is to incorporate our documentation into the official Neo4j docs, but apart from that, little will change immediate. Even our Maven coordinates will stay the same. You can however rely on the fact that Cypher-DSL is not going anywhere anytime soon.

Thanks to @stumoore for supporting this!

🐛 Bug Fixes

  • Don’t introduce new names in pattern expressions. (#1017)

🧹 Housekeeping

  • Dependency upgrades
    • Bump io.projectreactor:reactor-bom (#1025)
    • Bump org.checkerframework:checker-qual (#1024)
    • Bump com.fasterxml.jackson:jackson-bom (#1023)
    • Bump org.moditect:moditect-maven-plugin (#1019)
    • Bump org.asciidoctor:asciidoctorj-diagram (#1021)
    • Bump org.junit:junit-bom from 5.10.2 to 5.10.3 (#1020)
    • Bump org.neo4j.driver:neo4j-java-driver (#1018)
    • Bump org.springframework.boot:spring-boot-starter-parent (#1016)
    • Bump org.apache.maven.plugins:maven-jar-plugin (#1015)

🛠 Build

  • Change license for examples that depend on the parser to Apache 2.0, too.

2023.9.8

25 Jun 04:57
a4b3d95
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Don’t introduce new names in pattern expressions. (#1017)

2024.0.1

17 Jun 14:21
98b725c
Compare
Choose a tag to compare

This is a pure bug-fix release. Thanks to @Andy2003 for spotting yet another scoping issue.

🐛 Bug Fixes

  • Include implicit new variables in seed for name generator. (#999)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump io.projectreactor:reactor-bom (#1013)
    • Bump org.springframework.data:spring-data-neo4j (#1012)
    • Bump org.apache.maven.plugins:maven-failsafe-plugin (#1011)
    • Bump org.apache.maven.plugins:maven-surefire-plugin (#1010)

2024.0.0

10 Jun 08:24
2e89b9c
Compare
Choose a tag to compare

We're finally going 2024 with this release.
The biggest new feature in this release is that we now allow chaining statements that end with a YIELD clause, which lets you compose complex queries in a nicer way.

We also removed all deprecated constructs and methods we accumulated until now. If you ignored the warnings until now, you cannot do any longer. The latest SDN release is prepared for this Cypher-DSL release already, as we did the necessary changes over there already (See this spring-projects/spring-data-neo4j@2861e771333d8b9443026669763ddccd5be7659d[commit] for the necessary changes for example).

🚀 Features

  • Allow chaining statements to yielding calls. (#964)
  • Allow chainable foreach. (#988)

🐛 Bug Fixes

  • Actually make sortOrderDefaultExpression test what it is supposed to test.

🧹 Housekeeping

  • Dependency upgrades:
    • Bump org.apache.maven.plugins:maven-shade-plugin (#1006)
    • Bump org.neo4j.driver:neo4j-java-driver (#1005)
    • Bump org.sonarsource.scanner.maven:sonar-maven-plugin (#1004)
    • Bump com.google.guava:guava (#1003)
    • Bump org.apache.maven.plugins:maven-enforcer-plugin (#1002)
    • Bump org.apache.maven.plugins:maven-javadoc-plugin (#1001)
    • Bump com.github.ekryd.sortpom:sortpom-maven-plugin (#992)
    • Bump org.assertj:assertj-core from 3.25.3 to 3.26.0 (#998)
    • Bump org.springframework.boot:spring-boot-starter-parent (#997)
    • Bump com.puppycrawl.tools:checkstyle (#996)
    • Bump org.codehaus.mojo:exec-maven-plugin (#995)
    • Bump org.asciidoctor:asciidoctorj from 2.5.12 to 2.5.13 (#993)
    • Bump org.springframework.data:spring-data-neo4j (#991)
    • Bump io.projectreactor:reactor-bom (#990)
    • Bump org.graalvm.buildtools:native-maven-plugin (#989)
    • Bump com.mycila:license-maven-plugin from 4.3 to 4.5 (#987)
    • Bump mockito.version from 5.11.0 to 5.12.0 (#986)
    • Bump testcontainers.version from 1.19.7 to 1.19.8 (#985)
    • Bump com.google.guava:guava (#982)
    • Bump org.checkerframework:checker-qual (#984)
    • Bump org.apache.maven.plugins:maven-install-plugin (#983)
    • Bump com.github.siom79.japicmp:japicmp-maven-plugin (#981)
    • Bump com.fasterxml.jackson:jackson-bom (#980)
    • Bump org.apache.maven.plugins:maven-deploy-plugin (#979)

2023.9.7

29 Apr 08:23
611e6d7
Compare
Choose a tag to compare

Not everything goes as planned ;) Another 2023.9 release, enjoy.

🐛 Bug Fixes

  • Use proper generics when generating extensible models. (#974)
  • Treat the asterisk correctly in an importing with. (#973)

🧹 Housekeeping

  • Dependency upgrades:
    • Bump org.neo4j.driver:neo4j-java-driver (#978)
    • Bump org.apache.maven.plugins:maven-shade-plugin (#977)
    • Bump com.github.siom79.japicmp:japicmp-maven-plugin (#976)
    • Bump com.puppycrawl.tools:checkstyle (#975)
    • Bump neo4j.version from 5.18.1 to 5.19.0 (#965)
    • Bump com.tngtech.archunit:archunit from 1.2.1 to 1.3.0 (#966)
    • Bump org.springframework.data:spring-data-neo4j (#967)
    • Bump io.projectreactor:reactor-bom (#968)
    • Bump org.springframework.boot:spring-boot-starter-parent (#971)
    • Bump org.apache.maven.plugins:maven-jar-plugin (#972)