v0.5.0
What's Changed
Architecture
- Two-process model. Long-running background daemon owns the SDK, tunnels, and web debugger. CLI becomes a short-lived client that talks to the daemon. Single daemon per user, auto-spawned on demand.
- IPC layer. HTTP on 127.0.0.1 (OS-assigned port) for request/response, plus WebSocket for streaming tunnel events. Strongly-typed routes in ipcRoutes.ts; raw HTTP wrapper (IPCClient) sits behind a single facade (TunnelClient).
- Daemon discovery & lifecycle. daemon.json records pid + port, validated on every CLI invocation; stale entries auto-cleaned. Health check + atomic writes.
Tunnel lifecycle
- Foreground vs detached modes. SessionTracker maps each tunnel to a session + mode. Foreground tunnels die with their CLI after a 5-second grace window; detached tunnels persist.
- Crash recovery. Detached tunnels written to daemon-state.json and replayed on next daemon start. Clean shutdown clears the state file.
- Auto-start. Saved configs marked auto are launched in detached mode at daemon boot.
- Resilience. Per-tunnel reconnect listeners (worker error, reconnecting, completed, failed) wired for all daemon-started tunnels.
- Add end-to-end tests for Pinggy CLI functionality by @Niladri2003 in #97
- feat: add daemon mode with IPC, service installation, and CLI subcomm… by @Niladri2003 in #93
Full Changelog: v0.4.9...v0.5.0