diff --git a/README.adoc b/README.adoc
index 3dd4d6955..c1d137d9a 100644
--- a/README.adoc
+++ b/README.adoc
@@ -9,9 +9,12 @@ image:https://spring.io/badges/spring-data-neo4j/ga.svg[Spring Data Neo4j,link=h
:groupIdStarter: org.springframework.boot
:artifactIdStarter: spring-boot-starter-data-neo4j
-:neo4j-version: 4.1.5
-:spring-boot-version: 2.6.3
-:spring-data-neo4j-version: 6.2.1
+:docs-neo4j-version: 5.3.0
+:docs-neo4j-docker-version: 5
+:docs-neo4j-4-version: 4.4.16
+:docs-neo4j-3-version: 3.5.23
+:spring-boot-version: 3.0.1
+:spring-data-neo4j-version: 7.0.1
// end::properties[]
[abstract]
diff --git a/src/main/asciidoc/appendix/build.adoc b/src/main/asciidoc/appendix/build.adoc
index be967f377..c30541c3e 100644
--- a/src/main/asciidoc/appendix/build.adoc
+++ b/src/main/asciidoc/appendix/build.adoc
@@ -4,21 +4,20 @@
[[building-SDN.requirements]]
== Requirements
-* JDK 8+ (Can be https://openjdk.java.net[OpenJDK] or https://www.oracle.com/technetwork/java/index.html[Oracle JDK])
-* Maven 3.6.2 (We provide the Maven wrapper, see `mvnw` respectively `mvnw.cmd` in the project root; the wrapper downloads the appropriate Maven version automatically)
-* A Neo4j 3.5.+ database, either
+* JDK 17+ (Can be https://openjdk.java.net[OpenJDK] or https://www.oracle.com/technetwork/java/index.html[Oracle JDK])
+* Maven 3.8.5 (We provide the Maven wrapper, see `mvnw` respectively `mvnw.cmd` in the project root; the wrapper downloads the appropriate Maven version automatically)
+* A Neo4j 5.+ database, either
** running locally
** or indirectly via https://www.testcontainers.org[Testcontainers] and https://www.docker.com[Docker]
[[building-SDN.jdk.version]]
=== About the JDK version
-Choosing JDK 8 is a decision influenced by various aspects
+Choosing JDK 17 is a decision influenced by various aspects
* SDN is a Spring Data project.
-Spring Data commons baseline is still JDK 8 and so is Spring Framework's baseline.
-Thus, it is only natural to keep the JDK 8 baseline.
-* While there is an increase of projects started with JDK 11 (which is Oracle's current LTS release of Java), many existing projects are still on JDK 8. We don't want to lose them as users right from the start.
+Spring Data commons baseline is JDK 17 and so is Spring Framework's baseline.
+Thus, it is only natural to keep the JDK 17 baseline.
[[building-SDN.running-the-build]]
== Running the build
@@ -42,9 +41,9 @@ The output should be similar:
.Verify your JDK
----
$ java -version
-java version "12.0.1" 2019-04-16
-Java(TM) SE Runtime Environment (build 12.0.1+12)
-Java HotSpot(TM) 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)
+java version "18.0.1" 2022-04-19
+Java(TM) SE Runtime Environment (build 18.0.1+10-24)
+Java HotSpot(TM) 64-Bit Server VM (build 18.0.1+10-24, mixed mode, sharing)
----
[[building-SDN.docker]]
@@ -85,10 +84,10 @@ The image version to use can be configured through an environmental variable lik
[[build-other-image]]
.Build using a different Neo4j Docker image
----
-$ SDN_NEO4J_VERSION=3.5.11-enterprise SDN_NEO4J_ACCEPT_COMMERCIAL_EDITION=yes ./mvnw clean verify
+$ SDN_NEO4J_VERSION=5.3.0-enterprise SDN_NEO4J_ACCEPT_COMMERCIAL_EDITION=yes ./mvnw clean verify
----
-Here we are using 3.5.11 enterprise and also accept the license agreement.
+Here we are using 5.3.0 enterprise and also accept the license agreement.
Consult your operating system or shell manual on how to define environment variables if specifying them inline does not work for you.
@@ -111,7 +110,7 @@ After that, you can run a complete build by specifying the local `bolt` URL:
[[build-using-locally-running-database]]
.Build using a locally running database
----
-$ SDN_NEO4J_URL=bolt://localhost:7687 SDN_NEO4J_PASSWORD=secret ./mvnw clean verify
+$ SDN_NEO4J_URL=bolt://localhost:7687 SDN_NEO4J_PASSWORD=verysecret ./mvnw clean verify
----
[[building-SDN.environment-variables]]
@@ -122,7 +121,7 @@ $ SDN_NEO4J_URL=bolt://localhost:7687 SDN_NEO4J_PASSWORD=secret ./mvnw clean ver
|Name|Default value|Meaning
|`SDN_NEO4J_VERSION`
-|3.5.6
+|5.3.0
|Version of the Neo4j docker image to use, see https://hub.docker.com/_/neo4j[Neo4j Docker Official Images]
|`SDN_NEO4J_ACCEPT_COMMERCIAL_EDITION`
diff --git a/src/main/asciidoc/faq/index.adoc b/src/main/asciidoc/faq/index.adoc
index a06810a12..0817e49b7 100644
--- a/src/main/asciidoc/faq/index.adoc
+++ b/src/main/asciidoc/faq/index.adoc
@@ -45,13 +45,14 @@ Have a look at the corresponding module `org.neo4j.driver:neo4j-java-driver-test
[[faq.change-driver-version]]
== Which Neo4j Java Driver can be used and how?
-SDN6 relies on the Neo4j Java Driver version 4.x.
-Each SDN6 release uses a Neo4j Java Driver version compatible with the latest Neo4j available at the time of its
+SDN relies on the Neo4j Java Driver.
+Each SDN release uses a Neo4j Java Driver version compatible with the latest Neo4j available at the time of its
release.
-While patch versions of the Neo4j Java Driver are usually drop-in replacements, SDN6 makes sure that even minor versions
+While patch versions of the Neo4j Java Driver are usually drop-in replacements, SDN makes sure that even minor versions
are interchangeable as it checks for the presence or absence of methods or interface changes if necessary.
-Therefore, you are able to use any 4.x Neo4j Java Driver with any SDN 6.x version.
+Therefore, you are able to use any 4.x Neo4j Java Driver with any SDN 6.x version,
+and any 5.x Neo4j Driver with any SDN 7.x version.
=== With Spring Boot
@@ -62,7 +63,7 @@ Spring Boots dependency management to change the driver version like this:
[source,xml]
----
- 4.4.2
+ 5.4.0
----
@@ -71,7 +72,7 @@ Or
.Change the driver version from Gradle (gradle.properties)
[source,properties]
----
-neo4j-java-driver.version = 4.4.2
+neo4j-java-driver.version = 5.4.0
----
=== Without Spring Boot
@@ -85,13 +86,13 @@ section like this:
org.neo4j.driver
neo4j-java-driver
- 4.4.2
+ 5.4.0
----
[[faq.multidatabase]]
-== Neo4j 4.0 supports multiple databases - How can I use them?
+== Neo4j 4 supports multiple databases - How can I use them?
You can either statically configure the database name or run your own database name provider.
Bear in mind that SDN will not create the databases for you.
@@ -414,7 +415,7 @@ public class Neo4jHealthConfig {
----
[[faq.impersonation]]
-== Neo4j 4.4 supports impersonation of different users - How can I use them?
+== Neo4j 4.4+ supports impersonation of different users - How can I use them?
User impersonation is especially interesting in big multi-tenant settings, in which one physically connected (or technical)
user can impersonate many tenants. Depending on your setup this will drastically reduce the number of physical driver instances needed.
@@ -1035,7 +1036,7 @@ TIP: Named paths can be used efficiently to populate and return more than just a
No, `@Query` is *not* the only way to run custom queries.
The annotation is comfortable in situations in which your custom query fills your domain completely.
-Please remember that SDN 6 assumes your mapped domain model to be the truth.
+Please remember that SDN assumes your mapped domain model to be the truth.
That means if you use a custom query via `@Query` that only fills a model partially, you are in danger of using the same
object to write the data back which will eventually erase or overwrite data you didn't consider in your query.
@@ -1060,7 +1061,7 @@ If you think that you can solve your problem with a partially dynamic query or a
please jump back now to the chapter <>.
Otherwise, please read up on two things: <>
-the <> we offer in SDN 6.
+the <> we offer in SDN.
Why speaking about custom repository fragments now?
@@ -1123,9 +1124,9 @@ The important takeaway here is:
Often times a custom query indicates custom results.
Should all of those results be mapped as `@Node`? Of course not! Many times those objects represents read commands
and are not meant to be used as write commands.
-It is also not unlikely that SDN 6 cannot or want not map everything that is possible with Cypher.
+It is also not unlikely that SDN cannot or want not map everything that is possible with Cypher.
It does however offer several hooks to run your own mapping: On the `Neo4jClient`.
-The benefit of using the SDN 6 `Neo4jClient` over the driver:
+The benefit of using the SDN `Neo4jClient` over the driver:
* The `Neo4jClient` is integrated with Springs transaction management
* It has a fluent API for binding parameters
diff --git a/src/main/asciidoc/getting-started/getting-started.adoc b/src/main/asciidoc/getting-started/getting-started.adoc
index 9187a76c8..d7b523cb5 100644
--- a/src/main/asciidoc/getting-started/getting-started.adoc
+++ b/src/main/asciidoc/getting-started/getting-started.adoc
@@ -26,7 +26,7 @@ If you don't have a running database but Docker installed, please run:
[[start-docker-neo4j]]
.Start a local Neo4j instance inside Docker.
----
-docker run --publish=7474:7474 --publish=7687:7687 -e 'NEO4J_AUTH=neo4j/secret' neo4j:{neo4j-version}
+docker run --publish=7474:7474 --publish=7687:7687 -e 'NEO4J_AUTH=neo4j/secret' neo4j:{docs-neo4j-docker-version}
----
You can now access http://localhost:7474/browser/?cmd=play&arg=movies[http://localhost:7474].
@@ -113,7 +113,7 @@ Find `application.properties` and configure your Neo4j credentials:
----
spring.neo4j.uri=bolt://localhost:7687
spring.neo4j.authentication.username=neo4j
-spring.neo4j.authentication.password=secret
+spring.neo4j.authentication.password=verysecret
----
This is the bare minimum of what you need to connect to a Neo4j instance.
@@ -122,7 +122,7 @@ NOTE: It is not necessary to add any programmatic configuration of the driver wh
SDN repositories will be automatically enabled by this starter.
[[running-on-the-module-path]]
-== Running on the Module-Path (Java 9+)
+== Running on the Module-Path
Spring Data Neo4j can run on the module path. It's automatic module name is `spring.data.neo4j`.
It does not provide a module itself due to restrictions in the current Spring Data build setup.
diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc
index 053619c59..a64b32d48 100644
--- a/src/main/asciidoc/index.adoc
+++ b/src/main/asciidoc/index.adoc
@@ -24,7 +24,7 @@ include::{manualIncludeDir}/README.adoc[tags=properties]
:spring-framework-ref: https://docs.spring.io/spring/docs/{springVersion}/reference/html
:spring-data-commons-docs: ../../../../spring-data-commons/src/main/asciidoc
-(C) 2008-2021 The original authors.
+(C) 2008-2023 The original authors.
NOTE: Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.
diff --git a/src/main/asciidoc/introduction-and-preface/introduction.adoc b/src/main/asciidoc/introduction-and-preface/introduction.adoc
index 884ef67d8..a6ac42b90 100644
--- a/src/main/asciidoc/introduction-and-preface/introduction.adoc
+++ b/src/main/asciidoc/introduction-and-preface/introduction.adoc
@@ -31,7 +31,7 @@ Apart from the paging mechanism, all the features of standard repositories are a
If you come from older versions of Spring Data Neo4j - which are usually abbreviated SDN+OGM or SDN5 -
you will most likely be interested in the <> and especially in the relationship
<>. In the same chapter, you will find out about the
-<> of SDN6.
+<> of SDN.
To learn more about the general concepts of repositories, head over to <>.
diff --git a/src/main/asciidoc/introduction-and-preface/preface-sdn.adoc b/src/main/asciidoc/introduction-and-preface/preface-sdn.adoc
index 9de05c4c1..bf64efaea 100644
--- a/src/main/asciidoc/introduction-and-preface/preface-sdn.adoc
+++ b/src/main/asciidoc/introduction-and-preface/preface-sdn.adoc
@@ -35,11 +35,11 @@ All of them provide integration with Spring's application level transactions.
On a lower level, you can grab the Bolt driver instance, but than you have to manage your own transactions in these cases.
NOTE: You still can use Neo4j-OGM, even in modern Spring Boot applications.
- But you *cannot* use it with SDN 6.
+ But you *cannot* use it with SDN 6+.
If you tried you would have two different sets of entities in two different - and unrelated - persistence context.
Hence, if you want to stick to Neo4j-OGM 3.2.x, you would use the Java driver instantiated by Spring Boot and pass it onto a Neo4j-OGM session.
Neo4j-OGM 3.2.x is still supported, and we recommend its use in frameworks such as Quarkus.
- In a Spring Boot application however your primary choice should be SDN 6.
+ In a Spring Boot application however your primary choice should be SDN.
Please make sure you read the <> where we address many reoccurring questions about our mapping decisions but also how interaction with Neo4j cluster instances such as https://neo4j.com/cloud/platform/aura-graph-database/[Neo4j AuraDB] and on-premise cluster deployments can be significantly improved.
diff --git a/src/main/asciidoc/object-mapping/sdn-extensions.adoc b/src/main/asciidoc/object-mapping/sdn-extensions.adoc
index 1cc3d60f5..35e85b96d 100644
--- a/src/main/asciidoc/object-mapping/sdn-extensions.adoc
+++ b/src/main/asciidoc/object-mapping/sdn-extensions.adoc
@@ -28,7 +28,7 @@ Additional mixins provided are:
Both the `QuerydslPredicateExecutor` and `CypherdslConditionExecutor` provide the same concept: SDN generates a query, you
provide "predicates" (Query DSL) or "conditions" (Cypher DSL) that will be added. We recommend the Cypher DSL, as this is
-what SDN 6 uses natively. You might even want to consider using the
+what SDN uses natively. You might even want to consider using the
http://neo4j-contrib.github.io/cypher-dsl/2021.1.1/#thespringdataneo4j6annotationprocessor[annotation processor] that generates
a static meta model for you.
diff --git a/src/main/asciidoc/testing/testing.adoc b/src/main/asciidoc/testing/testing.adoc
index d19d76b3d..388bbd374 100644
--- a/src/main/asciidoc/testing/testing.adoc
+++ b/src/main/asciidoc/testing/testing.adoc
@@ -104,13 +104,13 @@ Also, 4.0 requires JDK 11.
You need the following dependencies to run <>:
-[source,xml]
+[source,xml,subs="verbatim,+attributes"]
.Neo4j 3.5 test harness dependencies
----
org.neo4j.test
neo4j-harness
- 3.5.23
+ {docs-neo4j-3-version}
test
----
@@ -183,13 +183,13 @@ application properties. We overwrite the corresponding Neo4j settings.
You need the following dependencies to run <>:
-[source,xml]
+[source,xml,subs="verbatim,attributes"]
.Neo4j 4.x test harness dependencies
----
org.neo4j.test
neo4j-harness
- {neo4j-version}
+ {docs-neo4j-4-version}
test
@@ -277,7 +277,7 @@ You need the following dependencies:
org.testcontainers
neo4j
- 1.14.3
+ 1.17.6
test
----