Releases: chriswritescode-dev/opencode-forge
Release list
v0.6.2
feat: add provider limit abort handling for loop runtime
- Provider limit detection: new module detects rate-limit and abort signals during prompt execution, enabling graceful loop termination.
- Abort signal propagation: integrated provider limit checks into the runtime prompt flow with watchdog monitoring.
- Fallback permission patching: subagent sessions in loop worktrees now receive the loop ruleset via a fallback path when session.created events are filtered by instance directory.
feat: add fallback loop permission patching for filtered session.created events
- Refactored single-event hook into LoopPermissionPatcher with ensurePatched fallback called from chat.message and tool.execute.before hooks.
v0.6.0
fix: harden remote loop launches against stale branches, clock skew, and silent errors
- Pinned-branch validation: a SHA-pinned launch now fails loudly when a same-named branch already exists at a different tip, instead of silently running old code.
- Clock-skew normalization:
configurere-stampsworkspaceCreatedAtandforgeLoop.pendingAttachStartedAtwith the server's clock so the attach grace window is not expired by skew between the launching machine and the attach server. - Surface loop launch errors:
launchTuiLoopreturns{ error }with the underlying cause instead ofnull; the remote launcher cleans up the sync ref on failure. - Terminal-name conflict attach: a fresh TUI launch colliding with a terminal loop row no longer silently skips; it routes through
attachLoopToSessionso the conflict surfaces as a toast + workspace removal.
v0.5.7
simplify goal-loop executor binding; add sandbox container placeholder
v0.5.6
feat: add execute-goal command for running goals in forge loops
Adds a new execute-goal tool that creates an isolated Forge worktree and warps the current session into it with an active watchdog. The goal is implemented directly without a plan/approval phase, and the loop drives automated audits until all findings are resolved.
refactor: extract sendPromptWithRetryRecovery to deduplicate retry patterns in runtime
Consolidates 6+ instances of inline retry-with-fallback patterns into a shared sendPromptWithRetryRecovery and buildPromptRetryFn. Net -75 lines.
v0.5.5
fix: honor per-loop sandboxEnabled=false in workspace adapter
The remote launch config flag (remotes[].sandbox=false) was only consulted at session-attach time, but forge-adapter.create() unconditionally provisioned a sandbox container when a sandbox manager existed. On remotes without Docker, this caused "Docker is not available" before the per-loop flag was ever read.
Guard sandbox provisioning on info.extra.forgeLoop.sandboxEnabled !== false so an explicit opt-out skips the Docker start entirely.
Upgrade: update the forge plugin on any remote server that runs sandboxed loops (or that is launched into by a client with remote targets).
v0.5.4
What's Changed
- refactor: replace custom sh tool with sandbox shell shim by @chriswritescode-dev in #65
Full Changelog: v0.5.3...v0.5.4
v0.5.3
feat: add project.current SDK support and improve TUI multi-checkout project discovery
v0.5.2
feat: add remote loop launch support via TUI (#64)
v0.5.1
What's Changed
- worktreeOpencodeConfig — per-loop inline opencode config written to worktree
opencode.jsonc(git-excluded, removed before teardown commit to keep loop history clean). MCP servers declared here run as host processes from the worktree directory.
Full changelog
- feat: add worktreeOpencodeConfig for per-loop opencode config (#63)
- chore: bump version to 0.5.1
v0.5.0
Highlights
Parallel feature groups — A new launch-group workflow takes a broad source of work (a PRD, a set of GitHub/Linear issues, a milestone) and splits it into implementation-coherent features. Each feature is planned by the architect-auto agent and runs as its own loop, scheduled with a per-group concurrency cap. Track and control runs with group-status and group-cancel.
Redesigned dashboard — Rebuilt on SolidJS with a live activity feed and session observability. Loop and section views were restructured, and live transcripts now stream over SSE with per-session filtering.
Also new
new-sessionloop mode —execute-plancan launch a plan in a fresh standalone session instead of a git worktree loop.- Post-action phase — new loop state for review/fixup after the main work completes.
- Custom sandbox mounts — configurable bind-mounts for sandbox containers; tool-output directory now exposed to loop/audit sessions.
- Model variant defaults — model/variant selection driven by config priority.
forge installCLI — installs bundled prompts and feature modules, kept in sync via content-hash manifests.
Fixes & internals
- Deeply-nested sub-agent sessions resolve correctly; TUI loop follower no longer auto-follows child sessions.
- Sandbox reliability:
sandbox.enabledhonored on attach, Docker socket reachable and pnpm store writable as non-root. - Test suite migrated from
bun:testto Vitest. - README split into focused reference docs (
configuration.md,sandbox.md,tools.md).