Skip to content

v1.1.0

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 24 Sep 14:52
· 5 commits to main since this release

Requirements

  • OpenCode 2.x is required. Forge now targets OpenCode 2.x only (engines.opencode is >=2.0.14). OpenCode 1.x is no longer supported: the V1-only plugin surfaces were removed. Upgrade OpenCode before installing this release.

Highlights

  • OpenCode 2.x support on a shared host-neutral core: createForgeCore holds the handler bodies both hosts drive, so loop runtime, storage, sandbox, and tool logic stay single-sourced. src/index.ts and src/tui.tsx are thin adapters, and V2 differences are absorbed at the ForgeClient port, event normalization, and the hook adapters.
  • Native worktrees and locations replace warp: loop sessions are created directly at location.directory = <worktree>, and session.move replaces warp. Loop metadata moves from the V1 workspace extra to <worktree>/.forge/workspace.json — git-excluded and deleted with the worktree, so no new table or migration is needed.
  • V2 TUI: the execution dialog, loop restart, loop sidebar (capped at three loops), and loop-session deletion run on OpenCode 2.x, sharing the dashboard launcher and keybinds with the existing TUI surface.
  • Installer: --link and --vendor write the cli.json plugins entry alongside the existing tui.json plugin entry, through one shared jsonc-edit implementation.
  • Docs: README and docs/ cover the V2 entries, the worktree/location model, shell routing, and the install layout.

What's Changed

  • feat(host): add OpenCode 2.x support on a shared host-neutral core (#102)
  • refactor(v2): require OpenCode 2.x and remove 1.x-only surfaces
  • feat(v2): add the execution dialog and loop controls to the V2 TUI
  • feat(v2): restyle the loop sidebar and cap it at three loops
  • feat(v2): delete retired loop sessions through the TUI
  • fix(v2): align event mapping, toasts, and session usage with OpenCode 2.x
  • fix(install): write the server plugin shim for --link and --vendor
  • feat(sandbox): auto-approve permissions in sandboxed sessions