Releases: lablup/backend.ai
24.03.10b3
No significant changes.
Full Changelog
Check out the full changelog until this release (24.03.10b3).
Full Commit Logs
Check out the full commit logs between release (24.03.10b2) and (24.03.10b3).
24.03.10b2
Fixes
- Fix
Service.create()
SDK method andservice create
CLI command not working withUnboundLocalError
exception (#2806)
Full Changelog
Check out the full changelog until this release (24.03.10b2).
Full Commit Logs
Check out the full commit logs between release (24.03.10b1) and (24.03.10b2).
24.03.10b1
Features
- Allow
DataLoaderManager
to get a loader function by function itself rather than function name. (#2717) - Add an explicit configuration
scaling-group-type
toagent.toml
so that the agent could distinguish whether itself belongs to an SFTP resource group or not (#2796)
Fixes
- Fix handling of undefined values in the ModifyImage GraphQL mutation. (#2028)
- Silence
model_
namespace warnings with pydantic-based model classes (#2765) - Change the initialization order of PackageContext to apply
target_path
correctly in the TUI installer (#2768) - Make the regex patterns to update configuration files working with multiline texts correctly in the TUI installer (#2771)
- Omit null parameter when call
usage-per-period
API. (#2777) - Handle container port mismatch when creating kernel. (#2786)
- Explicitly set the protected service ports depending on the resource group type and the service types (#2797)
- Correct session status determiner function. (#2803)
- Fix
endpoint_list.total_count
GQL field returning incorrect value (#2805)
Full Changelog
Check out the full changelog until this release (24.03.10b1).
Full Commit Logs
Check out the full commit logs between release (24.03.9) and (24.03.10b1).
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).