Releases: neo4j/neo4j-javascript-driver
6.0.0
This is GA release for the 6.0 with all the new features and general improvements in the previous alpha. Along with the introduction of the UnknownType object and the preview feature of Record Object Mapping, allowing validation and mapping of query results.
❗ Breaking Changes
protocolVersion
onServerInfo
has been changed from aNumber
to new typeProtocolVersion
. TheNumber
representation would break if Bolt ever had a minor version greater than 9. #1321
⭐ New Features
- Add
.containsGqlCause()
and.findByGqlStatus()
toNeo4jError
andGQLError
, allowing easier inspection of cause chains. #1314 - Introduce the
UnsupportedType
class. This class will be returned if the server is asked to send a value of a type which the current driver version cannot parse. This ensures better backwards compatibility for future type intoductions. #1325
⭐ ⚠️ Preview Features
- Introduce type validation and mapping to
Record
,Result
and Graph types. A manual entry on this feature will be published in the future. #1248
❌ Removals
- Deprecated functions
.readTransaction()
and.writeTransaction()
have been removed fromSession
. Please use.executeRead()
and.executeWrite()
instead. #1312 - Deprecated function
.lastBookmark()
has been removed fromSession
. Please use.lastBookmarks()
instead. #1316 - Return value of
.verifyConnectivity()
onDriver
has been changed fromServerInfo
tovoid
. Please use.getServerInfo()
if needed. #1317 - Deprecated property
.updateStatistics
has been removed fromResultSummary
. Please use.counters
instead. #1342
👎 Deprecations
isRetriableError
and the propertyretriable
onNeo4jError
has been deprecated, please useisRetryable
andretryable
instead. #1305- Deprecated
notificationCategory
andnotificationFilterDisabledCategory
. usenotificationClassification
andnotificationFilterDisabledClassification
instead. #1326 #1344
🔧 Fixes
- Fixed an issue in error handling which caused crashes on some unexpected errors in connections. #1329
- Move the queuing of channel observer to after message packing is finished. Simplifies the handling of errors during packing so that they surface to the user faster. #1334
👏🏼 Improvements
- Unify the
Vector
type.toString()
function with the other official neo4j drivers. #1327 - Improve the
Vector
type constructor errors when passed incorrect types. #1338 #1343
🧹 Housekeeping
- Remove notice of change in 6.0 from
.fromStandardDate()
onNeo4j.Date
#1318 - Remove unused
knownHost
fromConfig
interface. #1335
📦 Dependency Management
5.28.2
Patch release solving error handling for failure-to-writes on the browser version of the driver.
🔧 Fixes
- Fix error handling failure-to-writes on the browser version of the driver and future proof some error handling functions. #1328
- Make neo4j-driver export isRetriableError instead of non-existent isRetryableError #1309
🧹 Housekeeping
6.0.0-alpha01
6.0.0-alpha01
It is not guaranteed to include all breaking changes that will be present in 6.0.0
The main goal of this release is to offer a preview for new driver Vector
type.
⭐ New Features
- Support for Bolt 6.0 and the neo4j Vector type has been added. #1293
- ResultTransformers
.eager()
and.mapped()
have been marked stable. #1287 GQLStatusObject
s have been stabilized as a replacement for the deprecatedNotification
s. #1285- The GQL-compliant properties
gqlStatus
,gqlStatusDescription
,diagnosticRecord
,classification
andrawClassification
onNeo4jError
andGQLError
have been stabilized. #1286
👏 Improvements
- Added documentation to members of GQLError and Neo4jError. #1300
- The timeout set with the
connectionAcquisitionTimeout
config option now covers the whole process of acquiring a connection, including preceding routing calls. This is to align with the behavior of other languages. #1292 - Duration
toString()
format has been updated to align with the stringification in Cypher. #1284
🔧 Fixes
- The
seconds
andnanoseconds
properties onDuration
objects will now not be neo4j.Integer typed if the driver is configured to return native JS numbers or BigInts. #1265
❌ Removals
severity
has been removed from theNotification
class. #1289
👎 Deprecation
- Deprecated
Date.toStandardDate()
due to the unclear handling of timezones.Date.toStandardDateLocal()
is a drop in replacement, butDate.toStandardDateUTC()
may be more desireable to some users. #1290 - ResultTransformers
.eagerResultsTransformer()
and.mappedResultsTransformer()
have been deprecated..eager()
and.mapped()
are drop in replacements. #1287 Notification
s and related functions have been deprecated in favor of the newly stabilizedGQLStatusObject
s. #1285
5.28.1
5.28.0
Implements caching of home databases, saving significant round trips, primarily for usage against Aura, along with improved error handling, DateTime conversion and a new handshake protocol.
👏🏼 Improvements
- Adds background caching of home databases, saving up to 33% of round trips when the user does not specify a target database. #1235
- Implements a new handshake protocol for Bolt, allowing more granular selection of protocol versions in the future. #1243
🔧 Fixes
5.27.0
Takes mTLS authentication out of preview and improves some aspects of documentation.
⭐ New Features
- Mutual TLS (mTLS) is marked stable and released out of preview #1237
🧹 Housekeeping
5.26.0
5.25.0
5.24.1
Fix critical issue related to connection pool size enforcement. Along with this, other fixes related to connection error treatment are released.