Skip to content

chore(deps): bump com.databricks:databricks-jdbc from 3.4.1 to 3.4.2 - #255

Merged
jymaire merged 1 commit into
mainfrom
dependabot/gradle/com.databricks-databricks-jdbc-3.4.2
Jul 30, 2026
Merged

chore(deps): bump com.databricks:databricks-jdbc from 3.4.1 to 3.4.2#255
jymaire merged 1 commit into
mainfrom
dependabot/gradle/com.databricks-databricks-jdbc-3.4.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 21, 2026

Copy link
Copy Markdown
Contributor

Bumps com.databricks:databricks-jdbc from 3.4.1 to 3.4.2.

Release notes

Sourced from com.databricks:databricks-jdbc's releases.

v3.4.2

Added

  • Added UseBoundedSeaApi connection property (default 0/off). When enabled, the driver uses the bounded SEA API contract for CloudFetch: sends row_offset on GetResultData requests and uses next_chunk_index for chunk discovery instead of total_chunk_count. Requires server support.
  • OAuth M2M (client credentials) connections can now supply the client secret via the JDBC password/PWD property and the client id via the JDBC user/UID property, instead of embedding OAuth2Secret/OAuth2ClientId in the connection URL. This lets BI tools (e.g. DBeaver) mask the OAuth secret in their password field rather than exposing it in the clear-text JDBC URL. Explicit OAuth2ClientId/OAuth2Secret still take precedence when present, so existing URLs are unaffected.

Updated

  • Bumped the Databricks SDK for Java dependency from 0.106.0 to 0.118.0.

