Skip to content

Commit c482384

Browse files
[Release] Release v0.104.0
## Release v0.104.0 ### New Features and Improvements * Add support for authentication through Azure Managed Service Identity (MSI) via the new `azure-msi` credential provider. * Support `default_profile` in `[__settings__]` section of `.databrickscfg` for consistent default profile resolution across CLI and SDKs. * Added automatic detection of AI coding agents (Antigravity, Claude Code, Cline, Codex, Copilot CLI, Cursor, Gemini CLI, OpenCode) in the user-agent string. The SDK now appends `agent/<name>` to HTTP request headers when running inside a known AI agent environment. ### Bug Fixes * Fixed non-JSON error responses (e.g. plain-text "Invalid Token" with HTTP 403) producing `Unknown` instead of the correct typed exception (`PermissionDenied`, `Unauthenticated`, etc.). The error message no longer contains Jackson deserialization internals. * Added `X-Databricks-Org-Id` header to deprecated workspace SCIM APIs (Groups, ServicePrincipals, Users) for SPOG host compatibility. * Fixed Databricks CLI authentication to detect when the cached token's scopes don't match the SDK's configured scopes. Previously, a scope mismatch was silently ignored, causing requests to use wrong permissions. The SDK now raises an error with instructions to re-authenticate. ### Internal Changes * Introduced a logging abstraction (`com.databricks.sdk.core.logging`) to decouple the SDK from a specific logging backend. * Added `token_federation_default_oidc_audiences` resolution from host metadata. The SDK now sets `tokenAudience` from the first element of this field during config initialization, with fallback to `accountId` for account hosts. ### API Changes * Add `createCatalog()`, `createSyncedTable()`, `deleteCatalog()`, `deleteSyncedTable()`, `getCatalog()` and `getSyncedTable()` methods for `workspaceClient.postgres()` service. * Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.CreateExternalLocation`. * Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.ExternalLocationInfo`. * Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.UpdateExternalLocation`. * Add `columnSelection` field for `com.databricks.sdk.service.ml.Function`. * Add `cascade` field for `com.databricks.sdk.service.pipelines.DeletePipelineRequest`. * Add `defaultBranch` field for `com.databricks.sdk.service.postgres.ProjectSpec`. * Add `defaultBranch` field for `com.databricks.sdk.service.postgres.ProjectStatus`. * Add `ingress` and `ingressDryRun` fields for `com.databricks.sdk.service.settings.AccountNetworkPolicy`. * Add `deleteAppThumbnail()` and `updateAppThumbnail()` methods for `workspaceClient.apps()` service. * Add `createMessageComment()`, `listConversationComments()` and `listMessageComments()` methods for `workspaceClient.genie()` service. * Add `applyEnvironment()` method for `workspaceClient.pipelines()` service. * Add `name` and `permission` fields for `com.databricks.sdk.service.apps.AppResourceApp`. * Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.CatalogInfo`. * Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.CreateCatalog`. * Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.UpdateCatalog`. * Add `comment` field for `com.databricks.sdk.service.dashboards.GenieFeedback`. * Add `thoughts` field for `com.databricks.sdk.service.dashboards.GenieQueryAttachment`. * Add `comment` field for `com.databricks.sdk.service.dashboards.GenieSendMessageFeedbackRequest`. * Add `requestSource` field for `com.databricks.sdk.service.ml.DataSource`. * Add `isOnline` field for `com.databricks.sdk.service.ml.MaterializedFeature`. * Add `connectorOptions` field for `com.databricks.sdk.service.pipelines.SchemaSpec`. * Add `connectorOptions` field for `com.databricks.sdk.service.pipelines.TableSpec`. * Add `scopes` field for `com.databricks.sdk.service.settings.CreateOboTokenRequest`. * Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.CreatePrivateEndpointRule`. * Add `scopes` field for `com.databricks.sdk.service.settings.CreateTokenRequest`. * Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.NccPrivateEndpointRule`. * Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.UpdatePrivateEndpointRule`. * Add `sqlState` field for `com.databricks.sdk.service.sql.StatementStatus`. * Add `usagePolicyId` field for `com.databricks.sdk.service.vectorsearch.CreateEndpoint`. * Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.CreateVectorIndexRequest`. * Add `budgetPolicyId` field for `com.databricks.sdk.service.vectorsearch.EndpointInfo`. * Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.MiniVectorIndex`. * Add `budgetPolicyId` field for `com.databricks.sdk.service.vectorsearch.PatchEndpointBudgetPolicyResponse`. * Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.VectorIndex`. * Add `TABLE_DELTA_UNIFORM_ICEBERG_EXTERNAL_DELTASHARING` enum value for `com.databricks.sdk.service.catalog.SecurableKind`. * Add `GOOGLE_DRIVE` enum value for `com.databricks.sdk.service.pipelines.IngestionSourceType`. * Add `STORAGE_OPTIMIZED` enum value for `com.databricks.sdk.service.vectorsearch.EndpointType`. * [Breaking] Remove `project` field for `com.databricks.sdk.service.postgres.SyncedTableSyncedTableSpec`. * [Breaking] Remove `apps` and `lakebase` fields for `com.databricks.sdk.service.settings.CustomerFacingIngressNetworkPolicyRequestDestination`.
1 parent 62cc915 commit c482384

