Prime Agent has undergone major breaking changes across versions: v0.7.0 standardized message delivery, v0.6.0 restructured agent messaging to role-addressed delivery and narrowed agent reach to the nuclear family, and earlier versions removed legacy APIs like positional send() and built-in bash tools. Each release bumped daemon schema versions and protocol numbers, cleanly rejecting older clients and daemons at connect; upgrading requires adapting code to the new API surfaces for messaging, spawning subagents, and session resumption.
In v0.7.0, agent messages were changed to always use steering delivery and all delivery-mode options were removed from the Python, CLI, RPC, and connection APIs. Code passing mode to agent_message.send, or a delivery mode over the CLI/RPC, must drop it.[1]
In v0.6.0, rlm(...) was changed to return at task admission instead of waiting for the child to finish. It now yields a spawn handle (rlm_child_id, name, session_dir, model); RLMResult and its final answer, usage, and model-fallback warning are removed. A child now reports back with agent_message.send(..., receiver_role="parent"). Code that read result.answer, or used asyncio.gather(...) over rlm(...) as fan-in, must be updated.[2] Also in v0.6.0, agent_message.send was changed to role-addressed delivery: callers must pass receiver_role ("parent", "sibling", "child") plus receiver_name for siblings and children. The old positional send(target, message) form no longer works, and the separate roster() call is now agent_message.list_agents().[2] Agent reach was narrowed in v0.6.0 to the nuclear family: an agent may message or observe only its parent, siblings, and direct children. Top-level sessions are siblings of one another; grandchildren and cousins must be reached by relaying through the intermediate child.[2] Requesting an unavailable subagent model now fails the spawn in v0.6.0 instead of silently falling back to the parent's model with a warning.[2] The daemon schema revision was bumped to 13 in v0.6.0 for parent-edge, depth, naming, and passivation wire changes; older clients and daemons are rejected cleanly at connect.[2]
In v0.5.0, session input scheduling was reworked into a single session action lifecycle and store (daemon protocol 7, schema revision 8); older clients and daemons are rejected cleanly at connect.[3]
In v0.4.0, the recursive daemon get_session_tree response was replaced with flat nodes linked by parentId (protocol 6); clients must support the new response shape.[4] Also in v0.4.0, /resume and bare --resume were removed. Sessions can be browsed with left-arrow from a daemon chat, or resumed directly with --resume <session-id|path>.[4]
In v0.2.6, the legacy pi-mono bash and edit built-in tools were removed; IPython %%bash cells and the Python edit skill replace them.[5] In v0.1.0, the interactive ! and !! bash shortcuts were removed from interactive mode; IPython should be used for shell commands instead.[6]
Sources
github.com…llect-ai/prime-agent/releases/tag/v0.7.0github.com…llect-ai/prime-agent/releases/tag/v0.6.0github.com…llect-ai/prime-agent/releases/tag/v0.5.0github.com…llect-ai/prime-agent/releases/tag/v0.4.0github.com…llect-ai/prime-agent/releases/tag/v0.2.6github.com…llect-ai/prime-agent/releases/tag/v0.1.0