Skip to content

Releases: databricks/databricks-jdbc

Release Databricks OSS JDBC driver version v1.0.6-oss

29 May 17:13
ff2751a
Compare
Choose a tag to compare

Added

  • Support for fetching tables and views across all catalogs using SHOW TABLES FROM/IN ALL CATALOGS in the SQL Exec API.
  • Support for Token Exchange in OAuth flows where in third party tokens are exchanged for InHouse tokens.
  • Support for polling of statementStatus and sqlState for async SQL execution.
  • Support for REAL, NUMERIC, CHAR, and BIGINT JDBC types in PreparedStatement.setObject method.
  • Support for INTERVAL data type.

Fixed

  • Added explicit null check for Arrow value vector when the value is not set and Arrow null checking is disabled.

Release Databricks OSS JDBC driver version v.1.0.5-oss

28 Apr 11:05
2f2814c
Compare
Choose a tag to compare

Added

  • Support for token cache in OAuth U2M Flow using the configuration parameters: EnableTokenCache and TokenCachePassPhrase.
  • Support for additional SSL functionality including use of System trust stores (UseSystemTruststore) and allowing self signed certificates (via AllowSelfSignedCerts)
  • Added support for getImportedKeys and getCrossReferences in SQL Exec API mode

Updated

  • Modified E2E tests to validate driver behavior under multi-threaded access patterns.
  • Improved error handling through telemetry by throwing custom exceptions across the repository.

Fixed

  • Fixed bug where batch prepared statements could lead to backward-incompatible error scenarios.
  • Corrected setting of decimal types in prepared statement executions.
  • Resolved NullPointerException (NPE) that occurred during ResultSet and Connection operations in multithreaded environment.

v1.0.4-oss

15 Apr 09:21
c29a214
Compare
Choose a tag to compare

[v1.0.4-oss] - 2025-04-14

Added

  • Support for the connection parameter SocketTimeout has been added. By default, it is set to 900 seconds.
  • Handle server returned Thrift version as part of open session response gracefully
  • Added OWASP security check in the repository.

Updated

  • Updated SDK to the latest version (0.44.0).
  • Add descriptive messages in thrift error scenario

Fixed

  • BigDecimal is now set correctly to NULL if null value is provided.
  • Fixed issue with JDBC URL not being parsed correctly when compute path is provided via properties.
  • Addressed CVE vulnerabilities (CVE-2024-47535, CVE-2025-25193, CVE-2023-33953)
  • Fix bug in preparedStatement decimal parameter in thrift flow.

v1.0.3-oss

09 Apr 04:02
db7d149
Compare
Choose a tag to compare

Added

  • Introduces a centralized timeout check and automatic cancellation for statements
  • Allows specifying a default size for STRING columns (set to 255 by default) via defaultStringColumnLength connection parameter
  • Implements a custom retry strategy to handle long-running tasks and connection attempts
  • Added support for Azure Managed Identity based authentication
  • Adds existence checks for volumes, objects, and prefixes to improve operational coverage
  • Allows adjusting the number of rows retrieved in each fetch operation for better performance via RowsFetchedPerBlock parameter
  • Allows overriding the default OAuth redirect port (8020) with a single port or comma-separated list of ports using OAuth2RedirectUrlPort
  • Support for custom headers in the JDBC URL via http.header.<key>=<value> connection parameter

Updated

  • Removes the hard-coded default poll interval configuration in favor of a user-defined parameter for greater flexibility
  • Adjusts the handling of NULL and non-NULL boolean values

Fixed

  • Ensures the driver respects the configured limit on the number of rows returned
  • Improves retry behaviour to cover all operations, relying solely on the total retry time specified via the driver URL parameter
  • Returns an exception instead of -1 when a column is not found

v1.0.2-oss

19 Mar 07:39
4a383c0
Compare
Choose a tag to compare

Fixed

  • Fixed columnType conversion for Variant and Timestamp_NTZ types
  • Fix minor issue for string dealing with whitespaces

v1.0.1-oss

11 Mar 11:31
2a31ec7
Compare
Choose a tag to compare

[v1.0.1-oss] - 2025-03-11

Note

This release has been deprecated due to an issue with processing String types in query results. Users are advised to upgrade to v1.0.2-oss or later.

Added

  • Support for complex data types, including MAP, ARRAY, and STRUCT.
  • Support for TIMESTAMP_NTZ and VARIANT data types.
  • Extended support for prepared statement when using thrift DBSQL/all-purpose clusters.
  • Improved backward compatibility with the latest Databricks driver.
  • Improved driver performance for large queries by optimizing chunk handling.
  • Configurable HTTP connection pool size for better resource management.
  • Support for Azure Active Directory (AAD) Service Principal in M2M OAuth.
  • Implemented java.sql.Driver#getPropertyInfo to fetch driver properties.

Updated

  • Set Thrift mode as the default for the driver.
  • Improved driver telemetry (opt-in feature) for better monitoring and debugging.
  • Enhanced test infrastructure to improve accuracy and reliability.
  • Added SQL state support in SEA mode.
  • Changes to JDBC URL parameters (to ensure compatibility with the latest Databricks driver):
    1. Removed catalog in favour of ConnCatalog
    2. Removed schema in favour of ConnSchema
    3. Renamed OAuthDiscoveryURL to OIDCDiscoveryEndpoint
    4. Renamed OAuth2TokenEndpoint to OAuth2ConnAuthTokenEndpoint
    5. Renamed OAuth2AuthorizationEndPoint to OAuth2ConnAuthAuthorizeEndpoint
    6. Renamed OAuthDiscoveryMode to EnableOIDCDiscovery
    7. Renamed OAuthRefreshToken to Auth_RefreshToken

Fixed

  • Ensured TIMESTAMP columns are returned in local time.
  • Resolved inconsistencies in schema and catalog retrieval from the Connection class.
  • Fixed minor issues with metadata fetching in Thrift mode.
  • Addressed incorrect handling of access tokens provided via client info.
  • Corrected the driver version reported by DatabaseMetaData.
  • Fixed case-sensitive behaviour while fetching client info.

Release v0.9.9-oss to PuPr

03 Feb 09:14
6980f03
Compare
Choose a tag to compare

[v0.9.9-oss] - 2025-01-03

Added

  • Telemetry support in OSS JDBC.
  • Support for fetching connection ID and closing connections by connection ID.
  • Stream support implementation in the UC Volume DBFS Client.
  • Hybrid result support added to the driver (for both metadata and executed queries).
  • Support for complex data types.
  • Apache Async HTTP Client 5.3 added for parallel query result downloads, optimizing query fetching and resource cleanup.

Updated

  • Enhanced end-to-end testing for M2M and DBFS UCVolume operations, including improved logging and proxy handling.
  • Removed the version check SQL call when connection is established.

Fixed

  • Fixed statement ID extraction from Thrift GUID.
  • Made volume operations flag backward-compatible with the existing Databricks driver.
  • Improved backward compatibility of ResultSetMetadata with the legacy driver.
  • Fix schema in connection string

Release v0.9.8-oss to PuPr

16 Dec 06:47
22808ed
Compare
Choose a tag to compare

[v0.9.8-oss] - 2024-12-16

Added

  • Run queries in async mode in the thrift client.
  • Added GET and DELETE operations for the DBFS client, enabling full UC Volume operations (PUT, GET, DELETE) without spinning up DB compute.

Updated

  • Do not send repeated DBSQL version queries.
  • Skip SEA compatibility check if null or empty DBSQL version is returned by the workspace.
  • Skips SEA check when DBSQL version string is blank space.
  • Updated SDK version to resolve CVEs.

Fixed

  • Eliminated the statement execution thread pool.
  • Fixed UC volume GET operation.
  • Fixed async execution in SEA mode.
  • Fixed and updated the SDK version to resolve CVEs.

Release v0.9.7-oss to PuPr

20 Nov 18:27
56ef04f
Compare
Choose a tag to compare

[v0.9.7-oss] - 2024-11-20

Added

  • Added GCP OAuth support: Use Google ID (service account email) with a custom JWT or Google Credentials.
  • SQL state added in thrift flow
  • Add readable statement-Id for thrift
  • Added Client to perform UC Volume operations without the need of spinning up your DB compute
  • Add compression for SEA flow

Updated

  • Updated support for large queries in thrift flow
  • Throw exceptions in case unsupported old DBSQL versions are used (i.e., before DBR V15.2)
  • Deploy reduced POM during release
  • Improve executor service management

Fixed

  • Certificate revocation properties only apply when provided
  • Create a new HTTP client for each connection
  • Accept customer userAgent without errors

Release v0.9.6-oss to PuPr

24 Oct 18:17
17bb895
Compare
Choose a tag to compare

[v0.9.6-oss] - 2024-10-24

Added

  • Added compression in the Thrift protocol flow.
  • Added support for asynchronous query execution.
  • Implemented executeBatch for batch operations.
  • Added a method to extract disposition from result set metadata.

Updated

  • Optimised memory allocation for type converters.
  • Enhanced logging for better traceability.
  • Improved performance in the Thrift protocol flow.
  • Upgraded commons-io to address security vulnerability (CVE mitigation).
  • Ensured thread safety in DatabricksPooledConnection.
  • Set UBER jar as the default jar for distribution.
  • Refined result chunk management for better efficiency.
  • Enhanced integration tests for broader coverage.
  • Increased unit test coverage threshold to 85%.
  • Improved interaction with Thrift-server client.

Fixed

  • Fixed compatibility issue with other drivers in the driver manager.