Skip to content

Releases: neo4j/neo4j-java-driver

5.2.0

28 Oct 16:18
e0e5b6a
Compare
Choose a tag to compare

This is a refinement release that brings several new features, improvements and dependency updates.

This update introduces a new reactive session org.neo4j.driver.reactivestreams.ReactiveSession that is similar to the deprecated org.neo4j.driver.reactive.RxSession and includes improvements introduced with org.neo4j.driver.reactive.ReactiveSession.

Following these updates, the driver supports 2 reactive sessions:

  • org.neo4j.driver.reactive.ReactiveSession - uses Java Flow API
  • org.neo4j.driver.reactivestreams.ReactiveSession - uses Reactive Streams API

In addition, this update brings new methods for session instantiation. See the sample usage below:

var synchronousSession = driver.session(Session.class);
var asynchronousSession = driver.session(AsyncSession.class);
var reactiveSession1 = driver.session(org.neo4j.driver.reactive.ReactiveSession.class);
var reactiveSession2 = driver.session(org.neo4j.driver.reactivestreams.ReactiveSession.class);
var reactiveSession3 = driver.session(org.neo4j.driver.reactive.RxSession.class);

The following methods have been deprecated:

  • asyncSession
  • reactiveSession

Driver's TypeSystem is now accessible via TypeSystem.getDefault().

⭐ New Features


  • Introduce new session instantiation methods #1326
  • Introduce new Reactive Streams session #1325
  • Add getInstance to TypeSystem #1323

👏 Improvements


  • Update changelog location in README #1318
  • Update examples #1322
  • Add versioning information to readme #1327

🔧 Dependency Management


  • Update dependencies #1328

5.1.0

06 Oct 08:17
39df7ca
Compare
Choose a tag to compare

This is a refinement release that brings several general improvements and dependency updates.

👏 Improvements


  • Delete superflous subsitutions #1312
  • Make container runtime expected in build environment #1315

✅ Testkit


  • Pin testkit version to 5.0 #1313

🔧 Dependency Management


  • Update dependencies #1316

5.0.0

09 Sep 15:11
5aeca0b
Compare
Choose a tag to compare

This release brings news features, general improvements and dependency updates.

The driver has been upgraded to Java 17 and it is the baseline Java version for this release.

The org.neo4j.driver:neo4j-java-driver artifact no longer includes shaded Netty and Project Reactor dependencies and replaces the org.neo4j.driver:neo4j-java-driver-slim introduced in 4.4 series.

A new org.neo4j.driver:neo4j-java-driver-all artifact includes shaded Netty and Project Reactor dependencies dependencies and is similar to the original packaging of the org.neo4j.driver:neo4j-java-driver before this update.

The org.neo4j.driver:neo4j-java-driver includes an explicit module declaration for Java Platform Module System (JMPS). The module name remains unchanged.

A new ReactiveSession has been introduced that includes API improvement and is based on Java Flow API. The RxSession has been deprecated.

A RetryableException marker interface has been introduced to enable easier checking of retryable driver exceptions.

A new experimental BookmarkManager feature has been introduced to allow simpler bookmark management, including multi-session level. This is an opt-in feature that is available via SessionConfig.

See the lists below for more details and links to updates.

⭐ New Features


  • Introduce BookmarkManager #1285 #1290 #1291 #1292 #1296
  • Add support for sending datetime values in UTC #1247
  • Add 5.0 changelog to README #1232
  • Make BasicPullResponseHandler support emitting signals in and out lock #1233
  • Deprecate GraphDatabase.routingDriver #1239
  • Add licenses verification #1238
  • Update tests using dbms.listTransactions() #1244
  • Add transaction interruption support for internal use #1242
  • Add support for multiple certificate files #1153
  • Micrometer metrics #1137
  • Add support for Bolt 5 #1181
  • Add exceptions to numeric id accessors in nodes and relationships #1192
  • Introduce new managed transaction methods and deprecate existing ones #1196
  • Introduce new reactive session with updated API #1208 #1295
  • Update bookmarks API #1211
  • Add RetryableException interface #1219

