Release v1.18.0 (2026-09-24)
CLI
- The AI Runtime commands have moved to
databricks air. The previousdatabricks experimental airpath now directs users to the new command. (#6722) - Write local state, cache, and config files atomically so an interrupted or concurrent write cannot corrupt them. (#6708)
- Deprecate
--regionindatabricks auth docker configureahead of its removal in the next release, infer the Artifact Registry region when it is omitted, and adddatabricks auth docker host --profile <name>to show the profile's registry host and credential-helper status. (#6782) - Return
UNAUTHENTICATEDinstead ofINVALID_REFRESH_TOKENwhendatabricks auth token --output jsoncannot refresh a cached U2M token. (#6731) - Retry the current-user (SCIM
Me) lookup on transient HTTP 500 responses so a temporarily-unavailable backend no longer fails bundle commands outright. (#6766) - Preserve workspace-file and volume access for SSH server descendants when the bootstrap notebook exits and the server survives. (#6645)
ssh connectandssh setupnow accept a--keep-detached-processesflag to keep processes detached from the SSH session (tmux,setsid,nohup) running after the tunnel shuts down. Teardown then terminates only the tunnel's own process group, and the bootstrap job run is held open while any detached process is still running, so the survivors keep their/Workspaceand/Volumesaccess. A held-open run also suppresses cluster autotermination, so the flag is off by default, is bounded by--server-timeout, and is dedicated-cluster only. Without it, the server now logs a warning naming the detached processes it is about to destroy, instead of sweeping them silently. (#6387)
Bundles
- direct: Allow clearing a catalog's or schema's
custom_max_retention_hoursby removing it from configuration. (#6792) - direct: Allow clearing a genie space's
descriptionand a secret'scommentby removing them from configuration. (#6789) - Fix direct-engine deploy recreating an MLflow experiment on every deploy when its
trace_locationwas set out-of-band. (#6787) - direct: Store a Genie space's
serialized_spacein state as a content hash instead of its full contents. (#6707) - Fix
bundle deployfailing with "Invalid python file reference" for jobs that usegit_sourcewith aspark_python_taskon the direct engine. (#6751) - Fixed the direct engine mishandling UC grants that combine
ALL_PRIVILEGESwith a privilege it does not imply (MANAGE,READ_METADATA,EXTERNAL_USE_SCHEMA,EXTERNAL_USE_LOCATION): such privileges were dropped when granted and left behind when revoked, so the deployment never converged. (#6733, #6743) - Don't fail migration if clean up actions fail. (#6772)
- Ignore the backend-provided
spark.sql.ansi.enabled: "true"pipeline configuration default when detecting direct-engine drift. (#6816) - Fix recreating a postgres synced table sometimes failing with a 409 ALREADY_EXISTS error while the previous table is still being deleted. (#6728)
- Direct engine no longer recreates a resource when an immutable field the config omits was populated by the backend. (#6790)