File tree

9 files changed

+67
-56
lines changed

9 files changed

+67
-56
lines changed

.release_metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"timestamp": "2026-03-19 08:21:46+0000"
2+
"timestamp": "2026-04-20 08:34:28+0000"
33
}

CHANGELOG.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,64 @@
11
# Version changelog
22

3+
## Release v0.104.0 (2026-04-20)
4+
5+
### New Features and Improvements
6+
* Add support for authentication through Azure Managed Service Identity (MSI) via the new `azure-msi` credential provider.
7+
* Support `default_profile` in `[__settings__]` section of `.databrickscfg` for consistent default profile resolution across CLI and SDKs.
8+
* Added automatic detection of AI coding agents (Antigravity, Claude Code, Cline, Codex, Copilot CLI, Cursor, Gemini CLI, OpenCode) in the user-agent string. The SDK now appends `agent/<name>` to HTTP request headers when running inside a known AI agent environment.
9+
10+
### Bug Fixes
11+
* Fixed non-JSON error responses (e.g. plain-text "Invalid Token" with HTTP 403) producing `Unknown` instead of the correct typed exception (`PermissionDenied`, `Unauthenticated`, etc.). The error message no longer contains Jackson deserialization internals.
12+
* Added `X-Databricks-Org-Id` header to deprecated workspace SCIM APIs (Groups, ServicePrincipals, Users) for SPOG host compatibility.
13+
* Fixed Databricks CLI authentication to detect when the cached token's scopes don't match the SDK's configured scopes. Previously, a scope mismatch was silently ignored, causing requests to use wrong permissions. The SDK now raises an error with instructions to re-authenticate.
14+
15+
### Internal Changes
16+
* Introduced a logging abstraction (`com.databricks.sdk.core.logging`) to decouple the SDK from a specific logging backend.
17+
* Added `token_federation_default_oidc_audiences` resolution from host metadata. The SDK now sets `tokenAudience` from the first element of this field during config initialization, with fallback to `accountId` for account hosts.
18+
19+
### API Changes
20+
* Add `createCatalog()`, `createSyncedTable()`, `deleteCatalog()`, `deleteSyncedTable()`, `getCatalog()` and `getSyncedTable()` methods for `workspaceClient.postgres()` service.
21+
* Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.CreateExternalLocation`.
22+
* Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.ExternalLocationInfo`.
23+
* Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.UpdateExternalLocation`.
24+
* Add `columnSelection` field for `com.databricks.sdk.service.ml.Function`.
25+
* Add `cascade` field for `com.databricks.sdk.service.pipelines.DeletePipelineRequest`.
26+
* Add `defaultBranch` field for `com.databricks.sdk.service.postgres.ProjectSpec`.
27+
* Add `defaultBranch` field for `com.databricks.sdk.service.postgres.ProjectStatus`.
28+
* Add `ingress` and `ingressDryRun` fields for `com.databricks.sdk.service.settings.AccountNetworkPolicy`.
29+
* Add `deleteAppThumbnail()` and `updateAppThumbnail()` methods for `workspaceClient.apps()` service.
30+
* Add `createMessageComment()`, `listConversationComments()` and `listMessageComments()` methods for `workspaceClient.genie()` service.
31+
* Add `applyEnvironment()` method for `workspaceClient.pipelines()` service.
32+
* Add `name` and `permission` fields for `com.databricks.sdk.service.apps.AppResourceApp`.
33+
* Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.CatalogInfo`.
34+
* Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.CreateCatalog`.
35+
* Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.UpdateCatalog`.
36+
* Add `comment` field for `com.databricks.sdk.service.dashboards.GenieFeedback`.
37+
* Add `thoughts` field for `com.databricks.sdk.service.dashboards.GenieQueryAttachment`.
38+
* Add `comment` field for `com.databricks.sdk.service.dashboards.GenieSendMessageFeedbackRequest`.
39+
* Add `requestSource` field for `com.databricks.sdk.service.ml.DataSource`.
40+
* Add `isOnline` field for `com.databricks.sdk.service.ml.MaterializedFeature`.
41+
* Add `connectorOptions` field for `com.databricks.sdk.service.pipelines.SchemaSpec`.
42+
* Add `connectorOptions` field for `com.databricks.sdk.service.pipelines.TableSpec`.
43+
* Add `scopes` field for `com.databricks.sdk.service.settings.CreateOboTokenRequest`.
44+
* Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.CreatePrivateEndpointRule`.
45+
* Add `scopes` field for `com.databricks.sdk.service.settings.CreateTokenRequest`.
46+
* Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.NccPrivateEndpointRule`.
47+
* Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.UpdatePrivateEndpointRule`.
48+
* Add `sqlState` field for `com.databricks.sdk.service.sql.StatementStatus`.
49+
* Add `usagePolicyId` field for `com.databricks.sdk.service.vectorsearch.CreateEndpoint`.
50+
* Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.CreateVectorIndexRequest`.
51+
* Add `budgetPolicyId` field for `com.databricks.sdk.service.vectorsearch.EndpointInfo`.
52+
* Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.MiniVectorIndex`.
53+
* Add `budgetPolicyId` field for `com.databricks.sdk.service.vectorsearch.PatchEndpointBudgetPolicyResponse`.
54+
* Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.VectorIndex`.
55+
* Add `TABLE_DELTA_UNIFORM_ICEBERG_EXTERNAL_DELTASHARING` enum value for `com.databricks.sdk.service.catalog.SecurableKind`.
56+
* Add `GOOGLE_DRIVE` enum value for `com.databricks.sdk.service.pipelines.IngestionSourceType`.
57+
* Add `STORAGE_OPTIMIZED` enum value for `com.databricks.sdk.service.vectorsearch.EndpointType`.
58+
* [Breaking] Remove `project` field for `com.databricks.sdk.service.postgres.SyncedTableSyncedTableSpec`.
59+
* [Breaking] Remove `apps` and `lakebase` fields for `com.databricks.sdk.service.settings.CustomerFacingIngressNetworkPolicyRequestDestination`.
60+
61+
362
## Release v0.103.0 (2026-03-19)
463

