Skip to content

v0.49.53

Choose a tag to compare

@github-actions github-actions released this 12 Nov 17:52
· 24 commits to master since this release

v0.49.53

This patch fixes Oh My Pi turns that were refused on the OpenAI Responses route and after an automatic provider retry, lets subagents on thinking models shrink again near the end of their window, and makes ctx_search work on the Node releases with the node:sqlite binding bug.

Upgrading

Restart your host after updating. No database migration is needed.

Fixed

  • Oh My Pi 18.19.0: Responses turns refused with comparison=content (issue 909, thanks @TheOrdinaryWow): Magic Context trimmed the whitespace around a reply that carried no tag, and Oh My Pi 18.19.0 treats any change by an extension as a rewrite: it copies the text into its own history and drops the reply's signature. The next request then no longer matched what Magic Context had planned, and was refused on every turn on that model. Replies without a tag are now left exactly as the model wrote them, a clean unsigned reply is planned the way Oh My Pi replays it, and edits Magic Context does make to older turns are applied to Oh My Pi's own history too.
  • Oh My Pi: an automatic provider retry was refused (issue 907, thanks @Zireael): when a request failed with a rate limit, Oh My Pi's retry could arrive after the failed attempt's end notice, and Magic Context had already released the prepared request. The retry is now admitted.
  • Subagents on thinking models stayed near the end of their window (issue 905, thanks @dhaern): after heavy reasoning, Magic Context briefly holds back changes that would invalidate the model's signed thinking. With a high threshold that hold could reach into the band where the window is nearly full, and then nothing was removed. The hold now ends where that band begins, so queued drops and the emergency drop run there.
  • ctx_search failed with "column index out of range" on some Node releases (issue 906, thanks @yiyi-wei): Node 22.16 to 22.19 and 24.0 to 24.6 cannot bind numbered SQL placeholders such as ?1 by position. Every query now uses plain ? placeholders, and a check stops numbered ones from coming back.
  • A turn whose thinking the provider rejected stayed refused: if Anthropic rejected the thinking in the latest assistant turn, for example after a fallback put two models' thinking in one turn, every later request was rejected the same way. Magic Context now removes that turn's thinking and sends again, at most a few times.
  • A rebuild that failed late could cost a second prompt rewrite: a pass that could not finish, or a busy store when moving OpenCode 1's compaction marker, left part of its work saved and made the next request rewrite the cached prompt again. A pass now either serves what it saved or leaves nothing behind.
  • Summary publishing sent oversized embedding requests (issue 902, thanks @iceteaSA): a whole summary went to the embedding provider in one request. It is now split into the same bounded windows as other embeddings.

Changed

  • doctor --issue warns when the OpenCode 2 plugin is outdated (issue 903): OpenCode 2 installs a plugin once and doesn't update it on its own. The report now names the installed version beside the CLI's and says how to update. The docs have one update procedure for OpenCode 2.

Dashboard

  • A stable token in serve mode (issue 447, thanks @yiyi-wei for pull request 897): the dashboard can keep its access token in a file, so the address stays the same across restarts. This ships with the next dashboard build.