Releases: neo4j/neo4j-jdbc
6.4.0
What's Changed
(Note: Publishing SBOMs failed, but they can be created and will be in the next release)
🚀 Features
- 38dae9f feat: Provide access to GQL Status objects.
- b72778b feat: Propagate GQL error codes as SQL state. (#932)
- d631b45 feat: Generate and attach CycloneDX SBOMs for all relevant artifacts. (#931)
- bbd7f29 feat: Add support for
java.sql.Array
.
🐛 Bug Fixes
- 47032b6 fix: Neo4j FLOAT is a SQL Double, INTEGER is BIGINT.
🔄️ Refactorings
- d2f03d9 refactor: Polish some JavaDocs, deprecate methods and fields that should never have been public.
🧹 Housekeeping
- b0011ef Bump org.jooq:jooq from 3.19.22 to 3.19.23 (#936)
- 8735bbd Bump com.opencsv:opencsv from 5.10 to 5.11 (#938)
- 7b977c1 Bump org.jreleaser:jreleaser-maven-plugin (#937)
- bbd328f Bump quarkus.platform.version from 3.21.4 to 3.22.1 (#935)
- ba830c7 Bump org.jdbi:jdbi3-bom from 3.49.2 to 3.49.3 (#934)
- 104261a Bump org.openapitools:openapi-generator-maven-plugin (#929)
- a5e13b5 Bump org.jdbi:jdbi3-bom from 3.49.0 to 3.49.2 (#927)
- dad329b Bump org.testcontainers:testcontainers-bom (#926)
- dc44d00 Bump quarkus.platform.version from 3.21.2 to 3.21.4 (#925)
- 35d5103 Bump spring-boot.version from 3.4.4 to 3.4.5 (#924)
- 2b4d929 Bump io.micrometer:micrometer-tracing-bom (#922)
- 28d0206 Bump org.neo4j.bolt:neo4j-bolt-connection-bom (#930)
6.3.1
What's Changed
🐛 Bug Fixes
🔄️ Refactorings
- fe529de refactor: Avoid logging about the available more than once in the same class loader.
🧹 Housekeeping
- 5b3041a Bump org.junit:junit-bom from 5.12.1 to 5.12.2 (#919)
- 3233cf2 Bump org.mockito:mockito-bom from 5.16.1 to 5.17.0 (#916)
- 80d3199 Bump io.fabric8:docker-maven-plugin from 0.45.1 to 0.46.0 (#918)
- 3ccbf62 Bump quarkus.platform.version from 3.21.0 to 3.21.2 (#917)
- 1101e4b Bump io.micrometer:micrometer-bom from 1.14.5 to 1.14.6 (#915)
🛠 Build
6.3.0
What's Changed
This is big feature release including support for both Metrics and Tracing.
Metrics will be enabled automatically if you use the Neo4j JDBC Driver within an application that has Micrometer on the class path.
Tracing can be enabled via the Neo4jDataSource
and putting Micrometer Tracing on the class path and choosing a registry and reporter that fits your needs. We tested both the Zipkin Brave registry with Zipkin, and the OpenTelemetry registry together with the Otel sender against Dash0.
Please read our docs how to configure this: Configuring tracing for the JDBC driver.
🚀 Features
- 2025829 feat: Add support for tracing. (#904)
- 74466d8 feat: Allow the full URL to be configured on the datasource.
- e00bdae feat: Add events and metrics to the driver. (#895)
🧹 Housekeeping
- 6c71310 Bump org.jooq:jooq from 3.19.21 to 3.19.22 (#909)
- 07bc0c4 Bump org.neo4j:cypher-v5-antlr-parser from 5.26.4 to 5.26.5 (#908)
- 87ab869 Bump org.jacoco:jacoco-maven-plugin from 0.8.12 to 0.8.13 (#907)
- 6c99932 Bump org.hibernate.orm:hibernate-platform (#906)
- 3a74dce Bump org.sonarsource.scanner.maven:sonar-maven-plugin (#902)
- 21ebae1 Bump org.apache.maven.plugins:maven-failsafe-plugin (#901)
- 9da5b81 Bump org.jdbi:jdbi3-bom from 3.48.0 to 3.49.0 (#900)
- 608578b Bump org.apache.maven.plugins:maven-surefire-plugin (#899)
- 2ee1c4e Bump quarkus.platform.version from 3.19.4 to 3.21.0 (#898)
6.2.1
What's Changed
🐛 Bug Fixes
- 99b78bf fix: SQL processing attempt must be made before transaction acquisition.
🔄️ Refactorings
- 86a67c5 refactor: Make sure all bolt connections are closed during abort, too.
- e20469e refactor: Restrict the output of
dbms.components()
to'Neo4j Kernel'
. - 26dc5e3 refactor: Clear out bolt-connection for database metadata on close.
🧹 Housekeeping
- 859c255 Bump org.neo4j.bolt:neo4j-bolt-connection-bom to 1.1.1
- 780b89a Bump org.neo4j:neo4j-cypher-dsl-bom (#894)
- c0e5e2f Bump quarkus.platform.version from 3.19.3 to 3.19.4 (#893)
- b9afe9e Bump org.asciidoctor:asciidoctor-maven-plugin (#892)
- 1f0c1d1 Bump org.jetbrains.kotlin:kotlin-stdlib-jdk8 (#891)
- e8669cf Bump org.neo4j.bolt:neo4j-bolt-connection-bom (#890)
- 39ec25d Bump spring-boot.version from 3.4.3 to 3.4.4 (#889)
- 209538f Bump com.mycila:license-maven-plugin from 4.6 to 5.0.0 (#888)
- 221654b Bump org.junit:junit-bom from 5.12.0 to 5.12.1 (#887)
- 0758b9c Bump org.mockito:mockito-bom from 5.16.0 to 5.16.1 (#886)
- b4b6398 Bump quarkus.platform.version from 3.19.2 to 3.19.3 (#885)
- 1c43629 Bump org.graalvm.buildtools:native-maven-plugin (#884)
- 9209dbf Bump org.hibernate.orm:hibernate-platform (#883)
- 3e650b7 Bump org.jooq:jooq from 3.19.20 to 3.19.21 (#882)
- 85b8318 Bump org.neo4j:cypher-v5-antlr-parser from 5.26.3 to 5.26.4 (#881)
🛠 Build
6.2.0
What's Changed
This is quite a big release, as from 6.2.0 onwards both the Neo4j JDBC Driver and the Neo4j Java driver will use the exact same network stack, so both drivers will equally benefit from enhancements there.
Tip
This minor release bump is fully API compatible with 6.1.5, we bumped the version for the following reasons:
The SQL Translator now aliases projected column in such a way that they can be retrieved like they have been originally project:
SELECT title FROM Movie
will now be translated into MATCH (movie:Movie) RETURN movie.title AS title
This is in line with the asterisk projection, too, but only available if there's only one relation in the FROM clause.
The ResultSet
implementation is more lenient when being asked for String
values and follows the JDBC spec that
will just use the Java representation of a non-string projection.
The Connection
implementation is more lenient on commit and rollback, so that these operations are idempotent in case
there is no ongoing transaction or a transaction that is either already committed or rolled back.
🐛 Bug Fixes
🔄️ Refactorings
- b1db4b2 refactor: Try to convert strings to integers and floats if possible.
- c7ee637 refactor: Try to use Java
toString
representation on non-string results when usinggetString()
. - e06311f refactor(translator): Use
AS
to give results same name if there’s a single source table and no qualified names are expected. - 0d27cd4 refactor(metadata): Use separate (bolt) connection for metadata.
- c9bb99c refactor(metadata): Improve transaction handling in metadata. (#877)
- 0306bf1 refactor: Replace custom bolt stack with shared bolt connection module. (#832)
📝 Documentation
- 27b6734 docs: Update local changelog.
🧹 Housekeeping
- 60b9604 Bump org.testcontainers:testcontainers-bom (#875)
- a1fa305 Bump quarkus.platform.version from 3.19.1 to 3.19.2 (#874)
- 9da051b Bump org.mockito:mockito-bom from 5.15.2 to 5.16.0 (#873)
- e00d760 Bump org.apache.maven.plugins:maven-install-plugin (#872)
- 5bb8953 Bump org.hibernate.orm:hibernate-platform (#871)
- 7842b2a Bump com.puppycrawl.tools:checkstyle (#870)
6.1.5
What's Changed
🐛 Bug Fixes
- c36ae21 fix(build): Add another way to spell MIT license to the license check.
- bc5e0de fix: Make driver more resilient agains already existing attribute keys for Netty channels. (#869)
🔄️ Refactorings
- 0e1882e refactor: Support row movement as much as possible in the
ResultSetImpl
and throw the appropriate exception otherwise. - 0de6261 refactor: Trace usage of all result set interface methods.
- d3184c9 refactor: Trace usage of all callable statement interface methods.
- 9357d4e refactor: Trace usage of all prepared statement interface methods.
- f7e05d7 refactor: Trace usage of all statement interface methods.
- 0c9743a refactor: Trace usage of all connection interface methods.
📝 Documentation
- ffb06b2 docs: Add issue template.
- db3e3f0 docs: Document logging configuration.
- cdd1351 docs: Point GitHub pages always to the offical Neo4j manual.
🧹 Housekeeping
- 8aaaeb3 Bump quarkus.platform.version from 3.18.4 to 3.19.1 (#862)
- f7aca53 Bump org.codehaus.mojo:flatten-maven-plugin (#868)
- 4a1c289 Bump org.neo4j:cypher-v5-antlr-parser from 5.26.2 to 5.26.3 (#867)
- f9cfe1b Bump org.apache.maven.plugins:maven-deploy-plugin (#865)
- 013e29e Bump org.neo4j:neo4j-cypher-dsl-bom (#864)
- 050c220 Bump slf4j.version from 2.0.16 to 2.0.17 (#863)
- 16ea18e Bump org.openapitools:openapi-generator-maven-plugin (#861)
- 48e0863 Bump org.jreleaser:jreleaser-maven-plugin (#860)
- 9b4842e Bump io.netty:netty-bom from 4.1.118.Final to 4.1.119.Final (#859)
6.1.4
What's Changed
🐛 Bug Fixes
- e9d87c2 fix: Remove tests for unsupported features that are now supported.
🔄️ Refactorings
- 1daa556 refactor(metadata): More work on adding support for JDBC / SQL features.
- 2678d37 refactor: Replace several more unnessary usages of
SQLFeatureNotSupportedException
.
🧹 Housekeeping
- 3df0055 Bump org.jooq:jooq from 3.19.18 to 3.19.20 (#858)
- 70ff7b0 Bump spring-boot.version from 3.4.2 to 3.4.3 (#857)
- 6e89852 Bump quarkus.platform.version from 3.18.3 to 3.18.4 (#856)
- f068a19 Bump org.apache.maven.plugins:maven-compiler-plugin (#855)
- ce60c12 Bump org.hibernate.orm:hibernate-platform (#854)
- ff850fc Bump com.puppycrawl.tools:checkstyle (#853)
- d7df38d Bump io.github.cdimascio:dotenv-java from 3.1.0 to 3.2.0 (#852)
- 745c67b Bump org.junit:junit-bom from 5.11.4 to 5.12.0 (#851)
- edbca02 Bump org.testcontainers:testcontainers-bom (#850)
6.1.3
What's Changed
🚀 Features
- a42da59 feat(metadata): Cache the result of
getTables
per metadata instance as it is used during columns computations, too. - 2de971b feat(metadata): Use
apoc.meta.schema
if available for computing tables and relationships. - 404bd0f feat(metadata): Make sampling size for relationships configurable.
🐛 Bug Fixes
- 93abb1a fix(test): Disable reflection based test in native image. (#844)
- 3bb7ab7 fix(build): The default of
structuredMessage
isfalse
.
🔄️ Refactorings
- de2b3d3 refactor(meta): Sanitize sampling size and ensure it works for both apoc and Cypher solutions.
🧹 Housekeeping
- 080ce04 Bump quarkus.platform.version from 3.18.2 to 3.18.3 (#849)
- 14ee32f Bump org.hibernate.orm:hibernate-platform (#848)
- c0ccfad Bump org.neo4j:neo4j-cypher-dsl-bom (#847)
- 08c1b3d build(deps-dev): Bump com.tngtech.archunit:archunit from 1.3.0 to 1.4.0 (#846)
- d7aefaf Bump org.jdbi:jdbi3-bom from 3.47.0 to 3.48.0 (#845)
🛠 Build
6.1.2
What's Changed
🚀 Features
- ce3e888 feat: Avoid throwing any
SQLFeatureNotSupportedException
fromDatabaseMetaData
. - dacb98f feat: Add support for
isReadOnly
in database metadata. - bbcb487 feat: Add support for
getURL
in database metadata. - d42f893 feat: Provide proper schema and catalog names from within
ResultSetMetaData
. - b0416d8 feat(translator): Provide a module containing a translator aiming specifically at Spark generated queries.
🔄️ Refactorings
- 69ee1a3 refactor: Use constants for metadata column names.
- 2fc53c4 refactor: Address some overly complex methods. (#843)
- b1e3435 refactor(translator): Optimize
LIKE
queries to not always use=~
. - 0a691b2 refactor: Allow translator factories to return
null
to indicate that no translator has been created.
🧹 Housekeeping
- b8bc487 Bump io.netty:netty-bom from 4.1.117.Final to 4.1.118.Final
- 175b19d Bump quarkus.platform.version from 3.18.1 to 3.18.2 (#842)
- 7b4189f Bump org.graalvm.buildtools:native-maven-plugin (#841)
- 7112adb Bump org.neo4j:cypher-v5-antlr-parser from 5.26.1 to 5.26.2 (#840)
- f39448b Bump org.jetbrains.kotlin:kotlin-stdlib-jdk8 (#839)
- 5c75faa Bump org.hibernate.orm:hibernate-platform (#838)
- 896f02f Bump quarkus.platform.version from 3.17.8 to 3.18.1 (#837)
- 32051be Bump com.puppycrawl.tools:checkstyle (#836)
- a6b6686 Bump quarkus.platform.version from 3.17.7 to 3.17.8 (#835)
- 1480297 Bump org.openapitools:openapi-generator-maven-plugin (#834)
- bf9b12b Bump spring-boot.version from 3.4.1 to 3.4.2 (#833)
- 03bc391 Bump org.hibernate.orm:hibernate-platform (#831)
- 5fc86b8 Bump quarkus.platform.version from 3.17.6 to 3.17.7 (#830)
- 1d7b0d7 Bump org.assertj:assertj-core from 3.27.2 to 3.27.3 (#828)
- ac32b32 Bump io.netty:netty-bom from 4.1.116.Final to 4.1.117.Final (#827)
- 789a95f Bump org.jooq:jooq from 3.19.17 to 3.19.18 (#829)
- 96e0910 Bump cookie and express in /etc/antora (#825)
🛠 Build
- ede26b1 build: Add release announcements.
6.1.1
What's Changed
🚀 Features
- e98cab4 feat: Indicate that all open result sets will be closed when autocommit fails. [metadata]
- 791e4f2 feat: Add
app
string to transactional metadata and unify with BoltAgent. - f1baf87 feat: Indicate in metadata which client info properties are supported. [metadata]
- 9d179b1 feat: Add support for
getTypeInfo
. [metadata] - d6b2183 feat: Show all catalogs. [metadata]
- 34bbb15 feat: In
LIKE
also translate_
to.
. [translator]. - 8b771b9 feat: Derive primary keys from unique constraints.
🐛 Bug Fixes
- 46ef2c5 fix: Don’t swallow exception and don’t overwrite previous valid translation when a later translator fails.
- d4ee5f1 fix: Allow matching on multiple patterns, check target nodes in relationships. [translator] (#819)
- 245cd93 fix: Transaction must not jump back from committed to ready.
- 7e02077 fix: Use correct target for elementId. [translator]
🔄️ Refactorings
- b3e3a73 refactor: Still create a relationship pattern despite an expected empty result [translator]
- 77e52f4 refactor: Align both overloads of
getSchemas
to support querying the schema and returning the current catalog. - 895d416 refactor: Rework catalog support.
📝 Documentation
- 6e799ab docs: Add screenshot from 6.1.0 release notes.
🧰 Tasks
- 1c1562b chore: Extend license header to 2025.
🧹 Housekeeping
- 01b9528 Bump quarkus.platform.version from 3.17.5 to 3.17.6 (#824)
- 9160d22 Bump org.jooq:jooq from 3.19.16 to 3.19.17 (#823)
- d6abf3e Bump com.github.siom79.japicmp:japicmp-maven-plugin (#822)
- 805f8bf Bump com.opencsv:opencsv from 5.9 to 5.10 (#821)
- fcfb7d2 Bump org.hibernate.orm:hibernate-platform (#808)
- 89169c7 Bump quarkus.platform.version from 3.17.4 to 3.17.5 (#809)
- 2c1f2e6 Bump org.mockito:mockito-bom from 5.14.2 to 5.15.2 (#816)
- 6cb0502 Bump org.jreleaser:jreleaser-maven-plugin (#817)
- 76692f2 Bump org.assertj:assertj-core from 3.26.3 to 3.27.2 (#818)
- 8f758aa Bump spring-boot.version from 3.4.0 to 3.4.1 (#812)
- d1e2c56 Bump io.netty:netty-bom from 4.1.115.Final to 4.1.116.Final (#810)
- cd90d65 Bump org.neo4j:neo4j-cypher-dsl-bom (#813)
- 202c80e Bump com.puppycrawl.tools:checkstyle (#815)
- 0220639 Bump org.junit:junit-bom from 5.11.3 to 5.11.4 (#807)
- c8c4f1b Bump org.jooq:jooq from 3.19.15 to 3.19.16 (#806)
- fea2623 Bump com.puppycrawl.tools:checkstyle (#805)
- 0d263f0 Bump io.github.cdimascio:dotenv-java from 3.0.2 to 3.1.0 (#804)
- fc18b14 Bump quarkus.platform.version from 3.17.3 to 3.17.4 (#803)
- 41abb65 Bump neo4j-cypher-dsl.version from 2024.3.1 to 2024.3.2
🛠 Build
- d53805b build: Allow the swagger generated stuff to compile with JDK23.