Skip to content

Latest commit

 

History

History
3003 lines (2613 loc) · 368 KB

CHANGELOG.md

File metadata and controls

3003 lines (2613 loc) · 368 KB

Version changelog

Release v0.41.0

Backward incompatible changes

  • Renamed CredentialsProvider to CredentialsStrategy.

Improvements and new features

  • Create a method to generate OAuth tokens (#886).
  • Better error message when private link enabled workspaces reject requests (#924).
  • Update OpenAPI spec (#926).

API Changes:

OpenAPI SHA: 7eb5ad9a2ed3e3f1055968a2d1014ac92c06fe92, Date: 2024-05-21

0.40.1

  • Fixed codecov for repository (#909).
  • Add traceparent header to enable distributed tracing. (#914).
  • Log cancelled and failed requests (#919).

Dependency updates:

  • Bump golang.org/x/net from 0.22.0 to 0.24.0 (#884).
  • Bump golang.org/x/net from 0.17.0 to 0.23.0 in /examples/zerolog (#896).
  • Bump golang.org/x/net from 0.21.0 to 0.23.0 in /examples/slog (#897).

0.40.0

  • Allow unlimited timeouts in retries (#904). By setting RETRY_TIMEOUT_SECONDS to a negative value, WorkspaceClient and AccountClient will retry retriable failures indefinitely. As a reminder, without setting this parameter, the default retry timeout is 5 minutes.

API Changes:

OpenAPI SHA: master, Date: 2024-05-02 Dependency updates:

  • Bump version of mockery (#907).

0.39.0

  • Ignored flaky integration tests (#894).
  • Added retries for "worker env WorkerEnvId(workerenv-XXXXX) not found" (#890).
  • Updated SDK to OpenAPI spec (#899).

Note: This release contains breaking changes, please see the API changes below for more details.

API Changes:

OpenAPI SHA: 21f9f1482f9d0d15228da59f2cd9f0863d2a6d55, Date: 2024-04-23

0.38.0

Behavior Changes

  • Override INVALID_PARAMETER_VALUE on fetching non-existent job/cluster (#864). The error returned when fetching a non-existent job or cluster has been changed from INVALID_PARAMETER_VALUE to RESOURCE_DOES_NOT_EXIST. Update your error handling code to check for databricks.ErrResourceDoesNotExist instead of databricks.ErrInvalidParameterValue. For example, if you are using the Jobs.GetById method, you should update your error handling code to:
_, err := w.Jobs.GetById(ctx, "id")
if errors.Is(err, databricks.ErrResourceDoesNotExist) {
    // handle the error
}

Note that the original error code is still accessible in the ErrorCode field of APIError.

Other Improvements

  • Do not leak secondary authorization tokens in debug logs (#882).
  • Fix logging of request bodies containing percent characters. (#881).
  • Added clientId and clientSecret to oauth-m2m auth_types (#885).

Internal Changes

  • Support custom AuthVisitors (#874).

API Changes:

OpenAPI SHA: 94684175b8bd65f8701f89729351f8069e8309c9, Date: 2024-04-11

## 0.37.0

Other Changes

  • Fix integration test naming for UC Files (#868).

API Changes

OpenAPI SHA: d38528c3e47dd81c9bdbd918272a3e49d36e09ce, Date: 2024-03-27

0.36.0

API Changes:

OpenAPI SHA: 93763b0d7ae908520c229c786fff28b8fd623261, Date: 2024-03-20

0.35.0

  • Added Config.GetAuthDetails (#838).
  • Support DATABRICKS_SDK_UPSTREAM and DATABRICKS_SDK_UPSTREAM_VERSION (#854).

Internal Changes

  • Add telemetry for SDK usage from DBR (#851).

Test Fixes

  • Fix TestUcAccShares (#858).

API Changes:

OpenAPI SHA: 3821dc51952c5cf1c276dd84967da011b191e64a, Date: 2024-03-19 Dependency updates:

  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/zerolog (#855).
  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/slog (#856).
  • Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#857).
  • Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#840).
  • Bump golang.org/x/mod from 0.15.0 to 0.16.0 (#843).
  • Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (#845).
  • Bump google.golang.org/api from 0.166.0 to 0.169.0 (#849).

Release v0.35.0

  • Added Config.GetAuthDetails (#838).
  • Support DATABRICKS_SDK_UPSTREAM and DATABRICKS_SDK_UPSTREAM_VERSION (#854).

Internal Changes

  • Add telemetry for SDK usage from DBR (#851).

Test Fixes

  • Fix TestUcAccShares (#858).

API Changes:

OpenAPI SHA: 3821dc51952c5cf1c276dd84967da011b191e64a, Date: 2024-03-19 Dependency updates:

  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/zerolog (#855).
  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/slog (#856).
  • Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#857).
  • Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#840).
  • Bump golang.org/x/mod from 0.15.0 to 0.16.0 (#843).
  • Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (#845).
  • Bump google.golang.org/api from 0.166.0 to 0.169.0 (#849).

0.35.0

  • Added Config.GetAuthDetails (#838).
  • Support DATABRICKS_SDK_UPSTREAM and DATABRICKS_SDK_UPSTREAM_VERSION (#854).

Internal Changes

  • Add telemetry for SDK usage from DBR (#851).

Test Fixes

  • Fix TestUcAccShares (#858).

API Changes:

OpenAPI SHA: 3821dc51952c5cf1c276dd84967da011b191e64a, Date: 2024-03-19 Dependency updates:

  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/zerolog (#855).
  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/slog (#856).
  • Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#857).
  • Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#840).
  • Bump golang.org/x/mod from 0.15.0 to 0.16.0 (#843).
  • Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (#845).
  • Bump google.golang.org/api from 0.166.0 to 0.169.0 (#849).

0.35.0

  • Added Config.GetAuthDetails (#838).
  • Support DATABRICKS_SDK_UPSTREAM and DATABRICKS_SDK_UPSTREAM_VERSION (#854).

Internal Changes

  • Add telemetry for SDK usage from DBR (#851).

Test Fixes

  • Fix TestUcAccShares (#858).

API Changes:

OpenAPI SHA: 3821dc51952c5cf1c276dd84967da011b191e64a, Date: 2024-03-19 Dependency updates:

  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/zerolog (#855).
  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/slog (#856).
  • Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#857).
  • Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#840).
  • Bump golang.org/x/mod from 0.15.0 to 0.16.0 (#843).
  • Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (#845).
  • Bump google.golang.org/api from 0.166.0 to 0.169.0 (#849).

Release v0.35.0

  • Added Config.GetAuthDetails (#838).
  • Support DATABRICKS_SDK_UPSTREAM and DATABRICKS_SDK_UPSTREAM_VERSION (#854).

Internal Changes

  • Add telemetry for SDK usage from DBR (#851).

Test Fixes

  • Fix TestUcAccShares (#858).

API Changes:

OpenAPI SHA: 3821dc51952c5cf1c276dd84967da011b191e64a, Date: 2024-03-19 Dependency updates:

  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/zerolog (#855).
  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/slog (#856).
  • Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#857).
  • Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#840).
  • Bump golang.org/x/mod from 0.15.0 to 0.16.0 (#843).
  • Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (#845).
  • Bump google.golang.org/api from 0.166.0 to 0.169.0 (#849).

0.35.0

  • Added Config.GetAuthDetails (#838).
  • Support DATABRICKS_SDK_UPSTREAM and DATABRICKS_SDK_UPSTREAM_VERSION (#854).
  • Fix TestUcAccShares (#858).
  • Add telemetry for SDK usage from DBR (#851).

API Changes:

OpenAPI SHA: 3821dc51952c5cf1c276dd84967da011b191e64a, Date: 2024-03-19 Dependency updates:

  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/zerolog (#855).
  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/slog (#856).
  • Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#857).
  • Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#840).
  • Bump golang.org/x/mod from 0.15.0 to 0.16.0 (#843).
  • Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (#845).
  • Bump google.golang.org/api from 0.166.0 to 0.169.0 (#849).

0.35.0

  • Added Config.GetAuthDetails (#838).
  • Support DATABRICKS_SDK_UPSTREAM and DATABRICKS_SDK_UPSTREAM_VERSION (#854).

Test Fixes

  • Fix TestUcAccShares (#858).

Internal Changes

  • Add telemetry for SDK usage from DBR (#851).

API Changes:

OpenAPI SHA: 3821dc51952c5cf1c276dd84967da011b191e64a, Date: 2024-03-19 Dependency updates:

  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/zerolog (#855).
  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /examples/slog (#856).
  • Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#857).
  • Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#840).
  • Bump golang.org/x/mod from 0.15.0 to 0.16.0 (#843).
  • Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (#845).
  • Bump google.golang.org/api from 0.166.0 to 0.169.0 (#849).

0.34.0

New Features and Improvements

  • Fixed GetWorkspaceClient for GCP (#803).
  • Adaptive request timeouts (#837).
  • Added HTTP proxy example (#825).
  • Note: Backwards incompatible changes - Settings are now nested, please see the API changes below.

API Changes:

Internal Changes:

  • Differentiate between empty structures and components that can take on any value (#821).
  • Added integration tests for files API (#818).
  • Added HasByteStreamField() helper function (#824).
  • Update SDK to latest OpenAPI spec (#839).
  • Added tokei.rs badge (#836).
  • Updated isObject to consider empty objects (#834).
  • Treat empty entities as entities (#831).
  • Do not transpile getWorkspaceClient (#830).
  • Include Go 1.22 in test matrix (#841).
  • Added support for subservices (#826).
  • Bump google.golang.org/api from 0.161.0 to 0.166.0 (#829).
  • Bump exp & mod library (#832).

OpenAPI SHA: d855b30f25a06fe84f25214efa20e7f1fffcdf9e, Date: 2024-03-04

0.33.0

Internal Changes:

  • Add helper function to get header fields (#822).
  • Add Int64 to header type injection (#819).

API Changes:

OpenAPI SHA: cdd76a98a4fca7008572b3a94427566dd286c63b, Date: 2024-02-19

0.32.0

Major Changes:

  • Generate fields for headers in responses (#812).

Other Changes:

  • Add CurrentWorkspaceID() method on WorkspaceClient (#808).
  • Update OpenAPI spec (#816).

Internal Changes:

  • Do not generate erroneous "r" and "w" samples (#811).

API Changes:

OpenAPI SHA: c40670f5a2055c92cf0a6aac92a5bccebfb80866, Date: 2024-02-14

0.31.0

  • Support creating a new workspace client from an account client (#792). Please see the example:
// GetWorkspaceClient returns a WorkspaceClient for the given workspace. The
// workspace can be fetched by calling w.Workspaces.Get() or w.Workspaces.List().
//
// The config used for the workspace is identical to that used for the account,
// except that the host is set to the workspace host, and the account ID is
// not set.

a, err := databricks.NewAccountClient()
if err != nil {
  panic(err)
}
ctx := context.Background()
workspaces, err := a.Workspaces.List(ctx)
if err != nil {
  panic(err)
}
w, err := a.GetWorkspaceClient(workspaces[0])
if err != nil {
  panic(err)
}
me, err := w.CurrentUser.Me(ctx)
  • Added support to select Spark version with Photon (#799). Please Note: Photon selection is disabled by default. To enable it, please use Photon: true in request. Example:
	version, err := sparkVersions.Select(compute.SparkVersionRequest{
		Photon:          true,
	})

API Changes:

Additions:

Changes:

Removals:

Internal Changes:

  • Added Support for HEAD operations (#802).
  • Updated actions/setup-go to v5 (#784).
  • Retry update of catalog in test to avoid flakiness (#788).
  • Skip AccountClient_GetWorkspaceClient() test in Azure/GCP (#798).
  • SDK Generation + Fix backwards incompatible changes (#806).
  • Fixed any references when generating code with circular dependencies (#805).
  • Fixed stack overflow on recursive schemas (#801).

Dependency updates:

  • Bump google.golang.org/api from 0.154.0 to 0.161.0 (#794).

OpenAPI SHA: cadf1693527b365728a55ff06a0e38ce5740c9f7, Date: 2024-02-08

0.30.1

Major changes:

  • Enable Databricks CLI auth for all clouds (#783).

Other changes:

  • Update codecov/codecov-action to v3 (#785).
  • MustUseJson must be true if request is a map (#786).

0.30.0

Other changes:

  • Added RequiredPositionalArguments method for codegen (#773).
  • Support locking in integration tests (#776).
  • Update OpenAPI spec and fix incompatible changes (#778).

API Changes:

OpenAPI SHA: e05401ed5dd4974c5333d737ec308a7d451f749f, Date: 2024-01-23

0.29.1

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.

0.29.0

  • 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).

0.28.1

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.

0.28.0

  • 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

0.27.0

API Changes:

OpenAPI SHA: 63caa3cb0c05045e81d3dcf2451fa990d8670f36, Date: 2023-12-12 Dependency updates:

  • Bumped google.golang.org/api from 0.152.0 to 0.153.0 (#731).

0.26.2

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).

0.26.1

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).

0.26.0

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).

0.25.0

  • 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:

OpenAPI SHA: e7b127cb07af8dd4d8c61c7cc045c8910cdbb02a, Date: 2023-11-08 Dependency updates:

  • Bump google.golang.org/api from 0.146.0 to 0.150.0 (#683).
  • Bump golang.org/x/mod from 0.13.0 to 0.14.0 (#681).
  • Bump google.golang.org/grpc from 1.58.2 to 1.58.3 in /examples/slog (#672).
  • Bump google.golang.org/grpc to 1.58.3 in /examples/zerolog (#684).
  • Bump golang.org/x/time from 0.3.0 to 0.4.0 (#680).

0.24.0

  • 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

0.23.0

Note: this release includes custom JSON marshalling that captures whether or not a value is set and should be included in the marshalled output, if its value is equal to Go's zero value (i.e. 0 for an int field).

  • Add ForceSendFields and a custom marshaller (#615).
  • Support text/plain response as streaming request body (#638).
  • Added log statement if OIDC response is non 200 (#644).

API Changes:

OpenAPI SHA: 493a76554afd3afdd15dc858773d01643f80352a, Date: 2023-10-12

Dependency updates:

  • Bump golang.org/x/mod from 0.12.0 to 0.13.0 (#639).
  • Bump google.golang.org/api from 0.140.0 to 0.146.0 (#643).
  • Bump golang.org/x/net from 0.15.0 to 0.17.0 (#646).
  • Bump golang.org/x/oauth2 from 0.12.0 to 0.13.0 (#642).
  • Bump golang.org/x/net from 0.8.0 to 0.17.0 in /examples/zerolog (#647).
  • Bump golang.org/x/net from 0.8.0 to 0.17.0 in /examples/slog (#648).

0.22.0

Breaking API Changes:

API Changes:

Internal SDK Changes:

  • Add support for template libraries (#635).

OpenAPI SHA: bcbf6e851e3d82fd910940910dd31c10c059746c, Date: 2023-10-02

0.21.0

Breaking API Changes:

API Changes:

SDK Internal Changes:

  • Remove use of cancel by job id in integration test (#632).

OpenAPI SHA: 94ddf8ff02df271daebdc5f001075e1ca2ce080d, Date: 2023-09-27

0.20.0

  • Adjust token expiry window to 40 seconds on Azure (#617).
  • Rename variables in Azure code to match across auth types (#618).
  • Add details to APIError (#613).
  • Fixed code generation of primitive types (#623).
  • Updated SDK to changes in OpenAPI specification (#625).

API Changes:

OpenAPI SHA: 51e3d27c0553c891bc418bd0cd07c9240e0476dd, Date: 2023-09-13 Dependency updates:

  • Bump golang.org/x/oauth2 from 0.11.0 to 0.12.0 (#606).
  • Bump google.golang.org/api from 0.138.0 to 0.140.0 (#612).

0.19.2

  • Fixed case where retry of a request without body fails (#614).

0.19.1

  • Handled Azure authentication when WorkspaceResourceID is provided (#597).
  • Reverted error message changes from client.go (#604).
  • Reused tokens after first call to Azure CLI (#605).
  • Updated error message assertions (#607).

0.19.0

  • Added ErrNotWorkspaceClient (#596).
  • Fix loading of databrickscfg with a password containing a hash (#595).
  • Use an operation's request type name if specified (#598).
  • Update OpenAPI spec (#600).

API Changes:

OpenAPI SHA: 09a7fa63d9ae243e5407941f200960ca14d48b07, Date: 2023-09-04

Dependency updates:

  • Bump google.golang.org/api from 0.136.0 to 0.138.0 (#587).

0.18.0

Breaking Changes:

  • Added support Files API (application/octet-stream) in OpenAPI Spec (#572). The signatures of Upload, Download and Delete have changed; these methods now take UploadRequest, DownloadRequest, and DeleteRequest structures, respectively. Shortcut methods are generated for DownloadByFileName and DeleteByFileName for convenience. The WriteFile and ReadFile methods are removed.
  • Propagated Request Headers to client.go (#589). The Do method of Client now requires an additional parameter for request headers. Add headers to requests using this parameter, or pass nil if no headers are needed.

Breaking API Changes:

API Changes:

SDK Internal Changes:

  • Added support for io.ReadCloser for request and response bodies (#590).
  • Fixed nightly test failures for Go SDK (#592).

OpenAPI Generator Changes:

  • Improved error handling for ill-defined parameters (#582).
  • Switched to logging consistently rather than printing to stdout (#588).

OpenAPI SHA: 5d0ccbb790d341eae8e85321a685a9e9e2d5bf24, Date: 2023-08-29

0.17.0

  • Introduced Artifact Allowlist, Securable Tags, and Subentity Tags services.
  • Introduced DeleteRuns and RestoreRuns methods in the Experiments API.
  • Introduced the GetSecret method in the Secrets API.
  • Renamed Auto Maintenance to Predictive Optimization.
  • Set necessary headers when authenticating via Azure CLI (#584).

New Services:

New APIs:

Service Renames:

OpenAPI SHA: beff621d7b3e1d59244e2e34fc53a496f310e130, Date: 2023-08-17

0.16.0

  • Added ability to generate flat names (#568).

API Changes:

OpenAPI SHA: 1e3533f94335f0e6c5d9262bc1fea95b3ddcb0e1, Date: 2023-08-11 Dependency updates:

  • Bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 (#574).
  • Bump google.golang.org/api from 0.134.0 to 0.135.0 (#575).
  • Bump google.golang.org/api from 0.135.0 to 0.136.0 (#576).

0.15.0

To simplify documentation and management of object permissions, this release features a major reorganization of how permissions APIs are structured in the SDK. Rather than using a single Permissions.Get() API for all services, each service supporting permissions has its own permissions APIs. Follow these steps to migrate to the current SDK:

  • Change w.Permissions.Get() and w.Permissions.GetByRequestObjectIdAndRequestObjectType() to w.<Service>.Get<Service>Permissions()
  • Change w.Permissions.GetPermissionLevels() to w.<Service>.GetServicePermissionLevels()
  • Change w.Permissions.Set() to w.<Service>.Set<Service>Permissions()
  • Change w.Permissions.Update() to w.<Service>.Update<Service>Permissions()

API Changes:

OpenAPI SHA: 386b65ecdc825b9c3ed4aa7ca88e2e5baf9d87df, Date: 2023-08-07 Dependency updates:

  • Bump google.golang.org/api from 0.131.0 to 0.134.0 (#564).

0.14.1

  • Handle nested query parameters in Client.attempt (#559).
  • Support x-databricks-path-style overrides at the operation level (#562).

0.14.0

  • Fixed names of keyword arguments in examples (#560).

API Changes:

OpenAPI SHA: fbdd0fa3e83fed2c798a58d376529bdb1285b915, Date: 2023-07-26

0.13.0

  • Add issue templates (#539).
  • Added HasRequiredNonBodyField method (#536).
  • Make Azure MSI auth account compatible (#544).
  • Refactor Handling of Name<->ID Mapping in OpenAPI Generator (#547).
  • Regenerate Go SDK from current OpenAPI Specification (#549).
  • Parse Camel Case and Pascal Case Enum Values (#550).
  • Prepare for auto-releaser infra (#554).
  • Added SCIM Patch Acceptance Tests (#540).

API Changes:

OpenAPI SHA: 0a1949ba96f71680dad30e06973eaae85b1307bb, Date: 2023-07-18 Dependency updates:

  • Bump golang.org/x/oauth2 from 0.9.0 to 0.10.0 (#545).
  • Bump golang.org/x/mod from 0.11.0 to 0.12.0 (#541).
  • Bump google.golang.org/api from 0.129.0 to 0.130.0 (#542).
  • Bump google.golang.org/api from 0.130.0 to 0.131.0 (#551).

0.12.0

  • Change release type
  • Regenerate SDK according to OpenAPI spec (#534).
  • Bump google.golang.org/api from 0.128.0 to 0.129.0 (#533).

0.11.0

  • Regenerated from OpenAPI spec (#527). Includes bugfixes for System Tables.
  • Support accounts-dod as account endpoint (#530).

Breaking API Changes:

  • Renamed compute.ClusterInfo to compute.ClusterDetails
  • Renamed compue.BaseClusterInfo to compute.ClusterSpec
  • Renamed jobs.RunSubmitTaskSettings to jobs.SubmitTask
  • Renamed jobs.JobTaskSettings to jobs.Task
  • Renamed jobs.CreateJobFormat to jobs.Format
  • Renamed jobs.JobsWebhookNotifications to jobs.WebhookNotifications
  • Renamed jobs.CronSchedulePauseStatus to jobs.PauseStatus
  • Renamed jobs.FileArrivalTriggerSettings to jobs.FileArrivalTriggerConfiguration
  • Renamed jobs.GitSourceGitProvider to jobs.GitProvider
  • Consolidated jobs.NotebookTaskSource, jobs.SparkPythonTaskSource to jobs.Source
  • Consolidated jobs.JobWebhookNotificationsOnFailureItem, jobs.JobWebhookNotificationsOnStartItem, jobs.JobWebhookNotificationsOnSuccessItem to jobs.Webhook
  • Renamed jobs.TaskDependenciesItem to job.TaskDependency
  • jobs.SparkSubmitTask.Widgets changed from *SqlDashboardWidgetOutput to []SqlDashboardWidgetOutput
  • (a *SystemSchemasAPI) DisableByMetastoreIdAndSchemaName changed from func(context.Context, string, string) error to func(context.Context, string, DisableSchemaName) error
  • (a *SystemSchemasAPI) Enable changed from func(context.Context) error to func(context.Context, EnableRequest) error
  • catalog.CatalogInfo.OptionsKvpairs changed from *OptionsKvPairs to map[string]string
  • catalog.CreateConnection.OptionsKvpairs changed from *OptionsKvPairs to map[string]string
  • catalog.UpdateConnection.OptionsKvpairs changed from OptionsKvPairs to map[string]string
  • catalog.DisableRequest.SchemaName changed from string to DisableSchemaName
  • catalog.OptionsKvPairs removed
  • catalog.SystemSchemaInfoStateDisableinitialized renamed to catalog.SystemSchemaInfoStateDisabledInitialized
  • catalog.SystemSchemaInfoStateEnabledcompleted renamed to catalog.SystemSchemaInfoStateEnabledCompleted
  • catalog.SystemSchemaInfoStateEnabledinitialized renamed to catalog.SystemSchemaInfoStateEnabledInitialized
  • settings.ReadPersonalComputeSettingsResponse renamed to settings.PersonalComputeSetting
  • workpace.CreateScope.KeyvaultMetadata removed

Other API Changes:

  • catalog.CatalogInfo.ConnectionName added
  • catalog.CatalogInfo.Options added
  • catalog.DisableSchemaName added
  • catalog.EnableRequest added
  • catalog.PrivilegeUseMarketplaceAssets added
  • compute.ClusterEvent added
  • compute.ComputeSpec added
  • compute.ComputeSpecKind added
  • jobs.ConditionTask added
  • jobs.ConditionTaskOp added
  • jobs.CreateJob.Compute added
  • jobs.JobCompute added
  • jobs.JobSettings.Compute added
  • jobs.RunConditionTask added
  • jobs.RunOutput.ConditionTask added
  • jobs.RunTask.ConditionTask added
  • serving.ServedModelInput.EnvironmentVars added
  • serving.ServedModelOutput.EnvironmentVars added
  • settings.DeletePersonalComputeSetting added
  • settings.UpdatePersonalComputeSetting added
  • sharing.PrivilegeUseMarketplaceAssets added
  • workspace.CreateScope.BackendAzureKeyVault added

0.10.1

  • Added ClusterID field for Config (#524).
  • Added OnlyPayload property for method (#522).
  • Renamed IsJsonOnly method (#523).

Dependency updates:

  • Bump google.golang.org/api from 0.127.0 to 0.128.0 (#521).

0.10.0

  • Added log level support to SimpleLogger. Default logger now prints only INFO level messages. To replicate more verbose behavior from the previous versions, set the DEBUG level in SimpleLogger explicitly (#426).
  • Added Upload and Download methods where applicable (#423).
  • Added auth tests for a databrickscfg file with an empty DEFAULT profile (#496).
  • Added more integration tests and examples (#503).
  • Added preview level functions for services and methods to OpenAPI code (#497).
  • Added IsAllRequiredFieldsPrimitive helper function (#404).
  • Added isCrudCreate method (#416).
  • Added retries for getting refreshable token (#500).
  • Added type update when entity fields are updated (#411).
  • Don't panic but return error from NewAccountClient (#422).
  • Error when opening a DBFS directory for reading (#415).
  • Fixed cleanup logic in SQL warehouse integration test (#400).
  • Fixed error handling in cluster utility function (#399).
  • Fixed example in README.md (#494).
  • Fixed nondeterminism in workspace filesystem integration test (#401).
  • Improve command execution interface (#410).
  • Introduce waiters as top-level methods (#408).
  • Regenerate examples if configured (#518).
  • Respect limit field passed in ListRequests (#407).
  • Updated from OpenAPI spec (#412, #413, #421, #519, #424).
  • Updated API test template with page tokens (#417).
  • Use constants instead of hardcoding strings (#402).
  • Use x-databricks-is-accounts flag to determine whether a service is an account level service (#420).

API Changes:

github.com/databricks/databricks-sdk-go/service/serving

  • (*ServingEndpointsAPI).Create: changed from func(context.Context, CreateServingEndpoint) (*ServingEndpointDetailed, error) to func(context.Context, CreateServingEndpoint) (*WaitGetServingEndpointNotUpdating[ServingEndpointDetailed], error)
  • (*ServingEndpointsAPI).List: removed
  • (*ServingEndpointsAPI).UpdateConfig: changed from func(context.Context, EndpointCoreConfigInput) (*ServingEndpointDetailed, error) to func(context.Context, EndpointCoreConfigInput) (*WaitGetServingEndpointNotUpdating[ServingEndpointDetailed], error) Compatible changes:
  • (*ServingEndpointsAPI).ListAll: added
  • (*ServingEndpointsAPI).WaitGetServingEndpointNotUpdating: added
  • WaitGetServingEndpointNotUpdating: added

github.com/databricks/databricks-sdk-go

  • WorkspaceClient.CommandExecutor: removed
  • WorkspaceClient.CommandExecution: added
  • WorkspaceClient.Connections: added
  • WorkspaceClient.Files: added
  • WorkspaceClient.SystemSchemas: added

github.com/databricks/databricks-sdk-go/service/sql

  • (*WarehousesAPI).Create: changed from func(context.Context, CreateWarehouseRequest) (*CreateWarehouseResponse, error) to func(context.Context, CreateWarehouseRequest) (*WaitGetWarehouseRunning[CreateWarehouseResponse], error)
  • (*WarehousesAPI).DeleteAndWait: removed
  • (*WarehousesAPI).DeleteByIdAndWait: removed
  • (*WarehousesAPI).Edit: changed from func(context.Context, EditWarehouseRequest) error to func(context.Context, EditWarehouseRequest) (*WaitGetWarehouseRunning[any], error)
  • (*WarehousesAPI).GetAndWait: removed
  • (*WarehousesAPI).GetByIdAndWait: removed
  • (*WarehousesAPI).Start: changed from func(context.Context, StartRequest) error to func(context.Context, StartRequest) (*WaitGetWarehouseRunning[any], error)
  • (*WarehousesAPI).Stop: changed from func(context.Context, StopRequest) error to func(context.Context, StopRequest) (*WaitGetWarehouseStopped[any], error)
  • (*StatementExecutionAPI).ExecuteAndWait: added
  • (*WarehousesAPI).WaitGetWarehouseRunning: added
  • (*WarehousesAPI).WaitGetWarehouseStopped: added
  • FormatCsv: added
  • WaitGetWarehouseRunning: added
  • WaitGetWarehouseStopped: added

github.com/databricks/databricks-sdk-go/service/jobs

  • (*JobsAPI).CancelRun: changed from func(context.Context, CancelRun) error to func(context.Context, CancelRun) (*WaitGetRunJobTerminatedOrSkipped[any], error)
  • (*JobsAPI).GetRunAndWait: removed
  • (*JobsAPI).RepairRun: changed from func(context.Context, RepairRun) (*RepairRunResponse, error) to func(context.Context, RepairRun) (*WaitGetRunJobTerminatedOrSkipped[RepairRunResponse], error)
  • (*JobsAPI).RunNow: changed from func(context.Context, RunNow) (*RunNowResponse, error) to func(context.Context, RunNow) (*WaitGetRunJobTerminatedOrSkipped[RunNowResponse], error)
  • (*JobsAPI).Submit: changed from func(context.Context, SubmitRun) (*SubmitRunResponse, error) to func(context.Context, SubmitRun) (*WaitGetRunJobTerminatedOrSkipped[SubmitRunResponse], error)
  • (*JobsAPI).WaitGetRunJobTerminatedOrSkipped: added
  • CreateJob.RunAs: added
  • JobRunAs: added
  • JobSettings.RunAs: added
  • WaitGetRunJobTerminatedOrSkipped: added

github.com/databricks/databricks-sdk-go/service/compute

  • (*ClustersAPI).Create: changed from func(context.Context, CreateCluster) (*CreateClusterResponse, error) to func(context.Context, CreateCluster) (*WaitGetClusterRunning[CreateClusterResponse], error)
  • (*ClustersAPI).Delete: changed from func(context.Context, DeleteCluster) error to func(context.Context, DeleteCluster) (*WaitGetClusterTerminated[any], error)
  • (*ClustersAPI).Edit: changed from func(context.Context, EditCluster) error to func(context.Context, EditCluster) (*WaitGetClusterRunning[any], error)
  • (*ClustersAPI).GetAndWait: removed
  • (*ClustersAPI).GetByClusterIdAndWait: removed
  • (*ClustersAPI).Resize: changed from func(context.Context, ResizeCluster) error to func(context.Context, ResizeCluster) (*WaitGetClusterRunning[any], error)
  • (*ClustersAPI).Restart: changed from func(context.Context, RestartCluster) error to func(context.Context, RestartCluster) (*WaitGetClusterRunning[any], error)
  • (*ClustersAPI).Start: changed from func(context.Context, StartCluster) error to func(context.Context, StartCluster) (*WaitGetClusterRunning[any], error)
  • (*CommandExecutionAPI).Cancel: changed from func(context.Context, CancelCommand) error to func(context.Context, CancelCommand) (*WaitCommandStatusCommandExecutionCancelled[any], error)
  • (*CommandExecutionAPI).Create: changed from func(context.Context, CreateContext) (*Created, error) to func(context.Context, CreateContext) (*WaitContextStatusCommandExecutionRunning[Created], error)
  • (*CommandExecutionAPI).Execute: changed from func(context.Context, Command) (*Created, error) to func(context.Context, Command) (*WaitCommandStatusCommandExecutionFinishedOrError[Created], error)
  • (*ClustersAPI).WaitGetClusterRunning: added
  • (*ClustersAPI).WaitGetClusterTerminated: added
  • (*CommandExecutionAPI).Start: added
  • (*CommandExecutionAPI).WaitCommandStatusCommandExecutionCancelled: added
  • (*CommandExecutionAPI).WaitCommandStatusCommandExecutionFinishedOrError: added
  • (*CommandExecutionAPI).WaitContextStatusCommandExecutionRunning: added
  • BaseClusterInfo.DataSecurityMode: added
  • BaseClusterInfo.DockerImage: added
  • BaseClusterInfo.SingleUserName: added
  • ClusterAttributes.DataSecurityMode: added
  • ClusterAttributes.DockerImage: added
  • ClusterAttributes.SingleUserName: added
  • ClusterInfo.DockerImage: added
  • CommandExecutorV2: added
  • EditCluster.DataSecurityMode: added
  • EditCluster.DockerImage: added
  • EditCluster.SingleUserName: added
  • WaitCommandStatusCommandExecutionCancelled: added
  • WaitCommandStatusCommandExecutionFinishedOrError: added
  • WaitContextStatusCommandExecutionRunning: added
  • WaitGetClusterRunning: added
  • WaitGetClusterTerminated: added

github.com/databricks/databricks-sdk-go/service/pipelines

  • (*PipelinesAPI).GetAndWait: removed
  • (*PipelinesAPI).GetByPipelineIdAndWait: removed
  • (*PipelinesAPI).Reset: changed from func(context.Context, ResetRequest) error to func(context.Context, ResetRequest) (*WaitGetPipelineRunning[any], error)
  • (*PipelinesAPI).Stop: changed from func(context.Context, StopRequest) error to func(context.Context, StopRequest) (*WaitGetPipelineIdle[any], error)
  • (*PipelinesAPI).WaitGetPipelineIdle: added
  • (*PipelinesAPI).WaitGetPipelineRunning: added
  • WaitGetPipelineIdle: added
  • WaitGetPipelineRunning: added

github.com/databricks/databricks-sdk-go/service/sharing

  • (*ProvidersAPI).ListShares: removed
  • (*ProvidersAPI).ListSharesAll: added

github.com/databricks/databricks-sdk-go/service/workspace

  • ExportFormatAuto: removed
  • ExportRequest.DirectDownload: removed
  • Import.Format: changed from ExportFormat to ImportFormat
  • (*WorkspaceAPI).Download: added
  • (*WorkspaceAPI).ReadFile: added
  • (*WorkspaceAPI).Upload: added
  • (*WorkspaceAPI).WriteFile: added
  • DownloadFormat: added
  • DownloadOption: added
  • ImportFormat: added
  • ImportFormatAuto: added
  • ImportFormatDbc: added
  • ImportFormatHtml: added
  • ImportFormatJupyter: added
  • ImportFormatRMarkdown: added
  • ImportFormatSource: added
  • UploadFormat: added
  • UploadLanguage: added
  • UploadOption: added
  • UploadOverwrite: added

github.com/databricks/databricks-sdk-go/service/catalog

  • (*FunctionsAPI).List: removed
  • (*MetastoresAPI).Assign: changed from func(context.Context, CreateMetastoreAssignment) error to func(context.Context, CreateMetastoreAssignment) error
  • (*MetastoresAPI).Create: changed from func(context.Context, CreateMetastore) (*MetastoreInfo, error) to func(context.Context, CreateMetastore) (*MetastoreInfo, error)
  • (*MetastoresAPI).Update: changed from func(context.Context, UpdateMetastore) (*MetastoreInfo, error) to func(context.Context, UpdateMetastore) (*MetastoreInfo, error)
  • (*MetastoresAPI).UpdateAssignment: changed from func(context.Context, UpdateMetastoreAssignment) error to func(context.Context, UpdateMetastoreAssignment) error
  • (*StorageCredentialsAPI).Create: changed from func(context.Context, CreateStorageCredential) (*StorageCredentialInfo, error) to func(context.Context, CreateStorageCredential) (*StorageCredentialInfo, error)
  • (*StorageCredentialsAPI).Update: changed from func(context.Context, UpdateStorageCredential) (*StorageCredentialInfo, error) to func(context.Context, UpdateStorageCredential) (*StorageCredentialInfo, error)
  • (*TablesAPI).ListSummaries: removed
  • CreateMetastore.Name: removed
  • CreateMetastore.Region: removed
  • CreateMetastore.StorageRoot: removed
  • CreateMetastore: changed from CreateMetastore to CreateMetastore
  • CreateMetastoreAssignment.DefaultCatalogName: removed
  • CreateMetastoreAssignment: changed from CreateMetastoreAssignment to CreateMetastoreAssignment
  • CreateStorageCredential.AwsIamRole: removed
  • CreateStorageCredential.AzureServicePrincipal: removed
  • CreateStorageCredential.Comment: removed
  • CreateStorageCredential.GcpServiceAccountKey: removed
  • CreateStorageCredential.Name: removed
  • CreateStorageCredential.ReadOnly: removed
  • CreateStorageCredential.SkipValidation: removed
  • CreateStorageCredential: changed from CreateStorageCredential to CreateStorageCredential
  • GcpServiceAccountKey: removed
  • ListFunctionsResponse.Schemas: removed
  • MetastoreAssignment.WorkspaceId: changed from string to int64
  • StorageCredentialInfo.GcpServiceAccountKey: removed
  • UpdateMetastore.DeltaSharingOrganizationName: removed
  • UpdateMetastore.DeltaSharingRecipientTokenLifetimeInSeconds: removed
  • UpdateMetastore.DeltaSharingScope: removed
  • UpdateMetastore.Id: removed
  • UpdateMetastore.Name: removed
  • UpdateMetastore.Owner: removed
  • UpdateMetastore.PrivilegeModelVersion: removed
  • UpdateMetastore.StorageRootCredentialId: removed
  • UpdateMetastore: changed from UpdateMetastore to UpdateMetastore
  • UpdateMetastoreAssignment.DefaultCatalogName: removed
  • UpdateMetastoreAssignment: changed from UpdateMetastoreAssignment to UpdateMetastoreAssignment
  • UpdateStorageCredential.AwsIamRole: removed
  • UpdateStorageCredential.AzureServicePrincipal: removed
  • UpdateStorageCredential.Comment: removed
  • UpdateStorageCredential.Force: removed
  • UpdateStorageCredential.GcpServiceAccountKey: removed
  • UpdateStorageCredential.Owner: removed
  • UpdateStorageCredential.ReadOnly: removed
  • UpdateStorageCredential.SkipValidation: removed
  • UpdateStorageCredential: changed from UpdateStorageCredential to UpdateStorageCredential
  • ValidateStorageCredential.GcpServiceAccountKey: removed
  • (*FunctionsAPI).FunctionInfoNameToFullNameMap: added
  • (*FunctionsAPI).ListAll: added
  • (*TablesAPI).ListSummariesAll: added
  • AccountsCreateMetastore: added
  • AccountsCreateMetastoreAssignment: added
  • AccountsCreateStorageCredential: added
  • AccountsUpdateMetastore: added
  • AccountsUpdateMetastoreAssignment: added
  • AccountsUpdateStorageCredential: added
  • AzureManagedIdentity: added
  • ConnectionInfo: added
  • ConnectionType: added
  • ConnectionTypeDatabricks: added
  • ConnectionTypeMysql: added
  • ConnectionTypePostgresql: added
  • ConnectionTypeRedshift: added
  • ConnectionTypeSnowflake: added
  • ConnectionTypeSqldw: added
  • ConnectionTypeSqlserver: added
  • ConnectionsAPI: added
  • ConnectionsService: added
  • CreateConnection: added
  • CreateMetastore.MetastoreInfo: added
  • CreateMetastoreAssignment.MetastoreAssignment: added
  • CreateStorageCredential.CredentialInfo: added
  • CredentialType: added
  • CredentialTypeUsernamePassword: added
  • DatabricksGcpServiceAccountResponse: added
  • DeleteConnectionRequest: added
  • DisableRequest: added
  • GetConnectionRequest: added
  • ListConnectionsResponse: added
  • ListFunctionsResponse.Functions: added
  • ListSystemSchemasRequest: added
  • ListSystemSchemasResponse: added
  • NewConnections: added
  • NewSystemSchemas: added
  • OptionsKvPairs: added
  • PropertiesKvPairs: added
  • StorageCredentialInfo.AzureManagedIdentity: added
  • StorageCredentialInfo.DatabricksGcpServiceAccount: added
  • SystemSchemaInfo: added
  • SystemSchemaInfoState: added
  • SystemSchemaInfoStateDisableinitialized: added
  • SystemSchemaInfoStateEnablecompleted: added
  • SystemSchemaInfoStateEnableinitialized: added
  • SystemSchemaInfoStateUnavailable: added
  • SystemSchemasAPI: added
  • SystemSchemasService: added
  • UpdateConnection: added
  • UpdateMetastore.MetastoreInfo: added
  • UpdateMetastoreAssignment.MetastoreAssignment: added
  • UpdateStorageCredential.CredentialInfo: added
  • ValidateStorageCredential.AzureManagedIdentity: added
  • ValidateStorageCredential.DatabricksGcpServiceAccount: added

github.com/databricks/databricks-sdk-go/service/ml

  • GetModelResponse.RegisteredModel: removed
  • GetModelResponse.RegisteredModelDatabricks: added

github.com/databricks/databricks-sdk-go/service/files

  • FilesAPI: added
  • FilesService: added
  • NewFiles: added

github.com/databricks/databricks-sdk-go/logger

  • SimpleLogger.Level: added

github.com/databricks/databricks-sdk-go/service/provisioning

  • (*WorkspacesAPI).Create: changed from func(context.Context, CreateWorkspaceRequest) (*Workspace, error) to func(context.Context, CreateWorkspaceRequest) (*WaitGetWorkspaceRunning[Workspace], error)
  • (*WorkspacesAPI).Update: changed from func(context.Context, UpdateWorkspaceRequest) error to func(context.Context, UpdateWorkspaceRequest) (*WaitGetWorkspaceRunning[any], error)
  • (*WorkspacesAPI).WaitGetWorkspaceRunning: added
  • WaitGetWorkspaceRunning: added

github.com/databricks/databricks-sdk-go/service/iam

  • AccountAccessControlAPI: added
  • AccountAccessControlProxyAPI: added
  • AccountAccessControlProxyService: added
  • AccountAccessControlService: added
  • GetAssignableRolesForResourceRequest: added
  • GetAssignableRolesForResourceResponse: added
  • GetRuleSetRequest: added
  • GrantRule: added
  • NewAccountAccessControl: added
  • NewAccountAccessControlProxy: added
  • RuleSetResponse: added
  • RuleSetUpdateRequest: added
  • UpdateRuleSetRequest: added

Dependency updates:

  • Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#406).
  • Bump golang.org/x/mod from 0.10.0 to 0.11.0 (#515).
  • Bump golang.org/x/oauth2 from 0.8.0 to 0.9.0 (#498).
  • Bump google.golang.org/api from 0.123.0 to 0.127.0 (#405, #425, #429).

0.9.0

  • Added more usage examples for go doc and Go Packages (#389).
  • Make u2m authentication work with new CLI (#394).
  • Update from OpenAPI spec (19 may) (#390).

Dependency updates:

  • Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#393).
  • Bump google.golang.org/api from 0.122.0 to 0.123.0 (#392).

0.8.1

  • Added in codegen function (#387).
  • Fixed mlflow acceptance tests (#378).
  • Fixed MLflow integration test and removed workaround for DELETE query parameter (#380).
  • Make clusters acceptance tests robust to duplicate cluster names (#381).
  • Remove dead code from apierr/errors.go (#376).
  • Serialize params to request body on delete (#383).

Dependency updates:

  • Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 (#385).
  • Bump google.golang.org/api from 0.118.0 to 0.122.0 (#382, #386).

0.8.0

  • Added more code generation utilities (#369).
  • Body logger for non-JSON payload as well (#365).
  • Cleanup ephemeral groups in integration tests (#368).
  • Fixed external entity generation (#372).
  • Skip loading default profile if host is already configured (#363).
  • Update debug messages in config loader to display correct path (#362).

Dependency updates:

  • Bump golang.org/x/oauth2 from 0.6.0 to 0.7.0 (#364).
  • Bump google.golang.org/api from 0.115.0 to 0.116.0 (#361).
  • Bump google.golang.org/api from 0.116.0 to 0.118.0 (#367).

API changes:

  • Moved clusterpolicies APIs to compute package.
  • Moved clusters APIs to compute package.
  • Moved commands APIs to compute package.
  • Moved globalinitscripts APIs to compute package.
  • Moved instancepools APIs to compute package.
  • Moved scim APIs to iam package.
  • Moved permissions APIs to iam package.
  • Moved ipaccesslists APIs to settings package.
  • Moved tokenmanagement APIs to settings package.
  • Moved tokens APIs to settings package.
  • Moved workspaceconf APIs to settings package.
  • Moved gitcredentials APIs to workspace package.
  • Moved repos APIs to workspace package.
  • Moved secrets APIs to workspace package.
  • Split unitcatalog package to catalog and sharing.
  • Renamed mlflow package to ml.
  • Renamed dbfs package to files.
  • Renamed deployment package to provisioning.
  • Renamed endpoints package to serving.
  • Renamed clusters.List type to compute.ListClustersRequest.
  • Renamed jobs.ListRuns type to jobs.ListRunsRequest.
  • Renamed jobs.ExportRun type to jobs.ExportRunRequest.
  • Renamed clusterpolicies.List type to compute.ListClusterPoliciesRequest.
  • Renamed jobs.List type to jobs.ListJobsRequest.
  • Renamed permissions.GetPermissionLevels type to iam.GetPermissionLevelsRequest.
  • Renamed pipelines.ListPipelineEvents type to pipelines.ListPipelineEventsRequest.
  • Renamed pipelines.ListPipelines type to pipelines.ListPipelinesRequest.
  • Renamed workspaceconf.GetStatus type to settings.GetStatusRequest.
  • Renamed repos.List type to workspace.ListReposRequest.
  • Renamed tokenmanagement.List type to settings.ListTokenManagementRequest.
  • Renamed workspace.Export type to workspace.ExportRequest.
  • Renamed workspace.List type to workspace.ListWorkspaceRequest.

0.7.0

  • Update from OpenAPI (#359).
  • Experimental credentials provider via local server (#340).
  • Added isTesting marker to support ResourceFixture in Terraform (#358).

Dependency updates:

  • Bump golang.org/x/mod from 0.9.0 to 0.10.0 (#356).
  • Bump google.golang.org/api from 0.114.0 to 0.115.0 (#357).

0.6.0

  • Added type to represent a loaded configuration file (#349).
  • Added named Wait the level of services (#348).
  • Pass azure_client_id to Azure MSI if specified (#354).

Dependency updates:

  • Bump google.golang.org/api from 0.112.0 to 0.114.0 (#344).

0.5.0

  • Added Delta Live Tables events method to pipelines.PipelinesAPI (#339).
  • Added id field to the SparkVersionRequest for easier integration with Terraform's databricks_spark_version data source (#335).
  • Improve auth fixture capturing (#336, #337).
  • Make logger context aware and added examples of usage together with zerolog and slog (#333).
  • Update from OpenAPI spec and added new APIs (#338).

Dependency updates:

  • Bump google.golang.org/api from 0.111.0 to 0.112.0 (#334).

0.4.1

  • Added an option to configure the location of the bricks CLI (#330).
  • Added support for Azure CLI authentication on Azure China and Azure GovCloud (#331).

0.4.0

  • Added id field to the NodeTypeRequest for easier integration with Terraform's databricks_node_type data source (#325).
  • Don't load ~/.databrickscfg if azure-cli auth is implicitly configured (#324).
  • Fixed newline in codegen comments (#326).
  • Update from OpenAPI (#320, #328).

API changes:

  • Renamed deployment.AwsCredentials to deployment.CreateCredentialAwsCredentials.
  • Renamed deployment.StsRole to deployment.CreateCredentialStsRole.
  • Removed schedules support from sql.AlertsAPI.

Dependency updates:

  • Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#318).
  • Bump golang.org/x/mod from 0.6.0-dev.0.20220419223038-86c51ed26bb4 to 0.8.0 (#316).
  • Bump golang.org/x/mod from 0.8.0 to 0.9.0 (#323).
  • Bump golang.org/x/oauth2 from 0.5.0 to 0.6.0 (#322).
  • Bump golang.org/x/time from 0.0.0-20210723032227-1f47c861a9ac to 0.3.0 (#317).
  • Bump google.golang.org/api from 0.110.0 to 0.111.0 (#319).

0.3.3

  • Allow AAD SPN authentication on Databricks Account level (#311).
  • Port auth tests from the JS SDK (#313).
  • Skip loading ~/.databrickscfg when not required (#314).

Dependency updates:

  • Bump golang.org/x/net from 0.6.0 to 0.7.0 (#312).

0.3.2

  • Always use the latest value for user agent key (#309).

0.3.1

  • Change APIError to use pointer receiver (#298).
  • Drop duplicate prefix in randomized email (#299).
  • Expand semver pattern to be compliant with https://semver.org (#302).
  • Fix apierr.APIError pointer receivers (#307).
  • Skip loading config if auth is already explicitly configured directly (#306).
  • Sync fixes for smallest node selection from Terraform (#301).
  • Updated from OpenAPI spec (#305).

Dependency updates:

  • Bump google.golang.org/api from 0.109.0 to 0.110.0 (#303).

0.3.0

  • Added support for GCP deployment APIs in Public Preview.
  • Added new node type selector (#287).
  • Added Azure MSI auth (#279).
  • Added validation of strings in user agent package (#291).
  • Added logging for error responses (#289).
  • Update implementation of smallest node selection to match terraform's (#273).
  • Added experimental OAuth support (#276, #266, #292).
  • Fixed google-credentials to take precedence over google-id (#283).
  • Test with Go 1.20 (#295).
  • Regenerate from OpenAPI (#293, #294, #296, #282, #269, #272).
  • Added replaceAll and lowerFirst template functions (#288, #277).

Dependency updates:

API changes:

  • Renamed clusters.CreateCluster to clusters.BaseClusterInfo.
  • Renamed jobs.Job to jobs.BaseJob.
  • Renamed jobs.Run to jobs.BaseRun.
  • Fixed commands.Results Schema type from [][]any to []map[string]any.

0.2.0

  • Added DATABRICKS_AUTH_TYPE environment variable (#248).
  • Added Policy Families API (#263).
  • Added experimental ErrCannotConfigureAuth and ErrNotAccountClient (#237, #238).
  • Added DBFS file handle that supports both reading and writing (#261).
  • Added io.WriterTo for DBFS file reader (#249).
  • Added pflag.Value interfaces for enums (#234).
  • Added support for adding custom HTTP visitors per request (#230).
  • Added support for raw body as byte slice if requested (#247).
  • Improved callbacks for polling the status of long-running operations (#258).
  • Improved rendering of HTTP links in godoc (#229).
  • Updated field types in the Jobs API from spec (#259).
  • Multiple OpenAPI consistency passes (#254, #241, #243, #255, #236).

API changes:

  • Renamed IsAccountsClient to IsAccountClient (#231).
  • w.ClusterPolicies.ListAll now takes clusterpolicies.List as an argument.
  • github.com/databricks/databricks-sdk-go/service/dbsql package is renamed to github.com/databricks/databricks-sdk-go/service/sql.
  • w.DataSources.ListDataSources is renamed to w.DataSources.List.
  • w.Queries.CreateQuery is renamed to w.Queries.CreateQuery.
  • w.Queries.DeleteQueryByQueryId is renamed to w.Queries.DeleteByQueryId.
  • w.Queries.GetQueryByQueryId is renamed to w.Queries.GetByQueryId.
  • w.Queries.UpdateQuery is renamed to w.Queries.Update.
  • w.Alerts.DeleteAlertByAlertId is renamed to w.Alerts.DeleteByAlertId.
  • w.Alerts.UpdateAlert is renamed to w.Alerts.Update.
  • w.Alerts.GetAlertByAlertId is renamed to w.Alerts.GetByAlertId.
  • w.Alerts.ListAlerts is renamed to w.Alerts.List.
  • w.Dashboards.CreateDashboard is renamed to w.Dashboards.Create.
  • w.Dashboards.DeleteDashboardByDashboardId is renamed to w.Dashboards.GetByDashboardId.
  • w.Dashboards.ListDashboardsAll is renamed to w.Dashboards.ListAll.
  • w.Dashboards.DeleteDashboardByDashboardId is renamed to w.Dashboards.DeleteByDashboardId.
  • w.Dashboards.RestoreDashboard is renamed to w.Dashboards.Restore.
  • deployment.CreateCustomerManagedKeyRequest now takes deployment.KeyUseCase enum.
  • w.GlobalInitScripts.CreateScript is renamed to w.GlobalInitScripts.Create.
  • w.GlobalInitScripts.DeleteScriptByScriptId is renamed to w.GlobalInitScripts.DeleteByScriptId.
  • w.GlobalInitScripts.UpdateScript is renamed to w.GlobalInitScripts.Update.
  • w.GlobalInitScripts.GetScriptByScriptId is renamed to w.GlobalInitScripts.GetByScriptId.
  • w.GlobalInitScripts.ListScriptsAll is renamed to w.GlobalInitScripts.ListAll.
  • jobs.ResetJob.NewSettings is now required field.
  • w.Pipelines.CreatePipeline is renamed to w.Pipelines.Create.
  • w.Pipelines.DeletePipelineByPipelineId is renamed to w.Pipelines.DeleteByPipelineId.
  • w.Pipelines.UpdatePipeline is renamed to w.Pipelines.Update.
  • w.Pipelines.GetPipelineByPipelineId is renamed to w.Pipelines.GetByPipelineId.
  • w.StorageCredentials.Update now also returns an entity.
  • w.ExternalLocations.Update now also returns an entity.
  • w.Metastores.Update now also returns an entity.
  • unitycatalog.CreateMetastoreAssignment.WorkspaceId type changed from int to int64.
  • unitycatalog.UnassignRequest.WorkspaceId type changed from int to int64.
  • w.Catalogs.Update now also returns an entity.
  • w.Schemas.Update now also returns an entity.
  • w.Providers.Update now also returns an entity.
  • w.Shares.Update now also returns an entity.
  • WarehousesAPI service moved to github.com/databricks/databricks-sdk-go/service/sql package.
  • w.Warehouses.CreateWarehouseAndWait renamed to w.Warehouses.CreateAndWait.
  • w.Warehouses.DeleteWarehouseByIdAndWait renamed to w.Warehouses.DeleteByIdAndWait.
  • w.Warehouses.EditWarehouse renamed to w.Warehouses.Edit.
  • w.Warehouses.GetWarehouseById renamed to w.Warehouses.GetById.
  • w.Warehouses.ListWarehousesAll renamed to w.Warehouses.ListAll.
  • Removed w.Dbfs.Overwrite in favor of w.Dbfs.Open("....", dbfs.FileModeOverwrite|dbfs.FileModeWrite).
  • Added third required argument to w.Dbfs.Open.

Code generation:

  • Added concept of main service for the package (#239).
  • Added entity primitives check (#242).
  • Added helpers for CRUD generation (#246).
  • Added more entity-generation utils (#257).
  • Dynamically generate .gitattributes (#244).
  • Fixed required order fields (#245).
  • Parse summary from descriptions (#228).
  • Print error on formatter failure (#235).
  • Update usage string in generator (#260).
  • Fixed order of host completion (#233).

Dependency updates:

  • Bump google.golang.org/api from 0.103.0 to 0.105.0 (#232, #252).

0.1.1

  • Improved usage instructions and added more documentation for services.

0.1.0

  • Initial release of the Databricks SDK for Go.