v2.1.0
Highlights
- Auto-Pause & Wake — Instances automatically pause when idle and wake on incoming messages. Configure via
defaults.auto_pause_afteror Settings. - Live Instance Status — Idle / Working / Stuck detected in real-time with event-driven pane monitoring (92% fewer CPU calls).
- Grok Build backend — Full support for Grok Build CLI. Auth via x.ai OAuth, crash recovery, context display.
- /model command — Switch AI models interactively (TG keyboard / DC menu). Reads live model list from each CLI. Updates fleet.yaml and restarts.
- Settings Redesign — 3-level UI (Basic/Advanced/Developer). ClassicBot channels editable. Unified Apply bar.
- /pause /wake commands — Manually pause/wake any instance from TG or DC (admin only).
Improvements
- Shared Logger: fleet process memory -78%, threads -80%
- Warm cap LRU eviction: auto-evict oldest idle instance when warm count exceeds limit
- Adaptive startup concurrency: scales to available RAM on fleet start
- Startup CLI-env probe: version and model list cached on startup
- One-shot schedules (
at:datetime) and silent schedules (no channel message) - Kiro UI mode:
kiro_ui: legacy/tui/v3per-instance - Error notifications for login expired and model unavailable
- Cross-instance messages wait for target idle before delivery
- General knowledge skills updated and trimmed
Fixes
- Kiro timeout: no longer silently stops notifying after first occurrence
- Claude resume: now selects full session (no context compression)
- Classic chat log timezone: fixed midnight freeze (00:00-08:00 UTC+8)
- Classic chat log dedup: current message no longer duplicated in context
- Dashboard, export, daily-summary: all timestamps now local timezone
- Error monitor recovery gate: 5-minute timeout prevents permanent suppression
- restart_instance / start_instance support for ClassicBot instances
- Dead process no longer shows false Idle state
- agy deprecated model: auto fresh-restart on 'unknown model key'
- agend-agent reply supports file attachments
- General instance exempt from auto-pause
Breaking Changes
/startrequires explicit backend selection (no more 60s timeout fallback)/api/fleetincludes ClassicBot instances (additive, filterclassic: falseif needed)- fleet.log timestamp format:
[YYYY-MM-DD HH:MM:SS](was time-only)
Full Changelog: v2.0.12...v2.1.0