A Java DSL (Builder) for the Cypher Query Language
APACHE-2.0 License
Bot releases are visible (Hide)
yield *
for standalone calls. (#497)sanitize
JavaDoc. (#496)Thanks to @zakjan and @robsdedude for their input!
point.withinBBox
and convenience methods for cartesian points and coordinates. (#475)No breaking changes. This adds a new module - neo4j-cypher-dsl-schema-name-support
- that contains only one class, dedicated to sanitise and quote names that are meant to be used as labels and types. We are using it internally for all our quoting needs and if you have the need in your application to create dynamic queries that deal with the modification of labels and types, you might want to have a look at that module. It is dependency free and safe to shade. The background to do label and type manipulation is this: Cypher does not support them as parameters, you need to concatenate your query for this. In all other cases, please use proper parameter, but especially for string values.
Thanks to @AzuObs @AlexNeo4J and @robsdedude for their feedback on this work and also to @harshitp-fens for their inspiration of the ON_DELETE_ITEM
parser callback.
ON_DELETE_ITEM
event type. (#449)No breaking changes. This is an important bug-fix release and a safe drop-in replacement for 2022.7.0 and all 2022.6 releases. If you can life with some deprecation warnings, it can be used as a drop-in for the 2022.5 and 2022.4 series, too.
No breaking changes, the minor version has been bumped due to new default methods of internal interfaces.
This release is - again - a safe drop-in replacement for the prior (2022.6.1) one.
Thanks to @AakashSorathiya and @nmervaillie for their input on this release.
includesAll
and includesAny
operations on expressions for list propertiesorg.neo4j.cypher.internal.ast.factory.ASTExpressionFactory#ands
UnsupportedCypherException
.Functions.internalId()
has been deprecated to accomodate for Neo4j 5 later this year.
We are unsure if we will do this to id()
, too (The method with the same name will be deprecated in Neo4j 5 and eventually
be replaced by elementId()
).
elementId
to id
on older Neo4j versions. (#407)elementId()
. (#406)internalId
in favor of elementId
on nodes. (#408)No breaking changes, the minor version has been bumped due to new default methods of internal interfaces.
This release is - again - a safe drop-in replacement for the prior (2022.4.0) one.
Thanks to @hindog, @bhspencer, @Hardu2203 and @irene221b for their input on this release.
set
operation to PropertyContainer
. (#394)MapExpression
in pretty printer. (#401)CypherdslStatementExecutor
. (#395)TemporalLiteral
.withoutResults
to both in-statement and standalone call-builders so that one can use procedures without resultsThanks to @Andy2003 for his input on this release.
CompoundCondition
immutable obliging the interfaces contract. (#365)No breaking changes. The minor version has been incremented due to the following changes:
ExposesSubqueryCall
(new methods to expose callInTransactions
, but that interface is not meant forDialect
and a new default method enterWithResult
on the Visitor
interface (have a look at the JavaDocCALL {} IN TRANSACTIONS
.ClassCastException
when using String
arguments to import variables into a subquery.org.graalvm.buildtools:native-maven-plugin
to CONTRIBUTING.adoc.allDeclaredConstructors
. (#342)RegisterForReflection
and processor replacing static reflection-config.json. (#341)No breaking changes.
WITH
clause without renames. (#320)CypherdslStatementExecutor
.No breaking changes. The minor version has been incremented to notify about a couple of new methods in the parser module, allowing for more and different types of parsing events to be emitted.
Thanks to @ikwattro for his input and feedback in this release.
No breaking changes. The minor version has been incremented to notify about new default methods in our interfaces. Those
shouldn't concern you as a user though, as they are not meant to be implemented by you.
Our integration tests on GitHub now uses the official GraalVM action: https://github.com/marketplace/actions/github-action-for-graalvm.
Thanks, @meistermeier, for integrating it.
size
and hasSize
on expressions. (#267)Starting with the 2022 release line, all current experimental warnings have been removed, and we consider our API stable.
As we have marked the API as stable we do enforce semantic versioning in our builds now.
The parser module neo4j-cypher-dsl-parser
has been updated to the Neo4j 4.4 parser and therefore doesn't bring in Scala dependencies anymore.
And last but not least, we added the Contributor Covenant Code of Conduct.
CREATE
in subqueries. (#254)Thanks again to @Andy2003 for his contributions and feedback.
Thanks to @Andy2003 for spotting this.
Published by michael-simons almost 3 years ago
GH-230 - Add a way for a programmatic sort definition on expressions.
2021.4.0 updates the optional dependency to Querydsl to 5.0.0. While this is API
not a breaking change, it can be when the Cypher-DSL is run together with Querydsl on the Java Module path. Querydsl
maintainer finally introduced automatic module names for all their module on which we can no reliable depend. As that
module name is however different from the generated one, it will be a breaking change on the module path. Therefore
we bump our version, too.
2021.3.3 is a pure housekeeping release, however a release we are proud of. We do analyze this project now with SonarQube
vie Sonarcloud and are happy to announce that we have a quadruple A rating:
In addition, we finally invited Dependabot taking care of at least creating the PRs.