|
1 | 1 | # NEXT CHANGELOG |
2 | 2 |
|
3 | | -## Release v0.104.0 |
| 3 | +## Release v0.105.0 |
4 | 4 |
|
5 | 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 | 6 | * Added automatic detection of AI coding agents (Amp, Antigravity, Augment, Claude Code, Cline, Codex, Copilot CLI, Copilot VS Code, Cursor, Gemini CLI, Goose, Kiro, OpenClaw, OpenCode, Windsurf) in the user-agent string. The SDK now appends `agent/<name>` to HTTP request headers when running inside a known AI agent environment. Also honors the `AGENT=<name>` standard: when `AGENT` is set to a known product name the SDK reports that product, and when set to an unrecognized non-empty value the SDK reports `agent/unknown`. Environment variables set to the empty string (e.g. `CLAUDECODE=""`) now count as "set" for presence-only matchers, matching `databricks-sdk-go` semantics; previously they were treated as unset. Explicit agent env vars (e.g. `CLAUDECODE`, `GOOSE_TERMINAL`) always take precedence over the generic `AGENT=<name>` signal. When multiple agent env vars are present (e.g. a Cursor CLI subagent invoked from Claude Code), the user-agent reports `agent/multiple`. |
9 | 7 |
|
10 | 8 | ### 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 | 9 |
|
15 | 10 | ### Security Vulnerabilities |
16 | 11 |
|
17 | 12 | ### Documentation |
18 | 13 |
|
19 | 14 | ### 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. |
22 | 15 |
|
23 | 16 | ### 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`. |
0 commit comments