v26.1.0
What's Changed (v25.19.2 → v26.1.0)
✨ Features
User Management
Implemented comprehensive bulk user management capabilities, allowing administrators to efficiently purge and update multiple user accounts simultaneously. Administrators can now modify domain assignments, project memberships, user status, resource policies, and compute session configurations in bulk operations.
- FR-1820: Implement bulk user purge feature by @nowgnuesLee in #5001
- FR-1820: Implement bulk user update feature by @nowgnuesLee in #5010
Resource Group & Scaling Configuration
Unified resource group queries in GraphQL and added fair share configuration support. Replaced legacy allScalingGroupsV2 with allResourceGroups for better consistency across the platform.
- FR-1942: unify resourceGroups query and add fair share configuration by @ironAiken2 in #5093
- FR-1935: replace allScalingGroupsV2 to allResourceGroups by @agatha197 in #5081
Agent Management & Monitoring
Implemented comprehensive agent detail drawer with resource allocation information and accelerator details. Migrated agent table component to backend.ai-ui for better reusability and consolidated agent settings into the unified detail panel.
- FR-1829: implement agent detail drawer by @ironAiken2 in #5003
- FR-1828: show accelerator allocation information in agent detail panel by @ironAiken2 in #5025
- FR-1884: migrate agent table component from webui to bui by @ironAiken2 in #4994
- FR-1900: Move Agent Resource Detail Info and Settings into Agent Detail Panel by @ironAiken2 in #5027
Model Management & Artifact Storage
Introduced Hugging Face model import functionality allowing users to import models directly from Hugging Face repositories with automatic folder creation. Enhanced artifact filtering and sorting capabilities on reservoir pages with improved search and organization options.
- FR-1850: Add Hugging Face model import functionality with folder creation support by @agatha197 in #4945
- FR-1902: Modify the filtering and sorting options on the reservoir-related page by @agatha197 in #5028
Session & App Launcher
Completed migration of app launcher functionality from Lit-Element to React, introducing new components like AppLaunchConfirmationModal and improved session app service management. Added comprehensive E2E test coverage for app launcher workflows and custom filebrowser/SFTP session buttons.
- FR-1797: migrate app launcher related code to React by @yomybaby in #4975
- FR-1865: add E2E tests for app launcher by @yomybaby in #4995
- FR-1913: add custom filebrowser and sftp session button by @agatha197 in #5049
- FR-1816: display startup command modal for batch session in the session detail panel by @nowgnuesLee in #4963
Session Creation & Environment Configuration
Enhanced ImportNotebookForm with custom configuration options and improved default import environment partial path matching with flexible image string parsing.
- FR-1738: enhance ImportNotebookForm with custom configuration options by @agatha197 in #5043
- FR-1930: improve defaultImportEnvironment partial path matching with flexible image string parsing by @yomybaby in #5070
File Management & Editor
Introduced text file editor for NEO File Explorer, enabling users to directly edit and save configuration files (YAML, TOML, JSON) within virtual folders without downloading and re-uploading. File editing is restricted to files 1MB or smaller for performance and safety.
- FR-1014: implement text file editor for NEO File Explorer by @limshyun in #4966
- FR-1914: restrict file editing to files 1MB or smaller by @limshyun in #5048
Virtual Folder Enhancements
Created BAIVFolderSelect component with pagination support for better performance with large folder lists. Added project name display in folder explorer for cross-project folders and direct access icon in model card modals.
- FR-1870: Create BAIVFolderSelect using usePaginationFragment by @nowgnuesLee in #4947
- FR-1878: Show project name in folder explorer for cross-project folders by @agatha197 in #4961
- FR-1871: add folder direct access icon to ModelCardModal header by @agatha197 in #4950
Theme Customization & Branding
Added dedicated branding page with JSON-based theme configuration system. Users can now import custom themes from JSON files, providing flexible branding options for different deployments.
- FR-1849: seperate branding page with theme JSON config by @ironAiken2 in #4934
- FR-1866: import custom theme from JSON by @ironAiken2 in #4948
Error Handling & User Experience
Implemented unified 401/404 page handling in React, providing consistent error pages across the application.
Developer Experience & Documentation
Enhanced GitHub Copilot code review guidelines and added comprehensive Storybook infrastructure improvements. Introduced Claude slash commands for automated Storybook story generation and comprehensive story writing guidelines.
- FR-1881: enhance GitHub Copilot code review guidelines by @ironAiken2 in #4965
- FR-1875: add Claude slash command for Storybook story generation by @limshyun in #4959
- FR-1874: add Storybook story writing guidelines by @limshyun in #4958
Storybook Infrastructure & Component Documentation
Added comprehensive Storybook infrastructure with i18n configuration, Backend.AI branding, ConfigProvider settings, and theme selection toolbar. Created extensive documentation for BAI components including BAIButton, BAIModal, BAISelect, BAITag, BAILink, BAIStatistic, BAIBackButton, BAIAlertIconWithTooltip, BooleanTag, BAIResourceNumberWithIcon, BAIFetchKeyButton, BAINotificationItem, BAINumberWithUnit, BAITextHighlighter, and BAIConfirmModalWithInput.
- FR-1567: add i18n configuration for Storybook by @limshyun in #4946
- FR-1910: add Backend.AI branding to Storybook by @limshyun in #5040
- FR-1897: add ConfigProvider settings to Storybook preview by @limshyun in #5020
- FR-1937: add theme selection toolbar to BUI Storybook by @limshyun in #5088
- FR-1882: add BAIButton, BAIModal, BAISelect Storybook story by @limshyun in #5005
- FR-1883: add Storybook story for BAITag, BAILink, BAIStatistic, BAIBackButton component by @limshyun in #5007
- FR-1893: add Storybook stories for BAIAlertIconWithTooltip, BooleanTag, BAIResourceNumberWithIcon, BAIFetchKeyButton by @limshyun in #5024
- FR-1892: add Storybook story for BAINotificationItem, BAINumberWithUnit, BAITextHighlighter, BAIConfirmModalWithInput by @limshyun in #5011
Testing Infrastructure
Migrated E2E tests to Ant Design 6 locators and enhanced test infrastructure with improved icon accessibility. Replaced hardcoded E2E test credentials with environment variables for better security. Added E2E test utilities for theme and config mocking.
- FR-1844: migrate E2E tests to Ant Design 6 locators by @yomybaby in #4919
- FR-1844: enhance E2E test infrastructure and icon accessibility by @yomybaby in #4923
- FR-1885: Replace hardcoded e2e test credentials with environment variables by @Copilot in #4987
- FR-1934: add E2E test utilities for theme and config mocking by @yomybaby in #5084
Build & Release Automation
Added automated alpha version bump command to streamline the release process for development builds.
🐛 Bug Fixes
Virtual Folder Operations
Fixed file selection clearing when deactivating a file and added partial-failure handling for vfolder deletion operations, improving reliability and user experience.
- FR-1932: Clear selection when deactivating a file by @nowgnuesLee in #5082
- FR-1925: add partial-failure handling for vfolder deletion by @nowgnuesLee in #5078
Resource Display & Configuration
Removed unnecessary filter for resource usage values in MyResourceWithinResourceGroup component, ensuring accurate resource metrics are displayed. Fixed version control issues in BAIAdminResourceGroupSelect and updated reservoir version support.
- FR-1876: remove unnecessary filter for resource usage values in MyResourceWithinResourceGroup by @agatha197 in #4951
- FR-1923: missing version control of BAIAdminResourceGroupSelect by @agatha197 in #5063
- FR-1931: change suppotable reservoir version to 25.17.0 by @agatha197 in #5072
Agent List Pagination
Fixed pagination not resetting when agent list filters change, improving user experience when navigating filtered results. Also fixed useEffectEvent usage in AgentSelect search functionality.
- FR-1911: reset agent list pagination when filters change by @ironAiken2 in #5042
- FR-1938: skip useEffectEvent while searching in AgentSelect by @nowgnuesLee in #5091
Reservoir Page Error Handling
Resolved error boundary issues on reservoir page, allowing the page to display properly even when encountering errors.
- FR-1851: show reservoir page without error boundary by @agatha197 in #4935
Monaco Editor Schema
Fixed Monaco Editor schema loading in production build, ensuring proper JSON schema validation in production environments.
- FR-1904: fix Monaco Editor schema loading in production build by @ironAiken2 in #5033
Runtime Environment Configuration
Fixed required field propagation in useRuntimeEnvVarConfigs hook by changing propagated required fields to optional, resolving type errors and improving flexibility.
- FR-1916: change propagated required fields of
useRuntimeEnvVarConfigsto optional by @agatha197 in #5052
GitHub Actions Workflow
Resolved gh-aw stop-time not resetting after compile, ensuring proper workflow timing management.
UI Spacing
Added BAIFlex gap to Tag components for proper spacing with Ant Design 6 layout system.
- add BAIFlex gap to Tag components for Ant Design 6 spacing by @Copilot in #4942
🔨 Refactoring
Component Naming Consistency
Renamed Selector components to Select throughout the codebase for better consistency with Ant Design naming conventions.
- Rename Selector components to Select for consistency by @Copilot in #4944
🛠 Chores
Workflow Configuration
Extended gh-aw workflow stop-after period from 1 month to 6 months for better workflow management. Added GitHub Actions workflow for automated Storybook story checking.
- extend gh-aw workflow stop-after period from 1mo to 6mo by @yomybaby in #4940
- FR-1908: add GitHub Actions workflow for Storybook story check by @limshyun in #5045
Version Management
Bumped version to 26.1.0-alpha.0 and updated dependencies as part of the release cycle.
Testing
Added test code coverage for resource usage filter fix.
- FR-1876: add test code for FR-1876 by @agatha197 in #4953
🔧 Miscellaneous
UI Improvements
- FR-1899: correct the logo size in theme.json by @nowgnuesLee in #5017
- FR-1898: change 404 page button text from Summary to Start by @nowgnuesLee in #5023
- FR-1833: Modified BAIAdminResourceGroupSelect to use scaling group name as value by @nowgnuesLee in #4925
🙌 New Contributors
- @Copilot made their first contribution in #4942
Full Changelog: v25.19.2...v26.1.0