-
Notifications
You must be signed in to change notification settings - Fork 69
5.X Change Log
grant lodge edited this page Apr 11, 2023
·
40 revisions
- the
Neo4j.Driver.Experimental
namespace has been renamed toNeo4j.Driver.Preview
. This will be a compile-time breaking change for any code using this namespace. No functionality has been changed.
- Introduce notification configuration, severity and category #691
- Introduce
IDriver.TryVerifyConnectivityAsync
#693 #See issue
No changes.
- The
IsRetriable
property on exceptions is now public
- The
ExecutableQuery
API has been added to theExperimental
namespace (see here for more information)
- Add documentation for SessionConfigBuilder.WithDatabase and SessionConfig.Database
- Exclude test code in snyk code analysis
- TestKit backend: exclude txMeta from Cypher types
- Add new exception types and change to explicitly identifying fast fail errors
- Remove database notions from bookmark manager.
- Fix Bookmark manager references outside of Neo4j.Driver.Experimental namespace.
- When replacing LastBookmark with LastBookmarks we accidentally removed the old property, not following the planned deprecation policy. It is now restored and marked as obsolete, and due for removal in 6.0 of the driver.
- Simplify creation of bookmark manager with default config.
- Fixed an issue bookmark manager experimental classes: correctly exposing
WithBookmarkManager
to use bookmark managers on session configuration(#654).
No changes.
No changes.
final tidying for major release.
- Introduce Experimental Bookmark Manager. (Not recommended for production use currently.) (#632)
- Using
Neo4j.Driver.Experimental.GraphDatabase.BookmarkManagerFactory
users can create anIBookmarkManager
. -
IBookmarkManager
can be passed toSessionConfigBuilder
when creating a creating a session by using theNeo4j.Driver.Experimental.ExperimentalExtensions
to addWithBookmarkManager
toSessionConfigBuilder
. - The Experimental methods will be finalized as:
-
Neo4j.Driver.Experimental.GraphDatabase.BookmarkManagerFactory
->Neo4j.Driver.GraphDatabase.BookmarkManagerFactory
-
Neo4j.Driver.Experimental.ExperimentalExtensions
->Neo4j.Driver.SessionConfigBuilder
.
-
- Using
- Transaction lifetimes. (#640)
⚠️ remaining managed transactions have been deprecated and replaced, removing the ability to commit or rollback transactions inside the unit of work scope.-
ISession.ReadTransaction
->ISession.ExecuteRead
-
ISession.WriteTransaction
->ISession.ExecuteWrite
-
IRxSession.ReadTransaction
->IRxSession.ExecuteRead
-
IRxSession.WriteTransaction
->IRxSession.ExecuteWrite
-
- Removal of 4.X Deprecations
- Removal of
IServerInfo.Version
(#638)
- Removal of
This release introduces full support for Neo4j 5.0 Servers.
We now release for .NET 6.0 and .NET Standard 2.0.
- Support for Bolt protocol version
5.0
- SSL Configuration(#585)
- SSL certificate trust rules can be set on driver initialization using
ConfigBuilder.WithCertificateTrustRule
-
CertificateTrustRule.TrustSystem
- Will verify certificates against the system's Certificate Authority store.
-
CertificateTrustRule.TrustList
- Users can specify a collection of X509Certificate2 or paths to load as trusted certificates.
-
CertificateTrustRule.TrustAny
- Will trust any SSL Cert.
-
⚠️ Users can not use bothConfigBuilder.WithCertificateTrustRule
and+s
/+ssc
in the url scheme at the same time.
- SSL certificate trust rules can be set on driver initialization using
- Added
Driver.GetServerInfoAsync
. (#605)- Will verify connectivity and return a
IServerInfo
detailing server summary.
- Will verify connectivity and return a
- Added
CanBeRetried
toException
. (#613)- All errors from driver that can be resolved by retrying an operation will return true.
- Add
IsOpen
to Result cursors. (#610)-
IsOpen
will return if the underlying cursor is open to read records; Attempting to read from a closed cursor will throw aResultConsumedException
.
-
- Connection Acquisition Timeout (#588)
-
ConfigBuilder.WithConnectionAcquisitionTimeout
allows users to set maximum wait time to get a connection from the pool or create a new connection on driver initialization. ⚠️ default: 60 seconds
-
- Transaction lifetimes. (#612)
⚠️ Async managed transactions have been deprecated and replaced, removing the ability to commit or rollback transactions inside the unit of work scope.-
IAsyncSession.ReadTransactionAsync
->IAsyncSession.ExecuteReadAsync
-
IAsyncSession.WriteTransactionAsync
->IAsyncSession.ExecuteWriteAsync
-
- Attempting close a transaction after it has been closed will now throw a
TransactionClosedException
.
- Rename Bookmark to Bookmarks. (#609)
⚠️ Due to a mix of languageBookmark
and all references to bookmarks have been pluralized as it allows for multiple values.-
Bookmark
->Bookmarks
-
Session.LastBookmark
->Session.LastBookmarks
-
SessionConfigBuilder.WithBookmarks(Bookmark[])
->SessionConfigBuilder.WithBookmarks(Bookmarks[])
- Transaction timeout (#574)
-
TransactionConfigBuilder.WithTimeout
now acceptsNullable<TimeSpan>
for timeout.⚠️ null
will use the server's default transaction timeout.⚠️ TimeSpan.Zero
will remove timeout from transaction.
-
- No longer throwing when using APOC procedures in a profiled query. (#633)
- Discovery exceptions. (#594)
- Error message handling. (#592)
Full Changelog: https://github.com/neo4j/neo4j-dotnet-driver/compare/4.4.0...5.0.0-beta01