This repository has been archived by the owner on May 3, 2021. It is now read-only.
Releases: neo4j/sdn-rx
Releases · neo4j/sdn-rx
1.1.1
Features:
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:
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
Features:
- GH-231 - Add support for dynamic labels.
- Support for derived finder methods based on relationship properties.
- Cypher DSL:
Improvements:
- GH-235 - Checkstyle fail on system out (For good reasons)
- Integration test have been refactored and nicely restructured.
- Cypher DSL:
Documentation:
- GH-237 - Fix typo
Bug Fixes:
- Fix JSON deserialization and serialization of entities in example and provide end-to-end tests for those
- Cypher DSL:
Thanks to our contributors @Andy2003 and @joelhandwell.
1.0.1
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:
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:
Thanks to our contributor @romain-rossi and @haris-zynka.
1.0.0
1.0.0-rc01
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()
andlast()
- 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
- We have a manual now: Spring Data Neo4j⚡️RX
- GH-175 - Document Cypher DSL as experimental API
Bug Fixes
- GH-163 - Fix query generation for relationships.
- Cypher DSL:
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
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
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
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 is0
. - Upgrade to latest Neo4j Java Driver 4.0.0
- Add support for projection.
- additional bug fixes and maintenance.
1.0.0-beta01 ⚡️
General:
- Neo4jClient and ReactiveNeo4jClient based on
- latest Neo4j Java Driver (4.0.0-beta01) with integration for
- Spring's
TransactionManager
andReactiveTransactionManager
- 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.