564
### API Changes

NEXT_CHANGELOG.md

100755100644
Lines changed: 1 addition & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,15 @@
11
# NEXT CHANGELOG
22

3-
## Release v0.104.0
3+
## Release v0.105.0
44

55
### New Features and Improvements
6-
* Add support for authentication through Azure Managed Service Identity (MSI) via the new `azure-msi` credential provider.
7-
* Support `default_profile` in `[__settings__]` section of `.databrickscfg` for consistent default profile resolution across CLI and SDKs.
8-
* Added automatic detection of AI coding agents (Antigravity, Claude Code, Cline, Codex, Copilot CLI, Cursor, Gemini CLI, OpenCode) in the user-agent string. The SDK now appends `agent/<name>` to HTTP request headers when running inside a known AI agent environment.
96

107
### Bug Fixes
11-
* Fixed non-JSON error responses (e.g. plain-text "Invalid Token" with HTTP 403) producing `Unknown` instead of the correct typed exception (`PermissionDenied`, `Unauthenticated`, etc.). The error message no longer contains Jackson deserialization internals.
12-
* Added `X-Databricks-Org-Id` header to deprecated workspace SCIM APIs (Groups, ServicePrincipals, Users) for SPOG host compatibility.
13-
* Fixed Databricks CLI authentication to detect when the cached token's scopes don't match the SDK's configured scopes. Previously, a scope mismatch was silently ignored, causing requests to use wrong permissions. The SDK now raises an error with instructions to re-authenticate.
148

