Skip to content

Releases: databricks/databricks-sdk-go

v0.29.1

16 Jan 12:01
v0.29.1
1fb6a9d
Compare
Choose a tag to compare

This patch release contains two small changes:

  • Retry on Status Code 503 (#733), improving the stability of the SDK in light of transient API unavailability.
  • Simplify mocking of iterator and waiter objects (#769, #770). See the Testing section of the README.md for usage information and examples.

v0.29.0

10 Jan 11:50
v0.29.0
959a8fd
Compare
Choose a tag to compare
  • Extract API interfaces for all services and generate mock clients (#740).
  • Handle empty response for errors (#756).
  • Update SDK to OpenAPI spec + Fix tests (#755).
  • Add utility to retry on specific errors (#757).
  • Integration test fixes for TestMwsAccWorkspaces (#763) and TestMwsAccUsageDownload (#764).

Note: This release contains breaking changes, please see below.

API Changes:

OpenAPI SHA: a7a9dc025bb80303e676bf3708942c6aa06689f1, Date: 2024-01-04
Dependency updates:

  • Bump google.golang.org/api from 0.153.0 to 0.154.0 (#741).
  • Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /examples/slog (#747) and /examples/zerolog (#748).
  • Bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#749).

v0.28.1

19 Dec 13:10
v0.28.1
16e1116
Compare
Choose a tag to compare

This is a bugfix release that improves debuggability of unexpected errors (#744, #750). When the SDK cannot deserialize a response from the Databricks REST API, the resulting error will include debugging information and instructions on how to submit a bug report to the SDK.

v0.28.0

15 Dec 13:00
9c02b09
Compare
Choose a tag to compare
  • Consolidate usage of named sorting (#736).
  • Remove redundant retries for token refreshes as they're already handled in httpclient (#729).
  • Skip auth, config loading, and rate limits when fixture transport is present in the config (#739).
  • Generate SDK to latest OpenAPI specification with bugfix (#742).

API Changes:

OpenAPI SHA: d3853c8dee5806d04da2ae8910f273ffb35719a5, Date: 2023-12-14

v0.27.0

12 Dec 14:54
01b66f2
Compare
Choose a tag to compare

API Changes:

Read more

v0.26.2

07 Dec 12:19
v0.26.2
ebb3ea4
Compare
Choose a tag to compare

This is a bugfix release, including a fix correcting issues with OAuth flows, due to a bug with the propagation of the response status in httpclient's RoundTrip() implementation. This fixes the failed during request visitor: token: oauth2: cannot fetch token: Response: {...} error.

All fixes:

  • Migrate Azure MSI & Metadata Service token sources to httpclient and add 100% test coverage (#709).
  • Added config.NewAzureCliTokenSource and config.NewAzureMsiTokenSource constructors (#727).
  • Use per-config refresh context for OAuth tokens (#728).

Release v0.26.1

04 Dec 12:38
e86cbfd
Compare
Choose a tag to compare

Minor changes:

  • Support overriding DatabricksEnvironment (#723).
  • Detect Accept header in httpclient.WithResponseUnmarshal (#710).
  • Detect Content-Type header in newRequestBody for httpclient (#711).

Bug fixes:

  • Retry request on REQUEST_LIMIT_EXCEEDED error returned by the SCIM API (#721).
  • Match retry logic of pre-refactor SDK (#722).

v0.26.0

29 Nov 10:22
1813fa6
Compare
Choose a tag to compare

Major changes:

  • There has been a major overhaul of error handling. Users can now compare errors in API responses to the well-known error responses defined in the apierr package and reexported in the databricks package. Users can check whether a specific error was returned, for example errors.Is(err, databricks.ErrResourceAlreadyExists), rather than converting the error to *APIError to check the status code and error code. This change is backwards-compatible; users do not need to modify existing error-handling code when upgrading the SDK. See #682 and #703 for the changes and https://github.com/databricks/databricks-sdk-go/blob/main/error_alias.go for the full set of errors.

Bug fixes:

  • Handle "no configuration file found at" error during databricks-cli authentication (#707).
  • Introduce DatabricksEnvironment and fix Azure MSI auth from ACR, where IMDS doesn't give host environment information (#700).
  • Fix SCIM Pagination default parameters in the Go SDK (#717).

Other changes:

  • Update slog example with the correct interface (#694).
  • Fixed typo in error message for unknown azure environment (#701).
  • Allow injection of HTTP transport to enable HTTP replayer pattern (#697).
  • Decouple HTTP retries and error mapping mechanics from DatabricksClient into httpclient.ApiClient (#699, #702, #712).
  • Port qa.HTTPFixtures to faster transport-level stubs (#708).

API Changes:

Internal changes:

  • Added contains method in OpenAPI Generator (#690).
  • Skip recipients tests in Azure (#692).
  • Allow Files API tests to run in UC environments (#695).
  • More cleanup in Unity Catalog integration test (#719).

OpenAPI SHA: 22f09783eb8a84d52026f856be3b2068f9498db3, Date: 2023-11-23
Dependency updates:

  • Bump golang.org/x/oauth2 from 0.13.0 to 0.14.0 (#689).
  • Bump google.golang.org/api from 0.150.0 to 0.151.0 (#698).
  • Bump the OpenAPI Spec (#706).
  • Bump golang.org/x/oauth2 from 0.14.0 to 0.15.0 (#715).
  • Bump golang.org/x/time from 0.4.0 to 0.5.0 (#714).
  • Bump google.golang.org/api from 0.151.0 to 0.152.0 (#716).

v0.25.0

13 Nov 11:34
v0.25.0
03b614c
Compare
Choose a tag to compare
  • Make sure path parameters are first in order in RequiredFields (#669).
  • Added Field.IsRequestBodyField method for code generation (#670).
  • Added regressions question to the issue template (#676).
  • Added telemetry for CI/CD platform to useragent (#665).
  • Skiped GCP Integration Tests using Statement Execution API (#678).
  • Added more detailed error message on default credentials not found error (#679).
  • Updated SDK to latest OpenAPI Spec (#685).

API Changes:

Read more

v0.24.0

24 Oct 11:26
825aee9
Compare
Choose a tag to compare
  • Implemented Iterator support for paginated endpoints or endpoints returning a list (#543). The Iterator interface allows users to get the next resource in the iterator and to check whether another resource is available in the iterator. Iterators for paginated endpoints fetch pages lazily, allowing users to only fetch the pages needed for their use case.
  • Removed photon and graviton selectors in compute.SparkVersionRequ… (#622). Going forward, photon is determined by the RuntimeEngine field in compute.CreateCluster, and graviton is chosen depending on the aws_instance_type field in compute.CreateCluster.

API Changes:

Internal SDK Changes:

  • Update to actions/checkout@v4 (#650).
  • Skip unshallow step in test workflow (#649).
  • Add integration tests for Jobs: ListRuns (#645).
  • Only log pkg.Load after checking whether the operation is tagged (#655).
  • Prefix library paths with the target directory to construct absolute paths (#656).
  • Fixed HasRequiredNonBodyField method (#660).
  • Added CanSetRequiredFieldsFromJson method for OpenAPI generator (#661).
  • Add integration tests for ServicePrincipals: Patch (#662).
  • Add integration tests for Users: Patch, Update (#663).
  • Enforce running az login --service-principal on nightly runs (#659).
  • Add integration tests for Connections: Create, Delete, Get, List, Update (#653).

OpenAPI SHA: 5903bb39137fd76ac384b2044e425f9c56840e00, Date: 2023-10-23