Skip to content

v0.20.5

Choose a tag to compare

@daltonnyx daltonnyx released this 14 Aug 03:48
· 22 commits to main since this release

v0.20.5

What's Changed

πŸš€ Features

  • High reasoning effort as the default (af24fd7b) β€” default_reasoning switched from medium to high for every thinking-capable model across CommandCode, CrofAI, DeepInfra, Fireworks, GitHub Copilot, OpenAI, and OpenAI Codex. To make the active setting visible, the console prompt prefix now shows the reasoning effort inline as [agent:model:effort].

  • New frontier models for CommandCode and OpenCode Go (962aa9bc) β€” added to CommandCode: Claude Opus 5, Qwen3.8 Max, Qwen3.7 Flash, Gemini 3.6 Flash, Gemini 3.5 Flash Lite, Thinking Machines Inkling & Inkling Small, Poolside Laguna S 2.1 (free), and Meta Muse Spark 1.2 + Muse Spark 1.2 Contributor. Added to OpenCode Go: MiMo V2 Pro, MiMo V2 Omni, Qwen3.5 Plus, Qwen3.8 Max, MiniMax M2.5, HY3, GPT-5.6 Luna, and Grok 4.5. The Tencent Hy3 model id was also normalized to tencent/hy3-paid.

  • Terminal window title for accessibility (331aa514) β€” the terminal title now shows <current directory> - agentcrew on startup, making it easy to identify AgentCrew among many open terminals. Works on Windows (title) and POSIX (OSC escape sequence).

πŸ› Bug Fixes

  • MCP session setup can no longer hang forever (0d2025fe) β€” transport connect and initialize() are now bounded by a 60s session-setup timeout (65s overall budget for a tool call's connect phase), so a broken OAuth flow β€” e.g. an MCP server redirecting client registration with a 307 to a sign-in page β€” surfaces as a descriptive TimeoutError instead of blocking the caller and any A2A task using the tool. An OAuthRegistrationError is never retried (it cannot succeed on retry), surfaces as the standard error tool text block, and always releases the per-server OAuth lock. Covered by new unit tests in tests/mcpclient_session_timeout_test.py.

  • Onboarding no longer crashes mid-conversation (6dbf5580) β€” the agent-definition generation chat was rewritten to return a structured OnboardingGenerationResult (definition, last response, and error detail), and user input now uses an async PromptSession instead of a blocking prompt. Failures now show the reason and the last model response instead of a bare failure, a stray debug print was removed, and the flow is covered by new unit tests in tests/test_onboarding_service.py.

  • Context limit now reflects your override (72d884b1) β€” the shrink-context threshold previously bypassed the 85% factor when AGENTCREW_DEFAULT_MAX_CONTEXT was set; it is now applied consistently in both paths. The /context command also reads the env override for the displayed limit (instead of always showing the model's native limit), and the percentage bar no longer breaks when the limit is unknown.

πŸ§ͺ Tests

  • tests/mcpclient_session_timeout_test.py β€” OAuth registration errors are not retried and return error text; hanging initialize() raises TimeoutError and releases the OAuth lock.
  • tests/test_onboarding_service.py β€” success, exception, non-string response, max-turn, and cancel paths of the onboarding generation flow.