v1.2.0
Memory system, Cowork mode with Agent Marketplace, full web/headless mode with REST API parity, Bliss theme, and 80+ bug fixes.
Backend.AI GO v1.2.0
218 commits since v1.1.0.
New Features
- Memory System: Namespace-based organization with auto-extraction pipeline, deduplication, consolidation, smart routing, and chat context injection (–)
- Cowork Mode: Folder permissions, instructions system, sub-agent coordination, auto-approval, and mid-task steering (–)
- Agent Marketplace: Profile editor, import/export, built-in templates, GitHub repository-based registry, and custom registry source management (–,,)
- Full Web/Headless Mode: Login page, SSE events, inference proxy, and complete REST API parity across all endpoints (–,)
- Bliss Theme: Windows XP Luna-inspired retro theme with custom window controls, task pane styling, and Tahoma/Gulim fonts (,,,)
- Heartbeat & Lifecycle Hook System for process health monitoring
- OpenAPI Documentation for Management REST API
- Multilingual Agent Profiles with translations field and Korean built-in templates
- Brave Search Integration: Replace DuckDuckGo with Brave Search API for web_search tool
- Conversational Image Refinement via img2img editing in Chat and Canvas
- Chat Message Actions: Regenerate, edit, and delete actions
- Infinite Scroll for conversation list
- Model Picker on feature pages when no model is loaded
- Cloud API Provider Setup step in OOBE wizard
- Legacy Data Migration to Tauri-managed app_data_dir
- Human-Readable Model Names in conversation and draw session lists
- Docker Deployment Guide for headless server optimization
Improvements
- Rename default agent registry from backend.ai-agents to agent-catalog with migration (,)
- Upgrade continuum-router from v0.36.1 to v1.0.0
- Unify Creations text tab design with image tab
- Extract shared FeaturedModels module from Dashboard and GettingStarted
- Extract shared drawer tab styles and CSS variable aliases into reusable modules
- Unify Cowork Settings drawer design to match Model Configuration drawer
- Replace content area titles with functional descriptions
- Update default Anthropic models to Claude 4.6 and remove retired Claude 3 models
- Reorder API providers to Gemini / Anthropic / OpenAI
- Migrate buttons to shared Button component
- Extract common SettingsSlider component from duplicated slider code
- Resolve all clippy and ESLint warnings across Rust and TypeScript
- Unify ProcessManager and SdProcessManager with trait-based architecture
- Backdrop-filter blur for Dialog and Drawer base components (,)
- Randomized chat empty state prompts from a pool of 100
- Illustrated empty state for Creations text tab
- Elapsed time indicator to image generation progress
- Visible tooltips for chat message hover toolbar buttons
- Toast notifications for model deletion
- Prevent accidental modal dismissal when inputs contain unsaved changes
Bug Fixes
- Migrate old default agent registry name and fix page bottom padding
- Normalize button icon-text vertical alignment
- Enforce equal width for translation panels regardless of content length
- Set publisher to "Lablup Inc." in Windows installer metadata
- Add remark-cjk-friendly plugins for CJK bold/strikethrough rendering
- Remove hardcoded max_tokens limit and detect truncation
- Remove approval timeout and add defensive error handling
- Restructure conversation item layout for full-width content
- Route monitoring through ApiAdapter and guard SPA fallback for API routes
- Resolve OOBE model directory picker and default path in headless mode
- Use TAURI_INTERNALS for Tauri v2 runtime detection
- Ensure all dialogs render above Drawer by fixing z-index hierarchy
- Replace dashboard header with time-based greeting and fix tab hover layout shift
- Exclude unsupported style parameter for GPT Image models in Canvas
- Resolve CSS class name collision between ChatInterface and AgentMarketplace ToolSelectors
- Prevent infinite loading when requesting image variation with DALL-E 3
- Correct models directory path after legacy data migration
- Resolve OOBE wizard issues with skip button height, API key links, and directory step
- Prevent path traversal in agent profile store
- Wire auto-approval into agent execution loop and fix TOCTOU race
- Sub-agent coordination: serde field names, memory leak, race condition
- Resolve deadlock in agent steering by extracting steering queue
- Resolve memory system UI performance bottlenecks and hardcoded entry counts
- Migrate 33+ legacy_app_data_dir call sites to use Tauri-managed AppPathsState
- Prevent safetensors/MLX LLM models from being misrouted to sd-cpp engine (,)
- Support deletion of safetensors/MLX models
- Add missing Tauri system dependencies to Docker rust-builder stage
- 40+ additional UI/UX fixes across Canvas, Creations, Settings, Dashboard, OOBE, and sidebar
CI/CD Improvements
None
Technical Details
- Convert all stores, components, hooks, and pages from direct invoke to tauriInvoke adapter
- Add TAURI guards and web-safe wrappers across the frontend
- Convert settingsStore and critical stores to use API adapter pattern
- Expand API adapter to cover all REST endpoints
- Replace legacy_app_data_dir with global resolved_app_data_dir
- Integration tests for Management REST API
Dependencies
- Upgrade continuum-router from v0.36.1 to v1.0.0
- Bump all-smi library dependency to 0.17.2
Breaking Changes
None
Known Issues
None
What's Changed
- fix: strip markdown syntax from update notification popup by @inureyes
- feat: add memory data model and storage layer by @inureyes
- feat: Tauri IPC commands for memory management by @inureyes
- feat: add REST API endpoints for memory management by @inureyes
- fix: support deletion of safetensors/MLX models by @inureyes
- feat: add memory context injection into chat pipeline by @inureyes
- fix: trigger image rehydration on initial draw session load by @inureyes
- docs: add gated model API key notice to translation use case by @inureyes
- fix: prevent MLX LLM models from being misrouted to sd-cpp by @inureyes
- feat: add memory Zustand store and Tauri IPC wrappers by @inureyes
- feat: Memory settings and namespace management UI by @inureyes
- fix: prevent safetensors LLM models from being routed to sd-cpp engine by @inureyes
- feat: Memory viewer and editor component by @inureyes
- fix: improve visual distinction between copy and delete icons by @inureyes
- feat: Chat integration with memory context by @inureyes
- feat: add message regenerate, edit, and delete actions in chat by @inureyes
- fix: resolve ChatMemoryIndicator infinite render loop and improve chat message actions by @inureyes
- feat: conversational image refinement via img2img editing by @inureyes
- feat: implement automatic memory extraction pipeline from chat conversations by @inureyes
- feat: add memory deduplication and consolidation for auto-extracted entries by @inureyes
- feat: improve MemoryViewer with entry counts, collapsible cards, Markdown rendering, and common Select by @inureyes
- feat: add auto-extraction settings UI and chat integration indicators by @inureyes
- feat: smart extraction routing based on active memory banks by @inureyes
- docs: add standalone Memory feature documentation page by @inureyes
- update: align Memory settings sliders with Appearance slider style by @inureyes
- refactor: extract common SettingsSlider component by @inureyes
- fix: migrate legacy_app_data_dir to Tauri-managed AppPathsState by @inureyes
- fix: OOBE skip link navigation and update recommended models by @inureyes
- feat: Add model discovery filtering and curation in Browse Hugging Face tab by @inureyes
- update: use ArchitectureIcon in OOBE model selection and add SaverIcon/IdeaIcon by @inureyes
- feat: add dedicated memory extraction model selector with smart fallback by @inureyes
- fix: resolve memory system UI performance bottlenecks and hardcoded entry counts by @inureyes
- refactor: resolve all clippy and ESLint warnings by @inureyes
- fix: resolve failing unit tests across Rust backend and frontend by @inureyes
- feat: add Bliss theme — Windows XP Luna-inspired retro theme by @inureyes
- fix: resolve type check and ESLint errors across test files and apply formatting by @inureyes
- feat: add Windows XP Luna style window controls for Bliss theme by @inureyes
- update: prioritize Tahoma and Gulim fonts and adjust window controls padding in Bliss theme by @inureyes
- feat: add Windows XP task pane styling for sidebar, status bar, and select in Bliss theme by @inureyes
- refactor: migrate non-common buttons to shared Button component by @inureyes
- docs: add offline-only setup use case guide by @inureyes
- fix: prevent dropdown/popup premature closure on click by @inureyes
- fix: suppress hover toolbar when chat message is in edit mode by @inureyes
- fix: add visible tooltips to chat message hover toolbar buttons by @inureyes
- refactor: rename Agent to Cowork with marketplace placeholder by @inureyes
- refactor: Cowork Component Reorganization by @inureyes
- feat: add Cowork store and types for collaborative workflows by @inureyes
- feat: add folder permissions system backend by @inureyes
- feat: add folder permissions UI for Cowork mode by @inureyes
- feat: add Instructions System for Cowork mode by @inureyes
- feat: add enhanced progress display and mid-task steering by @inureyes
- feat: add sub-agent coordination support for cowork mode by @inureyes
- feat: implement auto-approval for permitted folders by @inureyes
- feat: add comprehensive i18n and keyboard shortcuts for Cowork by @inureyes
- feat: connect Cowork with agent profiles by @inureyes
- feat: integrate Cowork UI components into CoworkPage by @inureyes
- feat: add agent profile data model and types by @inureyes
- feat: add file-based agent profile storage backend by @inureyes
- feat: add comprehensive built-in agent profile templates by @inureyes
- feat: add Tauri IPC commands for agent profile management by @inureyes
- feat: add REST API endpoints for agent profile management by @inureyes
- feat: add comprehensive agent profile Zustand store by @inureyes
- feat: implement Agent Marketplace page UI by @inureyes
- feat: add AgentProfileCard component for marketplace grid by @inureyes
- feat: add agent profile editor drawer with tabbed form by @inureyes
- feat: add import/export dialog for agent profiles by @inureyes
- feat(i18n): complete Agent Marketplace i18n coverage by @inureyes
- feat: add infinite scroll pagination for conversation list by @inureyes
- Update: Reorder API providers to Gemini / Anthropic / OpenAI by @inureyes
- fix: update website footer documentation link to correct URL by @inureyes
- fix: open Manual link in new tab with security attributes by @inureyes
- feat: add How-to Guides button to website header and rename page by @inureyes
- fix: Router menu expanded panel closes when moving mouse to action buttons by @inureyes
- fix: add toast notifications for model deletion by @inureyes
- feat: replace DuckDuckGo with Brave Search API for web_search tool by @inureyes
- fix: prevent tour modal title from overlapping with close button by @inureyes
- fix: prevent chat suggestion button text overflow at certain window widths by @inureyes
- fix: align List and Folder icons with labels in Chat tab by @inureyes
- fix: improve OOBE Korean translations and add missing CPU-only i18n by @inureyes
- fix: handle HF Trending API 400 error on initial load by @inureyes
- fix: invert title bar logo on Windows glass theme for visibility by @inureyes
- fix: remove redundant refresh icon on engine page by @inureyes
- fix: ensure dropdown menus show full option text without truncation by @inureyes
- fix: make Canvas page layout responsive to window resize by @inureyes
- feat: prevent accidental modal dismissal when inputs have unsaved changes by @inureyes
- fix: contain benchmark gauge tick marks within semicircle boundary by @inureyes
- feat: add model picker on feature pages when no model is loaded by @inureyes
- fix: resolve Cowork Settings drawer issues with tool permissions, layout, and Add Folder button by @inureyes
- feat: add Agent Profile selector to Chat page header by @inureyes
- update: unify Cowork Settings drawer design to match Model Configuration drawer by @inureyes
- refactor: extract shared drawer tab styles and CSS variable aliases into reusable modules by @inureyes
- feat: add GitHub repository-based agent profile registry by @inureyes
- feat: add custom agent registry source management by @inureyes
- chore: update default Anthropic models to Claude 4.6 and remove retired Claude 3 models by @inureyes
- fix: match ModelSelect height to ProfileSelector (32px) by @inureyes
- fix: constrain Select dropdown width and align provider tab elements by @inureyes
- update: replace content area titles with functional descriptions by @inureyes
- fix: use default size for Chat ProfileSelector to match Cowork by @inureyes
- fix: set assistant chat bubble to use full available width by @inureyes
- fix: preserve drawer slide animations alongside theme transitions by @inureyes
- fix: match .drawer--open specificity to .drawer.drawer selector by @inureyes
- feat: add cloud API provider setup step and two-column layout to OOBE wizard by @inureyes
- feat: add backdrop-filter blur to Dialog and Drawer base components by @inureyes
- fix: move Open folder button to directory bar and unify sentence case by @inureyes
- fix: resolve profile selector icon rendering, navigation, and labeling issues by @inureyes
- fix: constrain Advanced Filters button to content width by @inureyes
- fix: resolve Text tab drawer design inconsistencies and add filters by @inureyes
- feat: add one-time migration of legacy data directory to Tauri-managed app_data_dir by @inureyes
- fix: improve test reliability and path resolution for macOS symlinks by @inureyes
- fix: reduce excessive spacing in recommended models empty state by @inureyes
- docs: add explicit pnpm package manager convention by @inureyes
- refactor: extract shared FeaturedModels module from Dashboard and GettingStarted by @inureyes
- fix: improve Advanced Filters badge spacing and vertical alignment by @inureyes
- fix: update HF API trending sort parameter to camelCase by @inureyes
- fix: navigate directly to Providers tab from Remote Models empty state by @inureyes
- fix: resolve OOBE wizard issues with skip button, API key links, and directory step by @inureyes
- fix: correct models directory path after legacy data migration by @inureyes
- fix: align Tools menu items horizontally with proper spacing by @inureyes
- fix: align Canvas image action button heights for visual consistency by @inureyes
- fix: disable Edit button for models that don't support image editing by @inureyes
- feat: add elapsed time indicator to image generation progress by @inureyes
- fix: prevent infinite loading when requesting image variation with DALL-E 3 by @inureyes
- fix: resolve CSS collision in ChatInterface ToolSelector by @inureyes
- feat: randomize chat empty state prompt suggestions by @inureyes
- fix: exclude unsupported style parameter for GPT Image models in Canvas by @inureyes
- fix: improve settings page spacing and separate Agent Registry section by @inureyes
- fix: remove unwanted top divider line on collapsed sidebar by @inureyes
- fix: navigate to Providers tab when clicking API button in Remote Models by @inureyes
- feat: add illustrated empty state for Creations text tab by @inureyes
- fix: raise delete confirmation dialog above Drawer in Creations page by @inureyes
- fix: ensure all dialogs render above Drawer by fixing z-index hierarchy by @inureyes
- fix: replace dashboard header with time-based greeting and fix tab hover layout shift by @inureyes
- refactor: unify Creations text tab design with image tab by @inureyes
- chore: bump all-smi library dependency to 0.17.2 by @inureyes
- chore: upgrade continuum-router to v1.0.0 by @inureyes
- feat: integrate ManagementApiServer into bgo-server with full backend state by @inureyes
- fix: trigger memory auto-extraction after tool call chains complete by @inureyes
- feat: add production web mode initialization path in main.tsx by @inureyes
- fix: add web fallback for platform detection and guard module-level Tauri calls by @inureyes
- docs: add use case guide - Research & Summarization by @inureyes
- feat: add TAURI guards and web-safe wrappers across frontend by @inureyes
- feat: convert settingsStore and critical stores to use API adapter pattern by @inureyes
- feat: Expand frontend API adapter to cover all existing REST endpoints by @inureyes
- feat: Convert all stores and components from direct invoke to tauriInvoke adapter by @inureyes
- feat: implement SSE event system for real-time updates in web mode by @inureyes
- feat: add inference proxy endpoints to resolve CORS for web mode by @inureyes
- feat: add HuggingFace Hub REST API endpoints for model search and download by @inureyes
- feat: add REST API endpoints for conversation history and folder management by @inureyes
- feat: add web-native file upload/download infrastructure for browser mode by @inureyes
- feat: add REST API endpoints for pool, monitoring, providers, stats, tools, and model config by @inureyes
- feat: fix engine install and router config REST endpoints, add missing engine management endpoints by @inureyes
- feat: add Translation and Glossary REST API endpoints by @inureyes
- feat: Add Diffusion and Image Generation REST API endpoints by @inureyes
- feat: Add Log Viewer, Benchmark, MCP, and remaining management REST API endpoints by @inureyes
- docs: rename agent-mode to cowork and update all documentation by @inureyes
- fix: populate OOBE model directory with resolved default path by @inureyes
- fix: add data-tauri-drag-region to OOBE wizard for window dragging by @inureyes
- fix: use TAURI_INTERNALS for Tauri v2 runtime detection by @inureyes
- feat: implement web login page and session management for headless mode by @inureyes
- feat: generate OpenAPI documentation for Management REST API by @inureyes
- fix: resolve OOBE model directory picker and default path in headless mode by @inureyes
- fix: route monitoring through ApiAdapter and guard SPA fallback for API routes by @inureyes
- test: add integration tests for Management REST API by @inureyes
- feat: Docker image optimization and deployment guide for headless server by @inureyes
- fix: remove updated_at overwrite in batch_update_last_referenced by @inureyes
- fix: restructure conversation item layout for full-width content by @inureyes
- fix: remove approval timeout and add defensive error handling by @inureyes
- fix: remove hardcoded max_tokens limit and detect truncation by @inureyes
- fix: add remark-cjk-friendly plugins for CJK bold/strikethrough rendering by @inureyes
- feat: display human-readable model names in conversation and draw session lists by @inureyes
- fix: set publisher to "Lablup Inc." in Windows installer metadata by @inureyes
- feat: implement heartbeat & lifecycle hook system by @inureyes
- fix: enforce equal width for translation panels regardless of content length by @inureyes
- fix: normalize button icon-text vertical alignment by @inureyes
- refactor: rename default agent registry from backend.ai-agents to agent-catalog by @inureyes
- feat: add translations field to AgentProfile for multilingual support by @inureyes
- fix: migrate old registry default and fix page bottom padding by @inureyes