Skip to content

Commit dd13d45

Browse files
Merge branch 'main' into scopes-cli-auth-error
2 parents ee789e5 + a6044f4 commit dd13d45

143 files changed

Lines changed: 5676 additions & 542 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.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
description: >
3+
Write or improve a GitHub pull request description. Use when the user asks
4+
to "write a PR description", "improve the PR description", "update the PR
5+
body", or provides a PR URL and asks for a better description.
6+
Keywords: PR description, pull request summary, PR body, PR writeup.
7+
allowed-tools: [Read, Glob, Grep, Bash, ToolSearch]
8+
---
9+
10+
# Write PR Description
11+
12+
Generate a structured PR description that explains **why** the change exists,
13+
not just what files were touched.
14+
15+
## When to use
16+
17+
- The user provides a PR URL and asks to write or improve its description.
18+
- The user asks to draft a PR description for the current branch.
19+
- An agent needs to open a PR and wants a high-quality description.
20+
21+
## Workflow
22+
23+
### Phase 1: Gather context
24+
25+
Collect all the information needed to understand the change:
26+
27+
1. **Read the PR metadata** — title, current description, author, branch name.
28+
2. **Read the full diff** — understand every file changed, every function added
29+
or removed, every signature change. Do not skip files.
30+
3. **Read surrounding code when needed** — if the diff modifies an interface or
31+
a struct, read the full file to understand how the change fits into the
32+
existing architecture.
33+
4. **Check for linked issues or docs** — the PR or commit messages may
34+
reference issues, design docs, or RFCs that explain motivation.
35+
36+
### Phase 2: Analyze the change
37+
38+
Before writing, answer these questions internally:
39+
40+
- **What was the status quo before this PR?** What limitation, bug, or missing
41+
capability existed?
42+
- **Why is this change needed now?** What concrete problem does it solve? Who
43+
benefits?
44+
- **What are the key design decisions?** Why was this approach chosen over
45+
alternatives?
46+
- **What is the new API surface?** Any new public types, functions, or
47+
configuration options?
48+
- **What are the architectural changes?** How does the internal structure
49+
change? What moves where? What gets refactored?
50+
- **Are there behavioral changes?** If not, say so explicitly — this reassures
51+
reviewers.
52+
53+
### Phase 3: Write the description
54+
55+
Use the structure defined in `.github/PULL_REQUEST_TEMPLATE.md` as the
56+
template. The tone should be direct and technical. Write for a reviewer who is
57+
familiar with the codebase but has not seen this change before.
58+
59+
**Key principles:**
60+
61+
- **Lead with why, not what.** The diff already shows the what. The description
62+
should explain the reasoning that is not visible in the code.
63+
- **Be specific.** Instead of "improves extensibility", say "allows internal
64+
tools to compose their own auth chain from individual credential strategies".
65+
- **Name things.** Reference actual types, functions, files, and config fields.
66+
Use backticks for code references.
67+
- **State non-changes explicitly.** If the PR is a refactor with no behavioral
68+
change, say "No behavioral changes. Existing users are unaffected." This is
69+
valuable information for reviewers.
70+
- **Keep the summary to one or two sentences.** It should be scannable.
71+
- **Use the motivation section to tell a story.** What was the problem? Why
72+
couldn't it be solved before? What does this PR unlock?
73+
74+
### Phase 4: Update the PR
75+
76+
Use the GitHub MCP tools or `gh` CLI to update the PR body with the new
77+
description. Confirm with the user before pushing if unsure.

.codegen/_openapi_sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d51b6c87771fef9fccd731995456dc9b0448d03a
1+
86481d2fa23e3fb65128ea34b045fe585f7643f1

.gitattributes

Lines changed: 46 additions & 4 deletions
Large diffs are not rendered by default.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 66 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,74 @@
1-
## What changes are proposed in this pull request?
1+
<!--
2+
This template provides a recommended structure for PR descriptions.
3+
Adapt it freely — the goal is clarity, not rigid compliance.
4+
The three-section format (Summary / Why / What Changed) helps reviewers
5+
understand the change quickly and makes the PR easier to revisit later.
6+
-->
27

3-
Provide the readers and reviewers with the information they need to understand
4-
this PR in a comprehensive manner.
8+
## Summary
59

6-
Specifically, try to answer the two following questions:
10+
<!--
11+
One or two sentences describing what this PR changes and what it enables.
12+
Focus on the effect, not the implementation details.
713
8-
- **WHAT** changes are being made in the PR? This should be a summary of the
9-
major changes to allow the reader to quickly understand the PR without having
10-
to look at the code.
11-
- **WHY** are these changes needed? This should provide the context that the
12-
reader might be missing. For example, were there any decisions behind the
13-
change that are not reflected in the code itself?
14+
Example:
15+
Extracts the credentials chain iteration logic into a reusable
16+
`NewCredentialsChain` constructor so that internal tools can compose
17+
their own authentication chains from individual credential strategies.
18+
-->
1419

