Skip to content

deps: bump databricks-sdk-go to v0.132.0#5237

Open
simonfaltum wants to merge 2 commits into
mainfrom
simonfaltum/sdk-bump-v0.132.0
Open

deps: bump databricks-sdk-go to v0.132.0#5237
simonfaltum wants to merge 2 commits into
mainfrom
simonfaltum/sdk-bump-v0.132.0

Conversation

@simonfaltum
Copy link
Copy Markdown
Member

@simonfaltum simonfaltum commented May 11, 2026

Why

Pulls in four releases of the Go SDK (v0.129 through v0.132). It picks up new APIs (disaster recovery, secrets UC, supervisor agents, ingestion connectors), removes the file-backed OAuth token cache from the SDK (now owned by the CLI), and renames a handful of vector search fields. The Terraform provider already moved to this SDK in v1.115, so this also keeps the CLI close to the version Terraform users are running.

Changes

Before: CLI pinned databricks-sdk-go at v0.128.0 and OpenAPI spec at SHA 11ae6f9d.
Now: Pinned at v0.132.0 / OpenAPI SHA a499dda0.

Most of the diff is regenerated output from ./task generate (CLI command stubs, JSON schema, bundle docs, Python bindings, direct-engine YAML, acceptance goldens). Two generated changes make the diff look larger than a normal SDK bump:

  • Launch-stage help text: the refreshed OpenAPI spec carries more launch-stage metadata. Generated commands now include the Beta / Private Preview / GA warning text in help output, and the acceptance goldens update accordingly.
  • User-agent headers: the new SDK appends detected agent information to User-Agent. In this PR's acceptance environment that normalizes to agent/multiple, so the bundle user-agent request goldens update across direct and Terraform variants.

Hand-written changes:

  • Vector search: MinQps -> TargetQps and RequestedMinQps -> RequestedTargetQps in bundle/direct/dresources/vector_search_endpoint.go, libs/testserver/vector_search_endpoints.go, and the vector_search_endpoints/{update,drift}/min_qps acceptance tests (renamed to target_qps).
  • Apps: thumbnail_url is a new server-managed field. Added it to resources.yml under ignore_remote_changes so the App Update mask doesn't try to write it.
  • Postgres: Create{Branch,Endpoint}Request gained ReplaceExisting, DeleteProjectRequest gained Purge, and Project gained DeleteTime/PurgeTime. Added explicit zero values where exhaustruct demands them.
  • Auth: SDK v0.130 removed the host-key fallback in PersistentAuth.loadToken. Deleted the cmd/auth/token_test case that exercised it (the legacy host-key path is being phased out in favor of profile keys).
  • Deprecated serving.AutoCaptureConfig{Input,Output}: narrow //nolint:staticcheck annotations until the migration to AI Gateway inference tables.
  • Schema annotations: regenerated annotations_openapi.yml so the new compute.ConfidentialComputeType enum has descriptions; dropped the stale min_qps placeholder from annotations.yml.
  • Release tooling: genkit also regenerated .github/workflows/tagging.yml and internal/genkit/tagging.py. This is generated output, but it changes release workflow behavior, so I left inline reviewer notes on both files.

Test plan

  • ./task lint clean
  • ./task checks clean (tidy, whitespace, links, deadcode)
  • go test ./internal/build ./bundle/internal/schema ./bundle/direct/dresources ./bundle/config/resources
  • ./task test-update and go test ./acceptance clean after regeneration
  • ./task pydabs-codegen succeeds
  • CI on this PR

This pull request and its description were written by Isaac.

Regenerates CLI command stubs, schemas, validation, and Python bindings
against the new SDK and its companion OpenAPI spec
(a499dda0f7802e37868d3f3076f62639165475d8).

Breaking SDK changes addressed:
- vectorsearch.{CreateEndpoint,PatchEndpointRequest}.MinQps renamed to TargetQps.
- vectorsearch.EndpointScalingInfo.RequestedMinQps renamed to RequestedTargetQps.
  Updated dresources and testserver; renamed bundle acceptance tests from
  min_qps to target_qps to match the new field name.
- apps.App.thumbnail_url added (server-managed); marked output_only in
  resources.yml so it stays out of the App Update mask.
- postgres adds ReplaceExisting (Create{Branch,Endpoint}Request),
  Purge (DeleteProjectRequest), and DeleteTime/PurgeTime (Project).
- compute.ConfidentialComputeType added; refreshed annotations_openapi.yml.
- credentials/u2m removed the host-key fallback in PersistentAuth.loadToken
  (per v0.130). Dropped the cmd/auth/token_test case that relied on it.

Co-authored-by: Isaac
@github-actions
Copy link
Copy Markdown
Contributor

Approval status: pending

/acceptance/auth/ - needs approval

Files: acceptance/auth/credentials/basic/out.requests.txt, acceptance/auth/credentials/oauth/out.requests.txt, acceptance/auth/credentials/pat/out.requests.txt
Suggested: @parthban-db
Also eligible: @tanmay-db, @rauchy, @mihaimitrea-db, @renaudhartert-db, @hectorcast-db, @Divyansh-db, @tejaskochar-db, @chrisst

/acceptance/bundle/ - needs approval

36 files changed
Suggested: @pietern
Also eligible: @andrewnester, @denik, @anton-107, @shreyas-goenka, @janniklasrose, @lennartkats-db

/acceptance/pipelines/ - needs approval

Files: acceptance/pipelines/databricks-cli-help/output.txt
Suggested: @kanterov
Also eligible: @lennartkats-db, @jefferycheng1

