This release pairs extensibility — config-defined hooks that now fire at runtime, a SessionStart context-injection surface, and a proactive skill nudge — with a reliability pass on the background sub-agent supervisor, hardening the EventHub and worker channels against panics, unbounded memory, blocked readers, and idle-timeout overshoot. It also adds a user-facing extended-thinking toggle and tightens the Google provider's fault classification.
Added
- Config-defined hooks execute at runtime (#121):
[[hooks.*]]handlers are now built into executingcommand/httphandlers and composed into the agent's hook chain. (#126) - SessionStart context-injection hook surface (#106):
session_starthooks can spliceadditional_contextinto the system prompt before turn 1. (#122) - Proactive skill-invocation nudge (#56): the system prompt lists loaded skills and nudges the model to invoke a matching one, gated by
tools.skill_guidance. (#105) - User-facing extended-thinking toggle (#100): control extended thinking independently of the effort level. (#110)
- Shared cross-cutting area labels (#109). (#123)
Changed
Fixed
- Inbound frame reader no longer blocks on a full worker channel (#118). (#134)
- Worker idle timeout uses a deadline to remove overshoot (#119). (#133)
- EventHub history is bounded to cap worker memory (#116). (#132)
- Inherited workers honor parent allow/deny rules (#114). (#131)
- Poisoned EventHub history lock recovers instead of panicking (#113). (#130)
- Google provider fault classification for 400 context-overflow + in-band SSE faults (#111). (#129)
/memory deletegated behind--force(#112). (#120)- Skipped skills surfaced instead of silently dropped (#107). (#108)
Docs
- Adopted the
docs/adr/convention (#125) and centralized GitHub Pages — ADR ingestion, shared theme, rustdoc (#128).
Full changelog: v0.2.0...v0.3.0