|
2 | 2 |
|
3 | 3 | All notable changes to Mission Control are documented in this file. |
4 | 4 |
|
| 5 | +## [1.3.0] - 2026-03-02 |
| 6 | + |
| 7 | +### Added |
| 8 | +- Local Claude Code session tracking — auto-discovers sessions from `~/.claude/projects/`, extracts token usage, model info, cost estimates, and active status from JSONL transcripts |
| 9 | +- `GET/POST /api/claude/sessions` endpoint with filtering, pagination, and aggregate stats |
| 10 | +- Webhook retry system with exponential backoff and circuit breaker |
| 11 | +- `POST /api/webhooks/retry` endpoint for manual retry of failed deliveries |
| 12 | +- `GET /api/webhooks/verify-docs` endpoint for signature verification documentation |
| 13 | +- Webhook signature verification unit tests (HMAC-SHA256 + backoff logic) |
| 14 | +- Docker HEALTHCHECK directive |
| 15 | +- Vitest coverage configuration (v8 provider, 60% threshold) |
| 16 | +- Cron job deduplication on read and duplicate prevention on add |
| 17 | +- `MC_CLAUDE_HOME` env var for configuring Claude Code home directory |
| 18 | +- `MC_TRUSTED_PROXIES` env var for rate limiter IP extraction |
| 19 | + |
| 20 | +### Fixed |
| 21 | +- Timing-safe comparison bug in webhook signature verification (was comparing buffer with itself) |
| 22 | +- Timing-safe comparison bug in auth token validation (same issue) |
| 23 | +- Rate limiter IP spoofing — now uses rightmost untrusted IP from X-Forwarded-For chain |
| 24 | +- Model display bug: `getModelInfo()` always returned first model (haiku) for unrecognized names |
| 25 | +- Feed item ID collisions between logs and activities in the live feed |
| 26 | +- WebSocket reconnect thundering-herd — added jitter to exponential backoff |
| 27 | + |
| 28 | +### Changed |
| 29 | +- All 31 API routes now use structured pino logger instead of `console.error`/`console.warn` |
| 30 | +- Cron file I/O converted from sync to async (`fs/promises`) |
| 31 | +- Password minimum length increased to 12 characters |
| 32 | +- Zod validation added to `PUT /api/tasks` bulk status updates |
| 33 | +- README updated with 64 API routes, new features, and env vars |
| 34 | +- Migration count: 20 (added `claude_sessions` table) |
| 35 | +- 69 unit tests, 165 E2E tests — all passing |
| 36 | + |
| 37 | +### Contributors |
| 38 | +- @TGLTommy — model display bug fix |
| 39 | +- @doanbactam — feed ID fix, jittered reconnect, cron deduplication |
| 40 | + |
5 | 41 | ## [1.2.0] - 2026-03-01 |
6 | 42 |
|
7 | 43 | ### Added |
|
0 commit comments