## v0.8.0

### New Features

- **Telegram remote approval** - Approve Claude Code / CodeBuddy / Codex / Pi permission requests from your phone via a Telegram bot. New Settings → Remote Approval tab covers bot token entry, recipient pairing, sidecar status, and a manual test send. Local approval bubbles remain the primary surface; Telegram is an opt-in remote channel that falls back gracefully when offline, disabled, or under Do Not Disturb. Full guide at `docs/guides/telegram-approval.md`.
- **Pinned sidecar binary distribution** - The Telegram approval sidecar (`cc-connect-clawd`) is now fetched from a pinned GitHub release tag with sha256 checksum verification. Both source launches (`npm start`) and packaged builds use the same pinned per-platform binaries. Windows x64, Windows arm64, macOS x64, macOS arm64, and Linux x64 are covered.
- **Refreshed Clawd thinking animation** - New thinking bubble (v25) with softer edge-flow pixels and a regenerated GIF preview.
- **Normalized agent icons** - All twelve agent icons (`claude-code`, `codex`, `copilot-cli`, `cursor-agent`, `gemini-cli`, `hermes`, `kimi-cli`, `codebuddy`, `opencode`, `openclaw`, `pi`, `kiro-cli`) are now exported at a consistent 64×64 PNG runtime spec with sources tracked under `assets/source/agent-icons/` and a stable manifest hash.

### Bug Fixes

- **Remote SSH Windows node resolution** (#293) - Fixed node binary detection and SSH probe / hook timeouts when deploying from a Windows host. Added a dedicated `remote-ssh-node` module and tightened hook resolution edge cases.
- **Windows Terminal focus startup race** - Settings window no longer steals the foreground Windows Terminal HWND during the startup window; focus reports are now gated by hook event whitelist.
- **Mini-mode multi-monitor seam clipping** (#294, by @Rladmsrl) - Pet no longer bleeds across display seams during entry, reload, or hover hit-window. Subsequent follow-ups hardened the clip for startup and reload phases and aligned mini seam hover after clipping.
- **Settings dashboard positioning** (#287, by @YOIMIYA66) - Dashboard now anchors correctly within Settings bounds (top edge, bottom edge, parent offset, floating bounds, source forwarding all re-aligned).
- **Agent icon source hash stability** (#285, by @YOIMIYA66) - Icon exporter now writes the manifest atomically and uses stable source hashes so subsequent exports don't drift.
- **Claude hook lifecycle hardening** - Tightened managed Claude hook marker matching, avoided blocking on clawd-only hook repair, and preserved third-party hooks when `settings.json` suddenly shrinks (#286, by @taehwanis).
- **Cold-start Claude watcher seeding** (#286, by @taehwanis) - Addressed review feedback for snapshot seeding so the suspicious-shrink heuristic doesn't false-positive on a fresh boot.
- **Windows uninstall Claude hook cleanup** - NSIS uninstaller now runs a PowerShell script that removes managed Claude hook entries from `~/.claude/settings.json`, with a write-once backup.
- **Telegram approval Settings repaint race** - Fixed status badge flicker on the Telegram tab; tokenInfo and status refreshes are now sequence-guarded.
- **Non-focusable HUD sessions** - HUD sessions that should never receive terminal focus are now tagged so focus heuristics skip them.

### Release & Packaging

- **Pinned sidecar fetch workflow** - New `npm run fetch:sidecars` and `npm run verify:sidecars` flows; `prebuild*` scripts now run the verifier before every electron-builder invocation.
- **Tag-gated draft releases** - GitHub Actions release workflow only fires on `v*` tags, creates GitHub releases as drafts, and marks hyphenated tags (e.g. `v0.8.0-rc1`) as prereleases. Release notes are pulled from `docs/releases/release-<tag>.md`.
- **Per-platform packaging resources** - `package.json` `extraResources` ships the full `bin/cc-connect-clawd/` tree into the app bundle; Windows NSIS x64/arm64 artifacts remain architecture-specific.
- **Sidecar upstream update policy** - New `docs/project/release-process.md` documents how to bump the pinned sidecar release tag and refresh checksums.

### Docs & Contributors

- **Telegram approval guide** - End-to-end setup walkthrough at `docs/guides/telegram-approval.md` (bot token, recipient pairing, sidecar status, test send, troubleshooting).
- **Release process doc** - New `docs/project/release-process.md` covers tag → draft release → upload artifact flow and sidecar upstream pin maintenance.
- **State mapping & theme-state UI** - Minor copy refresh in `docs/guides/state-mapping*.md` and `docs/project/theme-state-ui.md`.
- **5 contributors** shipped code, docs, or release polish in this release (66 commits).

### Contributors

Huge thanks to everyone who shipped code, tests, docs, or release polish for v0.8.0:

- **@rullerzhou-afk** - Telegram approval end-to-end (sidecar manager, hook wiring, settings, hardening rounds), pinned sidecar fetch/verify pipeline, release workflow gating, Windows Terminal focus + Remote SSH Windows fixes, Claude hook marker tightening, thinking bubble refresh, and Windows uninstall hook cleanup (38 commits)
- **@YOIMIYA66** - Settings dashboard positioning end-to-end (#287), normalized agent icon exporter with stable source hashes and atomic manifest writes (#285)
- **@Ruller_Lulu** - PR merge support via the GitHub web UI (10 merge commits)
- **@Rladmsrl** - Mini-mode multi-monitor seam clipping (#294)
- **@taehwanis** - Preserve third-party hooks on suspicious `settings.json` shrink and cold-start seeding hardening (#286)

### Known Limitations

- **Telegram approval surface is opt-in and limited** - Skipped for unsafe / no-summary requests, elicitation prompts, opencode (already fire-and-forget), and Do Not Disturb. Requires bot token, recipient setup, sidecar availability, and network access.
- **Disable doesn't cancel in-flight Telegram approvals** - Toggling Telegram approval off while a card is already live in the chat does not abort the in-flight request; the card can still resolve a local bubble within its 60-second TTL. Planned for v0.8.1.
- **No UI toast on Telegram timeout** - Approval cards expire silently in Telegram after 60s; the local bubble stays pending. Planned for v0.8.1.
- **Windows arm64 is cross-compiled, not validated on hardware** - CI builds the arm64 NSIS via cross-compilation; no real-arm64-hardware regression run has happened yet.
- **macOS / Linux real-machine QA pending** - electron-builder produces dmg/AppImage/deb artifacts, but the maintainer does not have a Mac and Linux QA is best-effort. Real terminal focus and Telegram approval should be manually verified by macOS/Linux users before relying on them.
- **CI runs `npm test` on Windows only** - macOS and Linux jobs fetch sidecars and build but do not run the test suite. Cross-platform regressions surface only at runtime until a dedicated test job is added.
