---
title: "databricks-sdk Breaking Changes on PyPI | Since.dev"
description: "What each databricks-sdk release removed, renamed or changed: 50 breaking changes in 2 versions on PyPI, each with its source."
canonical_url: https://since.dev/packages/pypi/databricks-sdk
last_updated: 2026-04-23
---

# databricks-sdk breaking changes

Every breaking API change we have recorded in databricks-sdk on PyPI: 50 breaking changes in 2 versions. Below are its newest 2 versions, removals and renames first, each with its source.

Newest change April 23, 2026

## 0.105.0

14 breaking changes, first published April 23, 2026.

- **Signature changed** `databricks.sdk.GenieAPI.update_space`  

Was def update_space(self, space_id: str, \*, description: Optional\[str\] = None, serialized_space: Optional\[str\] = None, title: Optional\[str\] = None, warehouse_id: Optional\[str\] = None) -> GenieSpace; now def update_space(self, space_id... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.dashboards.GenieSpace.__init__`  

Was def \_\_init\_\_(self, space_id: str, title: str, description: Optional\[str\] = None, parent_path: Optional\[str\] = None, serialized_space: Optional\[str\] = None, warehouse_id: Optional\[str\] = None) -> None; now def \_\_init\_\_(self, space_id... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.postgres.BranchStatus.__init__`  

Was def \_\_init\_\_(self, current_state: Optional\[BranchStatusState\] = None, default: Optional\[bool\] = None, expire_time: Optional\[Timestamp\] = None, is_protected: Optional\[bool\] = None, logical_size_bytes: Optional\[int\] = None... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.postgres.CatalogCatalogStatus.__init__`  

Was def \_\_init\_\_(self, branch: Optional\[str\] = None, postgres_database: Optional\[str\] = None, project: Optional\[str\] = None) -> None; now def \_\_init\_\_(self, branch: Optional\[str\] = None, catalog_id: Optional\[str\] = None, postgres_database... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.postgres.DatabaseDatabaseStatus.__init__`  

Was def \_\_init\_\_(self, postgres_database: Optional\[str\] = None, role: Optional\[str\] = None) -> None; now def \_\_init\_\_(self, database_id: Optional\[str\] = None, postgres_database: Optional\[str\] = None, role: Optional\[str\] = None) -> None. [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.postgres.EndpointStatus.__init__`  

Was def \_\_init\_\_(self, autoscaling_limit_max_cu: Optional\[float\] = None, autoscaling_limit_min_cu: Optional\[float\] = None, current_state: Optional\[EndpointStatusState\] = None, disabled: Optional\[bool\] = None, endpoint_type... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.postgres.ProjectStatus.__init__`  

Was def \_\_init\_\_(self, branch_logical_size_limit_bytes: Optional\[int\] = None, budget_policy_id: Optional\[str\] = None, custom_tags: Optional\[List\[ProjectCustomTag\]\] = None, default_branch: Optional\[str\] = None, default_endpoint_settings... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.postgres.RoleRoleStatus.__init__`  

Was def \_\_init\_\_(self, attributes: Optional\[RoleAttributes\] = None, auth_method: Optional\[RoleAuthMethod\] = None, identity_type: Optional\[RoleIdentityType\] = None, membership_roles: Optional\[List\[RoleMembershipRole\]\] = None, postgres_role... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.postgres.SyncedTableSyncedTableStatus.__init__`  

Was def \_\_init\_\_(self, detailed_state: Optional\[SyncedTableState\] = None, last_processed_commit_version: Optional\[int\] = None, last_sync: Optional\[SyncedTablePosition\] = None, last_sync_time: Optional\[Timestamp\] = None, message... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)
- **Signature changed** `databricks.sdk.service.provisioning.CreateGcpKeyInfo.__init__`  

Was def \_\_init\_\_(self, kms_key_id: str, gcp_service_account: Optional\[GcpServiceAccount\] = None) -> None; now def \_\_init\_\_(self, kms_key_id: str, gcp_service_account: Optional\[GcpServiceAccount\] = None, manual: Optional\[bool\] = None) ->... [pypi.org](https://pypi.org/project/databricks-sdk/0.105.0/)

And 4 more in this version.

## 0.103.0

36 breaking changes, first published April 20, 2026.

- **Removed** `databricks.sdk.config.Config.experimental_is_unified_host`  

Config.experimental_is_unified_host was removed in databricks-sdk 0.103.0 [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.CatalogsAPI.create`  

Was def create(self, name: str, \*, comment: Optional\[str\] = None, connection_name: Optional\[str\] = None, options: Optional\[Dict\[str, str\]\] = None, properties: Optional\[Dict\[str, str\]\] = None, provider_name: Optional\[str\] = None... [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.CatalogsAPI.update`  

Was def update(self, name: str, \*, comment: Optional\[str\] = None, enable_predictive_optimization: Optional\[EnablePredictiveOptimization\] = None, isolation_mode: Optional\[CatalogIsolationMode\] = None, new_name: Optional\[str\] = None... [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.config.ConfigAttribute.__init__`  

Was def \_\_init\_\_(self, env: str = None, auth: str = None, sensitive: bool = False, transform=None); now def \_\_init\_\_(self, env: str = None, auth: str = None, sensitive: bool = False, transform=None, env_aliases: List\[str\] = None). [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.ExternalLocationsAPI.create`  

Was def create(self, name: str, url: str, credential_name: str, \*, comment: Optional\[str\] = None, effective_enable_file_events: Optional\[bool\] = None, enable_file_events: Optional\[bool\] = None, encryption_details... [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.ExternalLocationsAPI.update`  

Was def update(self, name: str, \*, comment: Optional\[str\] = None, credential_name: Optional\[str\] = None, effective_enable_file_events: Optional\[bool\] = None, enable_file_events: Optional\[bool\] = None, encryption_details... [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.GenieAPI.send_message_feedback`  

Was def send_message_feedback(self, space_id: str, conversation_id: str, message_id: str, rating: GenieFeedbackRating); now def send_message_feedback(self, space_id: str, conversation_id: str, message_id: str, rating: GenieFeedbackRating... [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.oauth.HostMetadata.__init__`  

Was def \_\_init\_\_(self, oidc_endpoint: str, account_id: Optional\[str\] = None, workspace_id: Optional\[str\] = None, cloud: Optional\[Cloud\] = None) -> None; now def \_\_init\_\_(self, oidc_endpoint: str, account_id: Optional\[str\] = None... [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.PipelinesAPI.delete`  

Was def delete(self, pipeline_id: str, \*, force: Optional\[bool\] = None); now def delete(self, pipeline_id: str, \*, cascade: Optional\[bool\] = None, force: Optional\[bool\] = None). [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)
- **Signature changed** `databricks.sdk.service.apps.AppResourceApp.__init__`  

Was def \_\_init\_\_(self) -> None; now def \_\_init\_\_(self, name: Optional\[str\] = None, permission: Optional\[AppResourceAppAppPermission\] = None) -> None. [pypi.org](https://pypi.org/project/databricks-sdk/0.103.0/)

And 26 more in this version.

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
