Releases: lablup/backend.ai
24.03.9
Features
- Allow filter and order in endpointlist gql request. (#2723)
- Add
scaling_group.agent_count_by_status
andscaling_group.agent_total_resource_slots_by_status
GQL fields to query the count and the resource allocation of agents that belong to a scaling group. (#2254) - Allow bulk association and disassociation of scaling groups with domains, user groups, and key pairs. (#2473)
- Add new vfolder API to update sharing status. (#2740)
Improvements
- Enable robust DB connection handling by allowing
pool-pre-ping
setting. (#1991)
Fixes
- Correct
msgpack
deserialization ofResourceSlot
. (#2754) - Fix regression error of
session create_from_template
command. (#2761) - Fix
GET /func/folders/{folderName}
API returning string literal"null"
instead of null value onuser
andgroup
fields (#2584) - Fix
list_files
,get_fstab_contents
,get_performance_metric
andshared_vfolder_info
Python SDK function not working withValidationError
exception printed (#2706) - Handle OS Error when deleting vfolders. (#2741)
- Fix typo in Virtual-folder status update code. (#2742)
Full Changelog
Check out the full changelog until this release (24.03.9).
Full Commit Logs
Check out the full commit logs between release (24.03.9rc1) and (24.03.9).
24.03.9rc1
Features
- Allow filter and order in endpointlist gql request. (#2723)
Fixes
- Correct
msgpack
deserialization ofResourceSlot
. (#2754) - Fix regression error of
session create_from_template
command. (#2761)
Full Changelog
Check out the full changelog until this release (24.03.9rc1).
Full Commit Logs
Check out the full commit logs between release (24.03.9b1) and (24.03.9rc1).
24.03.9b1
Features
- Add
scaling_group.agent_count_by_status
andscaling_group.agent_total_resource_slots_by_status
GQL fields to query the count and the resource allocation of agents that belong to a scaling group. (#2254) - Allow bulk association and disassociation of scaling groups with domains, user groups, and key pairs. (#2473)
- Add new vfolder API to update sharing status. (#2740)
Improvements
- Enable robust DB connection handling by allowing
pool-pre-ping
setting. (#1991)
Fixes
- Fix
GET /func/folders/{folderName}
API returning string literal"null"
instead of null value onuser
andgroup
fields (#2584) - Fix
list_files
,get_fstab_contents
,get_performance_metric
andshared_vfolder_info
Python SDK function not working withValidationError
exception printed (#2706) - Handle OS Error when deleting vfolders. (#2741)
- Fix typo in Virtual-folder status update code. (#2742)
Full Changelog
Check out the full changelog until this release (24.03.9b1).
Full Commit Logs
Check out the full commit logs between release (24.03.8) and (24.03.9b1).
24.03.8
Features
- Add an
enable_LLM_playground
option to show/hide the LLM playground tab on the serving page. (#2677) - Add
max_atom_plus_device_per_container
config on webserver (#2686)
Fixes
- Remove duplicate CPU quota arguments when creating containers (#2608)
- Allow sudo-enabled container users to ovewrite
/usr/bin/scp
and/usr/libexec/sftp-server
by unifying the intrinsic ssh binaries to use the mergeddropbearmulti
executable. (#2671) - Update
webserver
logout API to respond with HTTP 200 OK (#2681) - Scan parent directory of created qtree to avoid creating quota on non-existing directory. (#2696)
Full Changelog
Check out the full changelog until this release (24.03.8).
Full Commit Logs
Check out the full commit logs between release (24.03.8rc2) and (24.03.8).
24.03.8rc2
Fixes
- skip resolving malformed
ModelCard
GQL item (#2570) - Robust type check when idle checker fetches utilization data. (#2601)
- Let
GET /resource/usage/period
request contain data in query parameter rather than JSON body. (#2661)
Full Changelog
Check out the full changelog until this release (24.03.8rc2).
Full Commit Logs
Check out the full commit logs between release (24.03.8rc1) and (24.03.8rc2).
24.03.8rc1
Fixes
- Rename
images.image_filters
GQL Query argument toimages.image_types
(#2555) - Prevent other user's customized image from being listed as a response of
images
GQL query (#2557) - Delete sessions DB records when purging project. (#2573)
- Implement missing
StrEnumType
handling inpopulate_fixture()
. (#2648)
External Dependency Updates
- Upgrade the intrinsic kernel-runner binaries (dropbear, scp, sftp-server, su-exec and tmux) to use statically built executables based on the latest Alpine Linux and the latest source codes (#2625)
Full Changelog
Check out the full changelog until this release (24.03.8rc1).
Full Commit Logs
Check out the full commit logs between release (24.03.7) and (24.03.8rc1).
24.03.7
Features
- Allow
Bearer
as valid token type on model service authentication (#2583) - Add a pre-setup configuration menu to the TUI installer to allow setting the public-facing address of Backend.AI components (#2541)
- Add
row_id
,type
andcontainer_registry
fields to theGroupNode
GQL schema. (#2409) - Add support for PureStorage RapidFiles Toolkit v2 (#2419)
- Add support for fetching container logs of a specific kernel. (#2364)
- Allow superadmins to force-update session status through destroy API. (#2275)
- Introduce Python native WSProxy (#2372)
Improvements
- Optimize the query latency when fetching a large number of agents with stat metrics from Redis (#2558)
- Remove database-level foreign key constraints in
vfolders.{user,group}
columns to decouple the timing of vfolder deletion and user/group deletion. (#2404)
Fixes
- Update
GQLPrivilegeCheckMiddleware
to align with upstream changes ongraphql-core
package (#2598) - Check null value of user mutation by
Undefined
sentinel value rather thanNone
. (#2506) - Do null check on
groups.total_resource_slots
anddomains.total_resource_slots
value. (#2509) - Fix hearbeat processing failing when agent reports image with its name not compilant to Backend.AI's naming rule (#2516)
- Corrected a typo (
maanger
corrected tomanager
) in thecheck_status()
API response of the storage component (#2523) - Prevent session status from being transit to
PULLING
status event if image pull is not required (#2556) - Initialize Redis connection pool objects with specified connection opts rather than ignoring them. (#2574)
- Fix
BACKEND_MODEL_NAME
environment always overwritten to model name specified at model definition (#2481) - Do not allow assigning preopen port which collides with image's own service port definition (#2482)
- Fix GET requests with queryparams defined in API spec occasionally throwing 400 Bad Request error (#2483)
- Fix incorrect check of values returned from docker stat API. (#2389)
- Handle all possible exceptions when scheduling single node session so that the status information of pending session is not empty. (#2411)
- Improve error handling of initialization failures in the kernel runner (#2478)
- Add missing
commit_session_to_file
toOP_EXC
(#2127) - Pass ImageRef.canonical in
commit_session_to_file
(#2134) - Omit to clean containerless kernels which are still creating its container. (#2317)
- Run batch execution after the batch session starts. (#2327)
- Add support for configuring
sync_container_lifecycles()
task. (#2338) - Restrict GraphQL query to
user_nodes
field to requiresuperadmin
privilege (#2401) - Utilize
ExtendedJSONEncoder
for error logging to handleUUID
objects inextra_data
(#2415) - Change outdated references in event module from
kernels
tosessions
. (#2421) - Upgrade
inquirer
to remove dependency on deprecateddistutils
, which breaks up execution of the scie builds (#2424) - Allow specific status of vfolders to query to purge. (#2429)
- Update the install-dev scripts to use
pnpm
instead ofnpm
to speed up installation and resolve some peculiar version resolution issues related to esbuild. (#2436) - Fix a packaging issue in the
backendai-webserver
scie executable due to missing explicit requirement of setuptools (#2454) - Improve pruning of non-physical filesystems when measuring disk usage in agents (#2460)
- Fix buggy resolver of
model_card
GQL Query. (#2161) - Keep
sync_container_lifecycles()
bgtask alive in a loop. (#2178) - Shutdown agent properly by removing a code that waits a cancelled task. (#2392)
- Fix user creation error when any model-store does not exists. (#2160)
- Ensure that utilization idleness is checked after a set period. (#2205)
- Fix
ZeroDivisionError
in volume usage calculation by returning 0% when volume capacity is zero (#2245) - Fix GraphQL to support query to non-installed images (#2250)
- Add missing
push_image
method implementation to Dummy Agent (#2253) - Corrected an issue where the
resource_policy
field in the user model was incorrectly mapped todomain_name
. (#2314) - Fix mismatches between responses of
/services/_runtimes
and new model service creation input (#2371) - Skip mounting zero-byte lxcfs files when lxcfs is activated to prevent crashes in session containers (#2604)
- Fix typo in minilang query field spec and column map. (#2605)
- Silence falsy Redis timeout warnings when retrying blocking commands if the timeout does not exceed the expected command timeout (#2632)
- Fix a regression of #2483 in the session-download API used by the
backend.ai ssh
command (#2635)
Miscellaneous
-
- Add POST
/folders
API endpoints to replace DELETE APIs that require request body. - Allow
DELETE
requests to have body data. (#2571)
- Add POST
- Handle container creation exception and start exception in separate try-except contexts. (#2316)
- Finally stabilize the hanging tests in our CI due to docker-internal races on TCP port mappings to concurrently spawned fixture containers by introducing monotonically increasing TCP port numbers (#2379)
- Further improve the monotonic port allocation logic for the test containers to remove maximum concurrency restrictions (#2396)
External Dependency Updates
- Upgrade aiodocker to 0.22.1 to fix error handling when trying to extract the log of non-existing containers (#2402)
- Upgrade the base CPython from 3.12.2 to 3.12.4 (#2449)
- Upgrade aiodocker to v0.22.0 with minor bug fixes found by improved type annotations (#2339)
Full Changelog
Check out the full changelog until this release (24.03.7).
Full Commit Logs
Check out the full commit logs between release (24.03.7rc2) and (24.03.7).
24.03.7rc2
Miscellaneous
-
- Add POST
/folders
API endpoints to replace DELETE APIs that require request body. - Allow
DELETE
requests to have body data. (#2571)
- Add POST
Full Changelog
Check out the full changelog until this release (24.03.7rc2).
Full Commit Logs
Check out the full commit logs between release (24.03.7rc1) and (24.03.7rc2).
24.03.7rc1
Features
- Allow
Bearer
as valid token type on model service authentication (#2583)
Fixes
- Update
GQLPrivilegeCheckMiddleware
to align with upstream changes ongraphql-core
package (#2598)
Full Changelog
Check out the full changelog until this release (24.03.7rc1).
Full Commit Logs
Check out the full commit logs between release (24.03.7b4) and (24.03.7rc1).
24.03.7b4
Features
- Add a pre-setup configuration menu to the TUI installer to allow setting the public-facing address of Backend.AI components (#2541)
Improvements
- Optimize the query latency when fetching a large number of agents with stat metrics from Redis (#2558)
Fixes
- Check null value of user mutation by
Undefined
sentinel value rather thanNone
. (#2506) - Do null check on
groups.total_resource_slots
anddomains.total_resource_slots
value. (#2509) - Fix hearbeat processing failing when agent reports image with its name not compilant to Backend.AI's naming rule (#2516)
- Corrected a typo (
maanger
corrected tomanager
) in thecheck_status()
API response of the storage component (#2523) - Prevent session status from being transit to
PULLING
status event if image pull is not required (#2556) - Initialize Redis connection pool objects with specified connection opts rather than ignoring them. (#2574)
Full Changelog
Check out the full changelog until this release (24.03.7b4).
Full Commit Logs
Check out the full commit logs between release (24.03.7b3) and (24.03.7b4).