Highlights
- More reliable camera and video doorbell support. Camera feeds now publish as standalone external HomeKit accessories, which makes live video and video-doorbell notifications work consistently. Snapshot downloads are shared and bounded to avoid duplicate requests and stalled responses.
- More dependable pairing. Pairing now handles transient June API failures with backoff, stops cleanly when canceled or superseded, and avoids orphaned sessions and timers.
- Stronger oven connectivity. Startup and WebSocket reconnects retry with bounded backoff, command acknowledgements clean up their timers, and token/status responses are validated more consistently.
- More predictable HomeKit controls. Cook-mode switches serialize commands and preserve their state while the oven is transitioning into an active cook.
Quality and maintenance
- Added defensive protocol decoding and response-size/time limits for network input.
- Simplified release/CI checks and removed an unused runtime dependency.
- Added regression coverage across camera sessions, pairing, HTTP handling, lifecycle retries, protocol decoding, and the Homebridge UI.
Validation
- 72 automated tests passing
- TypeScript lint, strict type checks, and production build passing
Full changes: compare v0.2.1...v0.2.2