Skip to content
This repository has been archived by the owner on May 3, 2021. It is now read-only.

Releases: neo4j/sdn-rx

1.1.1

24 Jun 12:18
Compare
Choose a tag to compare

Features:

  • GH-260 - Add support for dynamic relationships with keys based on enums. (#219)

Improvements:

  • GH-255 - Remove unused inverse field on @Relationship.
  • GH-266 - Convert id values if necessary.
  • Allow different relationship types to the same entity instance.
  • Cypher DSL:
    • GH-261 - Add shortestPath and unbounded relationship lengths. (#257)

Bug Fixes:

  • GH-258 - Use labels for start/end node during creation of relationships.
  • GH-259 - Use alternate graph property name for ids of related entities.
  • GH-263 - Fix saving of bidirectional relationships.
  • Add fix for generic converts without pairs not being registered.

Thanks to our contributor @utnaf

1.1.0

29 May 12:38
f69154f
Compare
Choose a tag to compare

Features:

  • GH-231 - Add support for dynamic labels.
  • Support for derived finder methods based on relationship properties.
  • Cypher DSL:
    • GH-236 - Move Cypher DSL into a separate module. 🎉
    • GH-253 - Add named paths and missing predicate functions.

Improvements:

  • GH-235 - Checkstyle fail on system out (For good reasons)
  • Integration test have been refactored and nicely restructured.
  • Cypher DSL:
    • GH-250 - Make where clause of PatternComprehensions consistent with match.
    • GH-252 - Rework property container: Both nodes and relationships can be used for defining properties

Documentation:

Bug Fixes:

  • Fix JSON deserialization and serialization of entities in example and provide end-to-end tests for those
  • Cypher DSL:
    • GH-246 - Don't convert a property to a lookup when it’s renamed in a map projection.
    • GH-251 - Fix typo in Relationship.Direction.

Thanks to our contributors @Andy2003 and @joelhandwell.

1.0.1

30 Apr 17:12
Compare
Choose a tag to compare

Features:

  • Conversion support for custom, complex types.
  • GH-223 - Add support for dynamic one-to-many relationships.
  • GH-224 - Fail on start if required id property is missing.
  • GH-232 - Automatically generate UUIDs for @Id @GeneratedValue UUID idField
  • Cypher DSL:
    • GH-198 - Add missing aggregate functions.
    • GH-210 - Support path pattern in conditions.
    • GH-225 - Add support for list comprehensions.
    • GH-228 - Add missing mathematical operators to expressions.
    • GH-229 - Add range function.
    • Add labels function to Node

Improvements:

  • Add spring.factories for better support of scenarios having more than one Spring Data module on the class path.
  • Cypher DSL:
    • Use REMOVE operator for removing labels.

Documentation:

Added documentation for:

  • Relationship properties
  • Custom converter
  • Projections

Bug Fixes:

  • GH-202 - Use built-in converters for identifier fields.
  • GH-234 - Exclude associations filled by constructor from property based handling.
  • Cypher DSL:
    • GH-201 - Fix returningDistinct after "with“ clause.
    • GH-205 - Fix RelationshipChain.max creating a call to min.
    • Close any existing match before unwind without prior with.

Thanks to our contributor @romain-rossi and @haris-zynka.

1.0.0

20 Apr 07:35
Compare
Choose a tag to compare

Features:

  • GH-192 - Allow for spatial queries with Box and Polygon.
  • Allow traversal of related entities in derived finder methods.

Documentation

  • GH-194 - Add documentation how queries for various scenarios are generated.

1.0.0-rc01

03 Apr 15:12
ec94d8d
Compare
Choose a tag to compare
1.0.0-rc01 Pre-release
Pre-release

Features:

  • GH-159 - Support Neo4j's causal cluster bookmarks.
  • GH-166 - Introduce ReactiveNeo4jTest.
  • GH-165 - Add support for Label inheritance and polymorphic queries.
  • Cypher DSL:
    • GH-168 - Provide API for creating relationships with length
    • GH-178 - Add support for properties on chained relationships
    • GH-179 - Add support simple and generic CASE clause
    • GH-183 - Add support for size(Pattern)
    • GH-187 - Add head() and last()
    • GH-185 - Add support for exists(Pattern)
    • GH-188 - Add support for count(DISTINCT ...)

Improvements:

  • GH-160 - Decouple default callbacks from repository configuration.
  • GH-161 - Clean up test structure.
  • GH-162 - Add automatic module names.
  • GH-167 - Assert complex query generation.
  • GH-170 - Introduce RelationshipTypes (Cypher DSL).
  • GH-180 - Expose a set of interfaces that allow storing parts of queries in suppliers etc.

Documentation

Bug Fixes

  • GH-163 - Fix query generation for relationships.
  • Cypher DSL:
    • GH-169 - Render correct type separator.
    • GH-176 - Fix handling of nested compound conditions with different operators.
    • GH-185 - Fix incorrect flattening of nested conditions.

Dependencies

  • Bump junit-jupiter-causal-cluster-testcontainer-extension to 4.0.2.2.
  • GH-173 - Build support for JDK 14 (Buildplugins).

Thanks to our contributors and bug reporters @romain-rossi and @hantsy.

1.0.0-beta04

02 Mar 11:08
d0e71d9
Compare
Choose a tag to compare
1.0.0-beta04 Pre-release
Pre-release

Features:

  • GH-82 - Support multiple labels.
  • GH-154 - Kotlin support: Add String.asParam().
  • GH-151 - Add reference documentation.
  • GH-115 - Support for String queries in template's count method.
  • GH-142 - String query support for Templates.
  • GH-57 - Differentiate between same type and distinct relationships in query creation.
  • GH-87 - Add optimistic locking support.
  • GH-143 - Add store for mapping known objects.
  • GH-140 - Make Spring Boot autoconfiguration aware of custom EnableNeo4jRepositories.
  • GH-136 - Add exception translations.
  • GH-80 - Add Spring Data REST example.
  • GH-132 - Make repository base class configurable.

Improvements:

  • GH-131 - Bump checkstyle from 8.21 to 8.29.
  • GH-135 - Make sure all records are retrieved before consuming the result.
  • GH-137 - Prevent NPE when non existing properties are mapped onto primitive fields.

Thanks to our contributors and bug reporters @haris-zynka and @hantsy.

1.0.0-beta03

05 Feb 10:56
ec4630a
Compare
Choose a tag to compare
1.0.0-beta03 Pre-release
Pre-release

Features

  • GH-105 - Persist relationships with properties.
  • GH-112 - Add support for derived countBy and pageable methods.
  • GH-127 - Provide a way to configure the database being used.
  • GH-128 - Make database selection reactive capable.
  • Provide limited support for Pageable in reactive queries

Improvements

  • GH-102 - Eagerly create related entities first.
  • GH-120 - Delegate configuration of Test Harness to Driver starter.
  • GH-121 - Extract the PartValidator and share it between imperative and reactive.

Bug Fixes

  • GH-109 - Set generated id after isNew check.
  • GH-111 - Don't follow an already processed relationship.
  • GH-119 - Fix same type bidirectional save.
  • Correct string template parameter type

Dependencies

  • Maven plugins
  • R2DBC (during tests)

Thanks to @thePhil and @atomfrede for your contributions.

1.0.0-beta02

20 Dec 19:12
Compare
Choose a tag to compare
1.0.0-beta02 Pre-release
Pre-release

We are about to arrive feature completeness for 1.0 as you might see at the new features, bug fixes and improvements in this beta release.

  • GH-24 - Replace string based projections and pattern comprehensions with Cypher DSL.
  • GH-26 - Add SpringExtension to Neo4jIntegrationTest.
  • GH-28 - Remove usage of internal JUnit 5 API.
  • GH-29 - Remove explicit ContextConfiguration in IT where possible.
  • GH-31 - Create a more debug friendly parameter log output.
  • GH-34 - Add non terminal order clause to with builder.
  • GH-23 - Add support for CustomConversions.
  • GH-37 - Add Kotlin extensions aliasing reserved keywords and operators.
  • GH-38 - Add support for Kotlins Coroutines to the ReactiveNeo4jClient.
  • GH-39 - Add Kotlin extension supporting reified types inside the Neo4j clients.
  • GH-35 - Prevent start with illegal id type on repository declaration.
  • GH-42 - Fix the package names of the Spring Boot starters.
  • GH-43 - Provide consistent exceptions on failed read conversions.
  • GH-33 - Fail on startup if entity properties are mapped more than once.
  • GH-52 - Add java.time.Instant to supported types.
  • GH-59 - Add "and" to MapProjection, provide type() function.
  • GH-60 - Remove ExperimentalCoroutinesApi annotations.
  • GH-55 - Implement dynamic relationships.
  • GH-51 - Return List instead of Iterable from Neo4jRepository.
  • GH-54 - Derive default type for relationships if none is given.
  • GH-74 - Repository methods should correctly handle Stream results.
  • GH-73 - Use the contexts classloader to create the statement runner.
  • GH-75 - Make base repositories public accessible.
  • GH-25 - Introduce additional Neo4j template and reactive templates.
  • GH-81 - Skip deletion of stale relationships when entity is new.
  • GH-86 - Add Json modules for both reactive and imperative examples.
  • GH-46 - Add java.util.UUID to supported types.
  • GH-88 - Upgrade starters and examples to Spring Boot 2.2.
  • GH-79 - Prevent null values from getting into the parameter lists.
  • GH-94 - Add support for custom Neo4j docker repository for tests.
  • GH-93 - Fix conversion of Enums and general collection handling.
  • GH-47 - Add relationship properties support.
  • Fix isNew strategy for cases when the id is 0.
  • Upgrade to latest Neo4j Java Driver 4.0.0
  • Add support for projection.
  • additional bug fixes and maintenance.

1.0.0-beta01 ⚡️

28 Aug 14:35
Compare
Choose a tag to compare

General:

  • Neo4jClient and ReactiveNeo4jClient based on
  • latest Neo4j Java Driver (4.0.0-beta01) with integration for
  • Spring's TransactionManager and ReactiveTransactionManager
  • Internal CypherDSL
  • All logging through Spring-JCL

Mapping:

  • Supports manually generated, provided and database-side generated ids
  • Mapping of property names
  • Relationships
  • Full support of immutable entities and
  • Kotlin entity mapping support

Repositories (all features available for both reactive and imperative repositories):

  • Derived finder/query methods
  • Custom queries via @Query
  • Find by example

If you want to give it a try, just play-along the guide.