Skip to content

v0.164.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 10:12
· 438 commits to main since this release
d3af63b

v0.164.0 stops simultaneous settings changes from overwriting each other, cleans up the processes an agent leaves behind when you quit, and fixes duplicated text while a background result streams.

Chat

  • A turn the agent runs off a background result no longer streams doubled, interleaved text while it generates (#3432).
  • Recalling a queued message the agent had already read now shows a warning that sending it unchanged would deliver a second copy, with Clear draft and Send anyway (#3413).
  • A chat task whose producer vanished no longer spins forever: a periodic sweep marks it failed with a diagnosis, and waits long enough never to cut off a long, productive turn (#3418).
  • Narrow markdown-table columns no longer collapse to one character per line (#3412).

Settings & setup

  • Two settings changes at the same moment no longer silently drop one of them — plugin install/enable/update/uninstall, MCP servers, model connections and delegates (#2743).
  • Adding, importing or removing an MCP server no longer freezes the agent while it reloads (#2743).
  • A failed share/unshare of an MCP server no longer loses the server, and two creates of the same delegate name no longer overwrite each other (#2743).
  • Plugin setup gaps — say, a board with no coder or no bound repo — now show as banners you can dismiss for the session, with a button to the right settings when the plugin offers one. Runtime status also publishes them as structured setup_gaps (#3421, #3395).
  • A bare workspace create on a hosted box can reach a model again, and new agents are created in the provider-registry shape (#3425).

Agents & delegates

  • Quitting no longer leaves agents' shell commands, coding delegates and scripts running (#3428).
  • A delegate's question for a human now reaches the calling agent in a form it can answer — a form's fields and choices, an approval's action — not just its title (#3414).
  • The gateway client now always speaks chat-completions: a model name containing "codex" no longer sends an OpenAI-compatible endpoint to /v1/responses. Native ChatGPT/Codex sign-in is unchanged; PROTOAGENT_GATEWAY_RESPONSES_API=1 restores the name-based choice (#3424).
  • load_skill flags a skill's required tools that aren't available in the current context (#3403).
  • onboard_project reports how far a reused checkout has drifted from its upstream, without fetching (#3402).

Also new if you're updating from v0.162.0 (v0.163.0 didn't ship to the desktop app)

  • Rooms: addressed participants now answer each other, not just you — room.max_rounds defaults to 3; set it to 1 for the old single pass (#3404).
  • Project onboarding is switched on by default so you can find it; nothing can be cloned or registered until you set its allow-list and root (#3396).
  • Parallel edit_file calls and parallel artifact updates no longer discard each other's edits (#3400, #3401).
  • A coding delegate's reply reads as prose again, not one unbroken wall (#3408).
  • Scheduler failure backoff no longer loses a slot (#3381), and onboard_project refuses an unset root instead of cloning into the server's working directory (#3397).

What's Changed

  • feat: fix(console): adopt @protolabsai/ui 0.60.2 markdown table wrapping fix by @mabry1985 in #3412
  • feat: fix(chat): make already-consumed queued-message recall visibly duplicate-safe (#3413) by @mabry1985 in #3417
  • feat: fix(skills): surface unavailable required tools when loading a skill (#3403) by @mabry1985 in #3419
  • feat: Render setup-gap warnings as actionable, dismissible console banners by @mabry1985 in #3421
  • fix(hitl): a delegate's parked question reaches its caller answerable (#3414) by @mabry1985 in #3416
  • feat: fix(onboarding): report tracking-branch drift when reusing a checkout (#3402) by @mabry1985 in #3415
  • feat: Publish structured setup gaps in the runtime-status response by @mabry1985 in #3395
  • ci(deps): regenerate attribution on dependabot PRs by @mabry1985 in #3410
  • fix(tests): stop two environment-dependent assertions flaking the Windows shard by @mabry1985 in #3422
  • feat: fix(a2a): reap orphaned WORKING tasks without timing out productive turns (#3418) by @mabry1985 in #3420
  • fix(llm): pin the gateway client to the chat-completions wire (#3392) by @mabry1985 in #3424
  • fix(workspaces): create new agents in the provider-registry shape (#3128) by @mabry1985 in #3425
  • docs(llm): the name-based wire inference predates the drift (#3424) by @mabry1985 in #3426
  • docs(llm): gpt-5.6-sol joined the prefixes in 1.6.1, not 1.6.2 by @mabry1985 in #3427
  • fix(proc): an exit takes the process trees this process owns with it (#3428) by @mabry1985 in #3429
  • fix(proc): forget a cancelled child once reaped; prune dead groups on track (#3428 follow-up) by @mabry1985 in #3430
  • fix(plugins): merge plugins.enabled inside the config write lock (#2743) by @mabry1985 in #3431
  • fix(chat): one producer per bubble for a server-fired turn's preview (#3432) by @mabry1985 in #3433
  • fix(config): the rest of the live-config writers merge inside the lock (#2743) by @mabry1985 in #3434

Full Changelog: v0.163.0...v0.164.0