v2026.10.5
·
549 commits
to main
since this release
@code-yeongyu/senpi
Breaking Changes
Added
open_sessionacceptsbrowserEngine(connected,builtinornone) and hosts advertise thebrowser_enginecapability: the choice is per session, so that session's tool subprocesses and eval kernels seeOMO_BROWSER_ENGINEand no other session does, a reattach moves or keeps it, andBSK_HOME/BSK_BINpass through unchanged (#2611).- A
media_placeholdersclient now gets animage_refplaceholder whosepathnames the stored image (written before the placeholder is emitted under the session'smedia/<durableSessionId>/directory, private and read-only, deleted with the session), or anunavailableReasonofimage_too_large,session_limitorstorage_error, so tool images other thanreadcan be rendered from disk. - An edited assistant response can be continued with no new prompt: the RPC
continue_from_leafcommand (advertised as thecontinue_from_leafcapability) starts a turn from the session leaf through a hidden nudge the transcript never shows, refusing withstreaming,nothing_to_continue, orleaf_not_assistant(the conversation ends on a user message).get_available_modelsrows reportsupportsAssistantPrefill(false for every model today) (#1930).
Changed
Fixed
nvidiastarts on a model its catalog still has: the v2026.10.4 catalog no longer listsnvidia/nemotron-3-super-120b-a12b, so an NVIDIA-only user without a saved model silently started on the catalog's first entry (deepseek-ai/deepseek-v4.1-flash) instead of the provider default. The default is nownvidia/nemotron-3-ultra-550b-a55b, and a release now stops when a catalog regeneration drops any bundled provider's default (#2645).apply_patchkeeps each line's ending when it updates a file: CRLF and mixed-ending files are no longer rewritten to LF, inserted lines take the file's line ending, and context lines stay exactly as they were, so a one-line change is a one-line diff (#2638).apply_patchno longer drops a file section whose header is indented while reporting success: indented headers apply as in Codex, any other line between file sections rejects the patch before anything changes, and the permission system's per-file approval lists exactly the files the patch writes (#2636).
Removed
@code-yeongyu/senpi-ai
Breaking Changes
Added
- Models can declare
supportsAssistantPrefill, andmodelSupportsAssistantPrefill(model, { thinkingEnabled })reports whether a request may end with an assistant message the model continues (never with extended thinking on the Anthropic Messages API); no built-in model declares it yet (#1930).
Changed
Fixed
- A first-turn forced
tool_choicethat a strict-schema gateway refuses by naming the forced tool (itstools.Nindex or quoted name in a 400) is retried once without the forced choice, like the other forced-choice refusals, so a new session's first message no longer fails there; an unrelated 400 still fails (#2648, reported by @rhyme227 in code-yeongyu/oh-my-openagent#9507).
Removed
@code-yeongyu/senpi-agent-core
Breaking Changes
Added
Changed
Fixed
Removed
@code-yeongyu/senpi-codemode
Breaking Changes
Added
- Eval kernels expose the session's
OMO_BROWSER_ENGINEand clear a value inherited from the host process for a session that chose no engine (#2611). - A Python, Ruby, or Julia eval kernel whose interpreter dies is replaced once instead of failing every later cell: Ruby and Julia no longer stay closed after a crash, and a Python kernel whose stuck interpreter finally exits recovers instead of rejecting every cell. Cells queued behind the death keep their order and run on the replacement, whose first result says
[<language> kernel was restarted after <reason>; every global is lost]; the cell that was running fails once and is never re-run, and a replacement that dies before finishing a cell fails the queued cells witheval_kernel_unavailable(#2452)