Update dependency org.neo4j.driver:neo4j-java-driver to v6 #172
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
5.17.0->6.0.2Release Notes
neo4j/neo4j-java-driver (org.neo4j.driver:neo4j-java-driver)
v6.0.2Compare Source
This is a refinement release that brings several improvements and dependency updates.
6.0 API documentation
👏 Improvements
🔧 Build
v6.0.1Compare Source
The
neo4j-java-driver-bomhas been updated to not importnetty-bom.If you are using Netty Native Transport, please ensure to either:
netty-bomwith the desired Netty version (at present, the driver is shipped with Netty 4.2+)6.0 API documentation
👏 Improvements
v6.0.0Compare Source
This release brings news features, general improvements and dependency updates.
The sections below describe the main updates in this release and the full changelog is listed in the end.
Java Driver Manual
6.0 API documentation
Neo4j Vector
Neo4j Vector is a new data type introduced in Neo4j server (2025.10, Enterprise Edition).
The driver's type system has been extended to support it.
A new
Vectorinterface represents Neo4j Vector. At present, it has 6 subtypes:Int8Vector-INTEGER8vector that has Javabyteelements and can be converted tobyte[]arrayInt16Vector-INTEGER16vector that has Javashortelements and can be converted toshort[]arrayInt32Vector-INTEGER32vector that has Javaintelements and can be converted toint[]arrayInt64Vector-INTEGERvector that has Javalongelements and can be converted tolong[]arrayFloat32Vector-FLOAT16vector that has Javafloatelements and can be converted tofloat[]arrayFloat64Vector-FLOATvector that has Javadoubleelements and can be converted todouble[]arraySimilarly to the
IsoDuration, newValueinstance containingVectorcan be created using one of the providedValues#vector(...)factory methods. TheTypeof suchValueis equal toTypeSystem#VECTOR().Usage example:
Since
Vectoris asealedinterface, it works well with Pattern Matching for switch:Alongside
Value#asVector(), it is also possible to mapValuetoVectorusing theValue#as(Class<T>)method. This is especially useful whenVectorsubtype is well-known:It is also possible to map to array directly:
When using Object Mapping, it is possible to define
recordcomponents both asVectorand arrays withVectorannotation:Unsupported Type
The Neo4j Vector is a good example of a new type being introduced to the system. It is possible that at some point the driver version connecting to the server might not support a new future type because it requires a newer protocol version to support it.
A new
UnsupportedTypeobject has been introduced to identify such types and provide some information about them, like:The
Typeof aValuewithUnsupportedTypeis equal toTypeSystem#UNSUPPORTED().Usage example:
Sending the
UnsupportedTypeback to the server is not supported.Bill of Materials (BOM)
A new Maven artifact
neo4j-java-driver-bomrepresents driver's Bill of Materials (BOM).It is especially useful when additional driver dependencies are used.
Usage example (Maven):
The driver BOM also imports
netty-bomto ensure compatible versions, especially when Netty Native Transport is used.Should it be necessary, users can override
netty-bomversion by importing it before the driver BOM:Query API
NOTE: This feature is in preview.
Neo4j Query API is an HTTP API for executing Cypher statements.
The driver supports connecting to this API over HTTP.
The Query API support is enabled by:
httpsorhttpURI schemeExample (Maven):
Driver creation example:
The are some limitations with this integration at the moment. The main unsuported items are listed below:
ResultSummary#resultAvailableAfter(TimeUnit).ResultSummary#resultConsumedAfter(TimeUnit).ResultSummary#queryType().ResultSummary#plan().ResultSummary#profile().Since home database resolution is not supported, the database name MUST be set explicitly using the driver API. Alternatively, it is possible to append the default database name to the URI, it will be used when no database name is set explicitly.
Example:
https://query.api.local?defaultDatabase=neo4jReducing the number of dependencies
When the driver is used with Query API only, it is possible to exclude some dependencies to reduce the overall amount:
Specifically, this removes the following dependencies:
Unix Domain Socket
bolt+unixURI scheme allows connecting to Neo4j server over Unix Domain Socket.Example:
While the driver does not impose any special limitations on such connections, the server has a dedicated purpose for them - administration. Therefore, it limits interations to
systemdatabase only. See the server configuration settings.Netty Native Transport
Using Netty Native Transport may bring better performance and less garbage collection as mentioned in the Netty documentation.
In addition, TFO is only supported with Netty Native Transport.
The native transport support is limited to the following URI schemes:
neo4jboltOnly the following Maven artifacts are supported:
netty-transport-native-io_uring(Netty 4.2+ only)netty-transport-native-epollnetty-transport-native-kqueueThe driver automatically uses Netty Native Transport when it is added to runtime.
Example (Maven):
TCP Fast Open (TFO)
NOTE: This feature is experimental.
A working TCP Fast Open setup enables the driver to start one of the following during TCP handshake by sending early data:
The following conditions MUST be met for it to work as expected:
The driver configuration example:
Logging
The driver now uses Java System.Logger by default.
The
Loggingabstraction has been deprecated for future removal.Since Java
System.Loggeruses Java Util Logging (JUL) by default, logging can be adjusted by modifying$JAVA_HOME/conf/loggig.propertiesfile.There are 2 main root loggers that the driver uses:
org.neo4j.driver- Driver-level logging.org.neo4j.bolt.connection- Bolt-level logging.For instance, to see driver logging in console:
java.util.logging.ConsoleHandler.levelis set to the desired logging level.Example:
Both
System.Loggerand JUL can be bridged to other logging solutions should this be needed.Observability
NOTE: This feature is in preview.
Observability of the driver has been improved in this release.
A new
ObservationProvidertype provides an integration point for driver observability. There are 2 new driver modules that implement it:neo4j-java-driver-observation-metricsneo4j-java-driver-observation-micrometerThe former contains the experimental metrics that the driver used to have previously. They have been moved to this new module.
The latter implements integration with Mictomer Observation API. Micrometer is able to create both metrics and traces providing that the relevant handlers are registered.
See #1682 for more details.
Acquisition timeout
The handling of
ConfigBuilder#withConnectionAcquisitionTimeout(long, TimeUnit)has been changed to apply to the whole connection acquisition process. Please see the documentation for more details.Changelog
Please see the full changelog below.
⭐ New Features
👏 Improvements
🔧 Dependency Management
v5.28.10Compare Source
This in an LTS release.
It brings general improvements and dependency updates.
5.28 API documentation
👏 Improvements
🔧 Dependency Management
v5.28.9Compare Source
This in an LTS release.
It brings general improvement and dependency update.
5.28 API documentation
👏 Improvements
🔧 Dependency Management
v5.28.8Compare Source
This in an LTS release.
It brings general improvements and dependency updates.
5.28 API documentation
👏 Improvements
🔧 Dependency Management
v5.28.7Compare Source
This in an LTS release.
It brings general improvements and dependency updates.
5.28 API documentation
👏 Improvements
🔧 Dependency Management
v5.28.6Compare Source
This in an LTS release.
It brings general improvements and dependency updates.
5.28 API documentation
👏 Improvements
🔧 Dependency Management
v5.28.5Compare Source
This in an LTS release.
A new preview feature has been introduced in this release, please read about it in the following discussion.
5.28 API documentation
⭐ New Features
👏 Improvements
🔧 Dependency Management
v5.28.4Compare Source
This in an LTS release.
It brings general improvements and dependency updates.
5.28 API documentation
👏 Improvements
🔧 Dependency Management
v5.28.3Compare Source
This in an LTS release.
It brings dependency updates.
5.28 API documentation
👏 Improvements
🔧 Dependency Management
v5.28.2Compare Source
This in an LTS release.
It brings dependency updates.
5.28 API documentation
✅ Testkit
🔧 Dependency Management
v5.28.1Compare Source
This in an LTS release.
It fixes a bug with database resolution when using
ExecutableQuerywithneo4jscheme over Bolt 5.8 or higher.5.28 API documentation
👏 Improvements
v5.28.0Compare Source
This in an LTS release.
A new feature in this release is home database resolution cache. Its objective is to reduce the amount of Bolt exchange roundtrips for home database resolution when Bolt protocol 5.8 or higher is used. It is not exposed in the public API and is meant to be an optimisation.
5.28 API documentation
⭐ New Features
👏 Improvements
Neo4jException.gqlCause#1608🔧 Dependency Management
v5.27.0Compare Source
This release moves the mTLS support to GA status and also brings general improvements and dependency updates.
5.27 API documentation
👏 Improvements
🔧 Dependency Management
v5.26.3Compare Source
This is a patch release that includes improvements in routing handling.
5.26 API documentation
👏 Improvements
v5.26.2Compare Source
This is a patch release that includes general improvements and dependency updates.
5.26 API documentation
👏 Improvements
🔧 Dependency Management
v5.26.1Compare Source
This is a patch release that includes Bolt refactoring and dependency updates.
5.26 API documentation
👏 Improvements
🔧 Dependency Management
v5.26.0Compare Source
This release brings a preview support for GQL Errors.
With this update,
Neo4jExceptiongets the following additional GQL metadata:The additional metadata is exposed via the following new methods respectively:
In addition, the following getters have been added for extracting a vendor-specific classification from the GQL diagnostic record:
5.26 API documentation
⭐ New Features
🔧 Dependency Management
v5.25.0Compare Source
This update includes a general optimisation and dependency updates.
5.25 API documentation
👏 Improvements
🔧 Dependency Management
v5.24.0Compare Source
This is a planned minor update release that includes improvements and dependency updates.
5.24 API documentation
👏 Improvements
🔧 Dependency Management
v5.23.0Compare Source
This release introduces a Bolt 5.6 support and includes dependency updates.
5.23 API documentation
⭐ New Features
🔧 Dependency Management
v5.22.0Compare Source
This release introduces a preview support for GQL-status objects and includes dependency updates.
5.22 API documentation
⭐ New Features
🔧 Dependency Management
v5.21.0Compare Source
This is a planned minor update release that includes dependency updates.
5.21 API documentation
🔧 Dependency Management
v5.20.0Compare Source
This is a planned minor update release that includes dependency updates.
5.20 API documentation
🔧 Dependency Management
v5.19.0Compare Source
This release introduces mTLS support preview and includes dependency updates.
5.19 API documentation
⭐ New Features
🔧 Dependency Management
v5.18.0Compare Source
This is a planned minor update release that includes a new feature and a general improvement.
5.18 API documentation
⭐ New Features
👏 Improvements
✅ Testkit
🔧 Dependency Management
Configuration
📅 Schedule: Branch creation - "after 10pm" in timezone Europe/Prague, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.