Skip to content

4.0 changelog

gjmwoods edited this page Jul 17, 2020 · 17 revisions

Driver Migration Guide

Please read our Driver Migration Guide for guidance and breaking changes when migrating from 1.7 drivers to 4.0 drivers.

Changelog

4.0.3

  • Fix native compilation with Netty 4.1.50 on GraalVM #743
  • Bump Netty to 4.1.51-Final #747
  • Revert "Use Protocol Version instead of server_agent for Bolt V4 connections" #746

4.0.2

  • Adding address to routing context in routing procedure call #704
  • Use Protocol Version instead of server_agent for Bolt V4 connections #708
  • Improve Record#get(String key) complexity to O(1) #696
  • Fix retries for transaction functions #731
  • Correct behavior for extended URI schemes #720
  • Ensure errors are propagated from rx queries correctly #681
  • Fix JavaDoc on JDK 11 #702
  • Do not expect package com.oracle.svm at OSGi runtime #728
  • Improve channel tracking #741
  • Update netty to 4.1.50-final #705
  • Update dependencies #726

4.0.1

  • Introduce 4 additional URI schemes: bolt+s and neo4j+s which enables encryption and configures the trust settings to use the local system's certificate store. And bolt+ssc and neo4j+ssc which configures trust to use all certificates.#685
  • Refactored BasicPullResponseHandler to use an explicit state machine #661
  • Allow simple/async sessions to request data as needed #662
  • Improve GraalVM AoT / Native image support #663
  • Update dependencies #665 #683
  • Reduce logging of routing table refreshing #667 #668

4.0.0

4.0.0-rc2

  • Added Config option to set Netty event loop threads #652
  • Improved error messages for ServiceUnavailableException #655
  • Added Driver#supportsMultiDb method and fixed a bug in Driver#verifyConnectivityAsync where the method would fail if the default database in 4.0 is dropped. #657
  • Improved our Java API docs #658 #659

4.0.0-rc1

  • Changed bookmark interface by exposing internal values directly #649
  • Renamed a few user facing classes: (1) StatementResult is changed to Result. (2) Statement is renamed to Query. (3) ExplicitTransaction is renamed to UnmanagedTransaction. #651

4.0.0-beta03

  • Add support for native compilation #634
  • Make async and simple sessions to pull records in batches. #637
  • Add helpful error (ResultConsumedException and TransactionNestingException) when using the driver API in a wrong way #639
  • Add system update statistics and missing profile statistics #640 #642 #644
  • Change RxResult#keys to return a single list of keys #643
  • Change default connection timeout to be 30s #629

4.0.0-beta02

  • Replace Transaction#success and Transaction#failure with Transaction#commit and Transaction#rollback. 622
  • Moved Bookmark into public API and provided a string conversion method to convert string bookmarks to Bookmark. 630
  • Fixed a NPE bug in SessionConfig#equals. 625
  • Upgraded shaded Netty version from 4.1.22.Final to 4.1.41.Final. 631

4.0.0-beta01

  • Allowed passing system bookmark to driver's server discovery call, solving the discover problem for newly added databases. Changed bookmark from a string to an Bookmark object. #619
  • Default to unencrypted connections. However enhanced security of encrypted connections by setting TRUST_SYSTEM_CA_SIGNED_CERTIFICATES as the default trust strategy and enforcing hostname verification by default. #620

Alpha releases are released under the version name 2.0

2.0.0-alpha03

  • Added support to use driver with a 4.0+ Neo4j cluster #587
  • Fixed shading Project Reactor #607
  • Changed session parameter to builder pattern and provided a syntax sugar to pass database name in session creation #611
  • Made connectivity verification not part of driver creation #609

2.0.0-alpha02

  • Added database name in ResultSummary #591
  • Added transaction with built-in retries support for RxSession #582
  • Adjusted a few interfaces used by RxSession #590
  • Speeded up the shut down of the driver #576

2.0.0-alpha01 **

  • The very first alpha release.
  • This new series feature Reactive Session RxSession alongside normal Session and Asynchronous Session AsyncSession.
  • A new connection schema neo4j is now introduced and preferred over bolt+routing and bolt. With the new neo4j schema, it can connect the driver with either a cluster or a single instance.
  • Multi-databases support for a single instance.

** All the new features are only applicable when connecting with 4.0+ Neo4j servers.