@oh-my-pi/pi-ai
Fixed
- Codex SSE streams that end without a terminal completion event now retry when replay-safe and remain transient errors when partial output prevents replay (#11349).
@oh-my-pi/pi-coding-agent
Added
/renamewithout a title now generates a session name from recent conversation using the configured tiny model.- Added opt-in experimental notes-backed context windows with persistent branch-local notes, searchable original session history, retained latest user requests, and a model-callable rollover tool, including in Code Mode.
/loopaccepts--until '<cmd>'/--while '<cmd>'to gate each iteration on a shell command's exit status, so a loop can stop on real project state instead of only a count or duration. (#10858 by @andyhite)
Fixed
- Read error and preview rendering now sanitizes tabs and Windows-style CRLF (e.g. ssh host-key failures, tab-indented fetched content) so raw output can no longer tear the result frame.
- Unset
tinymodel roles now honor the configured@smolfallback in direct execution and the/modelsRoles view (#11311). - Extension Control Center (
/extensions) search now acceptsjandk, so extensions likejira/jsonare searchable; barej/kno longer move the list selection (use arrow keys or the configuredtui.select.up/down) (#11350). - Codex turns interrupted before terminal completion now auto-continue after resolved tool calls instead of stopping (#11349).
- Fixed the status line's
pibrand/working segment double-padding the first separator, so every gap around a separator is a single space (#11103). /handoffno longer leaves the TUI in a running state when completion races with delayed session events (#11263).- Fixed legacy Pi extensions failing to load when calling
ctx.isProjectTrusted()in an event handler; the extension context now exposes it (alwaystrue, since OMP applies no project-trust gating) (#7955). - Fixed Ctrl+Z jobs exiting successfully after
fginstead of restarting the TUI because terminal teardown left Bun without a referenced event-loop handle while waiting forSIGCONT(#8585). - Extensions loaded by the npm CLI now apply settings overrides to the active session, so generated agents and model choices remain isolated between sessions (#11047 by @mgpai22).
- Live task dispatch now reloads added, changed, removed, and deleted project task and retry settings before resolving subagents (#11191).
- Reset
/loopiterations combined with--while/--untilno longer keep submitting without resetting when vibe mode is enabled while the condition command is still running; the loop now disables itself instead (#10858).
@oh-my-pi/pi-utils
Fixed
- Fixed
$whichcapturingBun.whichat import on Linux and Windows, soBun.whichstubs installed later (e.g. per-test spies) are honoured and PATH-only language servers no longer leak into test results.
What's Changed
- feat(coding-agent): add experimental notes-backed context windows by @wolfiesch in #10893
- fix(coding-agent): sanitize tabs and CR in read error rendering by @H4vC in #11305
- TUI: single delta marker for turn elapsed time in usage rows by @JamieJ5926 in #11332
- fix(agent): retry truncated Codex streams by @roboomp in #11356
- fix(tui): let /extensions search accept j and k by @roboomp in #11352
- fix(coding-agent): honor configured smol fallback for tiny by @roboomp in #11312
- fix(tui): clear stale loader after handoff completion by @roboomp in #11264
- fix(auth): refresh desktop database for native zcode:// oauth by @roboomp in #11287
- fix(update): validate foreign symlink targets by @roboomp in #11155
- fix(compaction): rearm idle timer after setting changes by @roboomp in #10244
- feat(coding-agent): gate /loop iterations on a shell condition by @andyhite in #10858
- fix(tests): dispose status lines before settings teardown by @roboomp in #11098
- fix(commit): route agentic pipeline through commit model by @roboomp in #10993
- fix(eval): return immediate thenable handles from JS completion/agent by @roboomp in #10992
- fix(plan-mode): inline approved plan content by @roboomp in #10926
- docs: fix README hashline package link to deleted directory by @roboomp in #10885
- fix(coding-agent): recheck vibe guard after loop condition gate by @H4vC in #11367
- fix(coding-agent): break tiny/smol fallback cycle on default alias by @H4vC in #11363
- fix(settings): refresh project cache before reload by @roboomp in #11198
- fix(coding-agent): discover --plugin-dir agents without claude opt-in by @roboomp in #11153
- fix(tui): drop trailing pad from pi status segment by @roboomp in #11105
- fix(coding-agent): preserve npm extension session settings by @roboomp in #11051
- fix(coding-agent): restore getSupportedThinkingLevels in legacy pi-ai shim by @roboomp in #10801
- fix(task): ignore Claude marketplace model aliases by @roboomp in #7967
- fix(coding-agent): keep suspended sessions alive for fg by @roboomp in #8629
- feat(catalog): update Fire Pass models to glm-5.2-fast and kimi-k3-fast by @olegpulatov in #10859
- feat(coding-agent): generate a title when /rename has no arguments by @gitpushoriginmaster in #11084
- fix(extensions): expose ctx.isProjectTrusted for legacy pi extensions by @roboomp in #7958
- test(ai): gate the ::1 callback bind assertion on the host's IPv6 loopback by @PeterPonyu in #11385
- fix(utils): resolve Bun.which per call in whichFresh by @PeterPonyu in #11386
- test(coding-agent): make the project-venv setup test hermetic to an activated env by @PeterPonyu in #11387
- fix(coding-agent): guard reset loops against in-flight vibe activation by @H4vC in #11368
- docs: point AGENTS.md VCS helpers at natives/vcs by @PeterPonyu in #11396
- fix(coding-agent): complete title signal stub in working-accent harness by @H4vC in #11398
New Contributors
- @gitpushoriginmaster made their first contribution in #11084
- @PeterPonyu made their first contribution in #11385
Full Changelog: v18.1.15...v18.1.16