Skip to content

v1.2.0

Choose a tag to compare

@inureyes inureyes released this 24 Feb 06:41
· 1 commit to main since this release

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