Skip to content

v1.11.3

Choose a tag to compare

@github-actions github-actions released this 23 Sep 07:40
· 9175 commits to main since this release

@oh-my-pi/pi-agent-core

Changed

  • Proxy streams parse partial tool-call arguments with the same throttled parser as provider streams, instead of reparsing the full buffer on every delta (200 KB argument: ~1.6 s → ~6 ms).

@oh-my-pi/pi-ai

Fixed

  • Fixed Anthropic per-message effort when a session starts without an explicit effort: the omitted level was assumed to be high, but Opus 5.5 defaults to medium, so a later switch to high never reached the API. Omitted effort is now tracked as its own baseline and every later explicit level is sent as a per-message control (upstream 20f18f8).
  • Fixed resuming an Anthropic session in a new process after an effort change losing the whole prompt cache (Opus 5.5: ~116K tokens re-written). Each assistant turn now records the effort it ran at (anthropicEffort), and a fresh session rebuilds the original top-level effort and per-message effort controls from those records.
  • Fixed every request paying a failing OAuth refresh round trip when an account in the pool had a dead refresh token: a credential blocked after a failed refresh is no longer re-refreshed during candidate preflight while its 5-minute backoff runs (forced re-mints still refresh it). With one dead OpenAI Codex account next to a healthy one, resolving a key dropped from ~480 ms to ~1 ms per request.

@oh-my-pi/pi-catalog

Fixed

  • Fixed GPT-6 Sol and Luna missing from OpenAI Codex model discovery by advertising Codex client 0.155.1 and keying the Codex model cache on the client version (#12885 by @itsddvn)
  • Added GPT-6 Sol and Luna thinking efforts on GitHub Copilot

@oh-my-pi/pi-coding-agent

Changed

  • Streaming a large tool call no longer slows every frame: the status line tracks tool-argument growth without re-serializing the arguments (1000 frames with a 200 KB argument: ~100 ms → <1 ms).
  • Assistant messages with many thinking/text blocks update in one pass instead of rescanning later blocks for every thinking block.
  • Image generation through a connected OpenAI Codex subscription now defaults to gpt-6-astra in every session, including Codex sessions chatting with an older GPT model; agents are told to leave the image provider unset unless the user names one.
  • Messages that scroll into terminal history drop their streaming render caches, cutting retained memory for long sessions (~33% less heap for 2000 committed 20 KB blocks).
  • Streamed message_update events are no longer queued for extensions when no extension listens for them.
  • The shared LSP daemon encodes each diagnostics message once instead of cloning it twice, and drops cached diagnostics when a document is closed (1000 publishes × 500 diagnostics: ~3.1 s → ~1.1 s).
  • A running tool with a lot of output no longer burns CPU on every spinner tick: the spinner no longer throws away the output block's render cache (5 MB bash output, 100 ticks: ~810 ms → <1 ms).
  • codegraph_explore no longer builds a missing index or waits minutes for one: on a project without an index it answers in milliseconds and points to jev_scout, and it waits at most 10 s for a sync or startup index already in progress. A first explore in a fresh worktree used to block every subagent that called it for ~6 minutes while it indexed the whole repository.
  • jev_scout now carries a full query guide: when to use it, the query shape, how to pick path and max_files, how to check a hit, and a change-one-input recovery after no_match. The guide is built from measured scout runs: starts at a repository root missed after one listing, while lookups scoped to a file hit in one request.
  • When codegraph_explore is missing, unindexed, still indexing, not installed, or off-target, agents switch to jev_scout (or grep/read for exact names) instead of guessing greps, installing CodeGraph, or building its index. codegraph_init now runs only when the user asks for it.

Fixed

  • Activating an MCP tool through tool discovery mid-conversation no longer rewrites the system prompt, which forced the provider to re-cache the whole conversation history (measured on Anthropic: ~45K tokens re-written per activation). The search result now names the new xd:// path, and the next mount notice names the original MCP call.
  • tnx/scout now reports its real 256K context window (64K output) instead of the 128K default, so sessions on it compact at the right time.

@oh-my-pi/context-gc-plugin

Changed

  • The per-request context check indexes messages and branch entries once instead of comparing every record against every message, about 12x faster with 1000 messages and records.

@oh-my-pi/pi-tui

Changed

  • Streaming Markdown renders ~4x faster on long replies: frozen prefix tokens and rows are reused instead of copied every frame, and a growing top-level list re-renders only its new items (56 KB reply: ~1.4 s → ~0.3 s total).
  • Typing in a large editor draft is fast again: wrap measurements for the whole draft stay cached instead of being cleared every 256 lines (2000-line draft: ~56 ms → ~1 ms per keystroke).

@oh-my-pi/pi-utils

Changed

  • chalk style chains are built once per parent builder and reused, instead of building a new builder on every property access.
  • Markdown inline lexing no longer rescans the rest of a paragraph for URLs and hard breaks after every text run, which removes quadratic work on long paragraphs.

What's Changed

  • ci: drop Intel macOS (darwin-x64) targets by @qtnx in #211
  • perf: faster streaming render, keystrokes, subagent auth and CodeGraph lookups; jev_scout query guide by @qtnx in #210
  • fix(image-gen): default Codex image model to gpt-6-astra by @qtnx in #214
  • fix(mcp): keep system prompt stable when discovery mounts MCP tools mid-conversation by @qtnx in #212
  • fix(ai): keep Anthropic per-message effort correct and cache-stable across resume by @qtnx in #213
  • fix(catalog): pick upstream GPT-6 Sol/Luna Codex discovery + Copilot efforts by @qtnx in #215
  • fix(coding-agent): report real context window for tnx/scout combo by @qtnx in #216
  • test(coding-agent): key Codex model cache seeds by client version by @qtnx in #217

Full Changelog: v1.11.2...v1.11.3