# Changelog — v0.5.0 → v0.6.0

## Features

### Hermes One (3D Office)
- **3D Office environment** — immersive CEO office with rigged characters, seating arrangements, and idle animations powered by Three.js / Troika
- **Per-agent chat modal** — open a floating chat window directly from an agent's desk in the Office with full session persistence
- **Bank feature** — Bank room added to the Office world with expandable road-line and city backdrop
- **Office pantry & row items** — Pantry room and increased row-item density in the office layout
- **Office revamp** — major CEO office redesign, control ease improvements, and efficient rendering with drag-building support
- **Performance improvements** — render pipeline optimised for the 3D scene; GPU crash fix applied

### Gateway & Messaging Platforms
- **Multi-profile gateways** — each profile now runs its own independent gateway instance with dynamic port allocation
- **Gateway start-failure banner** — gateway boot errors surface in the UI instead of silently failing
- **Gateway mismatch error fix** — detects and reports gateway version mismatches
- **Collapsible sidebar** — sidebar can be collapsed to icon-only mode for more chat space
- **Improved messaging platform management** — gateway page redesigned; platform cards show richer state

### Chat
- **Live structured tool-event stream** — tool calls, results, and reasoning render live as the agent works, with collapsible activity groups and multi-tool summaries
- **Reasoning effort picker** — choose the reasoning budget (low / medium / high) per message for supported models
- **Speech-to-text input** — microphone button in the chat bar for voice input
- **Clarify-request cards** — gateway `clarify.request` events render as inline cards in the conversation
- **Message queue** — messages typed while the agent is processing are queued and sent automatically when it's free
- **Bulk session deletion** — select and delete multiple sessions at once from the Sessions tab
- **Per-row session delete button** — individual delete button on each session row in the Sessions tab
- **Rename session** — rename any session directly from the Sessions tab
- **Chat context folder** — pin a local folder to a conversation for persistent file context (UI upgrade)
- **Pre-send validation** — Send button is disabled with an inline reason when the message cannot be sent
- **Chat layout upgrade** — refreshed chat header and profile layout

### Providers & Models
- **Nous Portal** — model discovery with `(free)` flag in the model picker; API key + OAuth cards; auto-detected missing credentials
- **Ollama Cloud** — live model list in the picker; API key settings exposed in Providers
- **Atlas Cloud** — new OpenAI-compatible provider preset
- **AIML API** — new provider preset with full i18n labels
- **Xiaomi MiMo** — new provider preset
- **Auxiliary tasks model** — dedicated model selector for background / auxiliary tasks
- **Atomic Chat local preset** — one-click OpenAI-compatible local setup preset
- **Agnes context window** — correct context-length mapping for Agnes and DeepSeek models
- **Reasoning effort** — reasoning effort exposed per-message for models that support it

### Discover & Skills
- **Discover page** — new Discover screen for browsing and installing skills and MCP servers
- **MCP server management UI** — add, remove, and configure MCP servers from a dedicated UI
- **Skill discovery** — browse the skill registry directly from the Discover page
- **Registry link** — direct link to the skill/MCP registry from the Discover page

### Tools & Toolsets
- **Worktree terminal launcher** — launch a terminal scoped to any Git worktree
- **Worktree file panel** — browse worktree files with image preview, code preview, and "open in editor" action; toggle between worktrees
- **File icons** — VS Code–style material file icons in the worktree panel

### Internationalisation
- **Turkish (tr)** locale — full translation across all screens
- **Polish (pl)** locale — full translation across all screens
- **Spanish LATAM (es-LATAM)** — README + 100 % UI translation
- **Japanese** README and CONTRIBUTING
- **Chinese (zh-TW / zh-CN)** Kanban translations
- **Portuguese (pt-PT)** config-health and chat-validation strings

### Themes & Appearance
- **Theme support** — additional built-in colour themes selectable from Settings
- **Font modifications** — refined system font stack and heading weights

## Bug Fixes

### Chat & Sessions
- Fixed chat session split on cold gateway start
- Fixed duplicate split turns during stream reconciliation
- Fixed image prompt replay after DB refresh
- Fixed compressed image filename extension not syncing
- Fixed IME composition Enter sending truncated CJK text
- Fixed `Content-Length` header missing on image-containing chat POSTs
- Fixed clarify card ordering after reconcile + surfaced delivery failures
- Fixed partial stream failures after gateway resume
- Fixed chat errors from stale renderer state

### Config & Credentials
- Fixed cross-profile API key migration bleeding keys between profiles
- Fixed `API_SERVER_KEY` resolution from `api_server.token` in `config.yaml`
- Fixed host-derived `<VENDOR>_API_KEY` not being written for custom-provider chat
- Fixed network proxy settings not persisting across restarts
- Fixed local provider base URLs not persisting
- Fixed import backup file path resolution

### SSH & Cron
- Fixed SSH API port fallback validation
- Fixed cron schedule prompts not passed positionally
- Fixed SSH API key not being cached before the first message (#212)

### Gateway
- Fixed gateway restart after resume
- Fixed `API_SERVER_KEY` not injected into gateway spawn environment
- Fixed OAuth login output buffering

### Skills & Tools
- Fixed skill uninstall edge cases
- Fixed `.trim()` guard on undefined stdout during skill install/uninstall (#145)
- Fixed staged attachments not cleaned up on session delete

### Office
- Fixed Office gateway startup handoff
- Fixed `executeJavaScript` throwing before DOM is ready
- Fixed Office starting with wrong model (now uses desktop-configured model)
- Fixed Office gateway settings going stale on reconnect
- Quoted Office startup command script safely

### Diagnose / Config Health
- Fixed config-health banner not refreshing after auto-fix
- Fixed "Show details" button not wiring to Settings nav
- Fixed Hermes profile create errors not surfacing in UI
- Hardened skill content and file writes against partial failures
- Recovered sessions from empty stale cache

### i18n
- Removed extra Polish locale keys
- Added missing Turkish keys for agents, chat, and sessions screens
- Fixed Turkish locale consistency (`gözat` as single word, `Araçlar` for tools)
- Addressed Spanish i18n review feedback

## New Contributors

- **[@914e18c](https://github.com/fathah)** — Turkish locale
- **[@5abea69](https://github.com/fathah)** — Polish locale
- **[@2cba1e1](https://github.com/fathah)** — Spanish LATAM translation

## Contributors

[@pmos69](https://github.com/pmos69) · [@andreab67](https://github.com/andreab67) · [@Ricardo-M-L](https://github.com/Ricardo-M-L) · [@ytfh44](https://github.com/ytfh44) · [@leejamesss](https://github.com/leejamesss)

**Full diff:** [v0.5.0...v0.6.0](https://github.com/fathah/hermes-desktop/compare/v0.5.0...v0.6.0)
