Skip to content

Releases: neo4j/neo4j-javascript-driver

6.0.0

01 Oct 08:14
7f7e2a9
Compare
Choose a tag to compare

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

5.28.2

17 Sep 12:45
6609e55
Compare
Choose a tag to compare

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


  • Bump dependency rxjs to 7.8.2 #1331
  • Update docs links in the Readmes #1308
  • Document undocumented members on GQLError and Neo4jError #1306
  • Add warning around concurrently closing driver to Readmes #1264

6.0.0-alpha01

16 Jul 12:34
7b8452b
Compare
Choose a tag to compare
6.0.0-alpha01 Pre-release
Pre-release

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.toStandardDate() due to the unclear handling of timezones. Date.toStandardDateLocal() is a drop in replacement, but Date.toStandardDateUTC() 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

5.28.1

12 Feb 15:54
38851e3
Compare
Choose a tag to compare

Patch release fixing the new handshake for some potential future bolt protocol versions.

🔧 Fixes


  • Fix handshake manifest parsing in preparation of future bolt versions. #1253

5.28.0

05 Feb 12:09
ae705f7
Compare
Choose a tag to compare

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


  • Improve handling and error communication when the user supplies a circular object in a custom auth token. #1247
  • Fix the conversion between driver and JavaScript DateTimes when the local timezone has rare minute offsets from UTC. #1238

5.27.0

28 Nov 11:46
3b42b85
Compare
Choose a tag to compare

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


  • Marks the isUnboundRelationship function as private in documentation. #1234
  • Corrects the usage of the link tag in documentation, fixing some broken links. #1236
  • Adds notice regarding CALL {} IN TRANSACTION to executeRead and executeWrite. #1236

5.26.0

14 Oct 12:03
37b85e3
Compare
Choose a tag to compare

Adds GQL compliant fields to the Neo4jError object as a preview feature.

⭐ New Features


  • Added GQL compliant fields to the Neo4jError object. #1225

🧹 Housekeeping


  • Marked JavaScripts treatment of Integers and Floats as Number as a Feature for testkit. #1228

5.25.0

26 Sep 09:29
68214e4
Compare
Choose a tag to compare

Housekeeping only.

🧹 Housekeeping


  • Remove DNS caching from testkit browser tests, reducing flakiness #1224
  • Improvements on error handling #1220

5.24.1

05 Sep 11:39
1ea28a1
Compare
Choose a tag to compare

Fix critical issue related to connection pool size enforcement. Along with this, other fixes related to connection error treatment are released.

🔧 Fixes


  • Remove un-predictable behaviour on connection failure due to multiple notification of same error #1213
  • Fix cases where the connection is destroyed on node, but the onclose event is not triggered #1215
  • Fix maxConnectionPoolSize verification #1216

5.24.0

29 Aug 14:12
c424636
Compare
Choose a tag to compare

Added support for the new Schema notification category, and a minor fix to stop Deno tests from failing when run locally

⭐ New Features


  • Added Schema notification category #1211

🧹 Housekeeping


  • Move Pool module to core #1212
  • Fix to npm test crashing at Deno tests when running test containers #1210