Skip to content

Releases: neo4j-graphql/neo4j-graphql-java

Release 1.6.0

Fixes

  • Allow Translator to return multiple Cypher objects by @Andy2003 (#266)
  • Resolve field alias in Cypher only if no DataFetchingInterceptor is used by @Andy2003 (#270)

Documentation

  • Rename graphql-spring-boot example to graphql-kotlin-spring-boot by @Andy2003 (#263)
  • Add example for integrating with new Spring GraphQL by @Andy2003 (#264)
  • Improve DGS example: use generated constants by @Andy2003 (#271)

Updated dependencies

Release 1.5.0

Features

  • Make use of sub-queries, to get rid of most apoc calls. by @Andy2003 (#222)
  • Use graphql infrastructure to parse requests by @Andy2003 (#247)
  • Utilize graphql framework to handle fragments correctly by @Andy2003 (#248)
  • Use error whitelist instead of blacklist to cover all yet unknown errors by @Andy2003 (#256)

Fixes

  • Use relationship alias for this in directive on rich relationship by @ikwattro (#246)

Documentation

  • Automate the process of generating release changelog, by using labels on PRs by @Andy2003 (#241)
  • Generate the release changelog, after the release was created by the neo4j build server by @Andy2003 (#242)
  • Code cleanup and correction of typos by @Andy2003 (#255)

Updated dependencies

Release 1.4.0

Features

  • Refactor schema augmentation to have hooks for customization by @Andy2003 (#224)
  • Add new example for spring-boot-dgs by @Andy2003 (#227)
  • Add a maven plugin to generate the augmented schema by @Andy2003 (#228)
  • Clean up augmented schema to contain only types used in the resulting schema by @Andy2003 (#234)

API-Alignment

Adjust API to match as much as possible to the one of @neo4j/graphql

  • Migrate filter and field args into a where by @Andy2003 (#220)
  • Generate plural names for augmented fields and types by @Andy2003 (#221)
  • Add ability to ignore fields (via @​ignore) so they can be handled by custom data fetcher by @Andy2003 (#226)
  • Use scalars for temporal types by @Andy2003 (#235)

Fixes

Release 1.3.0 with java and neo4j upgrade

In this release the generation of cypher-queries was refactored, so that now the cypher-dsl library is always used.

We also upgraded to java 11 and neo4j 4.2!

Changes

  • allow regex comparison operator. Included test cases. (#162)
  • Allow optimized FILTER_AS_MATCH strategy to be used with simple filtering. (#173)
  • allow projection starting query from rich relationship (#175)
  • Use default values for sorting and paging on fields (#176)
  • Use existential sub-queries (#179)
  • Support filtering of null values also via variables (#178)
  • Added alias or field name as variable to Cypher.kt (#172)
  • update to neo4j 4.2 (#200)
  • let the datafetcher resolve variable references (#205)
  • Add support for the passThrough argument of the cypher directive. (#195)
  • Separate sorting and paging into own input type (#198)

Bugfixes

  • upgrade kotlin due to CVE-2020-29582 (#168)
  • Fixes test that arose due to outdated PR branch (#174)
  • Augment filter argument for nested fields (#208)

Improvements for development/documentation:

  • Migrate to neo4j-cypher-dsl (#171)
  • Add missing JavaDoc (#180)
  • Add test case for #65. (#177)
  • Add GitHub actions for PRs and commits to master. (#203)
  • make tests using the same database instance for all integration tests (#204)
  • Add test for issue #160: Incorrect query translation for @Property(name:"testIds.uuid")
  • Run integration tests through the GraphQL API (#206)
  • Add ability to assert result of integration test with ignoring the order of lists (#209)

Release 1.1.0 with upgrade of graphql-java to version 15

The version number doesn't really represent all the amazing work that @Andy2003 has put into the library since 1.0

This release which is also the new mainline contains the upgrade to graphql-java to version 15, that's why this is just the 1.x branch release to close it off. Thanks to @claymccoy for putting in all the work to make this possible.
So this should be more compatible with the base library and other projects that use version 15 of graphql-java.

Changes

  • update graphql-java to version 15 #120
  • Nested sorting on fields (#103) including multi-properties
  • Add support for custom scalars (resolves #9) (#99)
  • Add support for spatial point values and distance comparisons (#94) (resolves #11)

Bugfixes

  • This bugfix solves a problem where inverse relationships were incorrectly mapped. (#123)
  • Add missing test for rich relations where both ends are of same type (relates to #93) (#116)
  • This change fixes an issue (#105) where properties got unset/overridden for when updating a node. (#117)
  • Fix for relationship mutations are not using the correct direction (resolves #98) (#107)
  • Fixes the issue that an update removes the custom ID field on the node (resolves #95) (#96)
  • Fix for properties with underscores in sorting #115

Improvements for development/documentation

Improve test navigation (#114) - This change adds support for:

  • nesting tests (deep hierarchy)
  • direct navigation to failed block (cypher or cypher params)
  • let augmentation-tests provides a diff on failure that can be viewed in IntelliJ

Release 1.0.1 with a lot of improvements

b419d00
Compare
Choose a tag to compare

The version number doesn't really represent all the amazing work that @Andy2003 has put into the library since 1.0

But we want to release an 1.1.0 next with an upgrade to graphql-java to version 15, that's why this is just the 1.x branch release to close it off.

Changes

  • Nested sorting on fields (#103) including multi-properties
  • Add support for custom scalars (resolves #9) (#99)
  • Add support for spatial point values and distance comparisons (#94) (resolves #11)

Bugfixes

  • This bugfix solves a problem where inverse relationships were incorrectly mapped. (#123)
  • Add missing test for rich relations where both ends are of same type (relates to #93) (#116)
  • This change fixes an issue (#105) where properties got unset/overridden for when updating a node. (#117)
  • Fix for relationship mutations are not using the correct direction (resolves #98) (#107)
  • Fixes the issue that an update removes the custom ID field on the node (resolves #95) (#96)
  • Fix for properties with underscores in sorting #115

Improvements for development/documentation

Improve test navigation (#114) - This change adds support for:

  • nesting tests (deep hierarchy)
  • direct navigation to failed block (cypher or cypher params)
  • let augmentation-tests provides a diff on failure that can be viewed in IntelliJ

Release 1.0 with Filter Optimization

Compare
Choose a tag to compare

Thanks to @Andy2003 for a huge amount of contributions to this release.

New since last release:

  • support for date-time
  • interface support
  • support for Neo4j internal ids with _id
  • cypher parameter support for skip / limit
  • support for dynamic properties
  • optimized implementation of deep filters (configurable) that generates match queries
  • interceptor for generated cypher queries

The library is also available on Maven central, so you can just depend on it in your JVM project.

Second Milestone Release of Neo4j GraphQL Java

Compare
Choose a tag to compare

This new release comes packed with a lot of features.

We added the following capabilities, which are also explained in the readme:

  • handle relationships via @relation directive on schema fields
  • @relation directive on types for rich relationships (from, to fields for start & end node)
  • handle first, offset arguments
  • argument types: string, int, float, array
  • request parameter support
  • parametrization for cypher query
  • aliases
  • inline and named fragments
  • auto-generate query fields for all objects
  • @cypher directive for fields to compute field values, support arguments
  • auto-generate mutation fields for all objects to create, update, delete
  • @cypher directive for top level queries and mutations, supports arguments

Groovy and Kotlin example test servers, we also added TCK tests for the different features.
You find them in these Markdown files.

Please check out the readme for documentation, more detailed docs will follow.

You only need the org.neo4j:neo4j-graphql-java:1.0.0-M02 dependency and a GraphQL schema to translate GraphQL to Cypher queries. Which you then can execute against a Neo4j database.

Please let us know if this library works for you, what are shortcomings and features you'd be interested in and raise a GitHub issue for those.

First Milestone Release of Neo4j GraphQL Java

Compare
Choose a tag to compare

We're happy and proud to release the first milestone of this library to the public.

Please check out the readme for documentation

You only need the org.neo4j:neo4j-graphql-java:1.0.0-M01 dependency and a GraphQL schema to translate GraphQL to Cypher queries. Which you then can execute against a Neo4j database.

Please let us know if this library works for you, what are shortcomings and features you'd be interested in and raise a GitHub issue for those.