Repository navigation
v0.49.16
·
431 commits
to master
since this release
v0.49.16
This patch release fixes long Pi sessions refusing turns since 0.49.15, keeps summarization on the models you configured, preserves subagent tool results under pressure, and improves long-session recovery and private diagnostic reports. Without a historian model, OpenCode still inherits the session model; Pi and Oh My Pi still do not summarize.
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
- Long Pi sessions no longer refuse turns while other sessions write to the shared database. 0.49.15's background tag loading treated any write to the database, from any session, as a sign its pages were outdated, so long sessions could be refused on every turn. Tag loading now checks only the current session for changes, and restarts an outdated load within the existing turn budget.
- Configured historian chains no longer fall back to the active session model when exhausted (issue 740, thanks @chpock).
- Historian calls no longer accept a provider's model suggestion, so a misspelled or unknown model can't be swapped for an unconfigured one (issue 744, thanks @null-axiom).
- Subagent tool results stay intact when an emergency reduction cannot fit. An impossible protected-history floor no longer silently drops tool results, and a refused reduction stays refused on retry (issue 731, thanks @tppawelgrzesik).
- Historian repair prompts explain when a chunk is complete. When all messages in a chunk are covered, repair requests place
<unprocessed_from>after that chunk's last message. Pi fallback models receive the same repair prompt (issue 727, thanks @null-axiom). doctor --issuekeeps your own explanation and the diagnostic error wording. Project paths, ids and message content stay masked or aliased in the report, so real project names and directories are not exposed (issue 732, thanks @tppawelgrzesik).- Oh My Pi accepts system notices in the middle of history. Positioned
role: systemrows no longer break managed requests or WebSocket continuations (issue 686, thanks @Qiiks, @Zireael and @IdealBoy709). - OpenCode 2 refreshes model limits after a provider reload. The next request uses the updated context limit instead of a stale cached value (issue 741, contributed in PR 742 by @tobwen).
ctx_expandno longer freezes OpenCode while reading archived history. Archive searches avoid a global full-text scan, and raw ordinal reads run off the main thread.