Skip to content

Commit d590e27

Browse files
Release databricks-sdk-java (#935)
Automated release of `databricks-sdk-java`: regenerated SDK plus the changelog, version bump, and release-ledger update. See CHANGELOG.md for the released version(s). Co-authored-by: databricks-ci-ghec-1[bot] <184311507+databricks-ci-ghec-1[bot]@users.noreply.github.com>
1 parent 1f7b035 commit d590e27

45 files changed

Lines changed: 1117 additions & 23 deletions

Some content is hidden

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

‎.codegen/_last_sha‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
c765e364f87ce050e4077db80b8ec800c9ec1ed9
1+
7216eeb8c5e517080d626f64b36209fea64788b3

‎.github/workflows/sync-label.yml‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# This repository is a read-only mirror; the only PRs that should
2+
# merge are the release sync PRs from the internal source of truth.
3+
# This check fails unless the PR carries the `sync` label, which only
4+
# maintainers can apply — making every merge a deliberate act.
5+
# Temporary guard until release automation takes over merging.
6+
name: Sync label
7+
8+
on:
9+
pull_request:
10+
types: [opened, reopened, synchronize, labeled, unlabeled]
11+
# The label gate runs at PR level — a PR can't enter the merge queue
12+
# until this check passes there. Merge-group events carry no label
13+
# context, so on them the job passes trivially; without this trigger
14+
# a required sync-label check would stall every queue entry.
15+
merge_group:
16+
types: [checks_requested]
17+
18+
jobs:
19+
sync-label:
20+
name: sync-label
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Merge queue — gate already applied at PR level
24+
if: ${{ github.event_name == 'merge_group' }}
25+
run: echo "merge group — sync label was enforced when the PR entered the queue."
26+
- name: Require the `sync` label
27+
if: ${{ github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'sync') }}
28+
run: |
29+
echo "::error::This PR does not carry the 'sync' label. This repository is a read-only mirror — only release sync PRs merge here. If this IS a release sync PR, a maintainer must apply the 'sync' label; community contributions are re-applied in the internal repository instead (see CONTRIBUTING.md)."
30+
exit 1
31+
- name: Label present
32+
if: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'sync') }}
33+
run: echo "sync label present — this is a release sync PR."

‎CHANGELOG.md‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
11
# Version changelog
22

3-
## Release v0.157.0 (2026-09-30)
3+
## Release v0.158.0 (2026-10-01)
4+
5+
### API Changes
6+
* Add `aiDecide()` method for `workspaceClient.aiFunctions()` service.
7+
* Add `listCommands()` method for `workspaceClient.sandbox()` service.
8+
* Add `environmentVariables` field for `com.databricks.sdk.service.jobs.BaseRun`.
9+
* Add `environmentVariables` field for `com.databricks.sdk.service.jobs.CreateJob`.
10+
* Add `environmentVariables` field for `com.databricks.sdk.service.jobs.JobSettings`.
11+
* Add `environmentVariables` field for `com.databricks.sdk.service.jobs.Run`.
12+
* Add `environmentVariablesKey` field for `com.databricks.sdk.service.jobs.RunTask`.
13+
* Add `environmentVariables` field for `com.databricks.sdk.service.jobs.SubmitRun`.
14+
* Add `environmentVariablesKey` field for `com.databricks.sdk.service.jobs.SubmitTask`.
15+
* Add `environmentVariablesKey` field for `com.databricks.sdk.service.jobs.Task`.
16+
* Add `jobId` and `pipelineId` fields for `com.databricks.sdk.service.ml.MaterializedFeature`.
17+
* Change `commandPath` field for `com.databricks.sdk.service.jobs.DeploymentSpec` to no longer be required.
18+
* [Breaking] Change `commandPath` field for `com.databricks.sdk.service.jobs.DeploymentSpec` to no longer be required.
19+
* Change `apiSecretRef` field for `com.databricks.sdk.service.ml.SchemaRegistryConfig` to no longer be required.
20+
* [Breaking] Change `apiSecretRef` field for `com.databricks.sdk.service.ml.SchemaRegistryConfig` to no longer be required.
21+
22+
## Release v0.157.0 (2026-09-25)
423

524
### API Changes
625
* Add `com.databricks.sdk.service.mason` package.

‎databricks-sdk-java/lockfile.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"artifactId": "databricks-sdk-java",
33
"groupId": "com.databricks",
4-
"version": "0.157.0",
4+
"version": "0.158.0",
55
"lockFileVersion": 1,
66
"dependencies": [
77
{

‎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.157.0</version>
8+
<version>0.158.0</version>
99
</parent>
1010
<artifactId>databricks-sdk-java</artifactId>
1111
<name>Databricks SDK for Java</name>

‎databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public String getValue() {
3636
// TODO: check if reading from
3737
// /META-INF/maven/com.databricks/databrics-sdk-java/pom.properties
3838
// or getClass().getPackage().getImplementationVersion() is enough.
39-
private static final String version = "0.157.0";
39+
private static final String version = "0.158.0";
4040

4141
public static void withProduct(String product, String productVersion) {
4242
UserAgent.product = product;
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
2+
3+
package com.databricks.sdk.service.aifunctions;
4+
5+
import com.databricks.sdk.support.Generated;
6+
import com.databricks.sdk.support.ToStringer;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
import java.util.Objects;
9+
10+
/** ai_decide */
11+
@Generated
12+
public class AiDecideOptions {
13+
/** The function API version to invoke. Defaults to "1.0". Supported versions: ["1.0"]. */
14+
@JsonProperty("version")
15+
private String version;
16+
17+
public AiDecideOptions setVersion(String version) {
18+
this.version = version;
19+
return this;
20+
}
21+
22+
public String getVersion() {
23+
return version;
24+
}
25+
26+
@Override
27+
public boolean equals(Object o) {
28+
if (this == o) return true;
29+
if (o == null || getClass() != o.getClass()) return false;
30+
AiDecideOptions that = (AiDecideOptions) o;
31+
return Objects.equals(version, that.version);
32+
}
33+
34+
@Override
35+
public int hashCode() {
36+
return Objects.hash(version);
37+
}
38+
39+
@Override
40+
public String toString() {
41+
return new ToStringer(AiDecideOptions.class).add("version", version).toString();
42+
}
43+
}
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
2+
3+
package com.databricks.sdk.service.aifunctions;
4+
5+
import com.databricks.sdk.support.Generated;
6+
import com.databricks.sdk.support.ToStringer;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
import com.fasterxml.jackson.databind.JsonNode;
9+
import java.util.Objects;
10+
11+
@Generated
12+
public class AiDecideRequest {
13+
/** Function options. Omitted fields fall back to their documented defaults. */
14+
@JsonProperty("options")
15+
private AiDecideOptions options;
16+
17+
/**
18+
* A JSON object mapping question IDs to their definitions. Choose a nonempty string for each ID;
19+
* its answer is returned with the same ID in `response.answers`.
20+
*
21+
* <p>Each definition is an object with the required fields `type` and `instructions`. The
22+
* `criteria` field is optional for the type `noul` but is required for the types `choice` and
23+
* `score`.
24+
*
25+
* <p>The `instructions` field describes the judgment to make and can be a string, object, or
26+
* array. Use an object or array to include supporting context alongside the instructions.
27+
*
28+
* <p>The `type` can be one of:
29+
*
30+
* <p>- `choice`: Selects one option from a defined set. Requires `criteria` to be an object
31+
* mapping 1 to 255 nonempty option names to descriptions. The criteria description can be a
32+
* string, object, array, or null when the name needs no additional detail. For example:
33+
*
34+
* <p>```json { "team": { "type": "choice", "instructions": "Which team should handle this
35+
* ticket?", "criteria": { "billing": "Payments, charges, and refunds", "technical_support": null
36+
* } } } ```
37+
*
38+
* <p>- `noul`: Estimates the probability that the answer to a true-or-false question is true.
39+
* `criteria` can take the fields `true` or `false`, or both, with descriptions that are strings,
40+
* objects, or arrays. Omit `criteria` to use the question alone. For example, both of the
41+
* following are valid:
42+
*
43+
* <p>```json { "escalate": { "type": "noul", "instructions": "Does this ticket need escalation?",
44+
* "criteria": { "true": "Suspected fraud or an exception to standard policy", "false": "A routine
45+
* issue frontline support can resolve" } } } ```
46+
*
47+
* <p>or
48+
*
49+
* <p>```json { "escalate": { "type": "noul", "instructions": "Does this ticket need escalation?"
50+
* } } ```
51+
*
52+
* <p>- `score`: Rates the state on an ordered scale. Requires `criteria` to be an array of 2 to
53+
* 10 level descriptions, ordered from low to high. Descriptions can be strings, objects, or
54+
* arrays. Array positions define levels starting at 0. For example:
55+
*
56+
* <p>```json { "urgency": { "type": "score", "instructions": "How urgent is this ticket?",
57+
* "criteria": [ "Routine: can wait a few days", "Time-sensitive: needs attention today",
58+
* "Critical: needs immediate action" ] } } ```
59+
*/
60+
@JsonProperty("questions")
61+
private JsonNode questions;
62+
63+
/**
64+
* A string, JSON object, or array containing the content, related context, and examples needed to
65+
* answer the provided questions. For example, provide a support message, a conversation, or
66+
* records describing the current state of an application. All questions receive this same state.
67+
*/
68+
@JsonProperty("state")
69+
private JsonNode state;
70+
71+
public AiDecideRequest setOptions(AiDecideOptions options) {
72+
this.options = options;
73+
return this;
74+
}
75+
76+
public AiDecideOptions getOptions() {
77+
return options;
78+
}
79+
80+
public AiDecideRequest setQuestions(JsonNode questions) {
81+
this.questions = questions;
82+
return this;
83+
}
84+
85+
public JsonNode getQuestions() {
86+
return questions;
87+
}
88+
89+
public AiDecideRequest setState(JsonNode state) {
90+
this.state = state;
91+
return this;
92+
}
93+
94+
public JsonNode getState() {
95+
return state;
96+
}
97+
98+
@Override
99+
public boolean equals(Object o) {
100+
if (this == o) return true;
101+
if (o == null || getClass() != o.getClass()) return false;
102+
AiDecideRequest that = (AiDecideRequest) o;
103+
return Objects.equals(options, that.options)
104+
&& Objects.equals(questions, that.questions)
105+
&& Objects.equals(state, that.state);
106+
}
107+
108+
@Override
109+
public int hashCode() {
110+
return Objects.hash(options, questions, state);
111+
}
112+
113+
@Override
114+
public String toString() {
115+
return new ToStringer(AiDecideRequest.class)
116+
.add("options", options)
117+
.add("questions", questions)
118+
.add("state", state)
119+
.toString();
120+
}
121+
}
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
2+
3+
package com.databricks.sdk.service.aifunctions;
4+
5+
import com.databricks.sdk.support.Generated;
6+
import com.databricks.sdk.support.ToStringer;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
import com.fasterxml.jackson.databind.JsonNode;
9+
import java.util.Objects;
10+
11+
@Generated
12+
public class AiDecideResponse {
13+
/** Metadata identifying the function API version used for this request. */
14+
@JsonProperty("metadata")
15+
private AiDecideResponseMetadata metadata;
16+
17+
/**
18+
* A JSON object containing an `answers` map with one answer for each question, keyed by the same
19+
* IDs as `questions`.
20+
*
21+
* <p>Each answer has a `type` matching its question and the following fields:
22+
*
23+
* <p>- `choice`: choice is the highest-probability option from `criteria`. `probabilities` maps
24+
* every option name to its probability. `confidence` is a number from 0 to 1 indicating how well
25+
* the state supports the assessment. The `probabilities` values sum to 1. For example:
26+
*
27+
* <p>```json { "answers": { "team": { "type": "choice", "choice": "billing", "probabilities": {
28+
* "billing": 0.85, "technical_support": 0.15 }, "confidence": 0.9 } } } ```
29+
*
30+
* <p>- `noul`: `probability` is a number from 0 to 1 estimating the probability that the answer
31+
* is true. For example:
32+
*
33+
* <p>```json { "answers": { "escalate": { "type": "noul", "probability": 0.8 } } } ```
34+
*
35+
* <p>- `score`: score is the probability-weighted mean of the zero-based level indices. It can
36+
* fall between levels, from 0 to the number of levels minus 1. `probabilities` maps each level
37+
* index to its probability, and `legend` maps each index to its original description. Both maps
38+
* use string keys such as "0", "1", and "2". `confidence` is a number from 0 to 1 indicating how
39+
* well the state supports the assessment. The `probabilities` values sum to 1. For example:
40+
*
41+
* <p>```json { "answers": { "urgency": { "type": "score", "score": 1.6, "probabilities": { "0":
42+
* 0.1, "1": 0.2, "2": 0.7 }, "legend": { "0": "Routine: can wait a few days", "1":
43+
* "Time-sensitive: needs attention today", "2": "Critical: needs immediate action" },
44+
* "confidence": 0.85 } } } ```
45+
*/
46+
@JsonProperty("response")
47+
private JsonNode response;
48+
49+
public AiDecideResponse setMetadata(AiDecideResponseMetadata metadata) {
50+
this.metadata = metadata;
51+
return this;
52+
}
53+
54+
public AiDecideResponseMetadata getMetadata() {
55+
return metadata;
56+
}
57+
58+
public AiDecideResponse setResponse(JsonNode response) {
59+
this.response = response;
60+
return this;
61+
}
62+
63+
public JsonNode getResponse() {
64+
return response;
65+
}
66+
67+
@Override
68+
public boolean equals(Object o) {
69+
if (this == o) return true;
70+
if (o == null || getClass() != o.getClass()) return false;
71+
AiDecideResponse that = (AiDecideResponse) o;
72+
return Objects.equals(metadata, that.metadata) && Objects.equals(response, that.response);
73+
}
74+
75+
@Override
76+
public int hashCode() {
77+
return Objects.hash(metadata, response);
78+
}
79+
80+
@Override
81+
public String toString() {
82+
return new ToStringer(AiDecideResponse.class)
83+
.add("metadata", metadata)
84+
.add("response", response)
85+
.toString();
86+
}
87+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
2+
3+
package com.databricks.sdk.service.aifunctions;
4+
5+
import com.databricks.sdk.support.Generated;
6+
import com.databricks.sdk.support.ToStringer;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
import java.util.Objects;
9+
10+
@Generated
11+
public class AiDecideResponseMetadata {
12+
/** The function API version used to evaluate the request. */
13+
@JsonProperty("version")
14+
private String version;
15+
16+
public AiDecideResponseMetadata setVersion(String version) {
17+
this.version = version;
18+
return this;
19+
}
20+
21+
public String getVersion() {
22+
return version;
23+
}
24+
25+
@Override
26+
public boolean equals(Object o) {
27+
if (this == o) return true;
28+
if (o == null || getClass() != o.getClass()) return false;
29+
AiDecideResponseMetadata that = (AiDecideResponseMetadata) o;
30+
return Objects.equals(version, that.version);
31+
}
32+
33+
@Override
34+
public int hashCode() {
35+
return Objects.hash(version);
36+
}
37+
38+
@Override
39+
public String toString() {
40+
return new ToStringer(AiDecideResponseMetadata.class).add("version", version).toString();
41+
}
42+
}

0 commit comments

Comments
 (0)