What's Changed
- feat(ai): alert delivery channels — Slack, webhook, email (#24, PR 1/3) by @mighty840 in #50
- feat(control): wire alert pipeline — monitor spawn + HTTP API (#24, PR 2/3) by @mighty840 in #53
- feat(cli): wire orca alerts CLI to the alerts API (#24, PR 3/3) by @mighty840 in #54
- fix(alerts): email delivery + real-signal counts in the monitor by @mighty840 in #55
- feat(tui): AI chat landing page (#38) by @mighty840 in #57
- feat(tui): alerts view — list + drill-down + reply/dismiss/resolve (#39) by @mighty840 in #56
- fix(tui): unblock event loop + key-handler regression tests by @mighty840 in #59
- feat(networks): A-record IPs + missing-alias detection + per-node edge routes (#17) by @mighty840 in #58
- chore(release): bump workspace to v0.2.9-rc.1 by @mighty840 in #60
- fix(proxy): master skips ACME for agent-placed domains + per-cert timeout by @mighty840 in #61
- fix(config): refuse to start on malformed cluster.toml instead of silently using defaults by @mighty840 in #62
- perf(proxy): stream upstream response bodies (no buffer) by @mighty840 in #63
- chore(release): bump workspace to v0.2.9-rc.2 by @mighty840 in #64
- fix(proxy): release route_table read lock before awaits to unblock TLS handshakes by @mighty840 in #65
- chore(release): bump workspace to v0.2.9-rc.3 by @mighty840 in #66
- chore(release): v0.2.9 (stable) by @mighty840 in #67
Full Changelog: v0.2.8...v0.2.9