v2.3.0 — reminder triggers, Signal mid-turn steering, image CVE hardening
Maintenance + feature release: new reminder trigger types, Signal mid-turn steering, and security hardening of the container image.
✨ Features
- Generalized reminder triggers (#191) — reminders now fire on three trigger types: wall-clock time, inbound email reply, or a passing shell check (
--at/--when-reply-to/--when-script-ok). No more idle polling. - Signal mid-turn steering (#190) — steer the agent with a new Signal message while it's still working on the previous turn, injected via a PostToolBatch hook.
🔒 Security
- atlas image CVE hardening (#197) — removed the deprecated
beadsCLI (its bundled Go binary carried grpc 1.79.2 and Go stdlib 1.23.1 → 2 CRITICAL CVEs plus thrift/go-jose/otel HIGHs) and bumpedsupercronic0.2.33 → 0.2.46 (patched Go toolchain). OS packages refresh on rebuild.
🐛 Fixes & Improvements
- Signal (#185, #189) — reliable inject,
/stopinterrupt, typing indicator, conditional read-receipt, multi-turn handling. - Email (#193, #188) — IMAP idle reconnect guard-rails, trigger-inject prompt cleanup.
- Stop-hook (#195) — honor pending continuation / recurring reminders; scope email goals to their thread.
- SMTP/IMAP (#187, #186) — conditional STARTTLS + AUTH negotiation on EHLO; RFC 3501-compliant STORE flag list.
- Dockerfile (#192) — drop bun install cache + re-chown
$HOMEso no CAP_CHOWN is needed at container start. - Performance — faster docx skill.
Full changelog: v2.2.3...v2.3.0