Repository navigation
v0.49.18
·
385 commits
to master
since this release
v0.49.18
This patch release fixes a repeated cache bust after cleanup on OpenCode 2, false dispatch refusals on Oh My Pi, tag numbering around file attachments, section references in the tag cleaner, compaction during long Claude turns, and context sizing on the first pass after a host restart.
Upgrading
- No migration.
context.dbstays at schema 95 andstore.dbat schema 63. Restart OpenCode 1, OpenCode 2, Pi or Oh My Pi after updating.
Fixed
- On OpenCode 2, a cleanup pass is no longer followed by a second cache bust on the next request: instruction rows already covered by the history summary are now served on every pass, so the pass after a cleanup sends the same bytes (issue 750, thanks @null-axiom).
- Pi and Oh My Pi no longer refuse valid requests with
comparison=rolewhen a tool call was interrupted by another message. The dispatch check now models the host moving the tool result forward into the call's window, but only on providers where Oh My Pi itself does that (issue 751, thanks @Zireael). - New OpenCode file attachments no longer take a tag number, so the next visible number the model sees is the one its reply gets. Token totals for messages that mix text and files are also corrected in the sidebar and in protected-tail sizing.
- The tag cleaner no longer drops the leading digit of a section reference such as
§12.3. A session with a text part that starts with such a reference has its prompt cache rewritten once, from that part on, the first time this version serves it. - Long autonomous turns on Claude models whose thinking is bound to the prompt prefix now compact at the normal threshold, instead of staying at 85-99% until the next user message. Compaction is held only right after heavy reasoning, on OpenCode 1, OpenCode 2, Pi and Oh My Pi (issue 729, thanks @moynzzz).
- After a host restart, the first pass no longer sizes context usage with the fit-check estimate, which could double the reading for models missing from the tokenizer calibration table and land queued or emergency drops on a pass that should have deferred (issue 752, thanks @Sugaroverdose).
Docs
- The configuration reference's context-management section now explains that a
cache_ttlshorter than the provider's real cache lifetime (for example a locally hosted model whose prefix cache doesn't expire) makes idle expiry rebuild onto a cache that is still warm, socache_ttlshould match the provider.