Skip to content

Commit ac0b3f4

Browse files
Merge branch 'main' into janniklasrose/vs-index
2 parents e645039 + e06a29d commit ac0b3f4

580 files changed

Lines changed: 15274 additions & 2718 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agent/skills/pr-checklist/SKILL.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@ Before submitting a PR, run these commands to match what CI checks. CI uses the
1616
# 3. Tests (CI runs with both deployment engines)
1717
./task test
1818

19-
# 4. If you changed bundle config structs or schema-related code:
19+
# 4. If you changed bundle config structs, schema, or direct-engine resource code:
2020
./task generate-schema
21+
./task generate-direct
2122

2223
# 5. If you changed files in python/:
2324
./task pydabs-codegen pydabs-test pydabs-lint pydabs-docs
2425

25-
# 6. If you changed experimental/aitools or experimental/ssh:
26-
./task test-exp-aitools # only if aitools code changed
26+
# 6. If you changed cmd/aitools/, libs/aitools/, experimental/aitools/, or experimental/ssh/:
27+
./task test-exp-aitools # only if aitools code changed (top-level or experimental)
2728
./task test-exp-ssh # only if ssh code changed
2829
```
2930

.codegen/_openapi_sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
a499dda0f7802e37868d3f3076f62639165475d8
1+
0555d6a59265799ed8ea12f355eee662e739430d

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ cmd/workspace/apps-settings/apps-settings.go linguist-generated=true
5454
cmd/workspace/apps/apps.go linguist-generated=true
5555
cmd/workspace/artifact-allowlists/artifact-allowlists.go linguist-generated=true
5656
cmd/workspace/automatic-cluster-update/automatic-cluster-update.go linguist-generated=true
57+
cmd/workspace/bundle/bundle.go linguist-generated=true
5758
cmd/workspace/catalogs/catalogs.go linguist-generated=true
5859
cmd/workspace/clean-room-asset-revisions/clean-room-asset-revisions.go linguist-generated=true
5960
cmd/workspace/clean-room-assets/clean-room-assets.go linguist-generated=true

.github/OWNERS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@
5959
# Internal
6060
/internal/ team:platform
6161

62+
# AI tools
63+
/cmd/aitools/ team:eng-apps-devex team:platform @lennartkats-db
64+
/libs/aitools/ team:eng-apps-devex team:platform @lennartkats-db
65+
6266
# CLI compatibility manifest
6367
/internal/build/cli-compat.json team:eng-apps-devex team:platform
6468
/libs/clicompat/ team:eng-apps-devex team:platform

.golangci.yaml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ linters:
9999
msg: Use errors.Is(err, fs.ErrPermission) instead.
100100
- pattern: 'sync\.Once\b($|[^FV])'
101101
msg: Use sync.OnceFunc, sync.OnceValue, or sync.OnceValues instead.
102+
- pattern: 'errors\.As\b'
103+
msg: 'Use errors.AsType[T](err) for type-safe error unwrapping (Go 1.26+).'
102104
analyze-types: true
103105
copyloopvar:
104106
check-alias: true
@@ -156,9 +158,6 @@ linters:
156158
enable-all: true
157159
disable:
158160
- require-error # good check, but we have too many assert.(No)?Errorf? so excluding for now
159-
- empty
160-
- len
161-
- equal-values
162161
- encoded-compare # Always replaces Equal() with JSONEq, but sometimes exact string match is wanted for JSON
163162
exhaustive:
164163
default-signifies-exhaustive: true
@@ -180,10 +179,6 @@ linters:
180179
path: "_test\\.go$"
181180
linters:
182181
- forbidigo
183-
# TODO: remove these exceptions by moving the dependency out of experimental/.
184-
- path: cmd/apps/init.go
185-
linters:
186-
- depguard
187182
issues:
188183
max-issues-per-linter: 1000
189184
max-same-issues: 1000

.release_metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"timestamp": "2026-05-13 14:20:07+0000"
2+
"timestamp": "2026-05-21 08:07:33+0000"
33
}

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# Version changelog
22

3+
## Release v1.0.0 (2026-05-21)
4+
5+
### Notable Changes
6+
7+
* The Databricks CLI is now generally available with version v1.0.0 as the first major release 🚀. From this version on, the CLI follows semantic versioning (see [README](README.md)). This change does not impact DABs or other existing commands beyond the changes listed below.
8+
* The 0.299.x line continues to receive security-critical patches through May 20, 2027; see [SECURITY](SECURITY.md) for the support policy.
9+
* Starting with v1.0.0, the CLI will use [immutable release tags](https://docs.github.com/en/code-security/concepts/supply-chain-security/immutable-releases) to increase security against supply chain attacks.
10+
* Breaking change: OAuth tokens for interactive logins (`auth_type = databricks-cli`) are now stored in the OS-native secure store by default (Keychain on macOS, Credential Manager on Windows, Secret Service on Linux) instead of `~/.databricks/token-cache.json`. After upgrading, run `databricks auth login` once per profile to re-authenticate; cached tokens from older versions are not migrated. To keep the previous file-backed storage, set `DATABRICKS_AUTH_STORAGE=plaintext` or add `auth_storage = plaintext` under `[__settings__]` in `~/.databrickscfg` (the env var takes precedence over the config setting), then re-run `databricks auth login`. On systems where the OS keyring is not reachable (e.g. Linux containers without a D-Bus session bus), the CLI transparently falls back to the file cache when reading tokens so legacy `token-cache.json` entries remain accessible without manual configuration.
11+
12+
### CLI
13+
14+
* Added `databricks aitools` command group for installing Databricks skills into your coding agents (Claude Code, Cursor, Codex CLI, OpenCode, GitHub Copilot, Antigravity). Skills are fetched from [github.com/databricks/databricks-agent-skills](https://github.com/databricks/databricks-agent-skills) and either symlinked into each agent's skills directory or copied into the current project. Use `databricks aitools install` to set up, `update` to pull newer versions, `list` to see what's available, and `uninstall` to remove them. Pick where they go with `--scope=project|global` (`--scope=both` is accepted on `update` and `list`).
15+
* `[__settings__].default_profile` is now consulted as a fallback by `databricks api`, `databricks auth token`, and bundle commands when neither `--profile` nor `DATABRICKS_CONFIG_PROFILE` is set. `databricks auth token` continues to give precedence to `DATABRICKS_HOST` over `default_profile`. For bundle commands, `default_profile` only applies when the bundle does not pin its own `workspace.host`.
16+
* Fixed bug where auth commands did not load the DEFAULT profile properly during auth where type is `databricks-cli`.
17+
* `databricks workspace import-dir` now skips `.git`, `.databricks`, and `node_modules` directories during recursive imports. To import one of these directories deliberately, pass it as `SOURCE_PATH` ([#5118](https://github.com/databricks/cli/pull/5118)).
18+
* `databricks postgres create-role --help` now documents the `--json` body shape and rejects the common mistake of wrapping the body in `{"role": ...}` client-side with a hint pointing at the correct shape ([#5111](https://github.com/databricks/cli/pull/5111)).
19+
* `databricks aitools list` honors `--output json`, emitting a structured `{release, skills[...], summary{}}` document so coding agents and CI can consume the skill/version/installation matrix without scraping the tabular text output ([#5233](https://github.com/databricks/cli/pull/5233)).
20+
21+
### Bundles
22+
* Make sure warnings asking for approval are understood by agents ([#5239](https://github.com/databricks/cli/pull/5239))
23+
* Support `replace_existing: true` on `postgres_branches` and `postgres_endpoints` so bundles can manage the implicitly-created production branch and primary read-write endpoint of a Lakebase project.
24+
* Add `postgres_catalogs` resource to bind a Unity Catalog catalog to a Postgres database on a Lakebase Autoscaling branch ([#5265](https://github.com/databricks/cli/pull/5265)).
25+
* Add `postgres_synced_tables` resource to sync a Unity Catalog Delta table into a Postgres table on a Lakebase Autoscaling branch ([#5268](https://github.com/databricks/cli/pull/5268)).
26+
* engine/direct: Changes to state file now persisted to .wal file right away instead of being saved in the end ([#5149](https://github.com/databricks/cli/pull/5149))
27+
28+
329
## Release v0.299.2 (2026-05-13)
430

531
### Notable Changes

NEXT_CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
# NEXT CHANGELOG
22

3-
## Release v0.300.0
3+
## Release v1.1.0
44

55
### Notable Changes
66

77
### CLI
88

99
### Bundles
10-
* Make sure warnings asking for approval are understood by agents ([#5239](https://github.com/databricks/cli/pull/5239))
10+
* The error reported when a direct-only resource (catalogs, external locations, vector search endpoints) is used with the terraform engine now also suggests setting `bundle.engine: direct` in `databricks.yml`, in addition to the `DATABRICKS_BUNDLE_ENGINE` environment variable ([#5295](https://github.com/databricks/cli/pull/5295)).
1111

1212
* Added `vector_search_indexes` as a bundle resource (direct engine only). Supports UC grants and prompts for confirmation on recreate or delete since both are destructive ([#5123](https://github.com/databricks/cli/pull/5123)).
1313

1414
### Dependency updates
15+
16+
* Bump Go toolchain to 1.26.3 ([#5302](https://github.com/databricks/cli/pull/5302)).
17+
* Bump `github.com/databricks/databricks-sdk-go` from v0.132.0 to v0.136.0.

README.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
[![build](https://github.com/databricks/cli/workflows/build/badge.svg?branch=main)](https://github.com/databricks/cli/actions?query=workflow%3Abuild+branch%3Amain)
44

5-
This project is in Public Preview.
6-
75
Documentation is available at https://docs.databricks.com/dev-tools/cli/databricks-cli.html.
86

97
## Installation
@@ -36,5 +34,30 @@ This CLI follows the Databricks Unified Authentication principles.
3634

3735
You can find a detailed description at https://github.com/databricks/databricks-sdk-go#authentication.
3836

37+
## Stability Policy
38+
39+
### Feature stability
40+
41+
Commands and flags are stable by default and will not break within a major version.
42+
43+
Some features are unstable and may change in any MINOR release:
44+
45+
- Commands and flags marked **Beta** or **Private Preview** in their `--help` output.
46+
- Commands in the `databricks experimental` group.
47+
48+
### Versioning
49+
50+
The CLI follows [Semantic Versioning](https://semver.org) (`MAJOR.MINOR.PATCH`):
51+
52+
- `MAJOR` is incremented for breaking changes to **stable** features.
53+
- `MINOR` is incremented for new features and for breaking changes to **unstable** features.
54+
- `PATCH` is incremented for backward-compatible bug fixes, security fixes, and dependency updates.
55+
56+
Databricks may ship a breaking change to a stable feature without a major version bump in exceptional circumstances where waiting for the next major version would itself cause greater harm: an active security incident, a legal or compliance requirement, or a regression introduced in the current major version. Any such exceptional change is announced in the release notes.
57+
58+
### Security patches
59+
60+
Security patches ship on the current release, and on specific older versions listed in [`SECURITY.md`](./SECURITY.md). The CLI does not currently offer a broader long-term support commitment.
61+
3962
## Privacy Notice
4063
Databricks CLI use is subject to the [Databricks License](https://github.com/databricks/cli/blob/main/LICENSE) and [Databricks Privacy Notice](https://www.databricks.com/legal/privacynotice), including any Usage Data provisions.

SECURITY.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
11
## Reporting a Vulnerability
22

3-
We appreciate any security concerns brought to our attention and encourage you to notify us of any potential vulnerabilities discovered in our systems or products.
4-
If you believe you have found a security vulnerability, please report it to us at [security@databricks.com](mailto:security@databricks.com).
3+
We appreciate any security concerns brought to our attention and encourage you to notify us of any potential vulnerabilities discovered in our systems or products. If you believe you have found a security vulnerability, please report it to us at [security@databricks.com](mailto:security@databricks.com).
4+
5+
## Supported Versions
6+
7+
The following versions receive security patches:
8+
9+
| Version | Notes |
10+
| :---- | :---- |
11+
| Latest release | Active development line. |
12+
| `v0.299.x` | Extended security support until 2027-05-20. |
13+
14+
Other versions of the CLI do not receive patches.

0 commit comments

Comments
 (0)