Release v1.17.0
Notable Changes
- Bump the direct deployment state version to 3. Clients older than v1.8.0 will reject bundles deployed with this release. (#6713)
CLI
- Add an
INVALID_REFRESH_TOKENerror code todatabricks auth token --output jsonfailures. (#6684) - Add experimental
databricks auth docker configureto configure Docker credential helper access for Databricks Artifact Registry. (#6700) - Add experimental
databricks auth docker tokento generate Docker credentials for Databricks Artifact Registry. (#6699) databricks environments setup-localnow reports theE_PROVISION_CONFLICTerror code instead of the genericE_PROVISIONwhenuv syncfails to resolve a dependency conflict. (#6666)- Preserve SSH sessions across temporary tunnel disconnects, with bounded replay and backpressure for large transfers. (#6650)
- Allow OAuth U2M logins to override the CLI client ID with
--client-id, profileclient_id, orDATABRICKS_CLIENT_ID. (#6594)
Bundles
- direct: Store a dashboard's
serialized_dashboardin state as a content hash instead of its full contents. (#6105) - direct: Fix pipelines recreation when the whole
ingestion_definitionblock is added or removed. (#6589) bundle plan,deploy, anddestroyno longer report removingpermissions,grants, or secret scope ACLs from a bundle as a deletion, since it leaves the resource untouched. (#6647)bundle plananddeployno longer list or count a resource that was already deleted remotely as a deletion, matchingbundle destroy; applying still cleans up its stale state entry. (#6675)- Fix
bundle runfailing withexpected an int, found a stringwhen an unrelated resource references another resource that is not deployed.bundle runnow resolves${resources.*}references only within the resource being run. (#6690) - Add grants support for the AI Gateway
model_service,mcp_service, andmodel_provider_serviceresources (direct engine). (#6635) - Add bundle support for the AI Gateway
mcp_serviceresource (direct engine). (#6633) - Add bundle support for the AI Gateway
model_provider_serviceresource (direct engine). (#6634) - Add bundle support for the AI Gateway
model_serviceresource (direct engine). (#6525) - Prevent resource drift on catalogs if
storage_rootcontained a trailing slash in the URL. (#6622) - Fixed a "lineage mismatch in state files" error that could occur after destroying a bundle and redeploying it from another machine.
bundle destroynow removes the local state file so no stale lineage is left behind, and prunes the state directories it leaves empty (such as.internal/andsync-snapshots/). (#6210, #6685) - direct:
bundle planno longer reports a permanent update on a cluster that uses a cluster policy: when the cluster spec setspolicy_id, a field present in the remote but absent from the bundle config is not treated as drift. (#6531) bundle deployon the direct engine now reports each resource as soon as it is deployed, instead of listing them all after the deployment finishes. A deploy that fails part way through now reports the resources it did apply. (#6361)- Direct-engine bundles no longer flag phantom drift on server-populated nested fields under reused config types (e.g.
external_locationsfile-event-queue resource IDs,database_instancesparent-instance refs,appsgit credential ID). (#6618) databricks bundle generate appnow reproduces a git-backed app'sgit_repositoryandgit_sourceconfiguration instead of emitting a workspacesource_code_path, so generating from a Git-deployed app no longer silently converts it to workspace source. (#6656)- Improved configuration load time for bundles with many included files. (#6195)
bundle destroyno longer deletes triggered job runs, leaving them untouched on the backend. (#6672)- direct: resources.job_runs: new lifecycle.triggers.on_file_change setting to restart the run when monitored files change. Can be set to a series of paths or globs. (#6309)
- Bundle summary now shows a name for Postgres branches, endpoints, databases, and roles instead of a blank Name field. (#6663)
- Added PyDABs (Python) support for cluster policies, dashboards, and Genie spaces. (#6585)
- CLI commands no longer imply that a resource whose type has no workspace URL is merely not deployed yet. (#6583)
- Capture the implicit dependency a vector search index has on a catalog or schema defined in the same bundle, so the catalog and schema are deployed first. (#6655)