Upgrade from older versions

This page contains the list of new features and breaking changes of the driver from version 5.28 to 6.x. For a full list of changes, see the driver changelog.

The latest driver version of the 6.x series is compatible with Neo4j server both 4.4, 5.x, and 202[56].x, so you can upgrade the driver before you upgrade the server. At the same time, the driver version 5.28 is forward compatible with Neo4j server 202[56].x, so you could also upgrade the server before the driver; however, given that it’s easier to roll back an application upgrade than a server upgrade, it’s recommended to start with the driver.

When upgrading the Neo4j server to a newer version, the Cypher queries in your application may also need updating.
See Cypher → Deprecations, additions, and compatibility.

New features

New type Vector

The type Vector allows for storing and retrieving Cypher VECTOR objects to/from the database. The VECTOR type is suitable for efficiently storing lists of homogeneous numbers, such as embeddings.

GQL status objects in errors

Exception objects also expose errors as GQL-status objects. The main difference between Neo4j error codes and GQL error codes is that the latter are more granular. For more information, see Error handling.

Breaking changes and deprecations

Deprecated features are likely to be removed in the next major version.

Version Message Status

6.0

NET Standard 2.1 support removed.

Supported runtimes are .NET versions 8, 9, and 10.

Changed

6.0

ISession, IRxSession, IAsyncSession — Methods .ReadTransaction() and .WriteTransaction() have been removed in favor of .ExecuteRead() and .ExecuteWrite(). The same holds for the async counterparts .ReadTransactionAsync() and .WriteTransactionAsync(), replaced by .ExecuteReadAsync() and .ExecuteWriteAsync().

The new methods behave similarly, but the argument types are different and the new methods do not support the .commit(), .rollback(), .close(), and .closed() methods.

Removed

6.0

IDriver — Method .CloseAsync() has been removed in favor of .DisposeAsync().

Removed

6.0

Bookmarks

Removed

6.0

ZonedDateTime — Two constructors not including DateTimeKind are deprecated (this and this).

Removed

6.0

INotification — Property Severity has been removed in favor of SeverityLevel/RawSeverityLevel.

Removed

6.0

Interface ILogger was renamed to INeo4jLogger in preparation for integration with standard logging framework.

Changed

6.0

IP6 — Methods ConfigBuilder.WithIpv6Enabled() and Config.Ipv6Enabled() have been removed; IP6 is now always enabled.

Removed

5.0

IEntity, INode, IRelationship — Method .Id() (long) is deprecated in favor of .ElementId() (string).

Deprecated

5.0

IRelationship — Methods .StartNodeId() and .EndNodeId() are deprecated in favor of .StartNodeElementId() and .EndNodeElementId(). Old identifiers were long, whereas new ElementIds are string.

Deprecated