159
### Security Vulnerabilities
1610

1711
### Documentation
1812

1913
### Internal Changes
20-
* Introduced a logging abstraction (`com.databricks.sdk.core.logging`) to decouple the SDK from a specific logging backend.
21-
* Added `token_federation_default_oidc_audiences` resolution from host metadata. The SDK now sets `tokenAudience` from the first element of this field during config initialization, with fallback to `accountId` for account hosts.
2214

2315
### API Changes
24-
* Add `createCatalog()`, `createSyncedTable()`, `deleteCatalog()`, `deleteSyncedTable()`, `getCatalog()` and `getSyncedTable()` methods for `workspaceClient.postgres()` service.
25-
* Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.CreateExternalLocation`.
26-
* Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.ExternalLocationInfo`.
27-
* Add `effectiveFileEventQueue` field for `com.databricks.sdk.service.catalog.UpdateExternalLocation`.
28-
* Add `columnSelection` field for `com.databricks.sdk.service.ml.Function`.
29-
* Add `cascade` field for `com.databricks.sdk.service.pipelines.DeletePipelineRequest`.
30-
* Add `defaultBranch` field for `com.databricks.sdk.service.postgres.ProjectSpec`.
31-
* Add `defaultBranch` field for `com.databricks.sdk.service.postgres.ProjectStatus`.
32-
* Add `ingress` and `ingressDryRun` fields for `com.databricks.sdk.service.settings.AccountNetworkPolicy`.
33-
* Add `deleteAppThumbnail()` and `updateAppThumbnail()` methods for `workspaceClient.apps()` service.
34-
* Add `createMessageComment()`, `listConversationComments()` and `listMessageComments()` methods for `workspaceClient.genie()` service.
35-
* Add `applyEnvironment()` method for `workspaceClient.pipelines()` service.
36-
* Add `name` and `permission` fields for `com.databricks.sdk.service.apps.AppResourceApp`.
37-
* Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.CatalogInfo`.
38-
* Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.CreateCatalog`.
39-
* Add `managedEncryptionSettings` field for `com.databricks.sdk.service.catalog.UpdateCatalog`.
40-
* Add `comment` field for `com.databricks.sdk.service.dashboards.GenieFeedback`.
41-
* Add `thoughts` field for `com.databricks.sdk.service.dashboards.GenieQueryAttachment`.
42-
* Add `comment` field for `com.databricks.sdk.service.dashboards.GenieSendMessageFeedbackRequest`.
43-
* Add `requestSource` field for `com.databricks.sdk.service.ml.DataSource`.
44-
* Add `isOnline` field for `com.databricks.sdk.service.ml.MaterializedFeature`.
45-
* Add `connectorOptions` field for `com.databricks.sdk.service.pipelines.SchemaSpec`.
46-
* Add `connectorOptions` field for `com.databricks.sdk.service.pipelines.TableSpec`.
47-
* Add `scopes` field for `com.databricks.sdk.service.settings.CreateOboTokenRequest`.
48-
* Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.CreatePrivateEndpointRule`.
49-
* Add `scopes` field for `com.databricks.sdk.service.settings.CreateTokenRequest`.
50-
* Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.NccPrivateEndpointRule`.
51-
* Add `gcpEndpoint` field for `com.databricks.sdk.service.settings.UpdatePrivateEndpointRule`.
52-
* Add `sqlState` field for `com.databricks.sdk.service.sql.StatementStatus`.
53-
* Add `usagePolicyId` field for `com.databricks.sdk.service.vectorsearch.CreateEndpoint`.
54-
* Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.CreateVectorIndexRequest`.
55-
* Add `budgetPolicyId` field for `com.databricks.sdk.service.vectorsearch.EndpointInfo`.
56-
* Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.MiniVectorIndex`.
57-
* Add `budgetPolicyId` field for `com.databricks.sdk.service.vectorsearch.PatchEndpointBudgetPolicyResponse`.
58-
* Add `indexSubtype` field for `com.databricks.sdk.service.vectorsearch.VectorIndex`.
59-
* Add `TABLE_DELTA_UNIFORM_ICEBERG_EXTERNAL_DELTASHARING` enum value for `com.databricks.sdk.service.catalog.SecurableKind`.
60-
* Add `GOOGLE_DRIVE` enum value for `com.databricks.sdk.service.pipelines.IngestionSourceType`.
61-
* Add `STORAGE_OPTIMIZED` enum value for `com.databricks.sdk.service.vectorsearch.EndpointType`.
62-
* [Breaking] Remove `project` field for `com.databricks.sdk.service.postgres.SyncedTableSyncedTableSpec`.
63-
* [Breaking] Remove `apps` and `lakebase` fields for `com.databricks.sdk.service.settings.CustomerFacingIngressNetworkPolicyRequestDestination`.

