Releases: lablup/backend.ai
25.3.3rc1
Features
- Let endpoints with
PROVISIONING
routes deleted without manual session removal (#3842)
Fixes
- Fix
CreateNetwork
GQL mutation not working (#3843) - Fix
EndpointAutoScalingRuleNode
GQL query not working (#3845)
Full Changelog
Check out the full changelog until this release (25.3.3rc1).
Full Commit Logs
Check out the full commit logs between release (25.3.2) and (25.3.3rc1).
25.3.2
Fixes
- Add
service_ports
field resolver to GQL ComputeSessionNode type (#3782) - Fix the GQL VirtualFolderNode resolver to accept a filter argument (#3799)
- Fix wrong Python interpreter embedded in the installer scie builds (#3810)
- Fix a DB migration script that fails when the system has a default domain with a name other than 'default' (#3816)
- Use correct lock ID for schedulers and event producers (#3817)
- Broken image rescanning on
HarborRegistry_v1
due to type error of credential value. (#3821) - Ensure that the scie build of install.config also includes the files in the folder and the yaml file. (#3824)
- Fix wrong alembic migration scripts (#3829)
Full Changelog
Check out the full changelog until this release (25.3.2).
Full Commit Logs
Check out the full commit logs between release (25.3.1) and (25.3.2).
25.3.1
Features
- Add New API Logging Aligned with Pydantic (#3731)
- Configurable global lock lifetime (#3774)
- Let metric observers catch base exceptions in event handlers (#3779)
Fixes
- Fix missing argument in Redis event dispatcher initializer (#3773)
- Fix wrong Python interpreter versions included in the scie builds (#3793)
Full Changelog
Check out the full changelog until this release (25.3.1).
Full Commit Logs
Check out the full commit logs between release (25.3.0) and (25.3.1).
25.3.0
Features
-
Add project scope implementation to Image RBAC. (#3035)
-
Implement
ImageNode
GQL resolver based on RBAC. (#3036) -
Implement
AssociationContainerRegistriesGroups
as m2m table ofcontainer_registries
, andgroups
. (#3065) -
Implement CRUD API for managing Harbor per-project Quota. (#3090)
-
Implement Image Rescanning using Harbor Webhook API. (#3116)
-
Create KVS Interface (#3645)
-
Add configurable setup for kernel initialization polling (#3657)
-
Add a
show_kernel_list
config to webserver to show/hide kernel list in the session detail panel.Add configs not specified in sample.toml (#3671)
-
Make security policy configurable (#3680)
-
Make CSP configurable (#3682)
-
Sort vfolder list fields in compute session GQL objects (#3751)
Improvements
- Add the skeleton interface of vfolder CRUD handlers in storage-proxy (#3516)
- Apply pydantic handling decorator to VFolder APIs in storage-proxy (#3565)
- Move abc.py and storage system modules to volumes package (#3567)
- Extract list_volumes and get_volume into pool.py (#3569)
- Add Service Layer to Avoid Direct Volume and Vfolder Operations in Storage-Proxy Handler (#3588)
- Change Absolute Imports to Relative Imports in Storage-Proxy (#3685)
Fixes
- Revamp
ContainerRegistryNode
API. (#3424) - Change port numbers using ephemeral ports (#3614)
- Handle cancel and timeout when creating kernels (#3648)
- Correct the number of concurrent SFTP sessions queried from DB (#3654)
- Increase Backend.AI Kernel's app startup timeout (#3679)
- Fix ContainerRegistry per-project API misc bugs. (#3701)
- Fix model service not removed when auto scaling rules are set (#3711)
- Validate duplicate session names during compute session modification (#3715)
- Revert tmux version upgrade from 3.4 to 3.5a due to compatibility issues on aarch64 architecture (#3740)
- Fix compute session rename API handler to query DB correctly (#3746)
- Suppress
SELECT statement has a cartesian product between FROM element(s) "endpoints" and FROM element "endpoint_auto_scaling_rules"
log (#3747)
Full Changelog
Check out the full changelog until this release (25.3.0).
Full Commit Logs
Check out the full commit logs between release (25.3.0rc1) and (25.3.0).
24.09.7
Features
- Add configurable setup for kernel initialization polling (#3657)
- Make security policy configurable (#3680)
- Make CSP configurable (#3682)
Fixes
- Handle cancel and timeout when creating kernels (#3648)
- Correct the number of concurrent SFTP sessions queried from DB (#3654)
Full Changelog
Check out the full changelog until this release (24.09.7).
Full Commit Logs
Check out the full commit logs between release (24.09.6) and (24.09.7).
25.2.0
Features
- Update tmux version from 3.4 to 3.5a (#3000)
- Enable per-user UID/GID set for containers via user creation and update GraphQL APIs (#3352)
- Update SDK and CLI to support per-user UID/GID configuration (#3361)
- Add timeout configuration for Docker image push (#3412)
- Add configurable directory permission for vfolders to support mount vfolders on customized UID/GID containers (#3510)
- Add new Pydantic handling api decorator for Request/Response validation (#3511)
- Add force delete API for VFolder that bypasses the trash bin (#3546)
- Add storage-watcher API to delete VFolders with elevated permissions (#3548)
Improvements
- Add skeleton vFolder handler Interface of manager (#3493)
Fixes
- Add reject middleware for web security (#2937)
- Optimize the route selection in App Proxy using
random.choices()
based on the native C implementation in CPython (#3199) - Fix GQL
vfolder_mounts
field resolver ofcompute_session
type (#3461) - Fix empty tag image scan error in docker registry. (#3513)
- Fixed "permission denied" error by creating the
grafana-data
directory with 757 permissions (#3570) - Fix Broken CSS by allowing
unsafe-inline
content security policy. (#3572) - Updated route pattern to allow any path ending with "login/" for POST requests to
/pipeline/{path:.*login/$}
(#3574) - Fix vfolder delete SDK function to call 'delete by id' API rather than 'delete by name' API (#3581)
- Check intrinsic time files exist before mount (#3583)
- Fixed to ensure unique values in the mount list of the compute session (#3593)
- The installer changes from downloading the checksum files for each package separately to receiving a consolidated checksum file and using them separately. (#3597)
- Remove foreign key constraint from
EndpointRow.image
column. (#3599)
Full Changelog
Check out the full changelog until this release (25.2.0).
Full Commit Logs
Check out the full commit logs between release (25.1.1) and (25.2.0).
24.09.6
Features
- Update SDK to retrieve and use IDs for VFolder API operations instead of names (#3471)
Fixes
- Add reject middleware for web security (#2937)
- Refactor container registries' projects traversal logic of the image rescanning. (#2979)
- Fix regression of outdated
vfolder
GQL resolver. (#3047) - Fix image without metadata label not working (#3341)
- Enforce VFolder name length restriction through the API schema, not by the DB column constraint (#3363)
- Fix password based SSH login not working on sessions based on certain images (#3387)
- Fix purge API to allow deletion of owner-deleted VFolders by directly retrieving VFolders using the folder ID (#3388)
- Fix formatting errors when logging exceptions raised from the current local process that did not pass our custom serialization step (#3410)
- Fix scanning and loading container images with no labels at all (
null
in the image manifests) (#3411) - Fix missing CPU architecture name lookup in
LocalRegistry
to directly scan and load container images from the local Docker daemon in dev setups (#3420) - Utilization idle checker computes kernel resource usages correctly (#3442)
- Fix a mis-implementation that has prevented using UUIDs to indicate an exact vfolder when invoking the vfolder REST API (#3451)
- Fix GQL
vfolder_mounts
field resolver ofcompute_session
type (#3461) - Raise exception if multiple VFolders exist in decorator (#3465)
- Fix empty tag image scan error in docker registry. (#3513)
- Fix Broken CSS by allowing
unsafe-inline
content security policy. (#3572) - Check intrinsic time files exist before mount (#3583)
- Remove foreign key constraint from
EndpointRow.image
column. (#3599)
Documentation Updates
- Deprecate non relay container registry GQL explicitly. (#3231)
Full Changelog
Check out the full changelog until this release (24.09.6).
Full Commit Logs
Check out the full commit logs between release (24.09.5) and (24.09.6).
25.1.1
Features
- Implement fine-grained seccomp profile managed by Backend.AI Agent. (#3019)
- Enable image rescanning by project. (#3237)
- Support auto-scaling of model services by observing proxy and app-specific metrics as configured by autoscaling rules bound to each endpoint (#3277)
- Deprecate the JWT-based
X-BackendAI-SSO
header to reduce complexity in authentication process for the pipeline service (#3353) - Add Grafana and Prometheus to Docker Compose (#3458)
- Integrate Pyroscope with Backend.AI (#3459)
- Update SDK to retrieve and use IDs for VFolder API operations instead of names (#3471)
Fixes
- Refactor container registries' projects traversal logic of the image rescanning. (#2979)
- Fix regression of outdated
vfolder
GQL resolver. (#3047) - Fix image without metadata label not working (#3341)
- Enforce VFolder name length restriction through the API schema, not by the DB column constraint (#3363)
- Fix password based SSH login not working on sessions based on certain images (#3387)
- Fix purge API to allow deletion of owner-deleted VFolders by directly retrieving VFolders using the folder ID (#3388)
- Fix certain customized images not being pushed to registry properly (#3391)
- Fix formatting errors when logging exceptions raised from the current local process that did not pass our custom serialization step (#3410)
- Fix scanning and loading container images with no labels at all (
null
in the image manifests) (#3411) - Fix missing CPU architecture name lookup in
LocalRegistry
to directly scan and load container images from the local Docker daemon in dev setups (#3420) - Utilization idle checker computes kernel resource usages correctly (#3442)
- Filter vfolders by status before initiating a vfolder deletion task (#3446)
- Fix a mis-implementation that has prevented using UUIDs to indicate an exact vfolder when invoking the vfolder REST API (#3451)
- Fix the required state output logic in the openopi reference documentation correctly (#3460)
- Raise exception if multiple VFolders exist in decorator (#3465)
Documentation Updates
- Deprecate non relay container registry GQL explicitly. (#3231)
Miscellaneous
- Upgrade pantsbuild from 2.21 to 2.23, replacing the scie plugin with the intrinsic pex's scie build support (#3377)
Full Changelog
Check out the full changelog until this release (25.1.1).
Full Commit Logs
Check out the full commit logs between release (24.12.1) and (25.1.1).
24.12.1
Fixes
- Fix broken session CLI commands due to invalid initialization of
ComputeSession
. (#3222) - Fix a regression that modifying a model service endpoint's replica count always sets it to 1 regardless of the user input (#3337)
Miscellaneous
- Fix the commit message format when assigning the PR number to an anonymous news fragment (#3309)
Full Changelog
Check out the full changelog until this release (24.12.1).
Full Commit Logs
Check out the full commit logs between release (24.12.0) and (24.12.1).
24.09.5
Features
- Allow specifying a full shell script string in
start_command
ofmodel-definition.yaml
while preserving shell variable expansions to allow access to environment variables in service definitions (#3248) - Add several commonly used GPU configuration environment variables defined in containers by default:
GPU_TYPE
,GPU_COUNT
,GPU_CONFIG
,GPU_MODEL_NAME
andTF_GPU_MEMORY_ALLOC
(#3275)
Fixes
- Fix the TUI installer to make the install path always visible (#3029)
- Fix broken session CLI commands due to invalid initialization of
ComputeSession
. (#3222) - Fix CLI test failures caused by
yarl.URL._val
type change. (#3235) - Prevent vfolder
request-download
API from accessing host filesystem. (#3241) - Fix
1d42c726d8a3
revision execution failing (#3254)
Miscellaneous
- Upgrade the base CPython version from 3.12.6 to 3.12.8 (#3302)
Full Changelog
Check out the full changelog until this release (24.09.5).
Full Commit Logs
Check out the full commit logs between release (24.09.4) and (24.09.5).