Changes to status codes per Neo4j version

Neo4j 5.25

Starting from 5.25, the query log includes the GQL error information under the JSON object errorInfo. For more information, see Operations Manual → GQL error information.

Neo4j 5.24

New:

Neo.ClientNotification.Statement.RedundantOptionalProcedure
Neo.ClientNotification.Statement.RedundantOptionalSubquery
Neo.ClientNotification.Security.AuthProviderNotDefined
Neo.ClientNotification.Security.ExternalAuthNotEnabled
Neo.ClientNotification.Statement.AggregationSkippedNull

Neo4j 5.23

From version 5.23, Neo4j has a new GqlStatusObject API in addition to the existing Notification API.

The GqlStatusObject API provides information about the status of a Cypher query or command execution in compliance with the GQL standard. It includes GQLSTATUS code, StatusDescription, and DiagnosticRecord. For more information, see GQL-status notification object.

Neo4j 5.17

New:

Neo.ClientNotification.Cluster.RequestedTopologyMatchedCurrentTopology
Neo.ClientNotification.Schema.IndexOrConstraintAlreadyExists
Neo.ClientNotification.Schema.IndexOrConstraintDoesNotExist

Neo4j 5.15

New:

Neo.ClientNotification.Cluster.CordonedServersExistedDuringAllocation

Neo4j 5.14

New:

Neo.ClientNotification.Cluster.NoDatabasesReallocated
Neo.ClientNotification.Statement.SideEffectVisibility

Changed

The usage of Neo.ClientNotification.Statement.RuntimeExperimental has been removed.

Neo4j 5.13

New:

Neo.ClientNotification.Cluster.ServerAlreadyEnabled
Neo.ClientError.ChangeDataCapture.InvalidIdentifier
Neo.TransientError.ChangeDataCapture.FutureIdentifier
Neo.DatabaseError.ChangeDataCapture.Disabled
Neo.DatabaseError.ChangeDataCapture.ScanFailure

Neo4j 5.9

New:

Neo.ClientNotification.Security.CommandHasNoEffect
Neo.ClientNotification.Security.ImpossibleRevokeCommand

Neo4j 5.5

New:

Neo.ClientNotification.Statement.RepeatedRelationshipReference

Neo4j 5.4

New:

Neo.ClientNotification.Statement.UnsatisfiableRelationshipTypeExpression

Neo4j 5.0

New:

neo.ClientNotification.Database.HomeDatabaseNotFound
Neo.ClientNotification.Request.DeprecatedFormat
neo.ClientNotification.Schema.HintedIndexNotFound
neo.ClientNotification.Statement.CartesianProduct
neo.ClientNotification.Statement.CodeGenerationFailed
neo.ClientNotification.Statement.DynamicProperty
neo.ClientNotification.Statement.EagerOperator
neo.ClientNotification.Statement.ExhaustiveShortestPath
neo.ClientNotification.Statement.NoApplicableIndex
neo.ClientNotification.Statement.RuntimeExperimental
neo.ClientNotification.Statement.SubqueryVariableShadowing
neo.ClientNotification.Statement.UnboundedVariableLengthPattern

Removed:

neo.ClientError.Statement.CodeGenerationFailed
neo.ClientNotification.Statement.CartesianProductWarning
neo.ClientNotification.Statement.DynamicPropertyWarning
neo.ClientNotification.Statement.EagerOperatorWarning
neo.ClientNotification.Statement.ExhaustiveShortestPathWarning
neo.ClientNotification.Statement.ExperimentalFeature
Neo.ClientNotification.Statement.MissingAlias
neo.ClientNotification.Statement.NoApplicableIndexWarning
neo.ClientNotification.Statement.SubqueryVariableShadowingWarning
neo.ClientNotification.Statement.UnboundedVariableLengthPatternWarning

Neo4j 4.4

New:

Neo.ClientError.Statement.UnsupportedAdministrationCommand
Neo.DatabaseError.Transaction.LinkedTransactionError

Neo4j 4.3

New:

Neo.ClientError.General.UpgradeRequired
Neo.TransientError.Statement.ExecutionTimeout

Neo4j 4.2

New:

Neo.ClientNotification.Statement.MissingAlias
Neo.ClientNotification.Statement.SubqueryVariableShadowingWarning
Neo.TransientError.Transaction.TransientTransactionFailure

Neo4j 4.1

New:

Neo.ClientError.Cluster.Routing
Neo.ClientError.General.TransactionOutOfMemoryError
Neo.ClientError.Statement.AccessMode
Neo.DatabaseError.Statement.RemoteExecutionFailed
Neo.TransientError.General.MemoryPoolOutOfMemoryError

Removed:

Neo.ClientError.Cluster.TransactionSizeExceedsLimit
Neo.DatabaseError.Cluster.SerializationFailure
Neo.TransientError.General.TransactionOutOfMemoryError

Neo4j 4.0

New:

Neo.ClientError.Cluster.TransactionSizeExceedsLimit
Neo.ClientError.Database.DatabaseNotFound
Neo.ClientError.Database.ExistingDatabaseFound
Neo.ClientError.Fabric.AccessMode
Neo.ClientError.Schema.ConstraintViolation
Neo.ClientError.Schema.ConstraintWithNameAlreadyExists
Neo.ClientError.Schema.EquivalentSchemaRuleAlreadyExists
Neo.ClientError.Schema.IndexMultipleFound
Neo.ClientError.Schema.IndexWithNameAlreadyExists
Neo.ClientError.Statement.NotSystemDatabaseError
Neo.ClientError.Statement.RuntimeUnsupportedError
Neo.ClientError.Transaction.InvalidBookmarkMixture
Neo.DatabaseError.Cluster.SerializationFailure
Neo.DatabaseError.Database.DatabaseLimitReached
Neo.DatabaseError.Database.UnableToStartDatabase
Neo.DatabaseError.Database.Unknown
Neo.DatabaseError.Fabric.RemoteExecutionFailed
Neo.DatabaseError.Schema.TokenLimitReached
Neo.DatabaseError.Statement.CodeGenerationFailed
Neo.TransientError.Database.DatabaseUnavailable
Neo.TransientError.General.TransactionMemoryLimit
Neo.TransientError.General.TransactionOutOfMemoryError
Neo.TransientError.Transaction.BookmarkTimeout
Neo.TransientError.Transaction.LeaseExpired
Neo.TransientError.Transaction.MaximumTransactionLimitReached

Removed:

Neo.ClientError.LegacyIndex.LegacyIndexNotFound
Neo.ClientError.Request.TransactionRequired
Neo.ClientError.Schema.ConstraintVerificationFailed
Neo.ClientError.Security.EncryptionRequired
Neo.ClientError.Statement.LabelNotFound
Neo.ClientNotification.Statement.CreateUniqueUnavailableWarning
Neo.ClientNotification.Statement.JoinHintUnsupportedWarning
Neo.ClientNotification.Statement.PlannerUnavailableWarning
Neo.ClientNotification.Statement.PlannerUnsupportedWarning
Neo.DatabaseError.Schema.LabelLimitReached
Neo.TransientError.Cluster.NoLeaderAvailable
Neo.TransientError.General.DatabaseUnavailable
Neo.TransientError.Network.CommunicationError
Neo.TransientError.Schema.SchemaModifiedConcurrently
Neo.TransientError.Transaction.InstanceStateChanged
Neo.TransientError.Transaction.LockSessionExpired