👏 Improvements


  • Update to Java 17 #1264
  • Update native-image.properties #1265
  • Update Neo4j build-resources and delete build/notice-asl-prefix.txt #1272
  • Defer unknown zone information failures to datetime value access stage #1273
  • Enable compilation failures on warnings #1275 #1276 #1277 #1279 #1302
  • Add Java module declaration for neo4j-java-driver #1274
  • Update RevocationStrategy name to RevocationCheckingStrategy #1283
  • Delete deprecated routingDriver #1289
  • Add final to public API #1293
  • Update shouldExposeResultSummaryForExplainQuery test assertions #1299
  • Turn off hostname verification for trustAllCertificates TrustStrategy #1301
  • Wrap checked exceptions when rethrowing async exception #1245
  • Delete Neo4jException.neo4jErrorCode and update documentation #1249
  • Update Neo4jSettings for 5.0 server #1254
  • Migrate tests depending on Boltkit to use Docker #1256
  • Remove null handling for Node/Relationship Ids #1240
  • Do not allow mixing UTC and legacy datetime and throw ProtocolException on unknown struct types #1260
  • Turn off UTC tests until server implementation is available #1262
  • Update Java driver to 5.0 #1099
  • Exclude US/Pacific-New from randomized timezones #1105
  • fix: Check for equality of value instead of equality of instance #1100
  • Update readme to include command for running Testkit test #1106
  • Allow tx timeout to be 0 or null #1108
  • Add transaction close support to async and reactive APIs #1119
  • Remove deprecated ServerVersion #1126
  • Delete InitMessage and RunMessage #1129
  • Make MapAccessorWithDefaultValue extend MapAccessor #1148
  • Delete Session.reset #1149
  • Delete ConfigBuilder.withRoutingFailureLimit and ConfigBuilder.withRoutingRetryDelay #1151
  • Permit dev agent suffix in tests and update password management #1159
  • Update tests to reflect breaking changes in 5.0 #1163
  • Add safety checks to Config.TrustStrategy.trustCustomCertificateSignedBy #1172
  • Add substitutions for DriverFactory#getOrCreateMetricsProvider #1189
  • Add ability of checking if result handle is open #1194
  • Fix more test that fail due to cypher deprecation removals #1167
  • Avoid TrustManagerFacotry.init(ManagerFactoryParameters var1) if no OSCP has been configured #1168
  • Throw ProtocolException when QueryType is unknown #1193
  • Migrate LoadCSVIT to CALL {} IN TRANSACTIONS for newer server #1200
  • Expose transaction open status in AsyncTransaction and RxTransaction #1199
  • Fix server configuration affecting 5.0 builds #1212
  • Migrate RoutingExamplesIT to Testcontainers #1215
  • Update LoadCSVIT.shouldLoadCSV to work with 5.0 #1216
  • Add Pacific/Kanton to EXCLUDED_ZONE_IDS in tests #1217
  • Add Asia/Gaza to EXCLUDED_ZONE_IDS in tests #1218
  • Add Antarctica/Macquarie to EXCLUDED_ZONE_IDS in tests #1221
  • Stop shading dependencies in neo4j-java-driver package #1222
  • Migrate java-driver-rx-tck #1224
  • Add TCK tests for ReactiveResult and ReactiveResult Record #1226
  • Add spotless-maven-plugin for Java formatting #1227
  • Add flag for CausalClusteringStressIT #1220

✅ Testkit


Read more

5.0.0-beta01

02 Sep 13:19
2a28144
Compare
Choose a tag to compare
5.0.0-beta01 Pre-release
Pre-release

This is a refinement release that brings news features, general improvements and dependency updates.

⭐ New Features


