v26.2.0
What's Changed (v26.1.0 → v26.2.0)
✨ Features
Fair Share Resource Management System
A comprehensive new system for managing resource allocation across domains, projects, resource groups, and users. This feature enables administrators to monitor and balance computational resource usage with granular control and visualization.
- FR-1921: Implement resource group tab content in fair share page by @ironAiken2 in #5101
- FR-1933: Implement domain tab content in fair share page by @ironAiken2 in #5106
- FR-1936: Implement project tab content in fair share page by @ironAiken2 in #5137
- FR-1968: Implement user tab content in fair share page by @ironAiken2 in #5139
- FR-1905: Implement fair share usage bucket modal by @ironAiken2 in #5204
- FR-2016: Align BAIGraphQLPropertyFilter with GraphQL schema by @ironAiken2 in #5221
- FR-2055: Improve UI consistency and readability in fair share tables by @yomybaby in #5312
- FR-2052: Add error page for invalid query parameters in Fair Share page by @ironAiken2 in #5309
New UI Components and Component Library Enhancements
Added new reusable components with infinite scroll pagination support and improved form editing capabilities. These components enhance user experience when working with large datasets and bulk operations.
- FR-1861: Create agent skills for infinity scroll select components by @nowgnuesLee in #5053
- FR-1859: Create a BAIUserSelect by @nowgnuesLee in #5055
- FR-1860: Create a BAIProjectSelect by @nowgnuesLee in #5133
- FR-1966: add BAIBulkEditFormItem component for bulk editing forms by @yomybaby in #5170
Storybook and Component Documentation
Upgraded to Storybook v10 with comprehensive story coverage tracking and new visual documentation for components. Includes automated coverage checking to ensure all components have proper documentation.
- FR-1915: upgrade Storybook to v10 by @limshyun in #5056
- FR-1909: add storybook coverage checker and update story command by @limshyun in #5135
WebSocket Proxy and Security
Added UI for managing WebSocket proxy API tokens, improving security configuration for desktop applications.
- FR-92: add wsproxy api token setting UI by @agatha197 in #5225
Input Components and User Experience
Enhanced numeric input components with better UX patterns and clearer visual feedback for unit conversions.
- FR-1984: UX enhancements for BAIDynamicUnitInputNumber by @nowgnuesLee in #5165
Model Service Validation
Added validation to prevent project mismatches when editing model services, ensuring data consistency.
Session Creation Behavior
Modified session creation to prevent reuse of existing sessions, ensuring fresh compute environments.
- FR-2072: set
reuseIfExiststo false when creating a session by @agatha197 in #5336
🐛 Bug Fixes
Component and UI Fixes
Fixed various component rendering issues and improved error handling across the application.
- FR-1948: fix broken Storybook components on ui.backend.ai by @limshyun in #5130
- FR-2004: accurately find and identify cloned folders by @agatha197 in #5191
- FR-1999: the comparison ChatCard appearing below instead of in a vertical format by @agatha197 in #5199
- FR-2012: fix mediaType type and FileCard type prop in ChatMessage by @yomybaby in #5209
- FR-1987: close upload dropdown after selecting upload option in file explorer by @ironAiken2 in #5216
- FR-1970: apply an optimistic update to the BAIVFolderSelect by @nowgnuesLee in #5156
Error Handling and Display
Improved error message display from GraphQL network responses and fixed handling of unlimited resource policy values.
- FR-2013: display GraphQL error messages from network responses in error boundary by @agatha197 in #5222
- FR-2068: handle null/undefined for unlimited resource policy values by @agatha197 in #5341
Service and Application Access
Fixed endpoint configuration for TCP-based applications to use the correct proxy.
- FR-1979: use tcpproxy endpoint for tcpApps by @agatha197 in #5169
Build and CI Improvements
Fixed E2E test timeouts and build configuration issues.
- FR-2042: dispatch plugin-loaded event without plugins and fix E2E test timeouts/regex by @yomybaby in #5288
- FR-2049: use --merge-git-branch-lockfiles in jest.yml CI workflow by @limshyun in #5303
- FR-2071: Fix nullable type errors after GraphQL schema update by @yomybaby in #5334
Configuration and Theme Management
Prevented errors when saving empty theme configuration files.
- FR-2069: prevent error page when saving empty theme.json by @agatha197 in #5337
🔨 Refactoring
Component API Modernization
Updated components to use newer Ant Design v6 patterns and improved API consistency across the codebase.
- FR-2014: migrate StorageSelect to new antd 6 showSearch API by @yomybaby in #5212
- FR-2023: refactor BAIDomainSelect to use options prop pattern by @yomybaby in #5241
- FR-2001: remove server-side duplicate name validation from session and service name hooks by @yomybaby in #5185
Code Quality and Type Safety
Improved type imports and removed unused code to reduce bundle size and improve maintainability.
- FR-2005: use inline type imports for better code conciseness by @rapsealk in #5194
- FR-2017: Remove unnecessary
backend-ai-resource-brokerAPI calls by removing component by @agatha197 in #5224 - FR-2039: remove unused React web components by @yomybaby in #5279
Test Organization and Reliability
Restructured E2E tests with Page Object Model pattern and standardized test tagging for better maintainability.
- FR-2015: restructure E2E test directory organization and standardize tagging by @yomybaby in #5195
- FR-2030: refactor visual regression E2E tests for reliability by @yomybaby in #5254
- FR-1027: rename e2e-healer to e2e-watchdog and remove healing features by @yomybaby in #5280
🛠 Chores
Developer Tooling and Workflow Improvements
Enhanced developer experience with unified commands, updated dependencies, and improved CI/CD workflows.
- FR-1947: migrate Graphite CLI to MCP and enforce Atlassian MCP usage by @yomybaby in #5109
- FR-2003: add unified submit-staged-changes command by @yomybaby in #5189
- FR-2010: bump version to 26.2.0-alpha.0 and update dependencies by @yomybaby in #5206
- FR-1640: apply pnpm git branch lockfile by @limshyun in #5277
- FR-1027: add E2E watchdog and healer workflow by @yomybaby in #5145
- FR-2037: update jest config, docs, and add jotai-family package by @agatha197 in #5263
- FR-2045: remove graphql.config.ts from tsconfig.json includes by @ironAiken2 in #5293
Code Linting and Quality Standards
Introduced shared ESLint configuration and migrated to modern flat config format for consistent code quality.
- FR-1924: add eslint-config-bai shared ESLint 9 flat config package by @limshyun in #5077
- FR-2050: migrate e2e ESLint to flat config by @nowgnuesLee in #5305
UI Terminology Updates
Standardized terminology for auto-scaling rules to match industry conventions.
- FR-2033: Update UI labels for auto-scaling rules by @agatha197 in #5269
- FR-2034: Fix auto-scaling rule UI terminology: Scale Up/Down → Scale Out/In by @agatha197 in #5271
🎨 Style
UI Consistency and Typography
Improved visual consistency and readability across the application, especially for CJK language content.
- FR-1941: simplify Storybook theme and reorganize story titles by @limshyun in #5098
- FR-2007: add descriptive labels to checkboxes in User Settings Modal by @yomybaby in #5198
- FR-2009: update antd deprecated props in chat-related components and fix broken styles by @agatha197 in #5203
- FR-667: apply word-break keep-all for CJK languages by @limshyun in #5233
🧪 E2E Tests
Comprehensive Test Coverage Expansion
Added extensive E2E tests for critical user workflows including session management, file operations, and user administration.
- FR-2002: improve user CRUD E2E tests with Page Object Model and comprehensive test plan by @yomybaby in #5187
- FR-2015: add session lifecycle and creation E2E tests by @yomybaby in #5226
- FR-2024: add tags to visual regression E2E tests by @yomybaby in #5243
- FR-2031: add comprehensive file upload E2E tests for VFolder by @yomybaby in #5265
- FR-2041: add comprehensive E2E test coverage report by @yomybaby in #5283
📝 Documentation
Storybook Component Documentation
Added comprehensive Storybook stories for component fragments and display components with usage examples.
- FR-1974: add Storybook story for component by @limshyun in #5162
- FR-1976: add Storybook stories for fragment tag/display components by @limshyun in #5201
User Manual and Developer Documentation
Established a comprehensive user manual documentation system with multi-language support, PDF generation, and real-time preview capabilities.
- FR-2043: add documentation management agents and user manual docs package by @yomybaby in #5290
- FR-2046: add text file editing feature documentation by @yomybaby in #5295
- FR-2048: add model store guide by @agatha197 in #5310
- FR-2056: translation ko by @agatha197 in #5313
- FR-2051: add PDF generation tool for user manual documentation by @yomybaby in #5307
- FR-2062: improve docs preview with shared markdown source, hot reload, and CJK support by @yomybaby in #5323
- FR-2062: update markdown processors to resolve relative image paths by @yomybaby in #5328
- FR-2062: convert Korean docs from RST to Markdown format by @yomybaby in #5332
Testing and Code Quality Documentation
Enhanced testing documentation with detailed E2E test guidelines and naming conventions for improved code consistency.
- FR-2018: enhance Playwright E2E test agent documentation by @yomybaby in #5229
- FR-2057: Add naming convention guidelines for variables and i18n keys by @ironAiken2 in #5317
🔧 Miscellaneous
Developer Experience Enhancements
Improved GraphQL developer experience and simplified UI interaction patterns for file uploads.
- FR-1940: Modify the upload dropdown button to open only when clicked by @nowgnuesLee in #5104
- FR-2000: update graphql.config.ts to support GraphQL extensions by @nowgnuesLee in #5183
Full Changelog: v26.1.0...v26.2.0