- Added support for DoD (.mil) domains
- Enables fetching of metadata for SELECT queries using PreparedStatement prior to setting parameters or executing the query.
- Added support for SSL client certificate authentication via keystore configuration parameters: SSLKeyStore, SSLKeyStorePwd, SSLKeyStoreType, and SSLKeyStoreProvider.
- Updated JDBC URL regex to accept valid connection strings that were incorrectly rejected.
- Updated decimal conversion logic to fix numeric values missing decimal precision.
- 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.setObjectmethod - Support for INTERVAL data type.
- Added explicit null check for Arrow value vector when the value is not set and Arrow null checking is disabled.
- Support for token cache in OAuth U2M Flow using the configuration parameters:
EnableTokenCacheandTokenCachePassPhrase. - Support for additional SSL functionality including use of System trust stores (
UseSystemTruststore) and allowing self signed certificates (viaAllowSelfSignedCerts) - Added support for
getImportedKeysandgetCrossReferencesin SQL Exec API mode
- 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 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.
- Support for connection parameter SocketTimeout.
- Handle server returned Thrift version as part of open session response gracefully
- Added OWASP security check in the repository.
- Updated SDK to the latest version (0.44.0).
- Add descriptive messages in thrift error scenario
- 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.
- Introduces a centralized timeout check and automatic cancellation for statements
- Allows specifying a default size for STRING columns (set to 255 by default) via
defaultStringColumnLengthconnection 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
RowsFetchedPerBlockparameter - 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
- 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
- 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
- Fixed columnType conversion for Variant and Timestamp_NTZ types
- Fix minor issue for string dealing with whitespaces
- 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.
- 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):
- Removed catalog in favour of ConnCatalog
- Removed schema in favour of ConnSchema
- Renamed OAuthDiscoveryURL to OIDCDiscoveryEndpoint
- Renamed OAuth2TokenEndpoint to OAuth2ConnAuthTokenEndpoint
- Renamed OAuth2AuthorizationEndPoint to OAuth2ConnAuthAuthorizeEndpoint
- Renamed OAuthDiscoveryMode to EnableOIDCDiscovery
- Renamed OAuthRefreshToken to Auth_RefreshToken
- 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.
- 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.
- 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 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
- 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.
- 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.
- 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.
- 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 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
- Certificate revocation properties only apply when provided
- Create a new HTTP client for each connection
- Accept customer userAgent without errors
- Added compression in the Thrift protocol flow.
- Added support for asynchronous query execution.
- Implemented
executeBatchfor batch operations. - Added a method to extract disposition from result set metadata.
- Optimised memory allocation for type converters.
- Enhanced logging for better traceability.
- Improved performance in the Thrift protocol flow.
- Upgraded
commons-ioto 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 compatibility issue with other drivers in the driver manager.
- Support proxy ignore list.
- OSS Readiness improvements.
- Improve Logging.
- Add SSL Truststore URL params to allow configuring custom SSL truststore.
- Accept Pass-through access token as part of JDBC connector parameter.
getTablesThrift call to align with JDBC standards.- Improved metadata functions.
- Fixed memory leaks and made chunk download thread-safe.
- Fixed issues with prepared statements in Thrift and set default timestamps.
- Fixed issues with empty table types, null pointer in
IS_GENERATEDCOLUMN, and ordinal position. - Increased retry attempts for chunk downloads to enhance resilience.
- Fixed exceptions being thrown for statement timeouts and cancel futures.
- Improved UC Volume code.
- Remove cyclic dependencies in package
- Fallback mechanism for smoother token refresh flow.
- Retry logic to improve chunk download reliability.
- Improved logging for timeouts and statement execution for better issue tracking.
- Timestamp logging in UTC to avoid skew caused by local timezones.
- Passthrough token handling with backward compatibility for the existing driver.
- Continued improvements towards OSS readiness.
getTablesThrift call to align with JDBC standards.- Improved accuracy of column metadata, fixing issues with empty table types, null pointer in
IS_GENERATEDCOLUMN, and ordinal position. - Passthrough token handling for backward compatibility.
- Memory leaks and made chunk download thread-safe.
- Issues with prepared statements in Thrift and set default timestamps.
- Increased retry attempts for chunk downloads to enhance resilience.
- Exceptions are now thrown for statement timeouts and cancel futures.
- OSS readiness changes.
- M2M JWT support.
- Credential provider OAuthRefresh.
- Commands to run benchmarking tests.
- Compiling logic for benchmarking workflows.
- Fixed metadata and TableType issues.
- Fixed precision and scale for certain dataTypes.
- Minor bug for UC Volume in Thrift mode.
- SLF4j support for default SDK mode.
- Deprecated username handling.
- Catalog and schema not set by default.
- Support for Input Stream in UC Volume Operations.
- Metadata fixes.
- Redacted passwords from logging.
- Release OSS JDBC driver for Public Preview.
- Initial beta release of Databricks JDBC OSS Driver for Public Preview.
- Stable release before Public Preview.
- All-purpose cluster support and logging support.
- First stable release with support for SQL warehouses.