25.15.0
Features
Action Processors and RBAC
- Add Action Processors to handle various types of actions (#5744)
- Add RBAC validators for Action Processors (#5758)
- Add vfolder RBAC validation (#5759)
Artifact and Reservoir Registry
- Abstract artifact registry storage types in
storage-proxy(#5750) - Add VFS Storage for Artifact Registry (#5887)
- Add
scan,importtrigger API schemas on remote reservoir registry (#6027) - Implement
delegate_scanGQL mutation on remote reservoir registry (#6053) - Add the
enable_reservoirwebserver option to enable reservoir-related features in the webui (#6055)
Background Tasks
- Implement flexible execution modes (single/batch/parallel) for background task system (#6058)
Session and Agent Management
- Prevent the kernel runner (and the user container) being accidentally terminated by user's
pkill -f pythoncommand (#6085) - Implement node resolver(
get_node) inComputeSessionNodeenabling clients to query nodes via global ID (#6108) - Implement node resolver(
get_node) inAgentNodeenabling clients to query nodes via global ID (#6109) - Add
AgentStatsGQL type and resolver to get agents' total and used resource slots (#6116) - Implements periodic monitoring of container host ports to automatically release unused ports back to the port pool, preventing port exhaustion in long-running agents (#6125)
User Management
- Add keypairs field to User GQL type and return the created keypairs when creating users (#6040)
Health Check and Monitoring
- Implement simple health check endpoints returning component status, version, and name (#6124)
Improvements
- Introduce Service, Repository layer pattern when handling Agent Heartbeat (#5794)
- Introduce Service, Repository layer pattern in Agent Image remove event handler (#5898)
- Introduce service, repository layer when handling agent status change event (#5921)
- Remove duplicated exception handling in ResourcePresetCacheSource (#5976)
- Refactor GQL Agent resolver functions by applying repository pattern (#6079)
- Raise
AgentNotFounderror explicitly when agent not found by id instead of returning none (#6103)
Fixes
Storage and Configuration
- Rename
object_storage_namespacetable, and GQL schema tostorage_namespace(#6001) - Fix
storage-proxyunified config not pretty printed at bootstrap (#6008) - Fix silent config validation failure of
storage-proxy(#6009) - Introduce
BaseConfigSchemato the webserver to easily manage common parts of all configuration objects (#6078) - Introduce
BaseConfigSchemato the manager to easily manage common parts of all configuration objects (#6096) - Introduce
BaseConfigSchemato the agent to easily manage common parts of all configuration objects (#6097) - Introduce
BaseConfigSchemato the storage-proxy to easily manage common parts of all configuration objects (#6098)
Session Management
- Fix mount permission check during session creation (#6021)
- Add missing
kernel_hostfield inKernelCreationInfo(#6050) - Add missing resolver of GQL Compute session node
resource_optsfield (#6081) - Explicitly load kernel
resource_optsdata inComputeSessionNodeusing dataloader instead of accessingself.resource_optsdirectly (#6156) - Restore the wildcard subscription functionality of the session events (#6111)
Agent and Resource Management
- Update GQL Agent type
occupied_slotsfield resolver (#6061) - Remove obsolete max slot limit validation from resource calculator (#6034)
- Invalidate resource preset cache properly (#6161)
App Proxy
- Improve error handling in the traefik frontend of App Proxy worker (#6091)
- Temporarily revert traefik configuration update delta calculation logic (#6094)
- Fix worker and all related entities removed from database when leaving the AppProxy cluster (#6095)
RBAC and Permissions
- Change unique constraint index of
association_scopes_entitiestable and handle unique constraint violation in repository layer (#6014)
Container Registry
- Validate container registry input in
create,updatemutations (#6160) - Add Harbor registry creation argument validation (#6128)
Metrics and Monitoring
- Fix an issue where utilization metrics for destroyed kernels were not properly cleared from Prometheus, preventing users from seeing accumulated metrics from kernels that no longer exist (#6139)
- Add missing null check for batch operation result in
ValkeyStatClient.get_image_distro()(#6028)
Scaling Groups
- Handle scaling group deletion errors by logging details and raising proper exceptions (#6122)
Other Fixes
- Wrong error code of
mgr fixture populatecommand (#6049) - Change the installation path to the current location for the installer to operate in development mode (#6127)
External Dependency Updates
- Added Rover CLI installation to install-dev script for supergraph generation in dev environment (#5664)
- Build missing agent watcher wheel (#6115)
Miscellaneous
- Add warning log when adding new user with no groups (#6159)
Full Changelog
Check out the full changelog until this release (25.15.0).
Full Commit Logs
Check out the full commit logs between release (25.15.0rc1) and (25.15.0).