databricks-sdk-java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.databricks</groupId>
77
<artifactId>databricks-sdk-parent</artifactId>
8-
<version>0.103.0</version>
8+
<version>0.104.0</version>
99
</parent>
1010
<artifactId>databricks-sdk-java</artifactId>
1111
<name>Databricks SDK for Java</name>

databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public String getValue() {
3636
// TODO: check if reading from
3737
// /META-INF/maven/com.databricks/databrics-sdk-java/pom.properties
3838
// or getClass().getPackage().getImplementationVersion() is enough.
39-
private static final String version = "0.103.0";
39+
private static final String version = "0.104.0";
4040

4141
public static void withProduct(String product, String productVersion) {
4242
UserAgent.product = product;

examples/docs/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<dependency>
2525
<groupId>com.databricks</groupId>
2626
<artifactId>databricks-sdk-java</artifactId>
27-
<version>0.103.0</version>
27+
<version>0.104.0</version>
2828
</dependency>
2929
</dependencies>
3030
</project>

examples/spring-boot-oauth-u2m-demo/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<dependency>
4141
<groupId>com.databricks</groupId>
4242
<artifactId>databricks-sdk-java</artifactId>
43-
<version>0.103.0</version>
43+
<version>0.104.0</version>
4444
</dependency>
4545
</dependencies>
4646
</project>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.databricks</groupId>
66
<artifactId>databricks-sdk-parent</artifactId>
7-
<version>0.103.0</version>
7+
<version>0.104.0</version>
88
<packaging>pom</packaging>
99
<name>Databricks SDK for Java</name>
1010
<description>The Databricks SDK for Java includes functionality to accelerate development with Java for

shaded/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55

66
<properties>
7-
<sdk.version>0.103.0</sdk.version>
7+
<sdk.version>0.104.0</sdk.version>
88
</properties>
99

1010
<groupId>com.databricks</groupId>

0 commit comments

Comments
 (0)