Skip to content

Commit 5057a1a

Browse files
Release v3.0.4 (#1078)
## Description Release v3.0.4 ## Testing <!-- Describe how the changes have been tested--> ## Additional Notes to the Reviewer <!-- Share any additional context or insights that may help the reviewer understand the changes better. This could include challenges faced, limitations, or compromises made during the development process. Also, mention any areas of the code that you would like the reviewer to focus on specifically. --> --------- Co-authored-by: Jayant Singh <jayant.singh@databricks.com>
1 parent 924ac30 commit 5057a1a

13 files changed

Lines changed: 53 additions & 25 deletions

File tree

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ If available, share redacted client side logs
2626
- OS: [e.g. Windows]
2727
- Java version [e.g. Java 21]
2828
- Java vendor [e.g. OpenJDK]
29-
- Driver Version [e.g. 3.0.1]
29+
- Driver Version [e.g. 3.0.4]
3030
- BI Tool (if used) [e.g. DBeaver]
3131
- BI Tool version (if applicable) [e.g. 24.3.5]
3232

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
11
# Version Changelog
2+
## [v3.0.4] - 2025-11-12
3+
4+
### Added
5+
- Added support for geospatial data types.
6+
- Added support for telemetry log levels, which can be controlled via the connection parameter `TelemetryLogLevel`. This allows users to configure the verbosity of telemetry logging from OFF to TRACE.
7+
- Added full support for JDBC transaction control methods in Databricks. Transaction support in Databricks is currently available as a Private Preview. The `IgnoreTransactions` connection parameter can be set to `1` to disable or no-op transaction control methods.
8+
- Added a new config attribute `DisableOauthRefreshToken` to control whether refresh tokens are requested in OAuth exchanges. By default, the driver does not include the `offline_access` scope. If `offline_access` is explicitly provided by the user, it is preserved and not removed.
9+
10+
### Updated
11+
- Updated sdk version from 0.65.0 to 0.69.0
12+
13+
### Fixed
14+
- Fixed SQL syntax error when LIKE queries contain empty ESCAPE clauses.
15+
- Fix: driver failing to authenticate on token update in U2M flow.
16+
- Fix: driver failing to parse complex data types with nullable attributes.
17+
- Fixed: Resolved SDK token-caching regression causing token refresh on every call. SDK is now configured once to avoid excessive token endpoint hits and rate limiting.
18+
- Fixed: TimestampConverter.toString() returning ISO8601 format with timezone conversion instead of SQL standard format.
19+
- Fixed: Driver not loading complete JSON result in the case of SEA Inline without Arrow
20+
---
21+
222
## [v3.0.3] - 2025-10-30
323
### Added
424

NEXT_CHANGELOG.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,9 @@
33
## [Unreleased]
44

55
### Added
6-
- Added support for geospatial data types.
7-
- Added support for telemetry log levels, which can be controlled via the connection parameter `TelemetryLogLevel`. This allows users to configure the verbosity of telemetry logging from OFF to TRACE.
8-
- Added full support for JDBC transaction control methods in Databricks. Transaction support in Databricks is currently available as a Private Preview. The `IgnoreTransactions` connection parameter can be set to `1` to disable or no-op transaction control methods.
9-
- Added a new config attribute `DisableOauthRefreshToken` to control whether refresh tokens are requested in OAuth exchanges. By default, the driver does not include the `offline_access` scope. If `offline_access` is explicitly provided by the user, it is preserved and not removed.
106

117
### Updated
12-
- Updated sdk version from 0.65.0 to 0.69.0
138

149
### Fixed
15-
- Fixed SQL syntax error when LIKE queries contain empty ESCAPE clauses.
16-
- Fix: driver failing to authenticate on token update in U2M flow.
17-
- Fix: driver failing to parse complex data types with nullable attributes.
18-
- Fixed: Resolved SDK token-caching regression causing token refresh on every call. SDK is now configured once to avoid excessive token endpoint hits and rate limiting.
19-
- Fixed: TimestampConverter.toString() returning ISO8601 format with timezone conversion instead of SQL standard format.
20-
- Fixed: Driver not loading complete JSON result in the case of SEA Inline without Arrow
2110
---
2211
*Note: When making changes, please add your change under the appropriate section with a brief description.*

development/.release-freeze.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"freeze": true,
3-
"reason": "release 3.0.4"
2+
"freeze": false,
3+
"reason": ""
44
}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<groupId>com.databricks</groupId>
66
<artifactId>databricks-jdbc</artifactId>
77
<!-- This value may be modified by a release script to reflect the current version of the driver. -->
8-
<version>3.0.1</version>
8+
<version>3.0.4</version>
99
<packaging>jar</packaging>
1010
<name>Databricks JDBC Driver</name>
1111
<description>Databricks JDBC Driver.</description>