👏 Improvements


  • Update to Java 17 #1264
  • Update native-image.properties #1265
  • Update Neo4j build-resources and delete build/notice-asl-prefix.txt #1272
  • Defer unknown zone information failures to datetime value access stage #1273
  • Enable compilation failures on warnings #1275 #1276 #1277 #1279 #1302
  • Add Java module declaration for neo4j-java-driver #1274
  • Update RevocationStrategy name to RevocationCheckingStrategy #1283
  • Delete deprecated routingDriver #1289
  • Add final to public API #1293
  • Update shouldExposeResultSummaryForExplainQuery test assertions #1299
  • Turn off hostname verification for trustAllCertificates TrustStrategy #1301

✅ Testkit


  • Skip more unknown timezone tests #1269
  • Reduce build log sizes by removing download progress stats #1271
  • Add TestKit test skip #1281

🔧 Dependency Management


  • Update dependencies #1304

4.4.9

11 Jul 22:45
e855bcc
Compare
Choose a tag to compare

This is a refinement release that updates native image.

👏 Improvements


  • Update native-image.properties #1266

4.4.8

08 Jul 11:06
3f3c982
Compare
Choose a tag to compare

This is a refinement release that brings improvement of datetime handling.

👏 Improvements


  • Do not allow mixing UTC and legacy datetime and throw ProtocolException on unknown struct types #1263

✅ Testkit


  • [4.4] TestKit backend: add full support for temporal types #1259

5.0.0-alpha03

07 Jul 17:06
e0483f0
Compare
Choose a tag to compare
5.0.0-alpha03 Pre-release
Pre-release

This is a refinement release that brings a new feature, several general improvements and dependency updates.

⭐ New Features


  • Add support for sending datetime values in UTC #1247

👏 Improvements


  • Wrap checked exceptions when rethrowing async exception #1245
  • Delete Neo4jException.neo4jErrorCode and update documentation #1249
  • Update Neo4jSettings for 5.0 server #1254
  • Migrate tests depending on Boltkit to use Docker #1256
  • Remove null handling for Node/Relationship Ids #1240
  • Do not allow mixing UTC and legacy datetime and throw ProtocolException on unknown struct types #1260
  • Turn off UTC tests until server implementation is available #1262

✅ Testkit


  • Unskip test_trusted_ca_correct_hostname #1251
  • TestKit backend: add full support for temporal types #1257

🔧 Dependency Management


  • Update dependencies #1261

4.4.7

06 Jul 13:48
3c0b9ab
Compare
Choose a tag to compare

This is a refinement release that brings support for transmitting datetime values in UTC and dependency updates.

⭐ New Features


  • Add support for sending datetime values in UTC #1250

👏 Improvements


  • Add licenses verification #1253

✅ Testkit


  • Skip test_trusted_ca_correct_hostname test #1248
  • Unskip test_trusted_ca_correct_hostname #1252

🔧 Dependency Management


  • Update dependencies #1255

5.0.0-alpha02

09 Jun 17:25
30f5ed3
Compare
Choose a tag to compare
5.0.0-alpha02 Pre-release
Pre-release

This is a refinement release that brings several general improvements and dependency updates.

👏 Improvements


  • Add 5.0 changelog to README #1232
  • Make BasicPullResponseHandler support emitting signals in and out lock #1233
  • Deprecate GraphDatabase.routingDriver #1239
  • Add licenses verification #1238
  • Update tests using dbms.listTransactions() #1244
  • Add transaction interruption support for internal use #1242

🔧 Dependency Management


  • Update dependencies #1243

4.4.6

01 Jun 22:00
6a0153f
Compare
Choose a tag to compare

This is a refinement release that brings several general improvements and dependency updates.

👏 Improvements


  • Throw ProtocolException when QueryType is unknown #1198
  • Add spotless-maven-plugin for Java formatting #1234
  • Make BasicPullResponseHandler support emitting signals in and out lock #1235
  • Deprecate GraphDatabase.routingDriver #1241

✅ Testkit


  • Add support for Optimization:ImplicitDefaultArguments feature #1202
  • TestKit: remove temporary feature flags #1205

🔧 Dependency Management


  • Update dependencies #1236