v18.1.20
@oh-my-pi/pi-ai
Fixed
- Fixed Windows OAuth sign-in failing on every attempt after an upgrade when a previous run left a stale native callback registration behind; handlers registered by older binaries are now recognized as owned and rolled back instead of blocking recovery (#11967 by @H4vC).
@oh-my-pi/pi-catalog
Fixed
- Fixed DeepSeek V4.1 Flash dropping image attachments on hosts without their own carve-out, so the natively multimodal model is no longer treated as text-only (#11992 by @infernix).
- LiteLLM model groups keep the image input their deployment declares, instead of having attachments replaced with the "model does not support vision" placeholder (#11982, #11985 by @lz37).
- Fixed OpenCode Zen/Go Muse Spark models failing every tool-call turn with a 400 "reasoning encrypted_content was not issued to this caller" error: the gateways proxy the Responses lane to Meta but can't round-trip encrypted reasoning, so those SKUs no longer request or replay it (#11928).
@oh-my-pi/pi-coding-agent
Added
- Added
collab.autoStart(off|view|control): every local interactive session hosts itself as it starts and rotates its room on/new,/resume, fork, or branch, so a phone or dashboard can reach any running session without running/collabfirst (#11908 by @alphastorm and @sorphwer). - Added
omp collab list [--json]and/collab listto enumerate every live local Collab host (instance, generation, session, cwd, model, participants, relay/attention state, access) without exposing links, plusomp collab link <instanceId|pid> [--view]to fetch one generation-bound browser URL from a private per-room Unix socket/named pipe registry; room keys, write tokens, and URLs never touch disk (#6099; #11908 by @alphastorm and @sorphwer).
Changed
- Documented that native JS/TS hook factories must live in
.omp/hooks/pre/or.omp/hooks/post/(not directly in.omp/hooks/), and cross-linked the hooks and extension-loading docs (#11942).
Fixed
- The hidden notice announcing a mid-session tool-availability change now states that it lists only what changed, so an additions-only notice no longer reads as the complete tool set and the model keeps using tools that are still callable (#11824 by @camjac251).
- TTSR stream buffers now reset at every assistant message boundary, not only at turn start, so a
scope: textor tool-argument rule can no longer fire on a later message because of text streamed by an earlier response in the same turn (#11957 by @srobroek). - Eval
completion()calls now use configured retry fallback chains when their role model fails (#11989). - Eval
completion()fallback chains now also apply to unqualified role models, walk into a failed fallback's own model chain, stop atretry.maxRetries, and resolve session-sticky credentials with the session id (#11989). - Eval
completion()fallbacks now keep depth-first chain order, inherit the failed candidate's effort for bare nested entries, and skip keyless candidates without spendingretry.maxRetriesbudget (#11989). - Eval
completion()fallbacks reached at different efforts now each walk their shared descendants instead of truncating the later effort's path (#11989). - Fixed ranged grep rejecting existing files with glob characters in their names (#11977).
- Notified Collab guests when admitted prompts are discarded, including room retirement during a session change (#11908 by @alphastorm).
- Preserved pending Collab dialog answers across session-switch rollback without accepting them after commit, stop, or writer departure (#11908 by @alphastorm).
- Fixed prompts awaiting setup crossing a fork, branch, or tree-navigation commit, multi-question extension dialogs moving later questions to a replacement Collab room, and stale rooms blocking
/collabor/joinafter a failed session change (#11908 by @alphastorm). - Fixed background task cards missing their final completion or failure after an early result or live-session focus replay.
- Ranged reads on Windows no longer intermittently open the selector-suffixed path when filesystem probes return transient errors (#11284).
What's Changed
- fix(catalog): scope the Fable cache-read patch to the 5.1 revision by @camjac251 in #11862
- docs(hooks): document pre/post discovery location for hook factories by @roboomp in #11943
- fix(catalog): disable encrypted reasoning replay for opencode muse-spark by @roboomp in #11931
- fix(catalog): update yolo-auto flash test for 384K maxTokens by @H4vC in #11968
- fix(catalog): clamp canonical maxTokens fallback to model context window by @onlyysaurabh in #11952
- fix(auth): accept legacy verbatim commands in Windows OAuth recovery by @H4vC in #11967
- fix(tui): preserve held background task lifecycle by @serverinspector in #11971
- feat(collab): auto-start sessions and list live hosts locally by @alphastorm in #11908
- fix(tools): bypassed literal selector probes on Windows by @roboomp in #11288
- docs(changelog): drop stray Copilot duplicate from 18.1.19 by @H4vC in #11986
- fix(coding-agent): reset TTSR buffers per assistant message by @srobroek in #11957
- fix(catalog): merge LiteLLM compat across management endpoints by @lz37 in #11985
- fix(grep): preferred existing literal paths for ranges by @roboomp in #11981
- fix(prompts): mark the tool-roster notice as a delta, not a roster by @camjac251 in #11925
- fix(coding-agent): recognize successful kernel shutdowns by @moodiness in #11865
- fix(coding-agent): exclude metadata from executable tool discovery by @moodiness in #11864
- fix(eval): apply fallback chains to completions by @roboomp in #11993
- test(mcp): retry heap-snapshot probe until GC settles by @roboomp in #11978
- fix(eval): harden completion() fallback chains by @H4vC in #11994
- fix(catalog): keep image input on the natively multimodal DeepSeek V4.1 Flash by @infernix in #11992
New Contributors
- @onlyysaurabh made their first contribution in #11952
- @moodiness made their first contribution in #11865
Full Changelog: v18.1.19...v18.1.20