Skip to content

v0.29.1

Choose a tag to compare

@github-actions github-actions released this 27 Jun 11:39
· 2490 commits to master since this release

v0.29.1

A small patch release: fixes a multi-project Desktop warning, a tool-call edge case for GPT-family models, and simplifies an internal nudge path.

Fixes

  • No more MaxListenersExceededWarning on OpenCode Desktop with several projects open. Each plugin instance was registering its own process-exit listener; past Node's 10-listener default this logged a warning. All instances now share a single exit listener.
  • ctx_note defaults to read correctly for GPT-family models. Models that fill every optional parameter (sending content: "" for a read) made ctx_note infer a write and reject the empty content. It now infers write only on non-empty content.
  • Pi resolves OpenAI and Google models from a shared OpenCode/Pi config. OpenCode and Pi name a few providers differently (openai vs openai-codex, google vs google-antigravity); a model configured in one harness' form is now translated automatically so the same shared config works on both. Anthropic and other providers were already identical.
  • Dreamer "last run" time is accurate again (#194). After upgrading to Dreamer V2, the sidebar and /ctx-status showed a frozen timestamp from the old V1 dream cycle even though V2 tasks were running nightly. They now read the most recent task run, so the displayed time tracks real execution. Thanks to @wjiuxing for the precise report.

Internal

  • Channel 2 ceiling nudges now deliver through the in-process client OpenCode hands the plugin instead of a separate live-server client + reachability probe (the upstream duplicate-runner bug the workaround guarded against is fixed in OpenCode ≥ 1.17.7). As a side effect they also work on plain TUI now.
  • Removed dead code and a circular import (storage-dbmigrations) surfaced while dogfooding our code-health tooling.