Changes to status codes per Neo4j version

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

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