Skip to content

v0.5.0

Choose a tag to compare

@JerryLiu369 JerryLiu369 released this 27 Aug 14:12
· 32 commits to main since this release

Breaking: leaner public response (F11)

The payload goes straight into an LLM context, so redundant fields cost real tokens:

  • answer is omitted when a provider produces no prose (keyword providers no longer send an empty string)
  • result rows no longer repeat the provider name that is already the enclosing dictionary key

Reliability

  • web_search arguments are now validated against the declared inputSchema before dispatch; stdio and HTTP return a structured invalid_arguments tool error (empty query, wrong types, unknown providers, out-of-range values, unknown fields)
  • provider misconfiguration no longer breaks startup: only enabled providers are constructed, and a bad AGENT_WEB_SEARCH_TIMEOUT raises a readable ValueError
  • tests are isolated from developer-machine provider credentials

Fixes & cleanup

  • Grok: correct tool-name matching direction (fixes mode=both), dead code removed
  • Parallel: User-Agent version no longer falls back to a stale 0.1.0
  • ddgs: removed a dead ImportError branch with a misleading install hint
  • ARK: continuation threshold is now a named constant documenting the second billed request
  • Exa: removed a dead min(100, ...) bound
  • Dropped redundant starlette/uvicorn hard dependencies (mcp already requires them)
  • Docs: corrected timeout semantics and Parallel result-cap behavior (en/zh)

Tooling

  • Stricter ruff rule set (BLE/I/UP/B/SIM/RUF/C4/PT/E501), all findings fixed
  • ruff format applied and enforced in CI

97 tests pass on Python 3.10-3.13.