Skip to content

v0.49.8

Choose a tag to compare

@github-actions github-actions released this 17 Oct 04:20
· 748 commits to master since this release

v0.49.8

This patch release removes long freezes in large OpenCode sessions, fixes a memory leak in Pi, makes summarized-history replay more reliable on OpenCode 2, applies historian limits consistently, and reduces what diagnostic reports share. There is no database migration.

Upgrading

  • No migration. context.db stays at schema 95 and store.db at schema 63. Restart OpenCode 1, OpenCode 2, Pi or Oh My Pi after updating.
  • Some OpenCode 2 sessions have a one-time request-byte change. Previously omitted host instructions are now retained when replaying summarized history. This can change the cached request prefix once after upgrading; subsequent replays keep those instructions stable (#702).

Fixed

  • Historian output limits apply to every recompression and wrapup path. Automatic runs, manual commands and RPC requests now consistently honor historian.maxTokens, including Pi and Oh My Pi (#701).
  • OpenCode 2 can replay summarized history when its boundary message is outside the current message window. A boundary that still exists in the host database can be placed using its saved order, including after moving a session or deleting unrelated old rows. Unsummarized instruction updates remain in the request, and repeated replays do not bring the old history back. Recovery commands also reach the plugin instance for the session's current project (#702).
  • Large OpenCode sessions with many edits no longer freeze for seconds on each turn. Reapplying dropped tool output used to copy each output's large display-only data every turn; it now copies only what it changes (#703).
  • Pi no longer keeps old turns in memory. Long-lived workers, timers and connections were created inside a turn and kept that turn's messages alive. They are now created outside any turn, so finished turns can be freed (#707).
  • OpenCode 2 no longer returns the first message for an ordinal beyond the end of a session. ctx_expand reports that the requested message or range is absent, or returns an available search-archive excerpt instead of mislabeling unrelated source text.
  • Slow database work no longer interrupts turns. The 2-second wait for a locked database now counts only time actually spent waiting for the lock, so slow but uncontended work can't use it up and cause a refusal. A genuinely locked database still refuses safely after 2 seconds.
  • doctor --issue reports share less private information on every host. OpenCode, Pi and Oh My Pi reports use consistent aliases for paths and identifiers and omit free text, source content and tool content. Recent error diagnostics are retained separately from the log tail. Review the generated report before sharing it.