What's Changed
Features
- Stream idle timeout: Default 60s SSE inactivity timeout with auto-retry — prevents subagents from hanging indefinitely when provider streams go silent. Configurable via
stream_idle_timeoutin opencode.json. - Claude Code hook compat: Claude Code payload spec + tool input rewrite support
- Skill frontmatter: Claude-code frontmatter compatibility for skills
Fixes
- Auto-upgrade: Download binary directly from GitHub releases (no external install script dependency)
- Parallel tool calls: Unblock parallel tool call emission for task tools
- Background tasks: Track per-session, show completion toast immediately, allow re-pushing to background after auto-resume
- Stream reliability: Retry transient Anthropic stream errors; cleanup orphan tool parts on retry; mark prior orphan pending parts on new tool-input
- Provider: Adaptive reasoning for opus 4.7+ via version regex; bump anthropic sdk to 3.0.71 for opus-4.7 thinking
- Session: Include task_id in background-detach tool result; drop empty-text reasoning parts with signature
- Hook: Case-insensitive tool matcher
- LSP/Plugin: Tolerate partial config + restore test suite
- TUI: Add 'hook' to SlashCommand source type
- Tool docs: Cap edit/write content to avoid stream truncation
Infrastructure
- Raw binary release assets (no zip/tar wrapping)
- CI: GitHub-hosted runners for test + typecheck
Full Changelog: v1.0.2...v1.0.3