release-notes.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,25 @@ The release notes summarize enhancements, new features, known issues, workflow c
66

77
Version History ==============================================================
88

9+
3.0.4 ========================================================================
10+
Released 2025-11-12
11+
12+
Enhancements & New Features
13+
14+
* Added support for geospatial data types.
15+
* Added support for telemetry log levels, which can be controlled via the connection parameter `TelemetryLogLevel`. This allows users to configure the verbosity of telemetry logging from OFF to TRACE.
16+
* Added full support for JDBC transaction control methods in Databricks. Transaction support in Databricks is currently available as a Private Preview. The `IgnoreTransactions` connection parameter can be set to `1` to disable or no-op transaction control methods.
17+
* Added a new config attribute `DisableOauthRefreshToken` to control whether refresh tokens are requested in OAuth exchanges. By default, the driver does not include the `offline_access` scope. If `offline_access` is explicitly provided by the user, it is preserved and not removed.
18+
19+
Resolved Issues
20+
21+
* Fixed SQL syntax error when LIKE queries contain empty ESCAPE clauses.
22+
* Fix: driver failing to authenticate on token update in U2M flow.
23+
* Fix: driver failing to parse complex data types with nullable attributes.
24+
* Fixed: Resolved SDK token-caching regression causing token refresh on every call. SDK is now configured once to avoid excessive token endpoint hits and rate limiting.
25+
* Fixed: TimestampConverter.toString() returning ISO8601 format with timezone conversion instead of SQL standard format.
26+
* Fixed: Driver not loading complete JSON result in the case of SEA Inline without Arrow
27+
928
3.0.3 ========================================================================
1029
Released 2025-10-30
1130

src/main/java/com/databricks/jdbc/common/util/DriverUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
public class DriverUtil {
2121

2222
private static final JdbcLogger LOGGER = JdbcLoggerFactory.getLogger(DriverUtil.class);
23-
private static final String DRIVER_VERSION = "3.0.1";
23+
private static final String DRIVER_VERSION = "3.0.4";
2424
private static final String DRIVER_NAME = "oss-jdbc";
2525
private static final String JDBC_VERSION = "4.3";
2626

src/test/java/com/databricks/jdbc/api/impl/DatabricksDatabaseMetaDataTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,7 @@ public void testGetDriverName() throws SQLException {
813813
@Test
814814
public void testGetDriverVersion() throws SQLException {
815815
String result = metaData.getDriverVersion();
816-
assertEquals("3.0.1", result);
816+
assertEquals("3.0.4", result);
817817
}
818818

819819
@Test

src/test/java/com/databricks/jdbc/common/safe/DatabricksDriverFeatureFlagsContextTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class DatabricksDriverFeatureFlagsContextTest {
3737
@Mock private ObjectMapper objectMapperMock;
3838
private static final String FEATURE_FLAG_NAME = "featureFlagName";
3939
private static final String FEATURE_FLAGS_ENDPOINT =
40-
"https://test-host/api/2.0/connector-service/feature-flags/OSS_JDBC/3.0.1";
40+
"https://test-host/api/2.0/connector-service/feature-flags/OSS_JDBC/3.0.4";
4141

4242
private DatabricksDriverFeatureFlagsContext context;
4343

src/test/java/com/databricks/jdbc/common/util/DriverUtilTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ public class DriverUtilTest {
1414
public void testGetDriverVersion() {
1515
String version = DriverUtil.getDriverVersion();
1616
assertNotNull(version);
17-
assertEquals("3.0.1", version);
17+
assertEquals("3.0.4", version);
1818
}
1919

2020
@Test
2121
public void testGetDriverVersionWithoutOSSSuffix() {
2222
String version = DriverUtil.getDriverVersionWithoutOSSSuffix();
2323
assertNotNull(version);
24-
assertEquals("3.0.1", version);
24+
assertEquals("3.0.4", version);
2525
}
2626

2727
@Test

0 commit comments

Comments
 (0)