/bundle/ - needs approval

18 files changed
Suggested: @pietern
Also eligible: @andrewnester, @denik, @anton-107, @shreyas-goenka, @janniklasrose, @lennartkats-db

/cmd/auth/ - needs approval

Files: cmd/auth/token_test.go
Suggested: @parthban-db
Also eligible: @tanmay-db, @rauchy, @mihaimitrea-db, @renaudhartert-db, @hectorcast-db, @Divyansh-db, @tejaskochar-db, @chrisst

/cmd/workspace/apps/ - needs approval

Files: cmd/workspace/apps/apps.go
Suggested: @pkosiec
Also eligible: @arsenyinfo, @fjakobs, @jamesbroadhead, @Shridhad, @atilafassina, @keugenek, @igrekun, @MarioCadenas, @pffigueiredo, @ditadi, @calvarjorge

/internal/ - needs approval

Files: internal/genkit/tagging.py
Suggested: @parthban-db
Also eligible: @tanmay-db, @rauchy, @mihaimitrea-db, @renaudhartert-db, @hectorcast-db, @Divyansh-db, @tejaskochar-db, @chrisst

General files (require maintainer)

237 files changed
Based on git history:

  • @pietern -- recent work in ./, cmd/workspace/pipelines/, bundle/direct/dresources/

Any maintainer (@andrewnester, @anton-107, @denik, @pietern, @shreyas-goenka, @renaudhartert-db) can approve all areas.
See OWNERS for ownership rules.

runs-on:
group: databricks-deco-testing-runner-group
labels: ubuntu-latest-deco
group: databricks-protected-runner-group
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer note: this file is generated by genkit, but this SDK bump also pulls in release workflow behavior changes such as the protected runner, explicit ref: main, package-scoped dispatch input, and created-tags artifact. Please give this release-tooling change an explicit review rather than treating it as routine command/schema regeneration.

@@ -29,6 +29,122 @@
"""


@dataclass(frozen=True)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer note: this is generated by genkit, but the release script behavior changes materially here: local-HEAD anchoring, semver/prerelease handling, dependency freshness checks, and created-tags manifest output. Please review the release semantics closely as part of this SDK bump.

Remove generated trailing whitespace that breaks task checks and drop an empty changelog section.
Copy link
Copy Markdown
Member Author

@simonfaltum simonfaltum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Self-review with a few callouts inline. Update on the TF schema bullet I mentioned earlier: PR #5238 (Terraform provider bump to v1.115.0) renames requested_min_qps -> requested_target_qps in bundle/internal/tf/schema/resource_vector_search_endpoint.go, so that's handled there, not a follow-up.

One thing without a diff line to attach to: python/uv.lock and python/codegen/uv.lock show no change in this PR because I restored them from origin/main after pydabs-codegen leaked the internal PyPI proxy URL into them (per the SDK-bump playbook). If Python deps fail to resolve in CI, that's the likely culprit.

Comment thread cmd/auth/token_test.go
},
validateToken: validateToken,
},
{
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth a second look: this PR drops the test case that used to sit right here (host with one matching profile and host-key-only token found via SDK fallback) because SDK v0.130 removed the host-key fallback in PersistentAuth.loadToken.

User-facing consequence: anyone whose ~/.databricks/token-cache.json only has host-keyed entries (no profile key) will get cache: databricks OAuth is not configured for this host on the next databricks auth token and need to databricks auth login --profile <name> to re-store the token under the profile key. If we want to soften that, we'd need to mirror the fallback in libs/auth/storage/cache.go (or at minimum call it out in NEXT_CHANGELOG.md).

ignore_remote_changes:
- field: space # This field is not yet supported by Update APIs but exposed in the API spec. TODO: fix when update APIs supports it.
reason: managed
- field: thumbnail_url # Set server-side via the SetAppThumbnail API, not through the App Update API.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Marked output_only based on the SDK comment (The URL of the thumbnail image for the app) and the fact that there's a separate SetAppThumbnail API. If Apps actually intends thumbnail_url to be writable through the App Update path, this is the wrong call and it should live in UpdateMaskFields in dresources/app.go instead. Worth a sanity check with the Apps team.


title "Update min_qps"
trace update_file.py databricks.yml "min_qps: 1" "min_qps: 2"
title "Update target_qps"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heads-up on the rename: I moved the min_qps test dirs to target_qps and rewrote databricks.yml.tmpl and script to match the new SDK field name. Before the rename, running with -update against the new SDK silently regenerated output.txt with Warning: unknown field: min_qps and Plan: 0 to change — the test still passed because nothing asserted on those lines. Worth double-checking the new goldens cover the same intent (drift detection for target_qps updates).

"description": |-
PLACEHOLDER
github.com/databricks/databricks-sdk-go/service/pipelines.SourceConfig:
"google_ads_config":
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-added by schema regen with PLACEHOLDER. Not blocking, but a future PR should give pipelines.SourceConfig.google_ads_config a real description.

var (
pathBudgetPolicyId = structpath.MustParsePath("budget_policy_id")
pathMinQps = structpath.MustParsePath("min_qps")
pathTargetQps = structpath.MustParsePath("target_qps")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For reference: the Terraform provider schema in bundle/internal/tf/schema/resource_vector_search_endpoint.go still uses requested_min_qps. That's intentional here — TF schema is generated from the Terraform Provider, not the SDK — and the matching rename lands in #5238 (TF provider v1.115.0 bump).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant