# 🚀 CodeBuddy Code v2.90.0 Release

## ✨ New Features

### Canvas Terminal

Added the `#/canvas` view for free-form layout of multiple terminal windows on an infinite canvas. Supports drag-to-move, 8-direction resize, grid snapping, zoom and pan, box-select operations, and independent title display for each terminal.

### Pre-Message Compaction

Automatically checks context usage before sending a message. When the threshold is exceeded (default 10%), the context is compacted first before processing the message, preventing oversized context from degrading conversation quality. After compaction, the original user message is processed directly with no additional recovery steps needed. The threshold can be customized via the `CODEBUDDY_PRE_MESSAGE_COMPACT_PCT` environment variable.

### UI Component State Persistence

Added the `/api/v1/storage` REST API to migrate UI component state — including theme, language, terminal layout, editor state, and canvas viewport — from browser local storage to backend persistence, so state is no longer lost when tabs are closed. Supports both global and workspace scopes. Theme and language use a dual-write strategy to ensure no flash on initial load.

## 🔧 Improvements

- **MCP Connection Fault Tolerance**: MCP Server connection failures now degrade silently without displaying red error messages, with a 30-second cooldown to avoid frequent retries
- **Subagent Default Behavior**: When subagent_type is omitted, the default is now independent context (general-purpose), avoiding unexpected context inheritance
- **Context Usage Query Optimization**: Fixed an issue where context usage queries failed after session resume, ensuring compaction decisions are based on accurate data
- **Installation Script Acceleration**: Switched to a globally accelerated domain, improving installation speed for overseas users

## 🐛 Bug Fixes

- **Headless Mode Proxy**: Fixed an issue where MCP connections failed in proxy environments