15-
The “why part” is the most important of the two as it usually cannot be
16-
inferred from the code itself. A well-written PR description will help future
17-
developers (including your future self) to know how to interact and update your
18-
code.
20+
## Why
21+
22+
<!--
23+
Explain the problem that motivated this change. A reviewer who reads only
24+
this section should understand why the PR exists and what problem it solves.
25+
26+
- Start with the status quo: how things work today and what limitation exists.
27+
- Explain who is affected and what they cannot do (or must work around).
28+
- If alternatives were considered and rejected, briefly mention why.
29+
- End with how this PR addresses the gap.
30+
31+
The "why" is the most important part of a PR description — it usually
32+
cannot be inferred from the code itself.
33+
-->
34+
35+
## What changed
36+
37+
### Interface changes
38+
39+
<!--
40+
New or modified public API surface: types, functions, configuration options.
41+
Use backticks for code references. Write "None." if there are no changes.
42+
43+
Example:
44+
- **`NewCredentialsChain(...CredentialsStrategy) CredentialsStrategy`** —
45+
Takes an ordered list of credential strategies and returns a strategy
46+
that tries them in sequence.
47+
-->
48+
49+
### Behavioral changes
50+
51+
<!--
52+
User-visible behavior changes: different defaults, changed error messages,
53+
new side effects, performance characteristics. Write "None." if this is a
54+
pure refactor — this explicitly reassures reviewers.
55+
-->
56+
57+
### Internal changes
58+
59+
<!--
60+
Refactoring, file moves, implementation details, test infrastructure.
61+
Things that don't affect the public API or user-visible behavior.
62+
-->
1963

2064
## How is this tested?
2165

22-
Describe any tests you have done; especially if test tests are not part of
23-
the unit tests (e.g. local tests).
66+
<!--
67+
Describe any tests you have done, especially tests that are not part of
68+
the unit tests (e.g. local tests, integration tests, manual verification).
2469
25-
**ALWAYS ANSWER THIS QUESTION:** Answer with "N/A" if tests are not applicable
26-
to your PR (e.g. if the PR only modifies comments). Do not be afraid of
27-
answering "Not tested" if the PR has not been tested. Being clear about what
28-
has been done and not done provides important context to the reviewers.
70+
ALWAYS ANSWER THIS QUESTION: answer with "N/A" if tests are not applicable
71+
to your PR (e.g. if the PR only modifies comments). Do not be afraid of
72+
answering "Not tested" if the PR has not been tested. Being clear about what
73+
has been done and not done provides important context to the reviewers.
74+
-->

.github/workflows/tagging.yml

100644100755
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ on:
66
workflow_dispatch:
77
# No inputs are required for the manual dispatch.
88

9-
# Runs at 8:00 UTC on Tuesday, Wednesday, and Thursday. To enable automated
9+
# Runs at 8:00 UTC on Monday, Tuesday, Wednesday, and Thursday. To enable automated
1010
# tagging for a repository, simply add it to the if block of the tag job.
1111
schedule:
12-
- cron: '0 8 * * TUE,WED,THU'
12+
- cron: '0 8 * * MON,TUE,WED,THU'
1313

1414
# Ensure that only a single instance of the workflow is running at a time.
1515
concurrency:

.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-02-12 08:11:31+0000"
2+
"timestamp": "2026-03-03 08:19:33+0000"
33
}

CHANGELOG.md

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

3+
## Release v0.96.0 (2026-03-03)
4+
5+
### Internal Changes
6+
* Implement dynamic auth token stale period based on initial token lifetime. Increased up to 20 mins for standard OAuth with proportionally shorter periods for short-lived tokens. Manually setting the stale period using the CachedTokeSource builder reverts the behaviour to the legacy fixed stale duration.
7+
8+
9+
## Release v0.95.0 (2026-03-02)
10+
11+
### Bug Fixes
12+
* Pass `--profile` to CLI token source when profile is set, and add `--host` fallback for older CLIs that don't support `--profile` ([#682](https://github.com/databricks/databricks-sdk-java/pull/682)).
13+
14+
### API Changes
15+
* Add `dataframeSchema`, `filterCondition` and `transformationSql` fields for `com.databricks.sdk.service.ml.DeltaTableSource`.
16+
* Add `environmentVersion` field for `com.databricks.sdk.service.pipelines.PipelinesEnvironment`.
17+
* Add `resetCheckpointSelection` field for `com.databricks.sdk.service.pipelines.StartUpdate`.
18+
* [Breaking] Remove `oauth2AppClientId` and `oauth2AppIntegrationId` fields for `com.databricks.sdk.service.apps.Space`.
19+
* Add `createDatabase()`, `deleteDatabase()`, `getDatabase()`, `listDatabases()` and `updateDatabase()` methods for `workspaceClient.postgres()` service.
20+
* Add `postgres` field for `com.databricks.sdk.service.apps.AppResource`.
21+
* Add `enablePgNativeLogin` field for `com.databricks.sdk.service.postgres.ProjectSpec`.
22+
* Add `enablePgNativeLogin` field for `com.databricks.sdk.service.postgres.ProjectStatus`.
23+
* [Breaking] Remove `nodeTypeFlexibility` field for `com.databricks.sdk.service.compute.EditInstancePool`.
24+
25+
26+
## Release v0.94.0 (2026-02-26)
27+
28+
### API Changes
29+
* Add `effectivePublishingMode` field for `com.databricks.sdk.service.pipelines.GetPipelineResponse`.
30+
* Add `DBR_AUTOSCALE` enum value for `com.databricks.sdk.service.compute.EventDetailsCause`.
31+
* Change `outputCatalog` field for `com.databricks.sdk.service.cleanrooms.CreateCleanRoomOutputCatalogResponse` to be required.
32+
* [Breaking] Remove `internalAttributes` field for `com.databricks.sdk.service.sharing.Table`.
33+
* [Breaking] Remove `internalAttributes` field for `com.databricks.sdk.service.sharing.Volume`.
34+
35+
36+
## Release v0.93.0 (2026-02-25)
37+
38+
### API Changes
39+
* Add `parameters` field for `com.databricks.sdk.service.pipelines.StartUpdate`.
40+
* Add `parameters` field for `com.databricks.sdk.service.pipelines.UpdateInfo`.
41+
* [Breaking] Change `getDownloadFullQueryResult()` method for `workspaceClient.genie()` service with new required argument order.
42+
* [Breaking] Change `name` field for `com.databricks.sdk.service.apps.Space` to be required.
43+
* Change `name` field for `com.databricks.sdk.service.apps.Space` to be required.
44+
* [Breaking] Change `id` and `userId` fields for `com.databricks.sdk.service.dashboards.GenieConversation` to no longer be required.
45+
* [Breaking] Change `createdTimestamp` and `title` fields for `com.databricks.sdk.service.dashboards.GenieConversationSummary` to no longer be required.
46+
* [Breaking] Change `downloadIdSignature` field for `com.databricks.sdk.service.dashboards.GenieGetDownloadFullQueryResultRequest` to be required.
47+
* [Breaking] Change `id` field for `com.databricks.sdk.service.dashboards.GenieMessage` to no longer be required.
48+
49+
50+
## Release v0.92.0 (2026-02-24)
51+
52+
### Bug Fixes
53+
54+
* Fixed inconsistent Azure environment resolution between `getAzureEnvironment()` and `getDatabricksEnvironment()` methods ([#XXX](https://github.com/databricks/databricks-sdk-java/pull/XXX))
55+
56+
### Documentation
57+
58+
* Added "Retries" section to README.
59+
60+
### API Changes
61+
* Add `readOnlyHost` field for `com.databricks.sdk.service.postgres.EndpointHosts`.
62+
* Add `group` field for `com.databricks.sdk.service.postgres.EndpointSpec`.
63+
* Add `group` field for `com.databricks.sdk.service.postgres.EndpointStatus`.
64+
* Add `initialEndpointSpec` field for `com.databricks.sdk.service.postgres.Project`.
65+
* Add `DEGRADED` enum value for `com.databricks.sdk.service.postgres.EndpointStatusState`.
66+
* Add `patchEndpoint()` method for `workspaceClient.vectorSearchEndpoints()` service.
67+
* Add `app` field for `com.databricks.sdk.service.apps.AppResource`.
68+
* Add `securableKind` field for `com.databricks.sdk.service.apps.AppResourceUcSecurable`.
69+
* Add `minQps` field for `com.databricks.sdk.service.vectorsearch.CreateEndpoint`.
70+
* Add `scalingInfo` field for `com.databricks.sdk.service.vectorsearch.EndpointInfo`.
71+
* Add `MODIFY` enum value for `com.databricks.sdk.service.apps.AppResourceUcSecurableUcSecurablePermission`.
72+
* Add `COULD_NOT_GET_DASHBOARD_SCHEMA_EXCEPTION` enum value for `com.databricks.sdk.service.dashboards.MessageErrorType`.
73+
* Add `replaceWhereOverrides` field for `com.databricks.sdk.service.pipelines.StartUpdate`.
74+
* Add `HIVEMETASTORE_CONNECTIVITY_FAILURE` enum value for `com.databricks.sdk.service.compute.TerminationReasonCode`.
75+
* Add `HIVEMETASTORE_CONNECTIVITY_FAILURE` enum value for `com.databricks.sdk.service.sql.TerminationReasonCode`.
76+
77+
78+
## Release v0.91.0 (2026-02-19)
79+
80+
### API Changes
81+
* Add `attributes` and `membershipRoles` fields for `com.databricks.sdk.service.postgres.RoleRoleSpec`.
82+
* Add `membershipRoles` field for `com.databricks.sdk.service.postgres.RoleRoleStatus`.
83+
* Add `GENERAL_ACCESS` enum value for `com.databricks.sdk.service.provisioning.EndpointUseCase`.
84+
85+
86+
## Release v0.90.0 (2026-02-18)
87+
88+
### API Changes
89+
* Add `usingArguments` field for `com.databricks.sdk.service.catalog.ColumnMask`.
90+
* Add `effectiveEnableFileEvents` field for `com.databricks.sdk.service.catalog.CreateExternalLocation`.
91+
* Add `effectiveEnableFileEvents` field for `com.databricks.sdk.service.catalog.ExternalLocationInfo`.
92+
* Add `inputArguments` field for `com.databricks.sdk.service.catalog.TableRowFilter`.
93+
* Add `effectiveEnableFileEvents` field for `com.databricks.sdk.service.catalog.UpdateExternalLocation`.
94+
95+
96+
## Release v0.89.0 (2026-02-17)
97+
98+
### API Changes
99+
* Add `com.databricks.sdk.service.networking` package.
100+
* Add `accountClient.endpoints()` service.
101+
* Add `filterCondition` and `transformations` fields for `com.databricks.sdk.service.ml.DeltaTableSource`.
102+
* Add `budgetPolicyId` and `customTags` fields for `com.databricks.sdk.service.postgres.ProjectSpec`.
103+
* Add `budgetPolicyId` and `customTags` fields for `com.databricks.sdk.service.postgres.ProjectStatus`.
104+
* Add `createSpace()`, `deleteSpace()`, `getSpace()`, `getSpaceOperation()`, `listSpaces()` and `updateSpace()` methods for `workspaceClient.apps()` service.
105+
* Add `space` field for `com.databricks.sdk.service.apps.App`.
106+
* Add `space` field for `com.databricks.sdk.service.apps.ListAppsRequest`.
107+
* [Breaking] Remove `filterCondition` and `transformations` fields for `com.databricks.sdk.service.ml.DeltaTableSource`.
108+
109+
3110
## Release v0.88.0 (2026-02-12)
4111

5112
### API Changes

NEXT_CHANGELOG.md

100755100644
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# NEXT CHANGELOG
22

3-
## Release v0.89.0
3+
## Release v0.97.0
44

55
### New Features and Improvements
66

@@ -13,8 +13,3 @@
1313
### Internal Changes
1414

1515
### API Changes
16-
* Add `com.databricks.sdk.service.networking` package.
17-
* Add `accountClient.endpoints()` service.
18-
* Add `filterCondition` and `transformations` fields for `com.databricks.sdk.service.ml.DeltaTableSource`.
19-
* Add `budgetPolicyId` and `customTags` fields for `com.databricks.sdk.service.postgres.ProjectSpec`.
20-
* Add `budgetPolicyId` and `customTags` fields for `com.databricks.sdk.service.postgres.ProjectStatus`.

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ The Databricks SDK for Java includes functionality to accelerate development wit
1313
- [Code examples](#code-examples)
1414
- [Long-running operations](#long-running-operations)
1515
- [Paginated responses](#paginated-responses)
16+
- [Retries](#retries)
1617
- [Single-sign-on with OAuth](#single-sign-on-sso-with-oauth)
1718
- [Error handling](#error-handling)
1819
- [Logging](#logging)
@@ -340,6 +341,10 @@ summary.stream()
340341
.forEach(jobSummary -> LOGGER.info("Latest: {}", jobSummary));
341342
```
342343

344+
## Retries
345+
346+
The SDK automatically retries failed requests that are safe to retry. This includes HTTP 429 (Too Many Requests) and 503 (Service Unavailable) responses, as well as network-level errors such as connection resets and timeouts. The SDK uses a backoff strategy with jitter between retry attempts to avoid overwhelming the service. Retry behavior can be adjusted through the SDK configuration.
347+
343348
## Single-Sign-On (SSO) with OAuth
344349

345350
### Authorization Code flow with PKCE

databricks-sdk-java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.databricks</groupId>
77
<artifactId>databricks-sdk-parent</artifactId>
8-
<version>0.88.0</version>
8+
<version>0.96.0</version>
99
</parent>
1010
<artifactId>databricks-sdk-java</artifactId>
1111
<name>Databricks SDK for Java</name>

0 commit comments

Comments
 (0)