Releases: lablup/backend.ai
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).
24.12.0
Breaking Changes
- Add
PREPARED
status for compute sessions and kernels to indicate completion of pre-creation tasks such as image pull (#2647) - Add new
CREATING
session status to represent container creation phase, and redefinePREPARING
status to specifically indicate pre-container preparation phases (#3114)
Features
- Migrate container registry config storage from
Etcd
toPostgreSQL
(#1917) - Add background task that reports manager DB status. (#2566)
- Add manager DB stat API compatible with Prometheus. (#2567)
- Allow regular users to assign agent manually if
hide-agent
configuration is disabled (#2614) - Implement ID-based client workflow to ContainerRegistry API. (#2615)
- Rafactor Base ContainerRegistry's
scan_tag
and implementMEDIA_TYPE_DOCKER_MANIFEST
type handling. (#2620) - Support GitHub Container Registry. (#2621)
- Support GitLab Container Registry. (#2622)
- Support AWS ECR Public Container Registry. (#2623)
- Support AWS ECR Private Container Registry. (#2624)
- Replace rescan command's
--local
flag with local container registry record. (#2665) - Add public API webapp to allow externel services to query insensitive metrics (#2695)
- Add
project
column to the images table and refactoringImageRef
logic. (#2707) - Check if agent has the required image before creating compute kernels (#2721)
- Introduce network feature (#2726)
- Support docker image manifest v2 schema1. (#2815)
- Support setting health check interval for model service. (#2825)
- Add session status checker GQL mutation. (#2836)
- Add
filter
andorder
parameters to Group GQL Relay API. (#2863) - Add GQL
agent
type and resolver (#2873) - Add
vast_use_auth_token
config to utilize VASTData API token optionally. (#2901) - Use a valid value for the
id
field in the GQL schema query resolver forContainerRegistry
. (#2908) - Add GQL Relay domain query schema and resolver (#2934)
- Add
namespace
,base_image_name
,tags
andversion
fields to GQL image schema (#2939) - Allow container user to join extra Linux groups. (#2944)
- Add filtering and ordering by
open_to_public
field in endpoint queries (#2954) - Hide FastTrack (
pipeline
) menu by default on installation byinstall-dev.sh
script. (#3010) - Support batch session timeout. (#3066)
- Add an
show_non_installed_images
option to show all images regardless of installation on environment select section in session/service launcher page. (#3124) - Allow destroying sessions in
PULLING
status for all users (#3128) - Show live stats from inference framework when supported (#3133)
- 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) - Rename
endpoint.desired_session_count
toendpoint.replicas
(#3257) - 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) - Populate
BACKEND_MODEL_NAME
environment variable automatically on inference session (#3281) - Fix container cleanup process failing with error
AttributeError: 'DockerKernel' object has no attribute 'network_driver'
(#3286)
Improvements
- Convert VFolder deletion from blocking response to event-driven pattern (#3063)
Fixes
- Explicitly wait for readiness of the Docker daemon and the compose stack before pouring database fixtures in
install-dev.sh
for when installing at the provisioning stage of Codespaces and integration tests in CI. (#2378) - Fix silent failure of
DockerAgent.push_image()
,DockerAgent.pull_image()
. (#2572) - Fix missing notification of cancellation or failure of background tasks when shutting down the server (#2579)
- Add missing implementation of wsproxy and manager CLI's log-level customization options (#2698)
- Add missing batch execution call after session starts (#2884)
- Fix a regression of the unicode-aware slug update that prevented creation of dot-prefixed (automount) vfolders (#2892)
- Fix invalid image format log spam in Agent (#2894)
- Fix wrong creation of
raw_configs
in_create_kernels_in_one_agent
(#2896) - Disallow
None
id encoding inAsyncNode.to_global_id()
. (#2898) - Assign valid value to
id
field inContainerRegistryNode
GQL schema query resolver. (#2899) - Update vast quota rather than raise error when quota exists. (#2900)
- Calculate correct expiration time of VAST auth token and add
vast_force_login
config to enable login before every REST API call (#2911) - Update Dellemc OneFS storage backend to correctly initialize volume object and wrong http request arguments (#2918)
- Fix
modify_endpoint()
mutation to handle emptyJSONString
properly for environment variables (#2922) - Fix
order
GQL query argument parser ofgroup_nodes
(#2927) - Set the
postgres_readonly
flag tofalse
when begin generic sessions (#2946) - Fix wrong container registry migration script. (#2949)
- Let GPFS client keep polling when GPFS job is running (#2961)
- Handle
IndexError
when parse string toBinarySize
(#2962) - Handle error when convert
shmem
string value intoBinarySize
(#2972) - Make image, container_registry table's
project
column nullable and improve container registry storage config migration script. (#2978) - Fix a wrong parameter when call 'recalc_agent_resource_occupancy()' (#2982)
- Allow the
modify_compute_session
mutation works withoutpriority
field in input argument and let the mutation validatesname
value (#2985) - Fix wrong password limit in container registry migration script. (#2986)
- Fix
architecture
condition not applied when queryimages
rows (#2989) - Deprecate
project_id
GQL argument and add nullablescope_id
GQL argument (#2991) - Strengthen join condition between kernels and images to prevent incorrect matches (#2993)
- Enable session commit to different registry, project. (#2997)
- Wrong field reference in
ImageNode
resolver (#3002) - Fix obsolete logic of
untag()
ofHarborRegistry_v2
. (#3004) - Fix
Agent.compute_containers
GraphQL field by adding missing resolver (#3011) - Fix
Agent
GQL Regression error. (#3013) - Fix
backend.ai apps
command's fau...
24.09.4
Miscellaneous
- Add alembic revision history as of 24.03.11
Full Changelog
Check out the full changelog until this release (24.09.4).
Full Commit Logs
Check out the full commit logs between release (24.09.4rc1) and (24.09.4).
24.09.4rc1
Miscellaneous
- Add alembic revision history as of 24.03.11
Full Changelog
Check out the full changelog until this release (24.09.4rc1).
Full Commit Logs
Check out the full commit logs between release (24.09.3) and (24.09.4rc1).
24.09.3
Fixes
- Allow purging vfolders by enabling name-based queries of deleted VFolders (#3176)
- Fix the issue where the value of occupying slots abnormally multiplies when creating a compute session (#3186)
- Add missing
extra
field toContainerRegistryNode
GQL query, mutations. (#3208)
Full Changelog
Check out the full changelog until this release (24.09.3).
Full Commit Logs
Check out the full commit logs between release (24.09.3rc2) and (24.09.3).
24.09.3rc2
Fixes
- Fix purge functionality that deletes VFolder records by allowing admins to query other users' VFolders (#3223)
Full Changelog
Check out the full changelog until this release (24.09.3rc2).
Full Commit Logs
Check out the full commit logs between release (24.09.3rc1) and (24.09.3rc2).
24.09.3rc1
Fixes
- Allow purging vfolders by enabling name-based queries of deleted VFolders (#3176)
- Fix the issue where the value of occupying slots abnormally multiplies when creating a compute session (#3186)
- Add missing
extra
field toContainerRegistryNode
GQL query, mutations. (#3208)
Full Changelog
Check out the full changelog until this release (24.09.3rc1).
Full Commit Logs
Check out the full commit logs between release (24.09.2) and (24.09.3rc1).