From 7004a8ef0535f87da31a7cfaef1d65148f832cca Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 5 Feb 2025 13:43:05 +0000 Subject: [PATCH 01/27] bump version to 2025.02 (#248) --- antora.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/antora.yml b/antora.yml index f421dcb..3dd9b86 100644 --- a/antora.yml +++ b/antora.yml @@ -6,9 +6,9 @@ nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.01' - neo4j-version-exact: '2025.01.0' - neo4j-buildnumber: '2025.01' + neo4j-version: '2025.02' + neo4j-version-exact: '2025.02.0' + neo4j-buildnumber: '2025.02' java-driver-version: '5.27' neo4j-documentation-branch: 'dev' page-origin-private: false From 42a163bce24d140ccb40f9e7ff1fedc8efe4cab4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 17:31:36 +0000 Subject: [PATCH 02/27] Bump @neo4j-antora/antora-modify-sitemaps in the prod-dependencies group (#249) Bumps the prod-dependencies group with 1 update: @neo4j-antora/antora-modify-sitemaps. Updates `@neo4j-antora/antora-modify-sitemaps` from 0.6.1 to 0.7.0 --- updated-dependencies: - dependency-name: "@neo4j-antora/antora-modify-sitemaps" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f0bb961..1a4bf63 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "antora": "^3.1.10", "@neo4j-antora/antora-add-notes": "^0.3.1", "@neo4j-antora/antora-listing-roles": "^0.1.0", - "@neo4j-antora/antora-modify-sitemaps": "^0.6.0", + "@neo4j-antora/antora-modify-sitemaps": "^0.7.0", "@neo4j-antora/antora-table-footnotes": "^0.3.2", "@neo4j-antora/selector-labels": "^0.1.1", "@neo4j-documentation/macros": "^1.0.2", From f9f20001c5eb98ad7069c09123d62b75f883187b Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Thu, 27 Feb 2025 18:00:34 +0000 Subject: [PATCH 03/27] Update dev version to 2025.03 (#252) --- antora.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/antora.yml b/antora.yml index 3dd9b86..a6cfaeb 100644 --- a/antora.yml +++ b/antora.yml @@ -6,9 +6,9 @@ nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.02' - neo4j-version-exact: '2025.02.0' - neo4j-buildnumber: '2025.02' + neo4j-version: '2025.03' + neo4j-version-exact: '2025.03.0' + neo4j-buildnumber: '2025.03' java-driver-version: '5.27' neo4j-documentation-branch: 'dev' page-origin-private: false From 00efb64f61d6bd1f644f952df4a77cfbc79902f5 Mon Sep 17 00:00:00 2001 From: Neil Dewhurst Date: Fri, 28 Feb 2025 09:40:40 +0000 Subject: [PATCH 04/27] Update version in antora.yml to 2025.03 (#254) --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index a6cfaeb..aa229a5 100644 --- a/antora.yml +++ b/antora.yml @@ -1,6 +1,6 @@ name: java-reference title: Java Reference -version: '2025.01' +version: '2025.03' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc From dd72fcf6905b18c6a3c968f08d31c1b06fd124a4 Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Wed, 12 Mar 2025 13:27:52 +0100 Subject: [PATCH 05/27] Update Java driver version to 5.28.3 (#258) --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index aa229a5..9b1fca4 100644 --- a/antora.yml +++ b/antora.yml @@ -9,7 +9,7 @@ asciidoc: neo4j-version: '2025.03' neo4j-version-exact: '2025.03.0' neo4j-buildnumber: '2025.03' - java-driver-version: '5.27' + java-driver-version: '5.28.3' neo4j-documentation-branch: 'dev' page-origin-private: false neo4j-javadocs-base-uri: "https://neo4j.com/docs/java-reference/5/javadocs" From 6910e99ed9dd99c8f12deb4511d6922f08dbf32c Mon Sep 17 00:00:00 2001 From: Neil Dewhurst Date: Fri, 14 Mar 2025 13:39:16 +0000 Subject: [PATCH 06/27] Packages workflows refine (#261) * update workflow to 1.2.0 * update packages --- .github/workflows/docs-pr-checks.yml | 6 +++--- package.json | 11 +++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docs-pr-checks.yml b/.github/workflows/docs-pr-checks.yml index 7c85c7c..a896369 100644 --- a/.github/workflows/docs-pr-checks.yml +++ b/.github/workflows/docs-pr-checks.yml @@ -13,7 +13,7 @@ jobs: # Generate HTML docs-build-pr: - uses: neo4j/docs-tools/.github/workflows/reusable-docs-build.yml@v1.1.2 + uses: neo4j/docs-tools/.github/workflows/reusable-docs-build.yml@v1.2.0 with: deploy-id: ${{ github.event.number }} retain-artifacts: 14 @@ -23,7 +23,7 @@ jobs: # By default, the job fails if there are errors, passes if there are warnings only. docs-verify-pr: needs: docs-build-pr - uses: neo4j/docs-tools/.github/workflows/reusable-docs-verify.yml@v1.1.2 + uses: neo4j/docs-tools/.github/workflows/reusable-docs-verify.yml@v1.2.0 with: failOnWarnings: true @@ -55,7 +55,7 @@ jobs: docs-updates-comment-pr: if: needs.docs-build-pr.outputs.pages-listed == 'success' needs: [docs-build-pr, docs-changes-pr] - uses: neo4j/docs-tools/.github/workflows/reusable-docs-pr-changes.yml@v1.1.2 + uses: neo4j/docs-tools/.github/workflows/reusable-docs-pr-changes.yml@v1.2.0 with: pages-modified: ${{ needs.docs-changes-pr.outputs.pages-modified }} pages-added: ${{ needs.docs-changes-pr.outputs.pages-added }} diff --git a/package.json b/package.json index 1a4bf63..2222a84 100644 --- a/package.json +++ b/package.json @@ -23,14 +23,13 @@ }, "homepage": "https://github.com/neo4j/docs-java-reference#readme", "dependencies": { - "antora": "^3.1.10", - "@neo4j-antora/antora-add-notes": "^0.3.1", + "@neo4j-antora/antora-add-notes": "^0.3.2", "@neo4j-antora/antora-listing-roles": "^0.1.0", - "@neo4j-antora/antora-modify-sitemaps": "^0.7.0", - "@neo4j-antora/antora-table-footnotes": "^0.3.2", + "@neo4j-antora/antora-table-footnotes": "^0.3.3", "@neo4j-antora/selector-labels": "^0.1.1", - "@neo4j-documentation/macros": "^1.0.2", - "@neo4j-documentation/remote-include": "^1.0.0" + "@neo4j-documentation/macros": "^1.0.4", + "@neo4j-documentation/remote-include": "^1.0.0", + "antora": "^3.1.10" }, "devDependencies": { "express": "^5.0.1", From aac58bbfb1cdfec336ce7974eb52c045163b88b6 Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:29:22 +0100 Subject: [PATCH 07/27] Replace `page-version` with `current` in links (#260) * Replace `page-version` with `current` in links * Put back `page-version` for the Ops manual and fix links on locks/deadlocks * Update modules/ROOT/pages/java-embedded/unique-nodes.adoc * Update modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc --- modules/ROOT/pages/extending-neo4j/customized-code.adoc | 4 ++-- modules/ROOT/pages/extending-neo4j/procedures.adoc | 2 +- modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc | 2 +- modules/ROOT/pages/extending-neo4j/values-and-types.adoc | 2 +- modules/ROOT/pages/java-embedded/cypher-java.adoc | 4 ++-- modules/ROOT/pages/java-embedded/indexes.adoc | 4 ++-- modules/ROOT/pages/java-embedded/property-values.adoc | 2 +- modules/ROOT/pages/java-embedded/query-parameters.adoc | 2 +- modules/ROOT/pages/java-embedded/unique-nodes.adoc | 2 +- modules/ROOT/pages/transaction-management.adoc | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/ROOT/pages/extending-neo4j/customized-code.adoc b/modules/ROOT/pages/extending-neo4j/customized-code.adoc index 184dccf..c4b44c5 100644 --- a/modules/ROOT/pages/extending-neo4j/customized-code.adoc +++ b/modules/ROOT/pages/extending-neo4j/customized-code.adoc @@ -53,9 +53,9 @@ In addition, procedures can perform write operations on the database. Neo4j also comes bundled with a number of _built-in_ procedures and functions. -The available built-in procedures vary depending on edition and mode, as described in link:{neo4j-docs-base-uri}/operations-manual/{page-version}/reference/procedures[Operations Manual -> Procedures]. +The available built-in procedures vary depending on edition and mode, as described in link:{neo4j-docs-base-uri}/operations-manual/{page-version}/procedures[Operations Manual -> Procedures]. Running `SHOW PROCEDURES` displays the full list of procedures available in your Neo4j DBMS, including user-defined procedures. -The built-in functions are described in link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/functions[Cypher Manual -> Functions]. +The built-in functions are described in link:{neo4j-docs-base-uri}/cypher-manual/current/functions[Cypher Manual -> Functions]. Running `SHOW FUNCTIONS` displays the full list of all the functions available in your Neo4j DBMS, including user-defined functions. diff --git a/modules/ROOT/pages/extending-neo4j/procedures.adoc b/modules/ROOT/pages/extending-neo4j/procedures.adoc index 22b8a62..2d61214 100644 --- a/modules/ROOT/pages/extending-neo4j/procedures.adoc +++ b/modules/ROOT/pages/extending-neo4j/procedures.adoc @@ -28,7 +28,7 @@ CALL org.neo4j.examples.findDenseNodes(1000) `CALL` may be the only clause within a Cypher statement or may be combined with other clauses. Arguments can be supplied directly within the query or taken from the associated parameter set. -For full details, see the documentation in link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/clauses/call[Cypher Manual -> `CALL` procedure]. +For full details, see the documentation in link:{neo4j-docs-base-uri}/cypher-manual/current/clauses/call[Cypher Manual -> `CALL` procedure]. [[user-defined-procedures]] diff --git a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc index fda9117..61a2920 100644 --- a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc +++ b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc @@ -102,7 +102,7 @@ When writing unmanaged extensions, you have greater control over the amount of m If you keep too much state around, it can lead to more frequent full Garbage Collection and subsequent unresponsiveness by the Neo4j server. A common way that state can increase, is the creation of JSON objects to represent the result of a query, which is then sent back to your application. -Neo4j's Transactional Cypher HTTP endpoint (see link:{neo4j-docs-base-uri}/http-api/{page-version}/actions[HTTP API Docs -> transactional Cypher endpoint]) streams responses back to the client. +Neo4j's HTTP endpoint (see link:{neo4j-docs-base-uri}/http-api/current/transactions[HTTP API Docs -> Run transactions]) streams responses back to the client. For example, the following unmanaged extension streams an array of a person's colleagues: //https://github.com/neo4j/neo4j-documentation/blob/dev/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/ColleaguesResource.java diff --git a/modules/ROOT/pages/extending-neo4j/values-and-types.adoc b/modules/ROOT/pages/extending-neo4j/values-and-types.adoc index 2a2abea..7a2bf04 100644 --- a/modules/ROOT/pages/extending-neo4j/values-and-types.adoc +++ b/modules/ROOT/pages/extending-neo4j/values-and-types.adoc @@ -6,7 +6,7 @@ [[extending-neo4j-procedures-and-functions-values-and-types]] = Values and types -The _input_ and _output_ to and from a procedure or a function must be one of the supported types, as described in link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/values-and-types/[Cypher Manual -> Values and types]. +The _input_ and _output_ to and from a procedure or a function must be one of the supported types, as described in link:{neo4j-docs-base-uri}/cypher-manual/current/values-and-types/[Cypher Manual -> Values and types]. Composite types are supported via: diff --git a/modules/ROOT/pages/java-embedded/cypher-java.adoc b/modules/ROOT/pages/java-embedded/cypher-java.adoc index 2433c8d..e832ad8 100644 --- a/modules/ROOT/pages/java-embedded/cypher-java.adoc +++ b/modules/ROOT/pages/java-embedded/cypher-java.adoc @@ -4,7 +4,7 @@ [[cypher-java]] = Cypher queries -In Java, you can use the link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/[Cypher query language] as per the example below. +In Java, you can use the link:{neo4j-docs-base-uri}/cypher-manual/current/[Cypher query language] as per the example below. [TIP] ==== @@ -118,5 +118,5 @@ You should instead use only one and if you need the facilities of the other meth For more information on the Java interface to Cypher, see the link:{neo4j-javadocs-base-uri}/index.html[Neo4j Javadocs^]. -For more information and examples for Cypher, see link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/[Neo4j Cypher Manual]. +For more information and examples for Cypher, see link:{neo4j-docs-base-uri}/cypher-manual/current/[Neo4j Cypher Manual]. diff --git a/modules/ROOT/pages/java-embedded/indexes.adoc b/modules/ROOT/pages/java-embedded/indexes.adoc index 8a94fb3..94e204e 100644 --- a/modules/ROOT/pages/java-embedded/indexes.adoc +++ b/modules/ROOT/pages/java-embedded/indexes.adoc @@ -4,10 +4,10 @@ [[java-embedded-new-index]] = Using indexes -It is possible to create and use all the index types described in link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/indexes-for-search-performance[Cypher Manual -> Indexes]. +It is possible to create and use all the index types described in link:{neo4j-docs-base-uri}/cypher-manual/current/indexes-for-search-performance[Cypher Manual -> Indexes]. This section demonstrates how to work with indexes with an example of a user database. -For information about how to create an index on all `User` nodes that have a `username` property, see link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/indexes-for-search-performance#administration-indexes-create-a-single-property-index-for-nodes[Cypher Manual -> Create a single-property index for nodes]. +For information about how to create an index on all `User` nodes that have a `username` property, see link:{neo4j-docs-base-uri}/cypher-manual/current/indexes-for-search-performance#administration-indexes-create-a-single-property-index-for-nodes[Cypher Manual -> Create a single-property index for nodes]. [TIP] ==== diff --git a/modules/ROOT/pages/java-embedded/property-values.adoc b/modules/ROOT/pages/java-embedded/property-values.adoc index 10a27bc..6e58784 100644 --- a/modules/ROOT/pages/java-embedded/property-values.adoc +++ b/modules/ROOT/pages/java-embedded/property-values.adoc @@ -54,6 +54,6 @@ If these objects are returned from procedures, the original types cannot be recr [NOTE] ==== Strings that contain special characters can have inconsistent or non-deterministic ordering in Neo4j. -For details, see link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/syntax/values#property-types-sip-note[Cypher Manual -> Sorting of special characters]. +For details, see link:{neo4j-docs-base-uri}/cypher-manual/current/syntax/values#property-types-sip-note[Cypher Manual -> Sorting of special characters]. ==== diff --git a/modules/ROOT/pages/java-embedded/query-parameters.adoc b/modules/ROOT/pages/java-embedded/query-parameters.adoc index 179495a..4283283 100644 --- a/modules/ROOT/pages/java-embedded/query-parameters.adoc +++ b/modules/ROOT/pages/java-embedded/query-parameters.adoc @@ -6,7 +6,7 @@ The following examples illustrate how to use parameters when executing Cypher queries from Java. -For more information on parameters, see the link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/[Neo4j Cypher Manual]. +For more information on parameters, see the link:{neo4j-docs-base-uri}/cypher-manual/current/[Neo4j Cypher Manual]. //https://github.com/neo4j/neo4j-documentation/blob/dev/cypher/cypher-docs/src/test/java/org/neo4j/cypher/example/JavaExecutionEngineDocTest.java diff --git a/modules/ROOT/pages/java-embedded/unique-nodes.adoc b/modules/ROOT/pages/java-embedded/unique-nodes.adoc index 4ee6c13..a4a0cff 100644 --- a/modules/ROOT/pages/java-embedded/unique-nodes.adoc +++ b/modules/ROOT/pages/java-embedded/unique-nodes.adoc @@ -82,5 +82,5 @@ You might also be tempted to use Java synchronization for pessimistic locking, b By mixing locks in Neo4j and the Java runtime, it is possible to produce deadlocks that are not detectable by Neo4j. As long as all locking is done by Neo4j, all deadlocks will be detected and avoided. -For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/locks-deadlocks.adoc#_locks[Operations Manual -> Locks and deadlocks^]. +For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/concurrent-data-access/#_locks[Operations Manual -> Locks and deadlocks^]. diff --git a/modules/ROOT/pages/transaction-management.adoc b/modules/ROOT/pages/transaction-management.adoc index b414bc5..3acfb24 100644 --- a/modules/ROOT/pages/transaction-management.adoc +++ b/modules/ROOT/pages/transaction-management.adoc @@ -31,7 +31,7 @@ The interaction cycle of working with transactions follows the steps: [NOTE] ==== It is crucial to finish each transaction because the locks or memory acquired by a transaction are only released upon completion. -For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/locks-deadlocks[Operations Manual -> Locks and deadlocks^]. +For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/concurrent-data-access/#_locks[Operations Manual -> Locks and deadlocks^]. ==== The idiomatic use of transactions in Neo4j is to use a `try-with-resources` statement and declare `transaction` as one of the resources. From 92d0cc196e9841e3795263c35975e9bd3dcb71df Mon Sep 17 00:00:00 2001 From: Neil Dewhurst Date: Fri, 21 Mar 2025 16:19:29 +0000 Subject: [PATCH 08/27] Update docs-pr-checks.yml (#263) --- .github/workflows/docs-pr-checks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs-pr-checks.yml b/.github/workflows/docs-pr-checks.yml index a896369..1e0d4b0 100644 --- a/.github/workflows/docs-pr-checks.yml +++ b/.github/workflows/docs-pr-checks.yml @@ -40,7 +40,7 @@ jobs: steps: - name: Get file changes id: get-file-changes - uses: tj-actions/changed-files@cbda684547adc8c052d50711417fa61b428a9f88 # v41.1.2 + uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 # v46.0.1 with: separator: ',' files_yaml: | From ff9349372a1d3da0bf5f9937d898c0673959c0a2 Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Fri, 28 Mar 2025 11:45:35 +0100 Subject: [PATCH 09/27] Update the version to 2025.04 (#268) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index 9b1fca4..6514b83 100644 --- a/antora.yml +++ b/antora.yml @@ -1,14 +1,14 @@ name: java-reference title: Java Reference -version: '2025.03' +version: '2025.04' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.03' - neo4j-version-exact: '2025.03.0' - neo4j-buildnumber: '2025.03' + neo4j-version: '2025.04' + neo4j-version-exact: '2025.04.0' + neo4j-buildnumber: '2025.04' java-driver-version: '5.28.3' neo4j-documentation-branch: 'dev' page-origin-private: false From b2fce0f15addac6d17211aaf157245890107cd1a Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 30 Apr 2025 16:03:49 +0100 Subject: [PATCH 10/27] Update version to 2025.05 (#271) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index 6514b83..e892d35 100644 --- a/antora.yml +++ b/antora.yml @@ -1,14 +1,14 @@ name: java-reference title: Java Reference -version: '2025.04' +version: '2025.05' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.04' - neo4j-version-exact: '2025.04.0' - neo4j-buildnumber: '2025.04' + neo4j-version: '2025.05' + neo4j-version-exact: '2025.05.0' + neo4j-buildnumber: '2025.05' java-driver-version: '5.28.3' neo4j-documentation-branch: 'dev' page-origin-private: false From c55e07154bf802ae2219c92235ed31db5bc12b42 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Tue, 3 Jun 2025 17:08:58 +0100 Subject: [PATCH 11/27] Update version to 2025.06 (#277) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index e892d35..27c3121 100644 --- a/antora.yml +++ b/antora.yml @@ -1,14 +1,14 @@ name: java-reference title: Java Reference -version: '2025.05' +version: '2025.06' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.05' - neo4j-version-exact: '2025.05.0' - neo4j-buildnumber: '2025.05' + neo4j-version: '2025.06' + neo4j-version-exact: '2025.06.0' + neo4j-buildnumber: '2025.06' java-driver-version: '5.28.3' neo4j-documentation-branch: 'dev' page-origin-private: false From 148a6ca83345a4de1e9131d286e137a025a1d23d Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Tue, 10 Jun 2025 13:48:19 +0200 Subject: [PATCH 12/27] Update Java driver version to 5.28.5 (#280) --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index 27c3121..11958e8 100644 --- a/antora.yml +++ b/antora.yml @@ -9,7 +9,7 @@ asciidoc: neo4j-version: '2025.06' neo4j-version-exact: '2025.06.0' neo4j-buildnumber: '2025.06' - java-driver-version: '5.28.3' + java-driver-version: '5.28.5' neo4j-documentation-branch: 'dev' page-origin-private: false neo4j-javadocs-base-uri: "https://neo4j.com/docs/java-reference/5/javadocs" From 7726721011c663af38822be1c92af8d776c5a2fd Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Thu, 12 Jun 2025 08:55:17 +0200 Subject: [PATCH 13/27] Update and fix several pages (#279) * Update and fix several pages * Change ClusterSettings to DiscoverySettings --- .../pages/extending-neo4j/project-setup.adoc | 15 ++++++----- .../extending-neo4j/server-debugging.adoc | 2 +- .../extending-neo4j/unmanaged-extensions.adoc | 25 ++++++------------- .../ROOT/pages/java-embedded/entities.adoc | 2 +- .../pages/java-embedded/graph-algorithms.adoc | 2 +- .../ROOT/pages/java-embedded/hello-world.adoc | 2 +- modules/ROOT/pages/java-embedded/setup.adoc | 10 ++++---- .../ROOT/pages/java-embedded/terminate.adoc | 2 +- 8 files changed, 27 insertions(+), 33 deletions(-) diff --git a/modules/ROOT/pages/extending-neo4j/project-setup.adoc b/modules/ROOT/pages/extending-neo4j/project-setup.adoc index 6cf91f4..c9c6cb7 100644 --- a/modules/ROOT/pages/extending-neo4j/project-setup.adoc +++ b/modules/ROOT/pages/extending-neo4j/project-setup.adoc @@ -138,7 +138,7 @@ Once the procedure has been deployed to the _plugins_ directory of each Neo4j in The _Seed from URI_ feature provides the ability to dynamically discover additional seed provider implementations from the class path. -Seed providers should be implemented in Java and this guide provides instructions on how to do this using Maven as the build tool. +Seed providers should be implemented in Java; and this guide provides instructions on how to do this using Maven as the build tool. === Set up a Maven project @@ -203,24 +203,27 @@ To implement the custom database seed provider, you must define three methods on Additionally, you must implement a method on the nested `Dependencies` interface to resolve any dependencies required by your seed provider implementation. Typically, the match method uses the URI scheme (the part specified before the first colon) to determine whether it can support the given URI or not. -For example, `file`, `http`, `https` etc. +For example, `file`, `http`, `https`, etc. The stream method should implement a scheme-specific way to obtain an input stream for the backup or dump. -Implementation-specific seed configuration can be passed through from options specified in the `CREATE DATABASE` command using `seedConfig`. +Implementation-specific seed configuration can be passed through from options specified in the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-administration/standard-databases/create-databases[`CREATE DATABASE` command using `seedConfig`]. + +Keep in mind that the `CREATE DATABASE` command is Enterprise Edition feature. + === Deploy -Build a jar file from Maven and place this onto the Neo4j classpath. +Build a JAR file from Maven and place this onto the Neo4j classpath. -The jar must include a META-INF file to enable discovery of the providers with the path: +The JAR file must include a META-INF file to enable discovery of the providers with the path: [source, none] ---- /META_INF/services/com.neo4j.dbms.seeding.SeedProvider ---- -It should be a plain text file with one line for each provider contained within the jar, the line should contain the fully qualified name of the provider class. +It should be a plain text file with one line for each provider contained within the JAR file, the line should contain the fully qualified name of the provider class. [NOTE] ==== diff --git a/modules/ROOT/pages/extending-neo4j/server-debugging.adoc b/modules/ROOT/pages/extending-neo4j/server-debugging.adoc index a24038d..e1d84e4 100644 --- a/modules/ROOT/pages/extending-neo4j/server-debugging.adoc +++ b/modules/ROOT/pages/extending-neo4j/server-debugging.adoc @@ -14,6 +14,6 @@ To specify the parameters, you must add a line for the additional Java arguments server.jvm.additional=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 ---- -This configuration starts Neo4j, ready for remote debugging attachment, at `localhost`` and port `5005`. +This configuration starts Neo4j, ready for remote debugging attachment, at `localhost` and port `5005`. Use these parameters to attach to the process from Eclipse, IntelliJ, or your remote debugger of choice after starting the server. diff --git a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc index 61a2920..f63173a 100644 --- a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc +++ b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc @@ -61,7 +61,7 @@ public class HelloWorldResource } ---- -The full source code isfound at: +The full source code is found at: link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/HelloWorldResource.java[HelloWorldResource.java^] Having built your code, the resulting JAR file (and any customized dependencies) should be placed in the _$NEO4J_SERVER_HOME/plugins_ directory. @@ -174,7 +174,7 @@ public class ColleaguesResource } ---- -The full source code isfound at: +The full source code is found at: link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/ColleaguesResource.java[ColleaguesResource.java^] As well as depending on JAX-RS API, this example also uses Jackson -- a Java JSON library. @@ -191,18 +191,9 @@ You need to add the following dependency to your Maven POM file (or equivalent): [CAUTION] ==== -From Neo4j 3.5.15, a breaking change was introduced following an update to the Jackson dependency. +Neo4j supports Jackson v2. -Jackson v1 is out of support and has accumulated security issues such as: - -* link:https://www.cvedetails.com/cve/CVE-2017-7525/[`CVE-2017-7525`] -* link:https://www.cvedetails.com/cve/CVE-2017-17485/[`CVE-2017-17485`] -* link:https://www.cvedetails.com/cve/CVE-2017-15095/[`CVE-2017-15095`] -* link:https://www.cvedetails.com/cve/CVE-2018-11307/[`CVE-2018-11307`] -* link:https://www.cvedetails.com/cve/CVE-2018-7489/[`CVE-2018-7489`] -* link:https://www.cvedetails.com/cve/CVE-2018-5968/[`CVE-2018-5968`] - -For further information about Jackson v2, please see the link:https://github.com/FasterXML/jackson[Jackson Project on GitHub]. +For more information about Jackson v2, see the link:https://github.com/FasterXML/jackson[Jackson Project on GitHub]. ==== Your `findColleagues` method now responds to `GET` requests at the URI: @@ -295,7 +286,7 @@ public class ColleaguesCypherExecutionResource } ---- -The full source code isfound at: +The full source code is found at: link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/ColleaguesCypherExecutionResource.java[ColleaguesCypherExecutionResource.java^] Your `findColleagues` method now responds to `GET` requests at the URI: @@ -336,7 +327,7 @@ You can access this toolkit by adding the following test dependency to your proj -------- -The test toolkit provides a mechanism to start a Neo4j instance with a customized configuration and with extensions of your choice. +The test toolkit provides a mechanism to start a Neo4j instance with a customized configuration and extensions of your choice. It also provides mechanisms to specify data fixtures to include when starting Neo4j, as you can see in the following example: //https://github.com/neo4j/neo4j-documentation/blob/dev/neo4j-harness-enterprise-test/src/test/java/org/neo4j/harness/enterprise/doc/ExtensionTestingDocIT.java @@ -380,7 +371,7 @@ public void testMyExtensionWithFunctionFixture() } ---- -The full source code of the example isfound at: +The full source code of the example is found at: link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/neo4j-harness-test/src/test/java/org/neo4j/harness/doc/ExtensionTestingDocIT.java[ExtensionTestingDocIT.java^] @@ -426,6 +417,6 @@ public void shouldWorkWithServer() } ---- -The full source code of the example isfound at: +The full source code of the example is found at: link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/neo4j-harness-test/src/test/java/org/neo4j/harness/doc/JUnitDocIT.java[JUnitDocIT.java^] diff --git a/modules/ROOT/pages/java-embedded/entities.adoc b/modules/ROOT/pages/java-embedded/entities.adoc index f9c549f..475f802 100644 --- a/modules/ROOT/pages/java-embedded/entities.adoc +++ b/modules/ROOT/pages/java-embedded/entities.adoc @@ -9,7 +9,7 @@ The same approach can be used with relationships. [TIP] ==== -The source code of the examples isfound at: +The source code of the examples is found at: link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/embedded-examples/src/main/java/org/neo4j/examples/socnet/Person.java[Person.java] ==== diff --git a/modules/ROOT/pages/java-embedded/graph-algorithms.adoc b/modules/ROOT/pages/java-embedded/graph-algorithms.adoc index 3ca5cf8..d6e95da 100644 --- a/modules/ROOT/pages/java-embedded/graph-algorithms.adoc +++ b/modules/ROOT/pages/java-embedded/graph-algorithms.adoc @@ -11,7 +11,7 @@ For details on the graph algorithm usage, see the link:{org-neo4j-graphalgo-grap [TIP] ==== -The source code used in the example isfound at: +The source code used in the example is found at: link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/embedded-examples/src/test/java/org/neo4j/examples/PathFindingDocTest.java[PathFindingDocTest.java^] ==== diff --git a/modules/ROOT/pages/java-embedded/hello-world.adoc b/modules/ROOT/pages/java-embedded/hello-world.adoc index d663ce2..86e0003 100644 --- a/modules/ROOT/pages/java-embedded/hello-world.adoc +++ b/modules/ROOT/pages/java-embedded/hello-world.adoc @@ -22,7 +22,7 @@ For information on project setup, see xref:java-embedded/setup.adoc[]. [TIP] ==== -The source code of this example isfound at: +The source code of this example is found at: link:https://github.com/neo4j/neo4j-documentation/blob/{neo4j-documentation-branch}/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4j.java[EmbeddedNeo4j.java] ==== diff --git a/modules/ROOT/pages/java-embedded/setup.adoc b/modules/ROOT/pages/java-embedded/setup.adoc index 6c586fa..3c4b6d0 100644 --- a/modules/ROOT/pages/java-embedded/setup.adoc +++ b/modules/ROOT/pages/java-embedded/setup.adoc @@ -126,7 +126,7 @@ registerShutdownHook( managementService ); If you are using the Enterprise Edition of Neo4j in embedded mode, you have to create your database with the link:{com-neo4j-dbms-api-EnterpriseDatabaseManagementServiceBuilder}[`com.neo4j.dbms.api.EnterpriseDatabaseManagementServiceBuilder`^] to enable the Enterprise Edition features. -If you intend to operate embedded clusters, you need to provide the appropriate configuration to the instances you create (for example ports and discovery endpoints). +If you intend to operate embedded clusters, you need to provide the appropriate configuration to the instances you create (for example, ports and discovery endpoints). For maintainability purposes, you can define your embedded DBMS configuration in the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/neo4j-conf[_neo4j.conf_] file as follows: //https://github.com/neo4j/neo4j-documentation/blob/dev/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4jClusterUsingBuilder.java @@ -136,8 +136,8 @@ For maintainability purposes, you can define your embedded DBMS configuration in ---- server.default_advertised_address=core01.example.com server.default_listen_address=0.0.0.0 -dbms.cluster.discovery.type=LIST -dbms.cluster.discovery.endpoints=core01.example.com,core02.example.com,core03.example.com +dbms.cluster.discovery.resolver_type=LIST +dbms.cluster.endpoints=core01.example.com,core02.example.com,core03.example.com server.bolt.enabled=true server.http.enabled=true ---- @@ -171,8 +171,8 @@ var initialMembers = List.of( var managementService = new EnterpriseDatabaseManagementServiceBuilder( homeDirectory ) .setConfig( GraphDatabaseSettings.default_advertised_address, defaultAdvertised ) .setConfig( GraphDatabaseSettings.default_listen_address, defaultListen ) - .setConfig( ClusterSettings.discovery_type, DiscoveryType.LIST ) - .setConfig( ClusterSettings.discovery_endpoints, initialMembers ) + .setConfig( DiscoverySettings.discovery.resolver_type, DiscoveryType.LIST ) + .setConfig( DiscoverySettings.cluster_endpoints, initialMembers ) .setConfig( EnterpriseEditionSettings.initial_default_primaries_count, 3 ) .setConfig( BoltConnector.enabled, true ) .setConfig( HttpConnector.enabled, true ) diff --git a/modules/ROOT/pages/java-embedded/terminate.adoc b/modules/ROOT/pages/java-embedded/terminate.adoc index 28cee13..d88176a 100644 --- a/modules/ROOT/pages/java-embedded/terminate.adoc +++ b/modules/ROOT/pages/java-embedded/terminate.adoc @@ -9,7 +9,7 @@ You can terminate (abort) a long-running transaction from another thread. [TIP] ==== The source code for the examples can befound at: -https://github.com/neo4j/neo4j-documentation/blob/{neo4j-version}/embedded-examples/src/main/java/org/neo4j/examples/TerminateTransactions.java[TerminateTransactions.java^] +https://github.com/neo4j/neo4j-documentation/blob/dev/embedded-examples/src/main/java/org/neo4j/examples/TerminateTransactions.java[TerminateTransactions.java^] ==== First, start the database server: From 392b672ea5187bde8bf20a098cec316dda8c2fef Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Mon, 30 Jun 2025 11:55:59 +0200 Subject: [PATCH 14/27] Update Java driver to 5.28.6 (#283) --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index 11958e8..6700714 100644 --- a/antora.yml +++ b/antora.yml @@ -9,7 +9,7 @@ asciidoc: neo4j-version: '2025.06' neo4j-version-exact: '2025.06.0' neo4j-buildnumber: '2025.06' - java-driver-version: '5.28.5' + java-driver-version: '5.28.6' neo4j-documentation-branch: 'dev' page-origin-private: false neo4j-javadocs-base-uri: "https://neo4j.com/docs/java-reference/5/javadocs" From 3d4c6f34a7dc5640db9297089abd83f02029b61e Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Wed, 2 Jul 2025 11:14:58 +0200 Subject: [PATCH 15/27] Bump Neo4j version to 2025.07 (#286) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index 6700714..de8fc27 100644 --- a/antora.yml +++ b/antora.yml @@ -1,14 +1,14 @@ name: java-reference title: Java Reference -version: '2025.06' +version: '2025.07' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.06' - neo4j-version-exact: '2025.06.0' - neo4j-buildnumber: '2025.06' + neo4j-version: '2025.07' + neo4j-version-exact: '2025.07.0' + neo4j-buildnumber: '2025.07' java-driver-version: '5.28.6' neo4j-documentation-branch: 'dev' page-origin-private: false From 3a526d1de41f97638eafb5d743dd7d60ff78610e Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:33:04 +0200 Subject: [PATCH 16/27] Update Java driver to 5.28.7 (#287) --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index de8fc27..eba5628 100644 --- a/antora.yml +++ b/antora.yml @@ -9,7 +9,7 @@ asciidoc: neo4j-version: '2025.07' neo4j-version-exact: '2025.07.0' neo4j-buildnumber: '2025.07' - java-driver-version: '5.28.6' + java-driver-version: '5.28.7' neo4j-documentation-branch: 'dev' page-origin-private: false neo4j-javadocs-base-uri: "https://neo4j.com/docs/java-reference/5/javadocs" From 412325b4bf90fc632158e3dbd3c2114a3e7a9621 Mon Sep 17 00:00:00 2001 From: Neil Dewhurst Date: Fri, 18 Jul 2025 12:22:58 +0100 Subject: [PATCH 17/27] Update path to javadocs (#289) * Update path to javadocs * use docs-base-uri in path --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index eba5628..958b44c 100644 --- a/antora.yml +++ b/antora.yml @@ -12,4 +12,4 @@ asciidoc: java-driver-version: '5.28.7' neo4j-documentation-branch: 'dev' page-origin-private: false - neo4j-javadocs-base-uri: "https://neo4j.com/docs/java-reference/5/javadocs" + neo4j-javadocs-base-uri: "{neo4j-docs-base-uri}/java-reference/{neo4j-version}/javadocs" From 1af8cfc3d5c5edd0ee1a8e1325d2cb93342a28fd Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Tue, 29 Jul 2025 11:00:27 +0200 Subject: [PATCH 18/27] Update Java driver version to 5.28.9 (#290) --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index 958b44c..f0ac936 100644 --- a/antora.yml +++ b/antora.yml @@ -9,7 +9,7 @@ asciidoc: neo4j-version: '2025.07' neo4j-version-exact: '2025.07.0' neo4j-buildnumber: '2025.07' - java-driver-version: '5.28.7' + java-driver-version: '5.28.9' neo4j-documentation-branch: 'dev' page-origin-private: false neo4j-javadocs-base-uri: "{neo4j-docs-base-uri}/java-reference/{neo4j-version}/javadocs" From 264b5d03ba2f477a7678f5f1bff10647c8aec1e0 Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Thu, 31 Jul 2025 14:58:03 +0200 Subject: [PATCH 19/27] Update to 2025.08 (#294) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index f0ac936..ed565a3 100644 --- a/antora.yml +++ b/antora.yml @@ -1,14 +1,14 @@ name: java-reference title: Java Reference -version: '2025.07' +version: '2025.08' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.07' - neo4j-version-exact: '2025.07.0' - neo4j-buildnumber: '2025.07' + neo4j-version: '2025.08' + neo4j-version-exact: '2025.08.0' + neo4j-buildnumber: '2025.08' java-driver-version: '5.28.9' neo4j-documentation-branch: 'dev' page-origin-private: false From e65d354f9211696bb5c332d5208c7d3caae19ed8 Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Tue, 2 Sep 2025 14:40:02 +0200 Subject: [PATCH 20/27] Update to 2025.09 (#298) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index ed565a3..d5bb37d 100644 --- a/antora.yml +++ b/antora.yml @@ -1,14 +1,14 @@ name: java-reference title: Java Reference -version: '2025.08' +version: '2025.09' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.08' - neo4j-version-exact: '2025.08.0' - neo4j-buildnumber: '2025.08' + neo4j-version: '2025.09' + neo4j-version-exact: '2025.09.0' + neo4j-buildnumber: '2025.09' java-driver-version: '5.28.9' neo4j-documentation-branch: 'dev' page-origin-private: false From 92582a80c4f1fce4de6ab98594fbbfb15d898e0b Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Mon, 29 Sep 2025 15:21:07 +0200 Subject: [PATCH 21/27] Bump to 2025.10, Java driver to 5.28.10 (#302) --- antora.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/antora.yml b/antora.yml index d5bb37d..29d7fee 100644 --- a/antora.yml +++ b/antora.yml @@ -1,15 +1,15 @@ name: java-reference title: Java Reference -version: '2025.09' +version: '2025.10' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.09' - neo4j-version-exact: '2025.09.0' - neo4j-buildnumber: '2025.09' - java-driver-version: '5.28.9' + neo4j-version: '2025.10' + neo4j-version-exact: '2025.10.0' + neo4j-buildnumber: '2025.10' + java-driver-version: '5.28.10' neo4j-documentation-branch: 'dev' page-origin-private: false neo4j-javadocs-base-uri: "{neo4j-docs-base-uri}/java-reference/{neo4j-version}/javadocs" From cbae1f374bdc92b7bba2b4158e0338195cb6ab45 Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Fri, 17 Oct 2025 11:59:40 +0200 Subject: [PATCH 22/27] Update Java to 21 (#306) * Update Java to 21 * Add a link to the Bolt docs * Update setup.adoc --- modules/ROOT/pages/extending-neo4j/project-setup.adoc | 6 +++--- modules/ROOT/pages/java-embedded/bolt.adoc | 5 +---- modules/ROOT/pages/java-embedded/setup.adoc | 4 ++-- modules/ROOT/pages/jmx-metrics.adoc | 6 +++--- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/modules/ROOT/pages/extending-neo4j/project-setup.adoc b/modules/ROOT/pages/extending-neo4j/project-setup.adoc index c9c6cb7..a8482a8 100644 --- a/modules/ROOT/pages/extending-neo4j/project-setup.adoc +++ b/modules/ROOT/pages/extending-neo4j/project-setup.adoc @@ -38,7 +38,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs A template project for building a Neo4j Procedure - 17 + 21 ${java.version} {neo4j-version-exact} @@ -114,8 +114,8 @@ Once the procedure has been deployed to the _plugins_ directory of each Neo4j in maven-compiler-plugin - 17 - 17 + 21 + 21 diff --git a/modules/ROOT/pages/java-embedded/bolt.adoc b/modules/ROOT/pages/java-embedded/bolt.adoc index 027c52e..f9cc2fe 100644 --- a/modules/ROOT/pages/java-embedded/bolt.adoc +++ b/modules/ROOT/pages/java-embedded/bolt.adoc @@ -1,13 +1,10 @@ :description: How to open a Bolt connector to your embedded instance to get GUI administration and other benefits. -:org-neo4j-graphdb-factory-GraphDatabaseFactory: {neo4j-javadocs-base-uri}/org/neo4j/graphdb/factory/GraphDatabaseFactory.html - - [[java-embedded-bolt]] = Bolt connector This describes how to open a Bolt connector to your embedded instance to get GUI administration and other benefits. -Accessing Neo4j embedded via the Bolt protocol. +Accessing Neo4j embedded via the link:https://neo4j.com/docs/bolt/current/[Bolt protocol]. The Neo4j Browser and the official Neo4j Drivers use the Bolt database protocol to communicate with Neo4j. By default, Neo4j embedded does not expose a Bolt connector, but you can enable one. diff --git a/modules/ROOT/pages/java-embedded/setup.adoc b/modules/ROOT/pages/java-embedded/setup.adoc index 3c4b6d0..2b69849 100644 --- a/modules/ROOT/pages/java-embedded/setup.adoc +++ b/modules/ROOT/pages/java-embedded/setup.adoc @@ -17,9 +17,9 @@ The following examples use the top-level artifact approach. [NOTE] -.[enterprise-edition] ==== The examples are only valid for Neo4j Community Edition. + To add Neo4j Enterprise Edition as a dependency, please get in contact with link:https://neo4j.com/contact-us/[Neo4j Professional Services^]. See link:{neo4j-docs-base-uri}/operations-manual/{page-version}/introduction[Operations Manual -> Introduction] for details about the Community and Enterprise Editions. ==== @@ -51,7 +51,7 @@ Where the `artifactId` is found in the <> table. === Eclipse and Maven -For development in link:http://www.eclipse.org[Eclipse^], it is recommended to install the link:http://www.eclipse.org/m2e/[m2e plugin^] and let Maven manage the project build classpath instead. +For development in link:https://www.eclipse.org[Eclipse^], it is recommended to install the link:https://www.eclipse.org/m2e/[m2e plugin^] and let Maven manage the project build classpath instead. This also adds the possibility to build your project both via the command line with Maven and have a working Eclipse setup for development. diff --git a/modules/ROOT/pages/jmx-metrics.adoc b/modules/ROOT/pages/jmx-metrics.adoc index fd877d8..32d9b57 100644 --- a/modules/ROOT/pages/jmx-metrics.adoc +++ b/modules/ROOT/pages/jmx-metrics.adoc @@ -43,7 +43,7 @@ server.jvm.additional=-Dcom.sun.management.jmxremote.ssl=false [IMPORTANT] ==== -Although SSL for JMX Remote Management is disabled throughout this document, to configure it based on your requirements, you can follow the instructions in the link:https://docs.oracle.com/en/java/javase/11/management/monitoring-and-management-using-jmx-technology.html[Java SE 11 Monitoring and Management Guide^]. +Although SSL for JMX Remote Management is disabled throughout this document, to configure it based on your requirements, you can follow the instructions in the link:https://docs.oracle.com/en/java/javase/21/management/monitoring-and-management-using-jmx-technology.html[Java SE 21 Monitoring and Management Guide^]. ==== @@ -53,7 +53,7 @@ Although SSL for JMX Remote Management is disabled throughout this document, to Password authentication is enabled by default in JMX Remote Management. You can find information about setting up authentication with LDAP and file-based approach in the following sections. -Refer to the link:https://docs.oracle.com/en/java/javase/11/management/monitoring-and-management-using-jmx-technology.html[Java SE 11 Monitoring and Management Guide^] for more options, including configuration steps for SSL client authentication. +Refer to the link:https://docs.oracle.com/en/java/javase/21/management/monitoring-and-management-using-jmx-technology.html[Java SE 21 Monitoring and Management Guide^] for more options, including configuration steps for SSL client authentication. [[ldap]] @@ -184,7 +184,7 @@ The `` value is configured by the `com.sun.management.jmxremote.port` prop Besides the MBeans, exposed by the JVM, you also see be default `neo4j.metrics` section in the MBeans tab. Under that, you have access to all the monitoring information exposed by Neo4j. -For opening JMX to remote monitoring access, please see <> and link:https://docs.oracle.com/en/java/javase/11/management/monitoring-and-management-using-jmx-technology.html#GUID-805517EC-2D33-4D61-81D8-4D0FA770D1B8[the JMX documention^]. +For opening JMX to remote monitoring access, please see <> and link:https://docs.oracle.com/en/java/javase/21/management/monitoring-and-management-using-jmx-technology.html#GUID-805517EC-2D33-4D61-81D8-4D0FA770D1B8[the JMX documention^]. .Neo4j MBeans view image::jconsole-beans1.png[alt="Neo4j MBeans view", width=600] From 905a70dc0e4cc7101c8e946611034613c3d289e3 Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Thu, 30 Oct 2025 17:20:17 +0100 Subject: [PATCH 23/27] Update antora.yml (#312) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index 29d7fee..86fc960 100644 --- a/antora.yml +++ b/antora.yml @@ -1,14 +1,14 @@ name: java-reference title: Java Reference -version: '2025.10' +version: '2025.11' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: - neo4j-version: '2025.10' - neo4j-version-exact: '2025.10.0' - neo4j-buildnumber: '2025.10' + neo4j-version: '2025.11' + neo4j-version-exact: '2025.11.0' + neo4j-buildnumber: '2025.11' java-driver-version: '5.28.10' neo4j-documentation-branch: 'dev' page-origin-private: false From 279219fef8c3e44d5167f8850331a1e5b013a43a Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Thu, 13 Nov 2025 15:18:30 +0100 Subject: [PATCH 24/27] Update Java Driver to 6.0.2 (#315) * Update Neo4j v. to 2025.12, Java Driver to 6.0.2 * Back to 2025.11 --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index 86fc960..baa2fd7 100644 --- a/antora.yml +++ b/antora.yml @@ -9,7 +9,7 @@ asciidoc: neo4j-version: '2025.11' neo4j-version-exact: '2025.11.0' neo4j-buildnumber: '2025.11' - java-driver-version: '5.28.10' + java-driver-version: '6.0.2' neo4j-documentation-branch: 'dev' page-origin-private: false neo4j-javadocs-base-uri: "{neo4j-docs-base-uri}/java-reference/{neo4j-version}/javadocs" From 8e8ee39f551487623b43844b1dc3e3fac51f5f44 Mon Sep 17 00:00:00 2001 From: JoelBergstrand Date: Tue, 9 Dec 2025 11:08:38 +0100 Subject: [PATCH 25/27] Clarified naming rules for user defined callables and added list for reserved and deprecated namespaces (#310) * Clarified naming rules for user defined callables and added list for reserved and deprecated namespaces * Apply suggestions from code review Co-authored-by: Richard Sill <156673635+rsill-neo4j@users.noreply.github.com> * Updated deprecating root for procedures * Update modules/ROOT/pages/extending-neo4j/procedures.adoc * Apply suggestions from code review --------- Co-authored-by: Richard Sill <156673635+rsill-neo4j@users.noreply.github.com> Co-authored-by: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> --- .../aggregation-functions.adoc | 61 +++++++++++++++++++ .../ROOT/pages/extending-neo4j/functions.adoc | 59 ++++++++++++++++++ .../pages/extending-neo4j/procedures.adoc | 29 ++++++++- 3 files changed, 148 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc b/modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc index c431189..f016a8c 100644 --- a/modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc +++ b/modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc @@ -32,6 +32,13 @@ An aggregator class contains one method annotated with `@UserAggregationUpdate` The method annotated with `@UserAggregationUpdate` will be called multiple times and enables the class to aggregate data. When the aggregation is done, the method annotated with `@UserAggregationResult` will be called once and the result of the aggregation will be returned. +Particular things to note: + +* All functions are annotated with `@UserAggregationFunction`. +* The aggregation function name must be namespaced and is not allowed in reserved namespaces. +* If a user-defined aggregation function is registered with the same name as a built-in function in a deprecated namespace, the built-in function is shadowed. + + See xref:extending-neo4j/values-and-types.adoc[] for details on values and types. For more details, see the Neo4j Javadocs for link:{org-neo4j-procedure-UserAggregationFunction}[`org.neo4j.procedure.UserAggregationFunction`^]. @@ -132,3 +139,57 @@ public class LongestStringTest } ---- +[[reserved-and-deprecated-namespaces]] +== Reserved and deprecated function namespaces + +Note that deprecated function namespaces will be moved to reserved in the next major Cypher version. +For more information about Neo4j and Cypher versioning, see link:https://neo4j.com/docs/operations-manual/current/introduction/#_cypher_versions[Operations manual -> Introduction]. +[[reserved-and-deprecated-function-namespaces]] +.Overview of reserved and deprecated function namespaces and names +[options="header", cols="m,m"] +|=== +| Reserved | Deprecated in Cypher 25 since Neo4j 2025.11 +| * | abac.* +| date | aura.* +| date.realtime | builtin.* +| date.statement | cdc.* +| date.transaction | coll.* +| date.truncate | date.* +| datetime | datetime.* +| datetime.fromepoch | db.* +| datetime.fromepochmillis | dbms.* +| datetime.realtime | duration.* +| datetime.statement | graph.* +| datetime.transaction | internal.* +| datetime.truncate | localdatetime.* +| db.nameFromElementId | localtime.* +| duration | math.* +| duration.between | plugin.* +| duration.inDays | point.* +| duration.inMonths | stored.* +| duration.inSeconds | string.* +| graph.byElementId | time.* +| graph.byName | tx.* +| graph.names | unsupported.* +| graph.propertiesByName | vector.* +| localdatetime | +| localdatetime.realtime | +| localdatetime.statement | +| localdatetime.transaction | +| localdatetime.truncate | +| localtime | +| localtime.realtime | +| localtime.statement | +| localtime.transaction | +| localtime.truncate | +| point.distance | +| point.withinBBox | +| time | +| time.realtime | +| time.statement | +| time.transaction | +| time.truncate | +| vector.similarity.cosine | +| vector.similarity.euclidean | +|=== + diff --git a/modules/ROOT/pages/extending-neo4j/functions.adoc b/modules/ROOT/pages/extending-neo4j/functions.adoc index 147957f..b783674 100644 --- a/modules/ROOT/pages/extending-neo4j/functions.adoc +++ b/modules/ROOT/pages/extending-neo4j/functions.adoc @@ -30,6 +30,12 @@ RETURN org.neo4j.examples.join(collect(p.names)) User-defined functions are created similarly to how procedures are created. But unlike procedures, they are annotated with `@UserFunction` and return a single value instead of a stream of values. +Particular things to note: + +* All functions are annotated with `@UserFunction`. +* The function name must be namespaced and is not allowed in reserved namespaces. +* If a function is registered with the same name as a built-in function in a deprecated namespace, the built-in function is shadowed. + See xref:extending-neo4j/values-and-types.adoc[] for details on values and types. For more details, see the link:{org-neo4j-procedure-UserFunction}[Neo4j Javadocs for `org.neo4j.procedure.UserFunction`^]. @@ -120,3 +126,56 @@ public class JoinTest { } ---- +[[reserved-and-deprecated-namespaces]] +== Reserved and deprecated function namespaces + +Note that deprecated function namespaces will be moved to reserved in the next major Cypher version. +For more information about Neo4j and Cypher versioning, see link:https://neo4j.com/docs/operations-manual/current/introduction/#_cypher_versions[Operations manual -> Introduction]. +[[reserved-and-deprecated-function-namespaces]] +.Overview of reserved and deprecated function namespaces and names +[options="header", cols="m,m"] +|=== +| Reserved | Deprecated in Cypher 25 since Neo4j 2025.11 +| * | abac.* +| date | aura.* +| date.realtime | builtin.* +| date.statement | cdc.* +| date.transaction | coll.* +| date.truncate | date.* +| datetime | datetime.* +| datetime.fromepoch | db.* +| datetime.fromepochmillis | dbms.* +| datetime.realtime | duration.* +| datetime.statement | graph.* +| datetime.transaction | internal.* +| datetime.truncate | localdatetime.* +| db.nameFromElementId | localtime.* +| duration | math.* +| duration.between | plugin.* +| duration.inDays | point.* +| duration.inMonths | stored.* +| duration.inSeconds | string.* +| graph.byElementId | time.* +| graph.byName | tx.* +| graph.names | unsupported.* +| graph.propertiesByName | vector.* +| localdatetime | +| localdatetime.realtime | +| localdatetime.statement | +| localdatetime.transaction | +| localdatetime.truncate | +| localtime | +| localtime.realtime | +| localtime.statement | +| localtime.transaction | +| localtime.truncate | +| point.distance | +| point.withinBBox | +| time | +| time.realtime | +| time.statement | +| time.transaction | +| time.truncate | +| vector.similarity.cosine | +| vector.similarity.euclidean | +|=== \ No newline at end of file diff --git a/modules/ROOT/pages/extending-neo4j/procedures.adoc b/modules/ROOT/pages/extending-neo4j/procedures.adoc index 2d61214..75df9d0 100644 --- a/modules/ROOT/pages/extending-neo4j/procedures.adoc +++ b/modules/ROOT/pages/extending-neo4j/procedures.adoc @@ -143,6 +143,8 @@ Particular things to note: * The procedure annotation can take three optional arguments: `name`, `mode`, and `eager`. ** `name` is used to specify a different name for the procedure than the default generated, which is `class.path.nameOfMethod`. If `mode` is specified, `name` must be specified as well. +** `name` is not allowed in a reserved namespace, and having a `name` without a namespace is deprecated behavior. +** If a procedure is registered with the same name as a built-in procedure in a deprecated namespace, the built-in procedure is shadowed. ** `mode` is used to declare the types of interactions that the procedure performs. A procedure fails if it attempts to execute database operations that violate its mode. The default `mode` is `READ`. @@ -163,7 +165,7 @@ Particular things to note: MATCH (n) WHERE n.key = 'value' WITH n -CALL deleteNeighbours(n, 'FOLLOWS') +CALL example.deleteNeighbours(n, 'FOLLOWS') ---- This query can delete some of the nodes that are matched by the Cypher query, and the `n.key` lookup will fail. Marking this procedure as `eager` prevents this from causing an error in Cypher code. @@ -273,3 +275,28 @@ public class MyProcedures { } ---- + +[[reserved-and-deprecated-namespaces]] +== Reserved and deprecated procedure namespaces + +Note that deprecated procedure namespaces will be moved to reserved in the next major Cypher version. +For more information about Neo4j and Cypher versioning, see link:https://neo4j.com/docs/operations-manual/current/introduction/#_cypher_versions[Operations manual -> Introduction]. +[[reserved-and-deprecated-procedure-namespaces]] +.Overview of reserved and deprecated procedure namespaces +[options="header", cols="m,m"] +|=== +| Reserved | Deprecated in Cypher 25 since Neo4j 2025.11 +| cdc.* | * +| date.* | abac.* +| datetime.* | aura.* +| db.* | builtin.* +| dbms.* | coll.* +| duration.* | math.* +| graph.* | plugin.* +| internal.* | point.* +| localdatetime.* | stored.* +| localtime.* | string.* +| time.* | vector.* +| tx.* | +| unsupported.* | +|=== From 406f85384097ba9a858b3da0020444f5fa86082b Mon Sep 17 00:00:00 2001 From: Louise Berglund Date: Thu, 18 Dec 2025 15:45:10 +0100 Subject: [PATCH 26/27] We have reverted the deprecation of aura.* in product. (#321) --- .../aggregation-functions.adoc | 44 +++++++++---------- .../ROOT/pages/extending-neo4j/functions.adoc | 44 +++++++++---------- .../pages/extending-neo4j/procedures.adoc | 18 ++++---- 3 files changed, 53 insertions(+), 53 deletions(-) diff --git a/modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc b/modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc index f016a8c..4db23ed 100644 --- a/modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc +++ b/modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc @@ -150,28 +150,28 @@ For more information about Neo4j and Cypher versioning, see link:https://neo4j.c |=== | Reserved | Deprecated in Cypher 25 since Neo4j 2025.11 | * | abac.* -| date | aura.* -| date.realtime | builtin.* -| date.statement | cdc.* -| date.transaction | coll.* -| date.truncate | date.* -| datetime | datetime.* -| datetime.fromepoch | db.* -| datetime.fromepochmillis | dbms.* -| datetime.realtime | duration.* -| datetime.statement | graph.* -| datetime.transaction | internal.* -| datetime.truncate | localdatetime.* -| db.nameFromElementId | localtime.* -| duration | math.* -| duration.between | plugin.* -| duration.inDays | point.* -| duration.inMonths | stored.* -| duration.inSeconds | string.* -| graph.byElementId | time.* -| graph.byName | tx.* -| graph.names | unsupported.* -| graph.propertiesByName | vector.* +| date | builtin.* +| date.realtime | cdc.* +| date.statement | coll.* +| date.transaction | date.* +| date.truncate | datetime.* +| datetime | db.* +| datetime.fromepoch | dbms.* +| datetime.fromepochmillis | duration.* +| datetime.realtime | graph.* +| datetime.statement | internal.* +| datetime.transaction | localdatetime.* +| datetime.truncate | localtime.* +| db.nameFromElementId | math.* +| duration | plugin.* +| duration.between | point.* +| duration.inDays | stored.* +| duration.inMonths | string.* +| duration.inSeconds | time.* +| graph.byElementId | tx.* +| graph.byName | unsupported.* +| graph.names | vector.* +| graph.propertiesByName | | localdatetime | | localdatetime.realtime | | localdatetime.statement | diff --git a/modules/ROOT/pages/extending-neo4j/functions.adoc b/modules/ROOT/pages/extending-neo4j/functions.adoc index b783674..fcfb550 100644 --- a/modules/ROOT/pages/extending-neo4j/functions.adoc +++ b/modules/ROOT/pages/extending-neo4j/functions.adoc @@ -137,28 +137,28 @@ For more information about Neo4j and Cypher versioning, see link:https://neo4j.c |=== | Reserved | Deprecated in Cypher 25 since Neo4j 2025.11 | * | abac.* -| date | aura.* -| date.realtime | builtin.* -| date.statement | cdc.* -| date.transaction | coll.* -| date.truncate | date.* -| datetime | datetime.* -| datetime.fromepoch | db.* -| datetime.fromepochmillis | dbms.* -| datetime.realtime | duration.* -| datetime.statement | graph.* -| datetime.transaction | internal.* -| datetime.truncate | localdatetime.* -| db.nameFromElementId | localtime.* -| duration | math.* -| duration.between | plugin.* -| duration.inDays | point.* -| duration.inMonths | stored.* -| duration.inSeconds | string.* -| graph.byElementId | time.* -| graph.byName | tx.* -| graph.names | unsupported.* -| graph.propertiesByName | vector.* +| date | builtin.* +| date.realtime | cdc.* +| date.statement | coll.* +| date.transaction | date.* +| date.truncate | datetime.* +| datetime | db.* +| datetime.fromepoch | dbms.* +| datetime.fromepochmillis | duration.* +| datetime.realtime | graph.* +| datetime.statement | internal.* +| datetime.transaction | localdatetime.* +| datetime.truncate | localtime.* +| db.nameFromElementId | math.* +| duration | plugin.* +| duration.between | point.* +| duration.inDays | stored.* +| duration.inMonths | string.* +| duration.inSeconds | time.* +| graph.byElementId | tx.* +| graph.byName | unsupported.* +| graph.names | vector.* +| graph.propertiesByName | | localdatetime | | localdatetime.realtime | | localdatetime.statement | diff --git a/modules/ROOT/pages/extending-neo4j/procedures.adoc b/modules/ROOT/pages/extending-neo4j/procedures.adoc index 75df9d0..64d1bfb 100644 --- a/modules/ROOT/pages/extending-neo4j/procedures.adoc +++ b/modules/ROOT/pages/extending-neo4j/procedures.adoc @@ -288,15 +288,15 @@ For more information about Neo4j and Cypher versioning, see link:https://neo4j.c | Reserved | Deprecated in Cypher 25 since Neo4j 2025.11 | cdc.* | * | date.* | abac.* -| datetime.* | aura.* -| db.* | builtin.* -| dbms.* | coll.* -| duration.* | math.* -| graph.* | plugin.* -| internal.* | point.* -| localdatetime.* | stored.* -| localtime.* | string.* -| time.* | vector.* +| datetime.* | builtin.* +| db.* | coll.* +| dbms.* | math.* +| duration.* | plugin.* +| graph.* | point.* +| internal.* | stored.* +| localdatetime.* | string.* +| localtime.* | vector.* +| time.* | | tx.* | | unsupported.* | |=== From 2bce8f4cbf85911b4d5d7f9889f4e77fbec1581e Mon Sep 17 00:00:00 2001 From: Natalia Ivakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Mon, 22 Dec 2025 10:14:00 +0100 Subject: [PATCH 27/27] Update antora.yml --- antora.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/antora.yml b/antora.yml index e85e519..9bb1a3b 100644 --- a/antora.yml +++ b/antora.yml @@ -1,10 +1,6 @@ name: java-reference title: Java Reference -<<<<<<< HEAD -version: '2025.10' -======= version: '2025.11' ->>>>>>> dev start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc