Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codegen/_last_sha
Original file line number Diff line number Diff line change
@@ -1 +1 @@
281d8811ec0e9f9b25f10c13651e2290f150a132
e0b8229e948c8063e05433bce268ff448ad20199
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Version changelog

## Release v0.171.0 (2026-10-26)

### API Changes
* Add `getMemoryStorePermission()`, `getSessionStorePermission()`, `grantMemoryStorePermission()`, `grantSessionStorePermission()`, `listMemoryStorePermissions()`, `listSessionStorePermissions()`, `revokeMemoryStorePermission()` and `revokeSessionStorePermission()` methods for `workspaceClient.agentKit()` service.
* Add `createMaterializationSet()`, `deleteMaterializationSet()`, `getMaterializationSet()` and `updateMaterializationSet()` methods for `workspaceClient.featureEngineering()` service.
* Add `notificationSettings` field for `com.databricks.sdk.service.dataquality.AnomalyDetectionConfig`.
* Add `destinationIds` and `destinationUserIds` fields for `com.databricks.sdk.service.dataquality.NotificationDestination`.
* Add `onUnhealthyTable` field for `com.databricks.sdk.service.dataquality.NotificationSettings`.
* Add `fileOutput` field for `com.databricks.sdk.service.jobs.SqlOutput`.
* Add `materializationSetId` field for `com.databricks.sdk.service.ml.MaterializedFeature`.
* Add `deleteRows` field for `com.databricks.sdk.service.ml.PurgeFeatureEntitiesRequest`.
* Add `fullRefreshSelectionByPath` and `refreshSelectionByPath` fields for `com.databricks.sdk.service.pipelines.StartUpdate`.
* Add `fullRefreshSelectionByPath` and `refreshSelectionByPath` fields for `com.databricks.sdk.service.pipelines.UpdateInfo`.
* Add `metadata` field for `com.databricks.sdk.service.sandbox.Sandbox`.

## Release v0.170.0 (2026-10-22)

### API Changes
Expand Down
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,7 @@ fix-lockfile:
@# Replace JFrog proxy URLs with public Maven Central equivalents in lockfiles.
@# Prevents proxy URLs from being accidentally committed.
find . -type f -name 'lockfile.json' \
-exec sed -i 's|databricks\.jfrog\.io/artifactory/db-maven|repo.maven.apache.org/maven2|g' {} +
-exec sed -i \
-e 's|databricks\.jfrog\.io/artifactory/db-maven|repo.maven.apache.org/maven2|g' \
-e 's@maven-proxy\.\(cloud\|dev\)\.databricks\.com@repo.maven.apache.org/maven2@g' {} +

418 changes: 288 additions & 130 deletions databricks-sdk-java/lockfile.json

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions databricks-sdk-java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.databricks</groupId>
<artifactId>databricks-sdk-parent</artifactId>
<version>0.170.0</version>
<version>0.171.0</version>
</parent>
<artifactId>databricks-sdk-java</artifactId>
<name>Databricks SDK for Java</name>
Expand Down Expand Up @@ -97,7 +97,7 @@
<dependency>
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-oauth2-http</artifactId>
<version>1.20.0</version>
<version>1.54.0</version>
</dependency>
<!-- Jackson JSR310 module needed to serialize/deserialize java.time classes in TokenCache -->
<dependency>
Expand All @@ -121,13 +121,13 @@
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value</artifactId>
<version>1.10.4</version>
<version>1.11.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value-annotations</artifactId>
<version>1.10.4</version>
<version>1.11.1</version>
<scope>provided</scope>
</dependency>
<!-- Google Protocol Buffers -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public String getValue() {
// TODO: check if reading from
// /META-INF/maven/com.databricks/databrics-sdk-java/pom.properties
// or getClass().getPackage().getImplementationVersion() is enough.
private static final String version = "0.170.0";
private static final String version = "0.171.0";

public static void withProduct(String product, String productVersion) {
UserAgent.product = product;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,18 @@ public ManagedMemoryStore getMemoryStore(GetManagedMemoryStoreRequest request) {
return impl.getMemoryStore(request);
}

public MemoryStorePermission getMemoryStorePermission(String name) {
return getMemoryStorePermission(new GetMemoryStorePermissionRequest().setName(name));
}

/**
* Retrieves the current caller's effective memory store permission. Returns
* PERMISSION_LEVEL_UNSPECIFIED when the caller has no access.
*/
public MemoryStorePermission getMemoryStorePermission(GetMemoryStorePermissionRequest request) {
return impl.getMemoryStorePermission(request);
}

public Session getSession(String name) {
return getSession(new GetSessionRequest().setName(name));
}
Expand All @@ -166,6 +178,37 @@ public SessionStore getSessionStore(GetSessionStoreRequest request) {
return impl.getSessionStore(request);
}

public SessionStorePermission getSessionStorePermission(String name) {
return getSessionStorePermission(new GetSessionStorePermissionRequest().setName(name));
}

/**
* Retrieves the current caller's effective session store permission. Returns
* PERMISSION_LEVEL_UNSPECIFIED when the caller has no access.
*/
public SessionStorePermission getSessionStorePermission(
GetSessionStorePermissionRequest request) {
return impl.getSessionStorePermission(request);
}

/**
* Grants a READ or WRITE permission on a memory store to a principal. Only the owner or a
* workspace admin may grant permissions.
*/
public GrantMemoryStorePermissionResponse grantMemoryStorePermission(
GrantMemoryStorePermissionRequest request) {
return impl.grantMemoryStorePermission(request);
}

/**
* Grants a READ or WRITE permission on a session store to a principal. Only the owner or a
* workspace admin may grant permissions.
*/
public GrantSessionStorePermissionResponse grantSessionStorePermission(
GrantSessionStorePermissionRequest request) {
return impl.grantSessionStorePermission(request);
}

public Iterable<ManagedMemoryEntry> listMemories(String parent, String actorId) {
return listMemories(
new ListManagedMemoryEntriesRequest().setParent(parent).setActorId(actorId));
Expand All @@ -190,6 +233,28 @@ public Iterable<ManagedMemoryEntry> listMemories(ListManagedMemoryEntriesRequest
});
}

public Iterable<MemoryStorePermission> listMemoryStorePermissions(String parent) {
return listMemoryStorePermissions(new ListMemoryStorePermissionsRequest().setParent(parent));
}

/**
* Lists explicit memory store grants. Only the owner or a workspace admin may list permissions.
*/
public Iterable<MemoryStorePermission> listMemoryStorePermissions(
ListMemoryStorePermissionsRequest request) {
return Paginator.newTokenPagination(
request,
impl::listMemoryStorePermissions,
ListMemoryStorePermissionsResponse::getMemoryStorePermissions,
response -> {
String token = response.getNextPageToken();
if (token == null || token.isEmpty()) {
return null;
}
return request.setPageToken(token);
});
}

/** Lists memory stores in the caller's workspace. */
public Iterable<ManagedMemoryStore> listMemoryStores(ListManagedMemoryStoresRequest request) {
return Paginator.newTokenPagination(
Expand Down Expand Up @@ -224,6 +289,28 @@ public Iterable<SessionItem> listSessionItems(ListSessionItemsRequest request) {
});
}

public Iterable<SessionStorePermission> listSessionStorePermissions(String parent) {
return listSessionStorePermissions(new ListSessionStorePermissionsRequest().setParent(parent));
}

/**
* Lists explicit session store grants. Only the owner or a workspace admin may list permissions.
*/
public Iterable<SessionStorePermission> listSessionStorePermissions(
ListSessionStorePermissionsRequest request) {
return Paginator.newTokenPagination(
request,
impl::listSessionStorePermissions,
ListSessionStorePermissionsResponse::getSessionStorePermissions,
response -> {
String token = response.getNextPageToken();
if (token == null || token.isEmpty()) {
return null;
}
return request.setPageToken(token);
});
}

/** Lists session stores. */
public Iterable<SessionStore> listSessionStores(ListSessionStoresRequest request) {
return Paginator.newTokenPagination(
Expand Down Expand Up @@ -263,6 +350,24 @@ public PopSessionItemResponse popSessionItem(PopSessionItemRequest request) {
return impl.popSessionItem(request);
}

/**
* Removes a principal's explicit READ and WRITE grants on a memory store. Only the owner or a
* workspace admin may revoke permissions. Ownership and inherited access are unaffected.
*/
public RevokeMemoryStorePermissionResponse revokeMemoryStorePermission(
RevokeMemoryStorePermissionRequest request) {
return impl.revokeMemoryStorePermission(request);
}

/**
* Removes a principal's explicit READ and WRITE grants on a session store. Only the owner or a
* workspace admin may revoke permissions. Ownership and inherited access are unaffected.
*/
public RevokeSessionStorePermissionResponse revokeSessionStorePermission(
RevokeSessionStorePermissionRequest request) {
return impl.revokeSessionStorePermission(request);
}

/**
* Searches memory entries by text query for one actor. Returns matching entries and scores ranked
* by relevance; `view` controls whether each returned entry includes content.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,23 @@ public ManagedMemoryStore getMemoryStore(GetManagedMemoryStoreRequest request) {
}
}

@Override
public MemoryStorePermission getMemoryStorePermission(GetMemoryStorePermissionRequest request) {
String path = String.format("/api/2.0/agents/%s/permissions/self", request.getName());
try {
Request req = new Request("GET", path);

ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
}
return apiClient.execute(req, MemoryStorePermission.class);
} catch (IOException e) {
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}

@Override
public Session getSession(GetSessionRequest request) {
String path = String.format("/api/2.0/agents/%s", request.getName());
Expand Down Expand Up @@ -299,6 +316,62 @@ public SessionStore getSessionStore(GetSessionStoreRequest request) {
}
}

@Override
public SessionStorePermission getSessionStorePermission(
GetSessionStorePermissionRequest request) {
String path = String.format("/api/2.0/agents/%s/permissions/self", request.getName());
try {
Request req = new Request("GET", path);

ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
}
return apiClient.execute(req, SessionStorePermission.class);
} catch (IOException e) {
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}

@Override
public GrantMemoryStorePermissionResponse grantMemoryStorePermission(
GrantMemoryStorePermissionRequest request) {
String path = String.format("/api/2.0/agents/%s/permissions:grant", request.getName());
try {
Request req = new Request("POST", path, apiClient.serialize(request));

ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
req.withHeader("Content-Type", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
}
return apiClient.execute(req, GrantMemoryStorePermissionResponse.class);
} catch (IOException e) {
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}

@Override
public GrantSessionStorePermissionResponse grantSessionStorePermission(
GrantSessionStorePermissionRequest request) {
String path = String.format("/api/2.0/agents/%s/permissions:grant", request.getName());
try {
Request req = new Request("POST", path, apiClient.serialize(request));

ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
req.withHeader("Content-Type", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
}
return apiClient.execute(req, GrantSessionStorePermissionResponse.class);
} catch (IOException e) {
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}

@Override
public ListManagedMemoryEntriesResponse listMemories(ListManagedMemoryEntriesRequest request) {
String path = String.format("/api/2.0/agents/%s/entries", request.getParent());
Expand All @@ -316,6 +389,24 @@ public ListManagedMemoryEntriesResponse listMemories(ListManagedMemoryEntriesReq
}
}

@Override
public ListMemoryStorePermissionsResponse listMemoryStorePermissions(
ListMemoryStorePermissionsRequest request) {
String path = String.format("/api/2.0/agents/%s/permissions", request.getParent());
try {
Request req = new Request("GET", path);

ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
}
return apiClient.execute(req, ListMemoryStorePermissionsResponse.class);
} catch (IOException e) {
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}

@Override
public ListManagedMemoryStoresResponse listMemoryStores(ListManagedMemoryStoresRequest request) {
String path = "/api/2.0/agents/memory-stores";
Expand Down Expand Up @@ -350,6 +441,24 @@ public ListSessionItemsResponse listSessionItems(ListSessionItemsRequest request
}
}

@Override
public ListSessionStorePermissionsResponse listSessionStorePermissions(
ListSessionStorePermissionsRequest request) {
String path = String.format("/api/2.0/agents/%s/permissions", request.getParent());
try {
Request req = new Request("GET", path);

ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
}
return apiClient.execute(req, ListSessionStorePermissionsResponse.class);
} catch (IOException e) {
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}

@Override
public ListSessionStoresResponse listSessionStores(ListSessionStoresRequest request) {
String path = "/api/2.0/agents/session-stores";
Expand Down Expand Up @@ -402,6 +511,44 @@ public PopSessionItemResponse popSessionItem(PopSessionItemRequest request) {
}
}

@Override
public RevokeMemoryStorePermissionResponse revokeMemoryStorePermission(
RevokeMemoryStorePermissionRequest request) {
String path = String.format("/api/2.0/agents/%s/permissions:revoke", request.getName());
try {
Request req = new Request("POST", path, apiClient.serialize(request));

ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
req.withHeader("Content-Type", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
}
return apiClient.execute(req, RevokeMemoryStorePermissionResponse.class);
} catch (IOException e) {
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}

@Override
public RevokeSessionStorePermissionResponse revokeSessionStorePermission(
RevokeSessionStorePermissionRequest request) {
String path = String.format("/api/2.0/agents/%s/permissions:revoke", request.getName());
try {
Request req = new Request("POST", path, apiClient.serialize(request));

ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
req.withHeader("Content-Type", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId());
}
return apiClient.execute(req, RevokeSessionStorePermissionResponse.class);
} catch (IOException e) {
throw new DatabricksException("IO error: " + e.getMessage(), e);
}
}

@Override
public SearchManagedMemoryEntriesResponse searchMemories(
SearchManagedMemoryEntriesRequest request) {
Expand Down
Loading
Loading