Skip to content

v0.24.3

Choose a tag to compare

@yuanhao yuanhao released this 05 Oct 22:36
· 212 commits to main since this release
f6aa41c

Reliability fixes from a codebase review. No breaking changes, so yoagent = "0.24" users get them with cargo update.

Highlights

  • Overloaded providers are retried. HTTP 529/503, and in-stream overloads such as Anthropic's overloaded_error or Gemini's UNAVAILABLE, back off and retry. The server's explanation is logged.
  • Failed streams are errors, not truncated "finished" answers. This covers OpenAI-compatible mid-stream errors, Gemini streams with no finish reason, blocked prompts, and malformed function calls. Vertex now shares Gemini's parser.
  • MCP over stdio is robust:
    • responses are matched by id, and initialized is a real notification;
    • stderr is drained, and its tail plus the exit status appear when a server dies;
    • calls honour cancellation and a timeout;
    • unknown content types no longer fail the call.
  • search keeps its matches when some files can't be read, and returns the errors as warnings.
  • SubAgentTool::with_execution_limits: the sub-agent token and duration caps are no longer hard-coded.
  • ModelConfig::anthropic("claude-…") infers its thinking mode and native structured outputs from the id.
  • Onboarding: the cli example's API-key handling is fixed, the quick starts and Ollama URL are corrected, and there's a new Testing guide.

Behaviour to note

  • A run cancelled while tools run now ends with an [Agent stopped: cancelled] user message, and a cancelled sub-agent reports failure.
  • max_total_tokens counts every turn's whole prompt and applies per run. This is now documented; the behaviour is unchanged.

Full notes: CHANGELOG.