From d9b0f25be7efbdf4dc3165bb124fd4250d1d275a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louise=20S=C3=B6derstr=C3=B6m?= Date: Mon, 27 Jan 2025 09:12:35 +0100 Subject: [PATCH 1/5] Include GQLSTATUS in changelogs after 5.23 Also fix typo --- modules/ROOT/pages/changelogs.adoc | 57 ++++++++++++++----- .../notifications/all-notifications.adoc | 2 +- 2 files changed, 43 insertions(+), 16 deletions(-) diff --git a/modules/ROOT/pages/changelogs.adoc b/modules/ROOT/pages/changelogs.adoc index 5c152349..72cecbf6 100644 --- a/modules/ROOT/pages/changelogs.adoc +++ b/modules/ROOT/pages/changelogs.adoc @@ -3,13 +3,26 @@ == Neo4j 2025.01 **New:** -[source, status codes, role="noheader"] ------ -Neo.ClientNotification.Cluster.ServerNotAvailable -Neo.ClientNotification.Cluster.ServerCatchingUp -Neo.ClientNotification.Cluster.ServerFailed -Neo.ClientNotification.Cluster.ServerCaughtUp ------ +[options="header", cols="<1m,<1"] +|=== +| GQLSTATUS +| Neo4j code + +| 01N80 +| Neo.ClientNotification.Cluster.ServerFailed + +| 01N81 +| Neo.ClientNotification.Cluster.ServerCatchingUp + +| 01N82 +| Neo.ClientNotification.Cluster.ServerNotAvailable + +| 03N85 +| Neo.ClientNotification.Cluster.ServerCaughtUp + +|=== + + Starting from 2025.01, when using Cypher25, queries using `WAIT` return the notifications listed above instead of result rows. The behaviour for Cypher5 remains unchanged. @@ -22,14 +35,28 @@ For more information, see link:https://neo4j.com/docs/operations-manual/current/ **New:** -[source, status codes, role="noheader"] ------ -Neo.ClientNotification.Statement.RedundantOptionalProcedure -Neo.ClientNotification.Statement.RedundantOptionalSubquery -Neo.ClientNotification.Security.AuthProviderNotDefined -Neo.ClientNotification.Security.ExternalAuthNotEnabled -Neo.ClientNotification.Statement.AggregationSkippedNull ------ +[options="header", cols="<1m,<1"] +|=== + +| GQLSTATUS +| Neo4j code + +| 00N72 +| Neo.ClientNotification.Security.AuthProviderNotDefined + +| 01G11 +| Neo.ClientNotification.Statement.AggregationSkippedNull + +| 01N71 +| Neo.ClientNotification.Security.ExternalAuthNotEnabled + +| 03N61 +| Neo.ClientNotification.Statement.RedundantOptionalProcedure + +| 03N62 +| Neo.ClientNotification.Statement.RedundantOptionalSubquery + +|=== == Neo4j 5.23 diff --git a/modules/ROOT/pages/notifications/all-notifications.adoc b/modules/ROOT/pages/notifications/all-notifications.adoc index b74cdcf5..2e2d95bd 100644 --- a/modules/ROOT/pages/notifications/all-notifications.adoc +++ b/modules/ROOT/pages/notifications/all-notifications.adoc @@ -4100,7 +4100,7 @@ Investigate the failing server using the provided message. [cols="<1s,<4"] |=== |Neo4j code -m|Neo.ClientNotification.Cluster.ServerCachingUp +m|Neo.ClientNotification.Cluster.ServerCatchingUp |Title a|Server is still catching up. |Description From cfea864b7b72964c524bf64a6f5b867123b909b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louise=20S=C3=B6derstr=C3=B6m?= Date: Mon, 27 Jan 2025 09:50:52 +0100 Subject: [PATCH 2/5] Comment out change mentioning Cypher 25 --- modules/ROOT/pages/changelogs.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/changelogs.adoc b/modules/ROOT/pages/changelogs.adoc index 72cecbf6..63e4bb51 100644 --- a/modules/ROOT/pages/changelogs.adoc +++ b/modules/ROOT/pages/changelogs.adoc @@ -23,8 +23,8 @@ |=== -Starting from 2025.01, when using Cypher25, queries using `WAIT` return the notifications listed above instead of result rows. -The behaviour for Cypher5 remains unchanged. +//Starting from 2025.01, when using Cypher25, queries using `WAIT` return the notifications listed above instead of result rows. +//The behaviour for Cypher5 remains unchanged. == Neo4j 5.25 From 17dd58f432277e7143d81f9417eb15a15ad12382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louise=20S=C3=B6derstr=C3=B6m?= Date: Mon, 27 Jan 2025 09:54:25 +0100 Subject: [PATCH 3/5] Add missing parts of changelog --- modules/ROOT/pages/changelogs.adoc | 67 +++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/changelogs.adoc b/modules/ROOT/pages/changelogs.adoc index 63e4bb51..7a9ff81c 100644 --- a/modules/ROOT/pages/changelogs.adoc +++ b/modules/ROOT/pages/changelogs.adoc @@ -26,6 +26,33 @@ //Starting from 2025.01, when using Cypher25, queries using `WAIT` return the notifications listed above instead of result rows. //The behaviour for Cypher5 remains unchanged. +== Neo4j 5.26 + +**New:** + +[options="header", cols="<1m,<1"] +|=== + +| GQLSTATUS +| Neo4j code + +| 01N72 +| Neo.ClientNotification.Statement.InsecureProtocol + +| 42I50 +| Neo.ClientError.Schema.TokenLengthError + +|=== + +Starting from 5.26, Neo4j errors sent over drivers include new fields, +such as GQLSTATUS code, StatusDescription, and DiagnosticRecord. +For more information, see xref:errors/index.adoc#gqlstatus-error-object[GQL-status error object]. + + +**Deprecations:** + +The server-side Notification API and the `getNotifications()` method of the Result Core API were deprecated. + == Neo4j 5.25 Starting from 5.25, the query log includes the GQL error information under the JSON object `errorInfo`. @@ -56,6 +83,9 @@ For more information, see link:https://neo4j.com/docs/operations-manual/current/ | 03N62 | Neo.ClientNotification.Statement.RedundantOptionalSubquery +| ?? // Not assigned yet and not documented +| Neo.TransientError.Invalid.ResourceExhaustion + |=== == Neo4j 5.23 @@ -75,6 +105,7 @@ For more information, see xref:notifications/index.adoc#gqlstatus-notification-o Neo.ClientNotification.Cluster.RequestedTopologyMatchedCurrentTopology Neo.ClientNotification.Schema.IndexOrConstraintAlreadyExists Neo.ClientNotification.Schema.IndexOrConstraintDoesNotExist +Neo.ClientError.Statement.InvalidTargetDatabaseError ----- == Neo4j 5.15 @@ -107,12 +138,22 @@ The usage of `Neo.ClientNotification.Statement.RuntimeExperimental` has been rem [source, status codes, role="noheader"] ----- Neo.ClientNotification.Cluster.ServerAlreadyEnabled +Neo.ClientNotification.Cluster.ServerAlreadyCordoned Neo.ClientError.ChangeDataCapture.InvalidIdentifier Neo.TransientError.ChangeDataCapture.FutureIdentifier Neo.DatabaseError.ChangeDataCapture.Disabled Neo.DatabaseError.ChangeDataCapture.ScanFailure ----- +== Neo4j 5.10 + +**New:** + +[source, status codes, role="noheader"] +----- +Neo.TransientError.Transaction.QueryExecutionFailedOnTransaction +----- + == Neo4j 5.9 **New:** @@ -123,6 +164,17 @@ Neo.ClientNotification.Security.CommandHasNoEffect Neo.ClientNotification.Security.ImpossibleRevokeCommand ----- +== Neo4j 5.7 + +**New:** + +[source, status codes, role="noheader"] +----- +Neo.ClientError.Transacton.TransactionTimedOutClientConfiguration +Neo.ClientError.Routing.DbmsInPanic +Neo.ClientError.Routing.RoutingFailed +----- + == Neo4j 5.5 **New:** @@ -130,11 +182,12 @@ Neo.ClientNotification.Security.ImpossibleRevokeCommand [source, status codes, role="noheader"] ----- Neo.ClientNotification.Statement.RepeatedRelationshipReference +Neo.ClientError.Statement.RemoteExecutionClientError +Neo.TransientError.Statement.RemoteExecutionTransientError ----- == Neo4j 5.4 - **New:** [source, status codes, role="noheader"] @@ -142,6 +195,16 @@ Neo.ClientNotification.Statement.RepeatedRelationshipReference Neo.ClientNotification.Statement.UnsatisfiableRelationshipTypeExpression ----- +== Neo4j 5.3 + +**New:** + +[source, status codes, role="noheader"] +----- +Neo.DatabaseError.Transaction.TransactionTerminationFailed +----- + + == Neo4j 5.0 **New:** @@ -191,6 +254,8 @@ Neo.ClientNotification.Statement.UnboundedVariableLengthPatternWarning ----- Neo.ClientError.Statement.UnsupportedAdministrationCommand Neo.DatabaseError.Transaction.LinkedTransactionError +Neo.TransientError.Transaction.LeaderSwitch +Neo.ClientError.Database.IllegalAliasChain ----- From c4f868462ea3e159adc6c71f5752cb31d78cd501 Mon Sep 17 00:00:00 2001 From: Natalia Ivakina Date: Fri, 14 Feb 2025 13:52:32 +0100 Subject: [PATCH 4/5] Update errors and notifications lists --- modules/ROOT/pages/changelogs.adoc | 10 ++----- modules/ROOT/pages/errors/all-errors.adoc | 10 +++++++ .../notifications/all-notifications.adoc | 28 +++++++++++++++++-- 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/modules/ROOT/pages/changelogs.adoc b/modules/ROOT/pages/changelogs.adoc index 7a9ff81c..3f37fee2 100644 --- a/modules/ROOT/pages/changelogs.adoc +++ b/modules/ROOT/pages/changelogs.adoc @@ -23,8 +23,8 @@ |=== -//Starting from 2025.01, when using Cypher25, queries using `WAIT` return the notifications listed above instead of result rows. -//The behaviour for Cypher5 remains unchanged. +//Starting from 2025.01, when using Cypher 25, queries using `WAIT` return the notifications listed above instead of result rows. +//The behaviour for Cypher 5 remains unchanged. == Neo4j 5.26 @@ -49,10 +49,6 @@ such as GQLSTATUS code, StatusDescription, and DiagnosticRecord. For more information, see xref:errors/index.adoc#gqlstatus-error-object[GQL-status error object]. -**Deprecations:** - -The server-side Notification API and the `getNotifications()` method of the Result Core API were deprecated. - == Neo4j 5.25 Starting from 5.25, the query log includes the GQL error information under the JSON object `errorInfo`. @@ -83,7 +79,7 @@ For more information, see link:https://neo4j.com/docs/operations-manual/current/ | 03N62 | Neo.ClientNotification.Statement.RedundantOptionalSubquery -| ?? // Not assigned yet and not documented +| N/A | Neo.TransientError.Invalid.ResourceExhaustion |=== diff --git a/modules/ROOT/pages/errors/all-errors.adoc b/modules/ROOT/pages/errors/all-errors.adoc index 0f4b50a4..157a0b35 100644 --- a/modules/ROOT/pages/errors/all-errors.adoc +++ b/modules/ROOT/pages/errors/all-errors.adoc @@ -145,6 +145,9 @@ If you want to drop the index, you must also drop the constraint. | Neo.ClientError.Schema.RepeatedRelationshipTypeInSchema | Unable to create an index or a constraint because the schema had a repeated relationship type. +| Neo.ClientError.Schema.TokenLengthError +| A token name, such as a label, relationship type or property key is too long. + | Neo.ClientError.Schema.TokenNameError | An invalid name is used for a token (label, relationship type, property key). @@ -188,6 +191,9 @@ Please reconnect. | Neo.ClientError.Statement.ExternalResourceFailed | Access to an external resource failed. +| Neo.ClientError.Statement.InvalidTargetDatabaseError +| The specified database is not a valid target for this command. + | Neo.ClientError.Statement.NotSystemDatabaseError | This is an administration command and it should be executed against the `system` database. @@ -319,6 +325,10 @@ You could try increasing the stack size; for example to set the stack size to `2 There is not enough memory to perform the current task. Please try increasing `server.memory.off_heap.transaction_max_size` in the Neo4j configuration file (normally in _conf/neo4j.conf_ or, if you are using Neo4j Desktop, found through the user interface), and then restart the database. +| Neo.TransientError.Invalid.ResourceExhaustion +| The server has rejected this request as a resource is exhausted at the moment. +You can retry at a later time. For further details see server logs. + | Neo.TransientError.Request.NoThreadsAvailable | There are no available threads to serve this request at the moment. diff --git a/modules/ROOT/pages/notifications/all-notifications.adoc b/modules/ROOT/pages/notifications/all-notifications.adoc index 2e2d95bd..dbcd1f48 100644 --- a/modules/ROOT/pages/notifications/all-notifications.adoc +++ b/modules/ROOT/pages/notifications/all-notifications.adoc @@ -3369,7 +3369,7 @@ Use `DATABASE *` without the parameter to revoke the privilege on all databases. ===== [#_neo_clientnotification_security_authprovidernotdefined] -=== AuthProviderNotDefined +=== The auth provider is not defined .Notification details [cols="<1s,<4"] @@ -3485,7 +3485,7 @@ If it is correct, make sure to add it as a known auth provider in one or both of [#_neo_clientnotification_security_externalauthnotenabled] -=== ExternalAuthNotEnabled +=== External auth for user is not enabled .Notification details [cols="<1s,<4"] @@ -3587,6 +3587,30 @@ Until enabled, the new external auth will be ignored, and current external auth ====== ===== +[role=label--new-5.26] +=== Query uses an insecure protocol + +.Notification details +[cols="<1s,<4"] +|=== +|Neo4j code +m|Neo.ClientNotification.Statement.InsecureProtocol +|Title +a|Query uses an insecure protocol +|Description +a|The query uses an insecure protocol. Please consider using 'https' instead. +|Category +m|SECURITY +|GQLSTATUS code +m|01N72 +|Status description +a|warn: insecure URL protocol. Query uses an insecure protocol. Consider using 'https' instead. +|Classification +m|SECURITY +|SeverityLevel +m|WARNING +|=== + [#_topology_notifications] == `TOPOLOGY` notifications From 557d5a14b901beb4c70bcfb39ed6694e749f1932 Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Mon, 17 Feb 2025 10:12:09 +0100 Subject: [PATCH 5/5] Update modules/ROOT/pages/errors/all-errors.adoc --- modules/ROOT/pages/errors/all-errors.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/errors/all-errors.adoc b/modules/ROOT/pages/errors/all-errors.adoc index 157a0b35..a3bb5ff9 100644 --- a/modules/ROOT/pages/errors/all-errors.adoc +++ b/modules/ROOT/pages/errors/all-errors.adoc @@ -146,7 +146,7 @@ If you want to drop the index, you must also drop the constraint. | Unable to create an index or a constraint because the schema had a repeated relationship type. | Neo.ClientError.Schema.TokenLengthError -| A token name, such as a label, relationship type or property key is too long. +| A token name, such as a label, relationship type or property key is too long | Neo.ClientError.Schema.TokenNameError |