chore(deps): update dependency org.neo4j.driver:neo4j-java-driver to v6#2857
Open
renovate[bot] wants to merge 1 commit intodevelopfrom
Open
chore(deps): update dependency org.neo4j.driver:neo4j-java-driver to v6#2857renovate[bot] wants to merge 1 commit intodevelopfrom
renovate[bot] wants to merge 1 commit intodevelopfrom
Conversation
66e7549 to
419734a
Compare
4a68c06 to
c34ed30
Compare
| datasource | package | from | to | | ---------- | ---------------------------------- | ------- | ----- | | maven | org.neo4j.driver:neo4j-java-driver | 5.28.10 | 6.0.3 |
c34ed30 to
a7f8997
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.28.10→6.0.3Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
neo4j/neo4j-java-driver (org.neo4j.driver:neo4j-java-driver)
v6.0.3Compare Source
This is a refinement release that brings improvements and dependency updates.
6.0 API documentation
👏 Improvements
🔧 Build
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
Configuration
📅 Schedule: Branch creation - "before 8am" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, 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.