Fixed

  • Fixed telemetry misattribution when multiple connections (e.g. Thrift and SEA) are used on the same thread. Per-statement telemetry events could be tagged with another connection's context (e.g. transport mode); each connection's telemetry now uses its own context instead of a shared thread-local value.
  • Hardened the OAuth U2M token cache at rest (encryption key derivation and file permissions).
  • Fixed DatabaseMetaData.getURL() exposing credentials embedded in the connection URL; secret parameters are now masked (the URL is otherwise unchanged).
  • Fixed presigned URL credentials not being fully redacted in logs.
  • Fixed access token exposure in DEBUG logs.
  • Fixed StackOverflowError / hang when closing a ResultSet or Statement with closeOnCompletion() enabled.
  • Fixed SQL injection vulnerability in binary parameter handling.
  • Fixed setCatalog() and setSchema() producing invalid SQL (e.g. SET CATALOG ``name``) when the catalog or schema name was passed already wrapped in backticks. Backticks are now stripped before wrapping, and getCatalog()/getSchema()` return the bare identifier name.
  • Fixed metadata SQL generation for catalog, schema, and table identifiers containing backticks.
  • Fixed SEA result truncation when direct results are disabled. Large, highly-compressible results that span multiple chunks were delivered inline via the old hybrid path and truncated to the first chunk. The SQL Execution path now uses an async (0s) wait timeout when direct results are disabled, so results are returned via external links and fetched in full.
  • Fixed getColumns() flooding the DriverManager log writer with caught-and-recovered Invalid column index stack traces.
  • Fixed timezone-shifted TIMESTAMP values when retrieving nested complex types (STRUCT/ARRAY/MAP) with EnableComplexDatatypeSupport=1.
  • Fixed MAP columns whose values are themselves complex types (e.g. MAP<INT,ARRAY<BIGINT>>) rendering their values as empty (e.g. SELECT MAP(0, ARRAY(34277,0)) returned {0:} instead of {0:[34277,0]}) when fetched via Arrow (EnableArrow=1) with EnableComplexDatatypeSupport disabled.
  • Fixed DatabricksDatabaseMetaData.supportsBatchUpdates() always returning false, which caused batch-aware JDBC clients (e.g. Apache Hop) to skip executeBatch() and fall back to one INSERT per row. It now returns true when EnableBatchedInserts=1, so those clients use the optimized multi-row INSERT path.
  • Fixed Connection.setReadOnly(true) throwing DatabricksSQLFeatureNotSupportedException, which broke clients (e.g. Trino/Starburst GenericJDBC, HikariCP, DBCP) that call it during connection initialization. Per the JDBC spec, setReadOnly is a hint the driver may ignore; it is now a no-op and isReadOnly() continues to return false.
  • Fixed ResultSetMetaData.getColumnTypeName() returning TIMESTAMP for TIMESTAMP_NTZ columns (e.g. SELECT MIN(ntz_col) ...), a regression from 3.0.7. By default the driver now preserves the TIMESTAMP_NTZ type name across the SEA, Thrift, and describe-query metadata paths; getColumnType() continues to report java.sql.Types.TIMESTAMP. Set the new connection property EnableTimestampNtzTypeName=0 to restore the previous behavior (report TIMESTAMP), which matches the legacy (v2.x.x) driver. (#1495)
  • Fixed SQLException.getErrorCode() being inconsistent between transports for statement-execution failures: the Thrift path returned 0 while the SEA path returned 1003 for the same server error. Thrift statement errors now report the EXECUTE_STATEMENT_FAILED (1003) vendor code, matching SEA. The SQLState and error message are unchanged.
Changelog

Sourced from com.databricks:databricks-jdbc's changelog.

[v3.4.2] - 2026-07-14

Added

  • Added UseBoundedSeaApi connection property (default 0/off). When enabled, the driver uses the bounded SEA API contract for CloudFetch: sends row_offset on GetResultData requests and uses next_chunk_index for chunk discovery instead of total_chunk_count. Requires server support.
  • OAuth M2M (client credentials) connections can now supply the client secret via the JDBC password/PWD property and the client id via the JDBC user/UID property, instead of embedding OAuth2Secret/OAuth2ClientId in the connection URL. This lets BI tools (e.g. DBeaver) mask the OAuth secret in their password field rather than exposing it in the clear-text JDBC URL. Explicit OAuth2ClientId/OAuth2Secret still take precedence when present, so existing URLs are unaffected.

Updated

  • Bumped the Databricks SDK for Java dependency from 0.106.0 to 0.118.0.

Fixed

  • Fixed telemetry misattribution when multiple connections (e.g. Thrift and SEA) are used on the same thread. Per-statement telemetry events could be tagged with another connection's context (e.g. transport mode); each connection's telemetry now uses its own context instead of a shared thread-local value.
  • Hardened the OAuth U2M token cache at rest (encryption key derivation and file permissions).
  • Fixed DatabaseMetaData.getURL() exposing credentials embedded in the connection URL; secret parameters are now masked (the URL is otherwise unchanged).
  • Fixed presigned URL credentials not being fully redacted in logs.
  • Fixed access token exposure in DEBUG logs.
  • Fixed StackOverflowError / hang when closing a ResultSet or Statement with closeOnCompletion() enabled.
  • Fixed SQL injection vulnerability in binary parameter handling.
  • Fixed setCatalog() and setSchema() producing invalid SQL (e.g. SET CATALOG ``name``) when the catalog or schema name was passed already wrapped in backticks. Backticks are now stripped before wrapping, and getCatalog()/getSchema()` return the bare identifier name.
  • Fixed metadata SQL generation for catalog, schema, and table identifiers containing backticks.
  • Fixed SEA result truncation when direct results are disabled. Large, highly-compressible results that span multiple chunks were delivered inline via the old hybrid path and truncated to the first chunk. The SQL Execution path now uses an async (0s) wait timeout when direct results are disabled, so results are returned via external links and fetched in full.
  • Fixed getColumns() flooding the DriverManager log writer with caught-and-recovered Invalid column index stack traces.
  • Fixed timezone-shifted TIMESTAMP values when retrieving nested complex types (STRUCT/ARRAY/MAP) with EnableComplexDatatypeSupport=1.
  • Fixed MAP columns whose values are themselves complex types (e.g. MAP<INT,ARRAY<BIGINT>>) rendering their values as empty (e.g. SELECT MAP(0, ARRAY(34277,0)) returned {0:} instead of {0:[34277,0]}) when fetched via Arrow (EnableArrow=1) with EnableComplexDatatypeSupport disabled.
  • Fixed DatabricksDatabaseMetaData.supportsBatchUpdates() always returning false, which caused batch-aware JDBC clients (e.g. Apache Hop) to skip executeBatch() and fall back to one INSERT per row. It now returns true when EnableBatchedInserts=1, so those clients use the optimized multi-row INSERT path.
  • Fixed Connection.setReadOnly(true) throwing DatabricksSQLFeatureNotSupportedException, which broke clients (e.g. Trino/Starburst GenericJDBC, HikariCP, DBCP) that call it during connection initialization. Per the JDBC spec, setReadOnly is a hint the driver may ignore; it is now a no-op and isReadOnly() continues to return false.
  • Fixed ResultSetMetaData.getColumnTypeName() returning TIMESTAMP for TIMESTAMP_NTZ columns (e.g. SELECT MIN(ntz_col) ...), a regression from 3.0.7. By default the driver now preserves the TIMESTAMP_NTZ type name across the SEA, Thrift, and describe-query metadata paths; getColumnType() continues to report java.sql.Types.TIMESTAMP. Set the new connection property EnableTimestampNtzTypeName=0 to restore the previous behavior (report TIMESTAMP), which matches the legacy (v2.x.x) driver. (#1495)
  • Fixed SQLException.getErrorCode() being inconsistent between transports for statement-execution failures: the Thrift path returned 0 while the SEA path returned 1003 for the same server error. Thrift statement errors now report the EXECUTE_STATEMENT_FAILED (1003) vendor code, matching SEA. The SQLState and error message are unchanged.
Commits
  • 724c217 Bump to version 3.4.2 (#1551)
  • 43ea6c4 Align Thrift statement-error vendor code with SEA (EXECUTE_STATEMENT_FAILED) ...
  • ca1889b Fix MAP with complex value type rendering as empty via Arrow (#1505) (#1546)
  • e647399 Stream CloudFetch chunk decompression to bound memory and prevent OOM on larg...
  • 276f634 Add bounded SEA API support for CloudFetch (UseBoundedSeaApi) (#1468)
  • 602faea Preserve TIMESTAMP_NTZ type name in ResultSetMetaData (#1495) (#1519)
  • bcdb6c2 Bump anthropics/claude-code-action from 1.0.79 to 1.0.166 (#1538)
  • a9cc4c7 Bump actions/setup-java from 4.8.0 to 5.4.0 (#1542)
  • f51bfa3 Bump peter-evans/create-pull-request from 7.0.11 to 8.1.1 (#1541)
  • 4710305 Bump actions/cache/save from 4.3.0 to 6.1.0 (#1540)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added the dependency-upgrade Dependency upgrade is needed label Jul 21, 2026
@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📦 Artifacts

Name Size Updated Expiration
jar 50.18 MB Jul 30, 26, 10:03:12 AM UTC Aug 6, 26, 10:03:09 AM UTC

🛡 Trivy

Vulnerability in: Java

Vulnerability Severity Package Installed Version Fixed Version
CVE-2026-59949 MEDIUM at.yawk.lz4:lz4-java 1.10.1 1.11.1
CVE-2026-54515 MEDIUM com.fasterxml.jackson.core:jackson-databind 2.18.8 3.1.4, 2.18.9, 2.21.5, 2.22.1
CVE-2026-59889 MEDIUM com.fasterxml.jackson.core:jackson-databind 2.18.8 2.21.5, 2.18.9, 2.22.1
GHSA-mhm7-754m-9p8w MEDIUM com.fasterxml.jackson.core:jackson-databind 2.18.8 2.18.9, 2.21.5

🧪 Java Unit Tests

TestsPassed ✅Skipped ⚠️FailedTime ⏱
Java Tests Report15 ran6 ✅9 ⚠️0 ❌3s 407ms

🔁 Unreleased Commits

5 commits since v1.4.2

SHA Title Author Date
226d8d0 fix: renormalize gradlew.bat line endings François Delbrayelle Jul 23, 26, 1:02:44 PM UTC
1248c84 chore(deps): bump com.github.ben-manes.versions from 0.54.0 to 0.56.0 (#258) dependabot[bot] Jul 30, 26, 9:55:56 AM UTC
fbbba4f chore(deps): bump com.databricks:databricks-sdk-java (#257) dependabot[bot] Jul 30, 26, 9:56:05 AM UTC
ffeb12a chore(deps): bump com.gradleup.shadow from 9.4.3 to 9.6.1 (#256) dependabot[bot] Jul 30, 26, 9:56:14 AM UTC
b5fc29b chore(deps): bump the kestra-gradle-plugins group across 1 directory with 4 updates (#247) dependabot[bot] Jul 30, 26, 9:56:27 AM UTC

@github-actions

Copy link
Copy Markdown
Contributor

Tests report quick summary:

success ✅ > tests: 15, success: 6, skipped: 9, failed: 0

unfold for details
Project Status Success Skipped Failed
plugin-databricks success ✅ 6 9 0

@jymaire

jymaire commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

@dependabot rebase

Bumps [com.databricks:databricks-jdbc](https://github.com/databricks/databricks-jdbc) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/databricks/databricks-jdbc/releases)
- [Changelog](https://github.com/databricks/databricks-jdbc/blob/main/CHANGELOG.md)
- [Commits](databricks/databricks-jdbc@v3.4.1...v3.4.2)

---
updated-dependencies:
- dependency-name: com.databricks:databricks-jdbc
  dependency-version: 3.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/gradle/com.databricks-databricks-jdbc-3.4.2 branch from 615b197 to f634562 Compare July 30, 2026 09:58
@jymaire
jymaire merged commit 57a1f15 into main Jul 30, 2026
5 checks passed
@jymaire
jymaire deleted the dependabot/gradle/com.databricks-databricks-jdbc-3.4.2 branch July 30, 2026 10:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependency-upgrade Dependency upgrade is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant