CLI
- Fixed
databricks repos get/update/deletefailing withobject at path "..." is not a repofor Git-CLI-enabled folders (currently in preview), which the workspace API reports as directories rather than repos (#6181). - Support
dbfs:/Skills/...paths indatabricks fscommands, routed to the Files API. (#6147)
Bundles
- For jobs where
ai_runtime_task.code_source_pathis a relative path to a local directory, the directory is now packaged into a tarball (honoring.gitignoreandsync.include/sync.exclude), uploaded during deployment, andcode_source_pathis rewritten to the uploaded workspace path. (#6110) - Added JSON output to
bundle init. Runningdatabricks bundle init <template> -o jsonnow reports the files the template wrote, relative to the output directory. This lets callers that pass--output-dirlearn where the template materialized instead of assuming the output is a single directory named after the project. The default text output is unchanged. (#6161) - The terraform deployment engine is deprecated and will stop working in a future version of the CLI. Setting
bundle.engine: terraformnow emits a deprecation warning. See https://docs.databricks.com/aws/en/dev-tools/bundles/direct for how to migrate to the direct deployment engine. (#6099) - Fixed the direct deployment engine planning a spurious
createfor an emptygrants: []list. Terraform records no grants resource for such a list, sobundle planafterbundle deployment migrateno longer reports an action for it. Emptying a previously deployed list still revokes the grants, after which the node is dropped from the deployment state instead of being reported as unchanged forever. (#6039) - Fixed
bundle generatedownloading notebooks found inside a folder without their file extension. They are now exported like top-level notebooks, so a Python notebook lands asnotebook.pyinstead of an extensionless file (#6144). - direct:
webhook_notifications.on_*destinations on jobs, tasks, andfor_each_taskare now compared as unordered sets. Previously the Jobs API returning these lists in a different order than submitted produced a phantom diff thatbundle planandbundle deploycould never converge past, reporting1 to changeon every run (#6060). - Fixed a pipeline with
allow_duplicate_names: truenever converging on the direct engine: the field is only accepted on create/update and is never returned by the pipelines GET API, so every subsequentbundle planreported the pipeline as a perpetual update. (#6076) - direct: A local change to an input-only field (one the API accepts on write but never returns on read, e.g. pipelines'
run_asor external locations'skip_validation) is no longer silently skipped when the new value coincidentally matches the field's fabricated remote value. Previously such a change could hit theremote_already_setshortcut and be dropped from the plan. (#6112) - Revert usage of RedactiveSenstiveFields (added in #5896, released in 1.10.0) which lead to incorrect behaviour (permanent drift) for duration field in Postgres resources (#6179).
- Document postgres resource fields in the json schema (#6164, #6163).
- direct: Recreating a
vector_search_indexesresource no longer fails with "Index ... is currently pending deletion" when the backend has not yet released the index name. The create is now retried until the name becomes available. (#6143)