Releases: neo4j/neo4j-ogm
v4.0.3
- [dependencies] Bump neo4j-java-driver from 5.3.1 to 5.5.0
- [refactor] Use recent Java compiler plugin.
- [bug] Remove unused import.
- [refactor] Add an extension API for custom transaction managers. (#935)
- [docs] Update link to example project in documentation.
Thanks to @gaurav-bagga for their input and feedback!
v4.0.2
- bugfix: Checking for possible composite converters in GraphEntityMapper.writeProperty #932 (thanks @oxisto)
- docs: Add build status badge to README.adoc. #930 (thanks @h1alexbel)
- refactor: Add missing @OverRide to toString of MappedRelationship. #929 (thanks @h1alexbel)
- refactor: Migrate to JUnit 5.
- docs: Add attribute to fix version in code example.
v4.0.1
- Fix support for collections in constructor mapping.
- Allow for classes to be registered dynamically with
DomainInfo
. - Check both index and classpath for known entities.
- Introduce equals/hashCode for Class/FieldInfo.
- [dependencies] Upgrade to Neo4j Java Driver 5.3.1.
- [documentation] Update Neo4j-OGM tutorial..
v3.2.39
- Allow for classes to be registered dynamically with
DomainInfo
. - Introduce simple DTO mapping.
- Fix testing with local instance.
- Check both index and classpath for known entities
- Introduce equals/hashCode for Class/FieldInfo.
- Make use of driver provider in test.
- Add this branch to GH workflow.
- Allow dynamic user and database selection.
Dynamic user and database selection works over Bolt only, make sure you have included the right version of the underlying Neo4j-Java-Driver. It might be that you need to pin it in addition to the OGM dependencies. Configuration should work along these lines:
Configuration ogmConfiguration = new Configuration.Builder()
.uri("neo4j://yourInstance:7687")
.credentials("neo4j", "verysecret")
// In case you need this
// .databaseSelectionProvider(() -> DatabaseSelection.select("anotherDatabase"))
// Can also be something that picks the data from a JWT, whatever
.userSelectionProvider(() -> UserSelection.impersonate("theImposter"))
// Anything else you need
.build();
SessionFactory sessionFactory = new SessionFactory(ogmConfiguration, "your.packages");
v4.0.0
New baselines
The minimum required versions are Java 17 and Neo4j 5.x.
Removal of Auto Index Manager
The Auto Index Manager that was responsible for creating indexes and constraints out-of-the-box
got removed from the Neo4j-OGM.
Please use tools like Neo4j-Migrations (has support for Neo4j-OGM annotations out of the box) or Liquibase with the Neo4j-Plugin enabled (needs manual scripts for OGM entities) to control your schema. They offer a broader feature set than just focus on indexes and constraints.
Although the functionality was removed, the annotations are still available. Those will stay in place to avoid refactoring your codebase and support Neo4j-Migrations' annotation processor to make the transition easier.
Removal of HTTP and embedded transport support
Since Neo4j 4.x Neo4j-OGM did not offer embedded transport but the module was still available for users connecting to a 3.5.x instance.
Because the baseline of the official supported database was raised to Neo4j 5.x with this release, the embedded option got deprecated.
The HTTP transport mode was removed because it was rarely used and could not compete with the broad feature set that Bolt allows you to have.
v3.2.38
- Revert "Avoid unessary creation of builders."
- Revert "Make reuse of existing builders threadsafe, check for property equality."
v3.2.37
- [dependencies] Bump classgraph from 4.8.147 to 4.8.149
- [bug] Make reuse of existing builders threadsafe, check for property equality.
- [improvement] Optimize class loading.
v3.2.36
v3.2.35
- [dependencies] Bump classgraph from 4.8.141 to 4.8.147
v3.2.34
- [bug] Catch
ClientException
while consuming results, too. (Fixes spring-projects/spring-data-neo4j#2542)