Skip to content

6.x changelog

Max Gustafsson edited this page Oct 1, 2025 · 5 revisions

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 on ServerInfo has been changed from a Number to new type ProtocolVersion. The Number representation would break if Bolt ever had a minor version greater than 9. #1321

⭐ New Features


  • Add .containsGqlCause() and .findByGqlStatus() to Neo4jError and GQLError, 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 from Session. Please use .executeRead() and .executeWrite() instead. #1312
  • Deprecated function .lastBookmark() has been removed from Session. Please use .lastBookmarks() instead. #1316
  • Return value of .verifyConnectivity() on Driver has been changed from ServerInfo to void. Please use .getServerInfo() if needed. #1317
  • Deprecated property .updateStatistics has been removed from ResultSummary. Please use .counters instead. #1342

👎 Deprecations


  • isRetriableError and the property retriable on Neo4jError has been deprecated, please use isRetryable and retryable instead. #1305
  • Deprecated notificationCategory and notificationFilterDisabledCategory. use notificationClassification and notificationFilterDisabledClassification 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() on Neo4j.Date #1318
  • Remove unused knownHost from Config interface. #1335

📦 Dependency Management


  • Bump used TypeScript version to 5.9.2. #1288
  • Bump rxjs dependency to 7.8.2 #1332

6.0.0-alpha01

⚠️ This is an experimental release. It may completely change in the future. 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
  • GQLStatusObjects have been stabilized as a replacement for the deprecated Notifications. #1285
  • The GQL-compliant properties gqlStatus, gqlStatusDescription, diagnosticRecord, classification and rawClassification on Neo4jError and GQLError 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 and nanoseconds properties on Duration 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 the Notification class. #1289

👎 Deprecation


  • Deprecated Date.fromStandardDate() due to the unclear handling of timezones. Date.fromStandardDateLocal() is a drop in replacement, but Date.fromStandardDateUTC() may be more desireable to some users. #1290
  • ResultTransformers .eagerResultsTransformer() and .mappedResultsTransformer() have been deprecated. .eager() and .mapped() are drop in replacements. #1287
  • Notifications and related functions have been deprecated in favor of the newly stabilized GQLStatusObjects. #1285
Clone this wiki locally