Skip to content

release: 26.10.0a1 - #15634

Merged
HyeockJinKim merged 3 commits into
mainfrom
release/26.10.0a1
Oct 15, 2026
Merged

HyeockJinKim merged 3 commits into
mainfrom
release/26.10.0a1

Conversation

@HyeockJinKim

Copy link
Copy Markdown
Collaborator

Summary

Release 26.10.0a1 from main at c88cf26b13 (its main CI passed).

  • Update the bundled WebUI from 26.9.0-rc.7 to 26.9.2
  • Update the bundled all-smi from 0.26.3 to 0.27.1 (release.sh external tool update)
  • Group the 170 changelog entries by topic

Verification

# Item Result Reason
- Live test ⏭ SKIP The local stack is in use by another task. This PR's CI covers it

Changelog

Features

Seed Declarations

Added backend.ai mgr seed apply and mgr seed check, which write default data from typed seed files, with a seed kind for each entity.

  • Add backend.ai mgr seed apply and mgr seed check to write default data from typed seed files, starting with role presets (#15256)
  • Add the app_config_definition seed kind, so mgr seed apply registers app config names from seed files (#15469)
  • Add the runtime_variant seed kind, writing runtime variants under their stated ids (#15470)
  • Add the domain seed kind, writing each domain under its stated id with the same graph rows as a domain created at runtime (#15471)
  • Add the user_resource_policy, project_resource_policy and keypair_resource_policy seed kinds, so mgr seed apply writes resource policies from seed files (#15473)
  • Add the resource_slot_type seed kind, so mgr seed apply registers resource slot types from seed files (#15474)
  • Add a partial bulk upsert path for field rows so a field kind can be written under several owners in one call, each owner answered for on its own. (#15476)
  • Add the login_client_type seed kind, so mgr seed apply registers login client types from seed files (#15477)
  • Add the retention_policy seed kind, so mgr seed apply writes retention policies from seed files (#15478)
  • Add the client_ip_masking_policy seed kind, so mgr seed apply writes client IP masking policies from seed files (#15479)
  • Add the storage_backend_type seed kind, so mgr seed apply registers storage backend types from seed files (#15480)
  • Add the prometheus_query_preset_category seed kind, so mgr seed apply registers Prometheus query preset categories from seed files (#15481)
  • Add the notification_channel seed kind, so mgr seed apply registers notification channels from seed files (#15482)
  • Add the idle_checker seed kind, so mgr seed apply registers idle checkers from seed files (#15483)
  • Add the container_registry seed kind, so mgr seed apply registers container registries from seed files (#15484)
  • Add the object_storage seed kind, so mgr seed apply registers object storages from seed files (#15485)
  • Add the vfs_storage seed kind, so mgr seed apply registers VFS storages from seed files (#15486)
  • Add the app_config_allow_list seed kind, so mgr seed apply registers app config allow-list entries from seed files (#15487)
  • Add the prometheus_query_preset seed kind, so mgr seed apply registers Prometheus query presets from seed files (#15488)
  • Add the notification_rule seed kind, so mgr seed apply registers notification rules from seed files (#15489)
  • Add the storage_namespace seed kind, so mgr seed apply registers storage namespaces from seed files (#15490)
  • Add the runtime_variant_preset seed kind, writing runtime variant presets under their stated ids and ranks (#15491)
  • Add the deployment_preset seed kind, so mgr seed apply registers deployment presets from seed files (#15492)
  • Add the project seed kind, writing general, personal and model-store projects under their stated ids in their domains (#15493)
  • Add the resource_group seed kind, so mgr seed apply registers resource groups from seed files (#15494)
  • Add the app_config_fragment seed kind, writing app config values at the public, domain or user scope (#15495)
  • Add the resource_preset seed kind, writing resource presets bound to a resource group or to none (#15496)
  • Add the user seed kind, writing users with their keypairs stated as sub-items (#15497)
  • Add the session_template seed kind, writing session templates in their owner and project (#15498)
  • Add the role seed kind, writing roles in their scope with their permissions and user grants (#15503)
  • Add the default app config definitions and allow-list entries as seed files and a data migration (#15504)
  • Check each seed item against the rules of its entity in mgr seed check and mgr seed apply (#15505)

Structured Logging and Tracing

Introduced structured log fields (BEP-1066) and one OpenTelemetry trace per API request across the components.

  • Add StructuredLogger and with_log_context for structured log fields (BEP-1066) (#15030)
  • Send StructuredLogger records to OpenTelemetry through a separate handler, with the message as the body and fields as attributes, and add logging rules to AGENTS.md (#15037)
  • Add request, user, action, event and background-task scope fields to structured log lines at the common entry points (#15043)
  • Carry the request ID from the webserver to the manager so that webserver and manager logs of the same request share one request ID (#15057)
  • Trace an API request across webserver, manager, agent, storage proxy and app proxy as one OpenTelemetry trace, with spans for actions, repository calls, event handlers and agent RPCs (#15197)
  • Include the claimed user ID in webserver token-login failure logs to help diagnose authentication failures (#15587)

High Availability

Added graceful manager shutdown, multiple storage proxy endpoints and PostgreSQL primary selection from the cluster members.

  • Add graceful manager shutdown with configurable drain and grace periods and immediate removal of draining managers from the webserver endpoint pool (#15001)
  • Support comma-separated storage proxy manager API endpoints with health-based selection and automatic recovery (#15003)
  • Accept the PostgreSQL cluster members as db.addrs and connect the manager to the primary with a connect timeout per member (#15186)

AppProxy Ingress

Laid the base of AppProxy Ingress in the coordinator and worker.

  • Add the AppProxy Ingress schema, the worker ingress state base and the worker API the coordinator uses to update ingresses (#15593)
  • Implement the in-memory ingress state of the AppProxy worker, which keeps a newer revision from being overwritten by a late write (#15627)

GraphQL Nodes and Filters

Resolved v2 nodes by global id and unified the node filters.

  • Add entityId / fieldId filters to every v2 node filter and deprecate the row-UUID id filters (#15600)
  • Resolve every v2 Node that has a row id through node(id:), and add the root nodes(ids:) query that resolves several global IDs in the given order (#15629)
  • Resolve the sharer, recipient and target of an EntityShare as nodes in GraphQL (#15609)
  • Expose the role preset a role was instantiated from as rolePresetId and rolePreset on the Role node, and add an id filter to RolePresetFilter (#15141)

Container Registry

Prepared per-project default container registries.

  • Add schema support for selecting one default container registry per project from its registry access associations. (#15261)
  • Add permission-checked container registry lookup with distinct types for registry names and registry-internal project names. (#15265)
  • Add a project–container registry association Searcher with project and default-registry filters to support future default-registry API integration. (#15267)

Storage

Added the storage backend and volume schema and storage status checks.

  • Add the storage backend and volume schema, with the virtual folder reference to a storage volume. (#14221)
  • Add a status check interface for storage subjects, a periodic task that runs the checks on a thread pool, and a vfs volume check that records which mount a volume is served from. (#15258)

Images

  • Add a superadmin GraphQL mutation to scan an image by canonical name and architecture, including images not yet registered in the database. (#14648)
  • Expose whether an image is customized and the user it was committed for in the v2 image API, with customized and creator_id filters (#15294)

Search and API Exposure

Exposed more fields and searches in the v2 API, GraphQL, the SDK and the CLI.

  • Add my search for model cards, images, projects and sessions to REST v2, GraphQL, the SDK and the CLI (#15090)
  • Expose per-agent resource reservations and pre-reservations in REST and GraphQL v2 responses, with filtering and ordering by both amounts. (#15296)
  • Expose the session group ID, designated agent IDs, and requested start time in v2 session REST and GraphQL responses, and allow filtering and ordering sessions by session group ID and requested start time. (#15297)
  • Add the labels filter and the entityLabels field to resource group and image searches so they can be selected by the entity labels on them (#14965)
  • Add bulk GraphQL, REST v2, SDK and CLI operations that set labels on several entities and purge several labels in one call, reporting per-item success and failure. (#15464)
  • Let regular users read the merged app config through myAppConfigs. (#15468)

Audit Log

  • Expose the action name, action kind and lookup key of each audit log in GraphQL, REST, export reports and the ./bai audit-log search command (#15263)
  • Expose the scopes an audit log recorded through AuditLogV2.scopes and a REST scope search, and add targetEntityId as the UUID replacement of the deprecated entityId (#15334)

Other Features

  • Support certificate (private_key_jwt) client authentication in the OpenID plugin, and return failed OpenID sign-ins to the WebUI with a bai_error query value instead of a JSON error (#15153)
  • Add the container.entrypoint-user agent option to pin the run user of kernel containers, for container runtimes that replace the image's user (#15237)
  • Add ai.backend.common.serde to load YAML, JSON and TOML files in the format their suffix names (#15249)
  • Store bootstrap scripts per entity in a dedicated table with one default script per entity; every keypair's non-empty script moves under its user, and the default keypair's script becomes the user's default. (#15602)

Improvements

Structured Logging Migration

Moved the log calls of every component to StructuredLogger and reassigned levels by the logging rules.

  • Reclassify sokovan scheduler, deployment and route logs so per-cycle summaries go to debug, per-entity outcomes go to trace, and server faults are logged once at error with a traceback and structured fields (#15042)
  • Migrate every manager log call to StructuredLogger and reassign levels by the logging rules (#15045)
  • Add the request id as a field to appproxy coordinator logs and migrate them to StructuredLogger with levels reassigned by the logging rules (#15056)
  • Add request and circuit scopes to appproxy worker log lines and reassign their levels so user app failures no longer log at info or above (#15058)
  • Migrate every common and logging package log call to StructuredLogger and carry log scope fields into executor work (#15059)
  • Migrate every storage-proxy log call to StructuredLogger, add request and volume scope fields, and carry them into executor work (#15060)
  • Tie agent and accelerator logs to the manager request, RPC method, session and kernel, and reassign their levels by the logging rules (#15061)
  • Log infrastructure failures that were silently swallowed, add entity scopes to manager background logs, and align log levels with the logging guidelines (#15070)

ORM Row Cleanup

Moved queries and helpers out of the ORM row modules and removed unused relationships.

  • Remove the runtime_variant_row relationship from DeploymentRevisionRow and read a revision's image by id (#14927)
  • Move the session template validators and TemplateType out of the session_template row module into the service and data layers (#14987)
  • Read agent resource slots directly in the heartbeat and scheduler paths instead of through the AgentRow relationship (#15091)
  • Remove the unused lookup, update and helper methods from the resource preset row (#15095)
  • Remove the query methods and the session_row relationship from RoutingRow, moving the queries to repositories and the route search fields (#15143)
  • Move the domain dotfile helpers out of the ORM row and read the domain dotfiles in the scheduler source (#15151)
  • Remove the unused agents relationship from ResourceGroupRow and move ResourceGroupOpts out of the resource group row module into models/resource_group/types.py (#15284)
  • Remove the unused project lookups and the users relationship from ProjectRow, and read the project dotfiles directly in the scheduler instead of through the project row module (#15286)
  • Move the vfolder helpers, session functions and non-table types out of the vfolder row module into the repository and data layers, and remove the vfolder row code nothing uses (#15298)
  • Remove unused keypair-dependent queries and simplify model-serving user lookup (#15300)
  • Move the image status writes, inspect and alias creation out of ImageRow into ImageDBSource, and replace the v2 reads of the image aliases and registry_row relationships with explicit queries (#15394)

Container Registry and Images

  • Resolve legacy Group Container Registry fields for image commits on demand with project-scoped read authorization. (#14931)
  • Put an image in the registry it was scanned from alone, so no kind of image carries a visibility policy in the membership graph. (#15093)
  • Rename the project–container registry association column from group_id to project_id with a reversible migration that preserves existing associations. (#15339)

Other Improvements

  • Import from defining modules instead of manager package roots, and empty the re-exporting __init__.py files (#15064)
  • Attach hand-written Pants dependencies only to the files that need them, so resource and CLI changes no longer select every manager target. (#15065)
  • Unify the domain adapter, processor and service operation names, and merge the separate domain-node create and update actions into the regular ones (#15118)
  • Apply seed files through upserters, keeping existing rows unless --overwrite is given and isolating each item that a constraint refuses (#15466)
  • Reject a schema default on a @oneOf GraphQL input field when the type is declared. (#15599)

Deprecations

  • Deprecate BraceStyleAdapter and with_log_context_fields in favor of StructuredLogger and with_log_context; both now emit a DeprecationWarning (#15062)

Fixes

26.9 Upgrade and Migrations

Fixed migrations that stopped or slowed upgrades to 26.9.

  • Fix the 26.9 schema upgrade aborting on the session app service permission rows seeded for live sessions (#15327)
  • Fix the start_command normalization migration failing on deployment revisions whose model definition is a JSON null (#15333)
  • Store None written to a PydanticColumn as SQL NULL instead of JSON null, and convert existing JSON null values in its nullable columns (#15342)
  • Speed up upgrading to 26.9 on installations with a large audit log or kernel usage history by rebuilding those tables instead of updating every row, and stop keeping agent heartbeat audit rows (#15354)
  • Create the sessions scope id indexes after backfilling them in the migration that adds the columns, so the backfill no longer updates the indexes row by row (#15355)
  • Fix the database migrations that stopped upgrades from 26.4 to 26.9 on deployments of purged users, fair-share usage records, permission rows outside their role's scope, more than about 5,400 roles, and shares of folders of purged users (#15364)
  • Move permission rows naming a user, project or domain other than their role's into custom roles of that scope, so the upgrade no longer stops at migration c092d242a027 (#15401)
  • Fix the database migration that stopped upgrades to 26.9 when a project roster still named a user the users table no longer held (#15404)

Entity Graph Membership

Read project membership from the entity graph in the paths that still used the old tables.

  • Fix resource group user fair share lists and lookups missing project members added after the membership moved to the entity graph (#15004)
  • Compute legacy RBAC project roles from project membership in the entity graph, so users added to or removed from a project since 26.9 get the right roles in legacy GraphQL and REST vfolder handlers. (#15009)
  • Read project membership from the entity graph in the domain admin's error log listing, the user export report, the deprecated user and project filters and orders, and the legacy GraphQL network and agent queries, so members added or removed since 26.9 are reflected (#15013)

Authentication and Login Sessions

  • Forward the X-BackendAI-Act-As header through the webserver proxy and the halfstack Hive Gateway so superadmin requests run as the target user (#15130)
  • Return the manager's error status from the webserver's password update without authentication, so a rejected change is no longer reported as successful (#15133)
  • Fix OpenID sign-ins started on a webui domain other than the login_uri host being rejected at token exchange, and add the optional allowed_redirect_hosts setting that limits which hosts a sign-in returns to (#15162)
  • Run X-BackendAI-Act-As requests as the target user and its default keypair in handlers that read the request user and keypair (#15170)
  • Reject auth/signup requests at the webserver with 403 when service.enable-signup is disabled, instead of forwarding them to the manager (#15189)
  • Reject API requests from users who are inactive or not yet verified (#15348)
  • Fix OpenID allowed_redirect_hosts being rejected when set in etcd by accepting it as a comma-separated string (#15403)
  • Stop logins from slowing down as a user piles up login sessions without logging out, by checking all of that user's sessions against Valkey in one request instead of one request per session (#15413)
  • Fix WebUI logout leaving the manager login session active since the manager started requiring authentication on /auth/logout (#15422)
  • Speed up a forced login that evicts many login sessions, by deleting their Valkey session keys in one request instead of one request per session (#15429)

Search Filters

  • Fix search filters so that an OR item setting several fields matches only when all of them match, instead of when any one does. (#15397)
  • Fix search filters so that NOT with several items excludes rows matching any of them, instead of only rows matching all of them. (#15410)
  • Fix the deployment tags filter (equals, in and their variants) to match a single tag of a comma-joined tag column. (#15425)

GraphQL

Fixed failing legacy GraphQL fields and answered client errors as client errors.

  • Fix the legacy GraphQL available_services connection and AvailableServiceNode.service_variants, which always failed, and deprecate available_services (#14964)
  • Fix the legacy GraphQL domain_node query, which failed for every global id (#14971)
  • Fix reading the image field of a deployment revision (currentRevision, deployingRevision, revisionHistory) in GraphQL, which failed on every selected image field (#14978)
  • Refuse an admin-only GraphQL call with InsufficientPrivilege. The refusal previously raised an aiohttp exception the GraphQL handler did not recognise as a client error, so an ordinary permission check was logged as an unexpected error with a stack trace. (#15005)
  • Answer a malformed id given to a GraphQL query or mutation with an invalid-parameters error instead of an internal error (#15257)
  • Fix GraphQL type mismatch when querying default deployment handler options for resource groups (#15268)
  • Answer an imageNodes cursor whose id is not a UUID with an invalid-cursor error instead of an internal error (#15272)
  • Raise the GraphQL query depth and alias count caps to 50. (#15610)

Entity Shares

  • Fix createEntityShare rejecting a recipient that names exactly one of project, user, or email. (#15594)
  • Return the recipient type and id of an entity share in GraphQL, and the invitee email of invitations sent by user id in the legacy list-sent API (#15614)

Other Fixes

  • Fix backend.ai session ssh failing with a FileNotFoundError when several invocations run concurrently from the same working directory, and stop it from writing the downloaded container SSH key into the current directory (#14464)
  • Stop a rejected rename of a non-running session from changing its name (#14973)
  • Key a registered service on the address it is scraped at. The previous identity used the announced address, which has a host-independent default, so a deployment that left it unset collapsed every host of a component into one registry entry and stopped scraping the rest. (#15024)
  • Fix accessible_scaling_groups returning null with a keypair-not-found error for domain admins and superadmins (#15097)
  • Load every entity_memberships row of the example-users fixture with the id and cap it declares, so a fresh database no longer fails on the entity_membership_caps foreign key (#15125)
  • Reject agent watcher mount and unmount requests whose volume name resolves outside the mount prefix (#15161)
  • Fix sessions requesting zero-quantity accelerator slots staying PENDING in resource groups whose agents lack those slots (#15209)
  • Make the Redis MQ consumer read its streams from RedisMQArgs.db instead of always reading REDIS_STREAM_DB (#15252)
  • Show the caller's own mount level for vfolders in the legacy GraphQL API and REST v1 create/clone responses, and give a vfolder created without an explicit permission its folder type's default instead of rw (#15329)
  • Switch the shipped systemd units and the package-install docs from Restart=on-failure to Restart=always, because a service whose worker child crashes still exits 0 and was never restarted. (#15343)
  • Restore the owner path of session-committed images so a regular user can delete an image they committed (#15374)
  • Fix the storage-proxy folder ZIP download hanging forever and holding the folder's path list in worker memory when the zip producer thread fails, and enable ZIP64 so folders with files over 4 GiB can be downloaded (#15423)
  • Reject non-IP and non-CIDR entries in app proxy allowed_client_ips at save time instead of silently lifting the IP restriction (#15520)
  • Keep the App Proxy coordinator connected to the PostgreSQL primary across a Patroni switchover by accepting the cluster members as db.addrs and discarding a pooled connection whose transaction failed to start (#15605)

Documentation Updates

  • Add BEP-1078 describing the storage proxy, backend and volume normalization design. (#14217)
  • Add a table of Linux distributions that package Podman 5.4.0 or later to the README requirements (#15099)

External Dependency Updates

Miscellaneous

CI and Release Workflow

  • Split ci.yml into reusable workflows, save CI caches only from the tips of main and maintained version branches, delete a pull request's caches once it is closed, and drop the skip:ci label (#15041)
  • Plan CI targets once per run, start only the shards that hold a test, and let pre-push build the dependents map once (#15044)
  • Run the git pre-commit and pre-push hooks against the checkout being committed, so commits in a worktree no longer format and lint the main checkout. (#15067)
  • Stop renaming news fragments in CI; name each fragment with its PR number from the start (#15100)
  • Declare GITHUB_TOKEN permissions in the CI workflows so every job runs with only the scopes it uses (#15174)
  • Release rc tags like alpha tags: an rc tag now builds only the wheels and the supergraph schema and is not published to PyPI, and alpha releases also carry the supergraph schema. (#15204)
  • Fail a release PR whose release notes exceed GitHub's 125,000-character release body limit, instead of failing the GitHub release after the tag is pushed (#15229)
  • Advance main's NEXT_RELEASE_VERSION automatically when an X.Y.0rc1 release cuts a version branch (#15239)
  • Bump NEXT_RELEASE_VERSION on main to 26.10.0 (#15240)
  • Merge the two alembic heads left by two revisions written against the same parent, so alembic upgrade head resolves again. (#15363)
  • Freeze the NEXT_RELEASE_VERSION references a release line ships with on main when the line is cut, so they no longer show the next version. (#15368)

Security Advisories

  • Add a weekly workflow that watches the NVD CVE feed for Backend.AI advisories and posts new or updated CVEs to a Teams channel. (#15353)
  • Serve the Adaptive Card schema URL of the NVD CVE notice over HTTPS (#15431)

Other Changes

  • Require authentication on the REST v2 image scoped search, which failed every call with 500 (#14963)
  • Remove the unused scripts/agent/deploy-static/deploy_static_files.py operator script (#15201)
  • Include the AppProxy Traefik Go plugin source in the Backend.AI repository for coordinated development with AppProxy. (#15330)
  • Replace deprecated authlib.jose usage in OpenID authentication with joserfc while retaining CodeIDToken claim validation (#15584)

Test Updates

  • Let the scenario TestSeeder lay a field row the manager upserts — the slot rows an agent reports — through adding with a TestSeedFieldUpserter. (#14694)
  • Add contract tests for the shared ops shapes, a check that ops actions are wired through them, and per-operation composition and SCENARIO-GAP marks in the scenario report. (#15116)
  • Add a test file per ops shape covering its framework behaviour against a real database with the production gates and audit trail, with the behaviour the code does not meet yet pinned as strict xfails. (#15122)
  • Group the scenario report by adapter operation, with a table per operation listing its scenarios and linking to their details. (#15124)
  • Fill the non-null Pydantic columns that hand-built test rows left unset, name the storage_volume entity type so mgr ops types lists it, and run the release notes length check only when a release PR changes VERSION. (#15362)
  • Let the scenario tests lay the slots an agent reports, and cover the agent resource search, scoped search and read with them. (#15381)
  • Remove obsolete entity graph migration tests that depend on the current ORM schema. (#15393)

🤖 Generated with Claude Code

Copilot AI balanced review requested due to automatic review settings October 15, 2026 03:13
@HyeockJinKim
HyeockJinKim requested a review from a team as a code owner October 15, 2026 03:13
@github-actions github-actions Bot added size:L 100~500 LoC area:docs Documentations labels Oct 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The changes require final human review because they are too complex or risky for automated approval.

0 open findings

What changed in this PR

Prepares Backend.AI 26.10.0a1 with updated bundled tools and consolidated release documentation.

Changes:

  • Update release metadata and generated configuration examples.
  • Bundle WebUI 26.9.2 and update both all-smi binaries.
  • Consolidate 170 changelog fragments into topic-grouped release notes.
File Description
VERSION Updated as part of this pull request.
src/​ai/​backend/​web/​static/​version.json Updated as part of this pull request.
src/​ai/​backend/​web/​static/​manifest.json Updated as part of this pull request.
src/​ai/​backend/​web/​static/​index.html Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​zip-CGtBZGZR.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​zip-CGtBZGZR.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​zip-Be93NaQ4.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​YiMono-AYgP7_ek.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​YiColor-DtQBI2HK.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​VFolderNodeIdenticonV2-D5Eo51QT.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​useSettingArrival-DMjqJ71t.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​usePrimaryColors-CBJ9DuEq.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​usePaginatedQuery-DHgliNhj.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​useApiEndpoint-CGwEE94R.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​useApiEndpoint-CGwEE94R.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​upperCase-BLomuTlE.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​upperCase-BixSG-NO.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​upperCase-BixSG-NO.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​unzip-DmB4mNg_.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​unzip-BpFD9gH6.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​undo-Nni-NMuL.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​undo-Nni-NMuL.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​undo-2-BR6vXuiw.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​undo-2-BR6vXuiw.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​TIIMono-BR7--gAC.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​TIIColor-DTMTit6v.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​TencentMono-WG3Fc2v_.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​TencentMono-WG3Fc2v_.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​TableColumnsSettingModal-jmIyn4xv.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​TableColumnsSettingModal-BaHC6NGg.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​StabilityMono-CH9r4bAd.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​StabilityColor-CqP7M6x1.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​scroll-text-DILmPep3.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​rotate-ccw-clock-BlhkYDas.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​refresh-cw-B1WZeaFi.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​RBACManagementPage-DqxRpxv9.css Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​ProgressBarMarkTooltip-DfR2rigJ.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​ProgressBarMarkTooltip-BBcxVigR.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​orderBy-QT1Hxfy3.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​orderBy-D-ieWdE7.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​NvidiaMono-XTpZfLeI.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​NvidiaColor-FW8zCNQ4.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​monacoYamlValidator-5SnDB3NI.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​monacoTomlValidator-BqXLl2G_.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​MistralMono-83dM1-00.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​MistralMono-83dM1-00.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​MistralColor-CDig4awW.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​MicrosoftMono-BY9ULajG.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​MicrosoftMono-BY9ULajG.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​MicrosoftColor-BmRWOh6v.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​MicrosoftColor-BmRWOh6v.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​GrokMono-DQ-X-gPR.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​GoogleMono-BejdeKjX.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​FolderLink-CEI8HBnw.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​FolderInvitationResponseModalOpener-DzYgpYzh.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​FolderInvitationResponseModalOpener-DzYgpYzh.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​FolderInvitationResponseModalOpener-BfNGeqER.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​folder-open-BfT_uQrE.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​folder-input-CPkjpJwv.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​EmailVerificationPage-LF0ez9f0.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​EmailVerificationPage-Du8yTttr.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​EduAppLauncherPage-UdardR08.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​EduAppLauncherPage-BdOfw015.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​createBrandIcon-BO65PI8F.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​const-vars-_9EddxeN.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​const-vars-_9EddxeN.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​CohereMono-dq-CX7er.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​CohereColor-Crbb5iuS.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​ChangePasswordPage-CgzgzFTy.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​ChangePasswordPage-B2342lkI.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​ByteDanceMono-mUqkxzRi.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​ban-DX7EzNPD.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​ban-DX7EzNPD.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BAIPanelItem-B46llB8V.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BAIDomainSelect-Bw6qCkih.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BaichuanMono-CrGWGLAa.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BaichuanMono-CrGWGLAa.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BaichuanColor-C-jHHrOS.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BaichuanColor-C-jHHrOS.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BAICheckbox-ButtkpbF.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BAICheckbox-BPkZOAAu.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BAIBooleanToken-Dy_sw-Oa.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​BAIBooleanToken-Dy_sw-Oa.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​AzureMono-G3cPFARp.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​AstryxSecondaryTheme-ByZ7JYsr.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​AnthropicMono-CswU86Fd.js.map Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​AnthropicMono-CswU86Fd.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​AlibabaMono-UTZXri7D.js Updated as part of this pull request.
src/​ai/​backend/​web/​static/​assets/​AliasedImageTagTokens-C0LoRfyr.js Updated as part of this pull request.
src/​ai/​backend/​runner/​all-smi.x86_64.bin Updated as part of this pull request.
src/​ai/​backend/​runner/​all-smi.aarch64.bin Updated as part of this pull request.
docs/​manager/​rest-reference/​openapi.json Updated as part of this pull request.
configs/​webserver/​sample.toml Updated as part of this pull request.
configs/​manager/​sample.toml Updated as part of this pull request.
configs/​agent/​sample.toml Updated as part of this pull request.
changes/​15629.feature.md Updated as part of this pull request.
changes/​15627.feature.md Updated as part of this pull request.
changes/​15614.fix.md Updated as part of this pull request.
changes/​15610.fix.md Updated as part of this pull request.
changes/​15609.feature.md Updated as part of this pull request.
changes/​15605.fix.md Updated as part of this pull request.
changes/​15602.feature.md Updated as part of this pull request.
changes/​15600.feature.md Updated as part of this pull request.
changes/​15599.enhance.md Updated as part of this pull request.
changes/​15594.fix.md Updated as part of this pull request.
changes/​15593.feature.md Updated as part of this pull request.
changes/​15587.feature.md Updated as part of this pull request.
changes/​15584.misc.md Updated as part of this pull request.
changes/​15520.fix.md Updated as part of this pull request.
changes/​15505.feature.md Updated as part of this pull request.
changes/​15504.feature.md Updated as part of this pull request.
changes/​15503.feature.md Updated as part of this pull request.
changes/​15498.feature.md Updated as part of this pull request.
changes/​15497.feature.md Updated as part of this pull request.
changes/​15496.feature.md Updated as part of this pull request.
changes/​15495.feature.md Updated as part of this pull request.
changes/​15494.feature.md Updated as part of this pull request.
changes/​15493.feature.md Updated as part of this pull request.
changes/​15492.feature.md Updated as part of this pull request.
changes/​15491.feature.md Updated as part of this pull request.
changes/​15490.feature.md Updated as part of this pull request.
changes/​15489.feature.md Updated as part of this pull request.
changes/​15488.feature.md Updated as part of this pull request.
changes/​15487.feature.md Updated as part of this pull request.
changes/​15486.feature.md Updated as part of this pull request.
changes/​15485.feature.md Updated as part of this pull request.
changes/​15484.feature.md Updated as part of this pull request.
changes/​15483.feature.md Updated as part of this pull request.
changes/​15482.feature.md Updated as part of this pull request.
changes/​15481.feature.md Updated as part of this pull request.
changes/​15480.feature.md Updated as part of this pull request.
changes/​15479.feature.md Updated as part of this pull request.
changes/​15478.feature.md Updated as part of this pull request.
changes/​15477.feature.md Updated as part of this pull request.
changes/​15476.feature.md Updated as part of this pull request.
changes/​15474.feature.md Updated as part of this pull request.
changes/​15473.feature.md Updated as part of this pull request.
changes/​15471.feature.md Updated as part of this pull request.
changes/​15470.feature.md Updated as part of this pull request.
changes/​15469.feature.md Updated as part of this pull request.
changes/​15468.feature.md Updated as part of this pull request.
changes/​15466.enhance.md Updated as part of this pull request.
changes/​15464.feature.md Updated as part of this pull request.
changes/​15431.misc.md Updated as part of this pull request.
changes/​15429.fix.md Updated as part of this pull request.
changes/​15425.fix.md Updated as part of this pull request.
changes/​15423.fix.md Updated as part of this pull request.
changes/​15422.fix.md Updated as part of this pull request.
changes/​15413.fix.md Updated as part of this pull request.
changes/​15410.fix.md Updated as part of this pull request.
changes/​15404.fix.md Updated as part of this pull request.
changes/​15403.fix.md Updated as part of this pull request.
changes/​15401.fix.md Updated as part of this pull request.
changes/​15397.fix.md Updated as part of this pull request.
changes/​15394.enhance.md Updated as part of this pull request.
changes/​15393.test.md Updated as part of this pull request.
changes/​15381.test.md Updated as part of this pull request.
changes/​15378.deps.md Updated as part of this pull request.
changes/​15374.fix.md Updated as part of this pull request.
changes/​15368.misc.md Updated as part of this pull request.
changes/​15364.fix.md Updated as part of this pull request.
changes/​15363.misc.md Updated as part of this pull request.
changes/​15362.test.md Updated as part of this pull request.
changes/​15355.fix.md Updated as part of this pull request.
changes/​15354.fix.md Updated as part of this pull request.
changes/​15353.misc.md Updated as part of this pull request.
changes/​15348.fix.md Updated as part of this pull request.
changes/​15343.fix.md Updated as part of this pull request.
changes/​15342.fix.md Updated as part of this pull request.
changes/​15339.enhance.md Updated as part of this pull request.
changes/​15334.feature.md Updated as part of this pull request.
changes/​15333.fix.md Updated as part of this pull request.
changes/​15330.misc.md Updated as part of this pull request.
changes/​15329.fix.md Updated as part of this pull request.
changes/​15327.fix.md Updated as part of this pull request.
changes/​15300.enhance.md Updated as part of this pull request.
changes/​15298.enhance.md Updated as part of this pull request.
changes/​15297.feature.md Updated as part of this pull request.
changes/​15296.feature.md Updated as part of this pull request.
changes/​15294.feature.md Updated as part of this pull request.
changes/​15286.enhance.md Updated as part of this pull request.
changes/​15284.enhance.md Updated as part of this pull request.
changes/​15272.fix.md Updated as part of this pull request.
changes/​15268.fix.md Updated as part of this pull request.
changes/​15267.feature.md Updated as part of this pull request.
changes/​15265.feature.md Updated as part of this pull request.
changes/​15263.feature.md Updated as part of this pull request.
changes/​15261.feature.md Updated as part of this pull request.
changes/​15258.feature.md Updated as part of this pull request.
changes/​15257.fix.md Updated as part of this pull request.
changes/​15256.feature.md Updated as part of this pull request.
changes/​15252.fix.md Updated as part of this pull request.
changes/​15249.feature.md Updated as part of this pull request.
changes/​15240.misc.md Updated as part of this pull request.
changes/​15239.misc.md Updated as part of this pull request.
changes/​15237.feature.md Updated as part of this pull request.
changes/​15229.misc.md Updated as part of this pull request.
changes/​15209.fix.md Updated as part of this pull request.
changes/​15204.misc.md Updated as part of this pull request.
changes/​15201.misc.md Updated as part of this pull request.
changes/​15197.feature.md Updated as part of this pull request.
changes/​15189.fix.md Updated as part of this pull request.
changes/​15186.feature.md Updated as part of this pull request.
changes/​15174.misc.md Updated as part of this pull request.
changes/​15170.fix.md Updated as part of this pull request.
changes/​15162.fix.md Updated as part of this pull request.
changes/​15161.fix.md Updated as part of this pull request.
changes/​15153.feature.md Updated as part of this pull request.
changes/​15151.enhance.md Updated as part of this pull request.
changes/​15147.deps.md Updated as part of this pull request.
changes/​15143.enhance.md Updated as part of this pull request.
changes/​15141.feature.md Updated as part of this pull request.
changes/​15133.fix.md Updated as part of this pull request.
changes/​15130.fix.md Updated as part of this pull request.
changes/​15125.fix.md Updated as part of this pull request.
changes/​15124.test.md Updated as part of this pull request.
changes/​15122.test.md Updated as part of this pull request.
changes/​15118.enhance.md Updated as part of this pull request.
changes/​15116.test.md Updated as part of this pull request.
changes/​15100.misc.md Updated as part of this pull request.
changes/​15099.doc.md Updated as part of this pull request.
changes/​15097.fix.md Updated as part of this pull request.
changes/​15095.enhance.md Updated as part of this pull request.
changes/​15093.enhance.md Updated as part of this pull request.
changes/​15091.enhance.md Updated as part of this pull request.
changes/​15090.feature.md Updated as part of this pull request.
changes/​15070.enhance.md Updated as part of this pull request.
changes/​15067.misc.md Updated as part of this pull request.
changes/​15065.enhance.md Updated as part of this pull request.
changes/​15064.enhance.md Updated as part of this pull request.
changes/​15062.deprecation.md Updated as part of this pull request.
changes/​15061.enhance.md Updated as part of this pull request.
changes/​15060.enhance.md Updated as part of this pull request.
changes/​15059.enhance.md Updated as part of this pull request.
changes/​15058.enhance.md Updated as part of this pull request.
changes/​15057.feature.md Updated as part of this pull request.
changes/​15056.enhance.md Updated as part of this pull request.
changes/​15045.enhance.md Updated as part of this pull request.
changes/​15044.misc.md Updated as part of this pull request.
changes/​15043.feature.md Updated as part of this pull request.
changes/​15042.enhance.md Updated as part of this pull request.
changes/​15041.misc.md Updated as part of this pull request.
changes/​15037.feature.md Updated as part of this pull request.
changes/​15030.feature.md Updated as part of this pull request.
changes/​15024.fix.md Updated as part of this pull request.
changes/​15013.fix.md Updated as part of this pull request.
changes/​15009.fix.md Updated as part of this pull request.
changes/​15005.fix.md Updated as part of this pull request.
changes/​15004.fix.md Updated as part of this pull request.
changes/​15003.feature.md Updated as part of this pull request.
changes/​15001.feature.md Updated as part of this pull request.
changes/​14987.enhance.md Updated as part of this pull request.
changes/​14978.fix.md Updated as part of this pull request.
changes/​14973.fix.md Updated as part of this pull request.
changes/​14971.fix.md Updated as part of this pull request.
changes/​14965.feature.md Updated as part of this pull request.
changes/​14964.fix.md Updated as part of this pull request.
changes/​14963.misc.md Updated as part of this pull request.
changes/​14931.enhance.md Updated as part of this pull request.
changes/​14927.enhance.md Updated as part of this pull request.
changes/​14694.test.md Updated as part of this pull request.
changes/​14648.feature.md Updated as part of this pull request.
changes/​14464.fix.md Updated as part of this pull request.
changes/​14221.feature.md Updated as part of this pull request.
changes/​14217.doc.md Updated as part of this pull request.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@HyeockJinKim
HyeockJinKim merged commit 835d361 into main Oct 15, 2026
57 checks passed
@HyeockJinKim
HyeockJinKim deleted the release/26.10.0a1 branch October 15, 2026 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:docs Documentations size:L 100~500 LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants