Skip to content

Releases: databricks/databricks-sdk-py

v0.106.0

30 Apr 12:33
650b178

Choose a tag to compare

## Release v0.106.0

### Bug Fixes
* Fixed Databricks CLI `--profile` fallback by detecting the CLI version at init time. The previous error-based detection was broken because `--profile` is a global Cobra flag silently accepted by old CLIs.

### Internal Changes
* Detect Databricks CLI version at init time via `databricks version`, enabling version-gated flag support without additional subprocess calls.
* Validate Databricks CLI configuration at `DatabricksCliTokenSource.__init__` time. Misconfiguration (missing profile and host, or `--profile`-unsupported CLI without a host fallback) now surfaces as `IOError` synchronously from construction rather than lazily from the first `refresh()` call. The exception type matches the previous `refresh()`-time behaviour, so callers who already catch `IOError` are unaffected.

### API Changes
* Add [w.temporary_volume_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/catalog/temporary_volume_credentials.html) workspace-level service.
* Add `get_permission_levels()`, `get_permissions()`, `set_permissions()` and `update_permissions()` methods for [w.knowledge_assistants](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/knowledgeassistants/knowledge_assistants.html) workspace-level service.
* Add `undelete_project()` method for [w.postgres](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/postgres/postgres.html) workspace-level service.
* Add `thumbnail_url` field for `databricks.sdk.service.apps.App`.
* Add `confidential_compute_type` field for `databricks.sdk.service.compute.GcpAttributes`.
* Add `jira_options`, `outlook_options` and `smartsheet_options` fields for `databricks.sdk.service.pipelines.ConnectorOptions`.
* Add `google_ads_config` field for `databricks.sdk.service.pipelines.SourceConfig`.
* Add `replace_existing` field for `databricks.sdk.service.postgres.CreateBranchRequest`.
* Add `replace_existing` field for `databricks.sdk.service.postgres.CreateEndpointRequest`.
* Add `purge` field for `databricks.sdk.service.postgres.DeleteProjectRequest`.
* Add `show_deleted` field for `databricks.sdk.service.postgres.ListProjectsRequest`.
* Add `delete_time` and `purge_time` fields for `databricks.sdk.service.postgres.Project`.
* Add `uc_connection` field for `databricks.sdk.service.supervisoragents.Tool`.
* Change `name` field for `databricks.sdk.service.supervisoragents.Connection` to no longer be required.
* [Breaking] Change `name` field for `databricks.sdk.service.supervisoragents.Connection` to no longer be required.
* Add `databricks.sdk.service.disasterrecovery` package.
* Add [a.disaster_recovery](https://databricks-sdk-py.readthedocs.io/en/latest/account/disasterrecovery/disaster_recovery.html) account-level service.
* Add `create_example()`, `delete_example()`, `get_example()`, `list_examples()` and `update_example()` methods for [w.knowledge_assistants](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/knowledgeassistants/knowledge_assistants.html) workspace-level service.
* Add `delta_table_name` field for `databricks.sdk.service.ml.BackfillSource`.
* Add `confluence_options` field for `databricks.sdk.service.pipelines.ConnectorOptions`.
* Add `confluence` enum value for `databricks.sdk.service.catalog.ConnectionType`.
* Add `confluence` enum value for `databricks.sdk.service.pipelines.IngestionSourceType`.
* Change `description` field for `databricks.sdk.service.supervisoragents.SupervisorAgent` to no longer be required.
* [Breaking] Change `description` field for `databricks.sdk.service.supervisoragents.SupervisorAgent` to no longer be required.
* [Breaking] Remove `connection` field for `databricks.sdk.service.supervisoragents.Tool`.

v0.105.0

23 Apr 08:54
baa3b63

Choose a tag to compare

## Release v0.105.0

### API Changes
* Add `databricks.sdk.service.supervisoragents` package.
* Add [w.secrets_uc](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/catalog/secrets_uc.html) workspace-level service.
* Add [w.supervisor_agents](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/supervisoragents/supervisor_agents.html) workspace-level service.
* Add `update()` method for [w.tokens](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/settings/tokens.html) workspace-level service.
* Add `etag` field for `databricks.sdk.service.dashboards.GenieSpace`.
* Add `etag` field for `databricks.sdk.service.dashboards.GenieUpdateSpaceRequest`.
* Add `branch_id` field for `databricks.sdk.service.postgres.BranchStatus`.
* Add `catalog_id` field for `databricks.sdk.service.postgres.CatalogCatalogStatus`.
* Add `database_id` field for `databricks.sdk.service.postgres.DatabaseDatabaseStatus`.
* Add `endpoint_id` field for `databricks.sdk.service.postgres.EndpointStatus`.
* Add `project_id` field for `databricks.sdk.service.postgres.ProjectStatus`.
* Add `role_id` field for `databricks.sdk.service.postgres.RoleRoleStatus`.
* Add `project` field for `databricks.sdk.service.postgres.SyncedTableSyncedTableStatus`.
* Add `manual` field for `databricks.sdk.service.provisioning.CreateGcpKeyInfo`.
* Add `manual` field for `databricks.sdk.service.provisioning.GcpKeyInfo`.
* Add `apps_runtime` and `lakebase_runtime` fields for `databricks.sdk.service.settings.CustomerFacingIngressNetworkPolicyRequestDestination`.
* Add `blocked_internet_destinations` field for `databricks.sdk.service.settings.EgressNetworkPolicyNetworkAccessPolicy`.
* Add `columns_to_sync` field for `databricks.sdk.service.vectorsearch.DeltaSyncVectorIndexSpecResponse`.
* Add `breaking_change` enum value for `databricks.sdk.service.jobs.TerminationCodeCode`.
* [Breaking] Change `update_catalog_config()` method for [w.data_classification](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/dataclassification/data_classification.html) workspace-level service. Method path has changed.
* [Breaking] Change `update_default_workspace_base_environment()` method for [w.environments](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/environments/environments.html) workspace-level service. Method path has changed.
* [Breaking] Change `update_knowledge_assistant()` method for [w.knowledge_assistants](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/knowledgeassistants/knowledge_assistants.html) workspace-level service. Method path has changed.
* [Breaking] Change `update_branch()`, `update_database()`, `update_endpoint()`, `update_project()` and `update_role()` methods for [w.postgres](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/postgres/postgres.html) workspace-level service. Method path has changed.
* [Breaking] Change `update_default_warehouse_override()` method for [w.warehouses](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/sql/warehouses.html) workspace-level service. Method path has changed.

v0.104.0

23 Apr 07:53
8e31d58

Choose a tag to compare

Bug Fixes

  • Add X-Databricks-Org-Id header to WorkspaceExt.upload() and WorkspaceExt.download() for SPOG host compatibility.
  • WorkspaceClient.get_workspace_id() now returns Config.workspace_id directly when set, instead of calling /api/2.0/preview/scim/v2/Me. This removes an API round-trip on every call where the workspace ID is already known (profile, ?o= query param, env var, or host metadata) and fixes a failure on SPOG hosts where the unauthenticated probe request was rejected with Unable to load OAuth Config.
  • Add X-Databricks-Org-Id header to SharesExt.list() for SPOG host compatibility.

Internal Changes

  • Expanded AI agent detection: added Goose, Amp, Augment, Copilot (VS Code), Kiro, Windsurf. Honors the AGENT=<name> standard (resolves to a known product if the value matches one, otherwise unknown). Presence-only env var matchers now treat an empty string as "set" for parity with the Go and Java SDKs. 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.

v0.103.0

20 Apr 07:30
5724d13

Choose a tag to compare

New Features and Improvements

  • Add support for unified hosts. A single configuration profile can now be used for both account-level and workspace-level operations when the host supports it and both account_id and workspace_id are available. The experimental_is_unified_host flag has been removed; unified host detection is now automatic.
  • Accept DATABRICKS_OIDC_TOKEN_FILEPATH environment variable for consistency with other Databricks SDKs (Go, CLI, Terraform). The previous DATABRICKS_OIDC_TOKEN_FILE is still supported as an alias.

Breaking Changes

  • Drop support for Python 3.8 and 3.9. The minimum supported Python version is now 3.10, in line with the oldest supported Databricks Runtime LTS (DBR 13.3).

Internal Changes

  • Replace the async-disabling mechanism on token refresh failure with a 1-minute retry backoff. Previously, a single failed async refresh would disable proactive token renewal until the token expired. Now, the SDK waits a short cooldown period and retries, improving resilience to transient errors.
  • Extract _resolve_profile to simplify config file loading and improve __settings__ error messages.
  • Resolve token_audience from the token_federation_default_oidc_audiences field in the host metadata discovery endpoint, removing the need for explicit audience configuration.

API Changes

  • Add create_catalog(), create_synced_table(), delete_catalog(), delete_synced_table(), get_catalog() and get_synced_table() methods for w.postgres workspace-level service.
  • Add effective_file_event_queue field for databricks.sdk.service.catalog.CreateExternalLocation.
  • Add effective_file_event_queue field for databricks.sdk.service.catalog.ExternalLocationInfo.
  • Add effective_file_event_queue field for databricks.sdk.service.catalog.UpdateExternalLocation.
  • Add column_selection field for databricks.sdk.service.ml.Function.
  • Add cascade field for databricks.sdk.service.pipelines.DeletePipelineRequest.
  • Add default_branch field for databricks.sdk.service.postgres.ProjectSpec.
  • Add default_branch field for databricks.sdk.service.postgres.ProjectStatus.
  • Add ingress and ingress_dry_run fields for databricks.sdk.service.settings.AccountNetworkPolicy.
  • Add delete_app_thumbnail() and update_app_thumbnail() methods for w.apps workspace-level service.
  • Add create_message_comment(), list_conversation_comments() and list_message_comments() methods for w.genie workspace-level service.
  • Add apply_environment() method for w.pipelines workspace-level service.
  • Add name and permission fields for databricks.sdk.service.apps.AppResourceApp.
  • Add managed_encryption_settings field for databricks.sdk.service.catalog.CatalogInfo.
  • Add managed_encryption_settings field for databricks.sdk.service.catalog.CreateCatalog.
  • Add managed_encryption_settings field for databricks.sdk.service.catalog.UpdateCatalog.
  • Add comment field for databricks.sdk.service.dashboards.GenieFeedback.
  • Add thoughts field for databricks.sdk.service.dashboards.GenieQueryAttachment.
  • Add comment field for databricks.sdk.service.dashboards.GenieSendMessageFeedbackRequest.
  • Add request_source field for databricks.sdk.service.ml.DataSource.
  • Add is_online field for databricks.sdk.service.ml.MaterializedFeature.
  • Add connector_options field for databricks.sdk.service.pipelines.SchemaSpec.
  • Add connector_options field for databricks.sdk.service.pipelines.TableSpec.
  • Add scopes field for databricks.sdk.service.settings.CreateOboTokenRequest.
  • Add gcp_endpoint field for databricks.sdk.service.settings.CreatePrivateEndpointRule.
  • Add scopes field for databricks.sdk.service.settings.CreateTokenRequest.
  • Add gcp_endpoint field for databricks.sdk.service.settings.NccPrivateEndpointRule.
  • Add gcp_endpoint field for databricks.sdk.service.settings.UpdatePrivateEndpointRule.
  • Add sql_state field for databricks.sdk.service.sql.StatementStatus.
  • Add usage_policy_id field for databricks.sdk.service.vectorsearch.CreateEndpoint.
  • Add index_subtype field for databricks.sdk.service.vectorsearch.CreateVectorIndexRequest.
  • Add budget_policy_id field for databricks.sdk.service.vectorsearch.EndpointInfo.
  • Add index_subtype field for databricks.sdk.service.vectorsearch.MiniVectorIndex.
  • Add budget_policy_id field for databricks.sdk.service.vectorsearch.PatchEndpointBudgetPolicyResponse.
  • Add index_subtype field for databricks.sdk.service.vectorsearch.VectorIndex.
  • Add table_delta_uniform_iceberg_external_deltasharing enum value for databricks.sdk.service.catalog.SecurableKind.
  • Add google_drive enum value for databricks.sdk.service.pipelines.IngestionSourceType.
  • Add storage_optimized enum value for databricks.sdk.service.vectorsearch.EndpointType.
  • [Breaking] Remove project field for databricks.sdk.service.postgres.SyncedTableSyncedTableSpec.
  • [Breaking] Remove apps and lakebase fields for databricks.sdk.service.settings.CustomerFacingIngressNetworkPolicyRequestDestination.

v0.102.0

19 Mar 08:15
61089f5

Choose a tag to compare

Release v0.102.0

New Features and Improvements

  • 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.

API Changes

  • Add disable_gov_tag_creation field for databricks.sdk.service.settings.RestrictWorkspaceAdminsMessage.
  • Add disable_gov_tag_creation field for databricks.sdk.service.settingsv2.RestrictWorkspaceAdminsMessage.

v0.101.0

18 Mar 08:17
5f0964e

Choose a tag to compare

Release v0.101.0

API Changes

  • Add databricks.sdk.service.environments package.
  • Add w.environments workspace-level service.
  • Add parent_path field for databricks.sdk.service.dashboards.GenieSpace.
  • Add can_create_app enum value for databricks.sdk.service.iam.PermissionLevel.

v0.100.0

16 Mar 08:26
b62ff9f

Choose a tag to compare

Release v0.100.0

New Features and Improvements

  • Support default_profile in [__settings__] section of .databrickscfg for consistent default profile resolution across CLI and SDKs.

API Changes

  • Add alert_output field for databricks.sdk.service.jobs.RunOutput.
  • Add alert_task field for databricks.sdk.service.jobs.RunTask.
  • Add alert_task field for databricks.sdk.service.jobs.SubmitTask.
  • Add alert_task field for databricks.sdk.service.jobs.Task.

v0.99.0

12 Mar 08:15
0935306

Choose a tag to compare

Release v0.99.0

API Changes

  • Add connector_type and data_staging_options fields for databricks.sdk.service.pipelines.IngestionPipelineDefinition.
  • Add ingestion_source_catalog_name, ingestion_source_connection_name, ingestion_source_schema_name, ingestion_source_table_name and ingestion_source_table_version fields for databricks.sdk.service.pipelines.Origin.
  • Add sub_domain field for databricks.sdk.service.serving.ExternalFunctionRequest.

v0.98.0

11 Mar 08:14
afc2596

Choose a tag to compare

Release v0.98.0

API Changes

  • Add genie_create_eval_run(), genie_get_eval_result_details(), genie_get_eval_run(), genie_list_eval_results() and genie_list_eval_runs() methods for w.genie workspace-level service.
  • Add update_role() method for w.postgres workspace-level service.
  • Add telemetry_export_destinations field for databricks.sdk.service.apps.App.
  • Add entities and timeseries_column fields for databricks.sdk.service.ml.Feature.
  • Add aggregation_function field for databricks.sdk.service.ml.Function.
  • Add filter_condition field for databricks.sdk.service.ml.KafkaSource.
  • Add attributes field for databricks.sdk.service.postgres.RoleRoleStatus.
  • [Breaking] Change entity_columns and timeseries_column fields for databricks.sdk.service.ml.DeltaTableSource to no longer be required.
  • Change entity_columns and timeseries_column fields for databricks.sdk.service.ml.DeltaTableSource to no longer be required.
  • Change inputs field for databricks.sdk.service.ml.Feature to no longer be required.
  • [Breaking] Change inputs field for databricks.sdk.service.ml.Feature to no longer be required.
  • [Breaking] Change function_type field for databricks.sdk.service.ml.Function to no longer be required.
  • Change function_type field for databricks.sdk.service.ml.Function to no longer be required.
  • Change entity_column_identifiers and timeseries_column_identifier fields for databricks.sdk.service.ml.KafkaSource to no longer be required.
  • [Breaking] Change entity_column_identifiers and timeseries_column_identifier fields for databricks.sdk.service.ml.KafkaSource to no longer be required.

v0.97.0

09 Mar 08:15
94346a7

Choose a tag to compare

Release v0.97.0

Bug Fixes

  • 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.

API Changes