6.0.0-M02
Pre-releaseWhat's Changed
The second milestone includes several important updates, among them the fact that we now ship a BOM module, which makes it really easy to import all artifacts of the driver in a consistent way in any Maven or Gradle build.
Also we would like to highlight the fact that we now can
- chain SQL translators
- use
INSERT..RETURNING
statements, that will automatically be translated to Cypher - use character and binary streams as well as big decimals for prepared statements
- propagate
readyOnly
correctly into the Bolt layer
While you can always use a modern Java 8+ time type, we aligned the classic way of using java.sql.Date
and java.sql.Time
and the corresponding methods on the prepared statement and results that take in an additional Calendar instance for building timezone information with the way dates, times and date times work in Neo4j.
Additionally, we tested the binaries we have now with more tooling. We have been able to successfully use the driver within:
- DBeaver
- IntelliJ DataGrip
- KNime
- Apache Nifi
- Tableau
Full list of changes since 6.0.0-M01:
🚀 Features
- de23fac feat: Add support for
strpos
andposition
(SqlToCyper). (#570) - 7a09ab7 feat: Add possibility to specify translator factories directly. (#568)
- 39549b4 feat: Implement Connection Network Timeout. (#564)
- 7f25d41 feat: Implement
setCharacterStream
,setBinaryStream
and related. (#546) - ea68d7a feat: Add support for chaining SQL translators.
- 1be830d feat: Add support for
INSERT…RETURNING
statements.
🐛 Bug Fixes
- 4926da2 fix: Propagate the
readOnly
property to the Bolt transaction. (#544) - 306d0e3 fix: Return the maximum precision for INTEGER and FLOAT properties. (#535)
🔄️ Refactorings
- 6932cc2 refactor: Manage flatten-plugin proper.
- 387483e refactor: Remove duplicate exposed port in Stub Server (#569)
- d85a767 refactor: Address code quality issues. (#565)
- 303b2c0 refactor: Fully test
ResultSetImpl
contract. (#563) - cce2a30 refactor: Add a top-level BOM project for easy consumption of the produced binaries. (#562)
- a38f66a refactor: Add a test for objects that not coerceable to strings. (#561)
- 9016cb2 refactor: Remove trailing dots from exception messages. (#560)
- e93d810 refactor: Make sure result set can only be consumed once, add test for empty result set meta data (#559)
- 53f6c61 refactor: Align date, time and timestamp mapping in and out, provide BigDecimal support. (#547)
- 4a2d402 refactor: Address all Maven, Javac and JavaDoc warnings, and surpress banners where applicable. (#545)
- 6caa1e6 refactor: Ensure
nativeSQL
still does access the right chain of translators. - 62807a6 refactor: Extract all metadata queries used into a separate resource. (#530)
📝 Documentation
- a9ad923 docs: Document supported SQL dialects.
🧰 Tasks
- 0c66c7a chore: Use correct version numbers in all
@since
tags. - 6fc8a8b chore: Add a code of conduct.
- 19476b2 chore: Add a test that scalar properties are handled according to spec. (#533)
- ae22117 chore: Add dedicated tests that all properties are correctly deserialized. (#532)
- f49786a chore: Add dedicated test for retrieving element ids and ids. (#531)
🧹 Housekeeping
- ec040ea Update to Cypher-DSL 2023.9.5.
- 1126777 Bump org.sonarsource.scanner.maven:sonar-maven-plugin (#577)
- d26767b Bump com.puppycrawl.tools:checkstyle (#576)
- 14aa14e Bump org.asciidoctor:asciidoctorj-pdf from 2.3.14 to 2.3.15 (#575)
- 56293d8 Bump org.jdbi:jdbi3-bom from 3.45.0 to 3.45.1 (#574)
- 0028fbc Bump org.moditect:moditect-maven-plugin (#573)
- fb6ea1c build(deps-dev): Bump org.asciidoctor:asciidoctorj from 2.5.11 to 2.5.12 (#572)
- ba2f2b6 Bump org.asciidoctor:asciidoctorj-pdf from 2.3.13 to 2.3.14 (#554)
- b30637c Bump jakarta.xml.bind:jakarta.xml.bind-api (#551)
- 1a730bc Bump quarkus.platform.version from 3.8.1 to 3.8.2 (#550)
- d210634 Bump org.testcontainers:testcontainers-bom (#549)
- c1b6467 Bump org.openapitools:openapi-generator-maven-plugin (#557)
- 4e35220 Bump com.github.siom79.japicmp:japicmp-maven-plugin (#556)
- 5a305d3 Bump io.github.git-commit-id:git-commit-id-maven-plugin (#555)
- 572c89c Bump com.github.ekryd.sortpom:sortpom-maven-plugin (#553)
- 7488812 Bump org.jooq:jooq from 3.19.5 to 3.19.6 (#552)
- edce700 Bump org.apache.maven.plugins:maven-assembly-plugin (#558)
- 4b996b8 Bump org.mockito:mockito-core from 5.10.0 to 5.11.0 (#540)
- 3e18f30 Bump quarkus.platform.version from 3.7.4 to 3.8.1 (#539)
- 417228c Bump org.jreleaser:jreleaser-maven-plugin (#538)
- 69b89ab Bump com.puppycrawl.tools:checkstyle (#537)
🛠 Build
- 0afc54a build: Exclude benchkit from security checks.
- dcf5549 build: Update cache action to v4.
- 67e90e3 build: Add semantic versioning checks to verification.
- fc05cb0 build: Use Mockito bom.
- 6a824d1 build: Don’t generate JavaDoc for benchkit and doc modules.
- 580b5bf Add wait strategy for stub server (#571)