Releases: neo4j/cypher-dsl
2024.2.0
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
2024.1.0
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
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
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
🧹 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
🎉 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
2024.0.1
2024.0.0
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
🐛 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
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)