Skip to content

v0.2.4

Latest

Choose a tag to compare

@X-iZhang X-iZhang released this 26 Jul 14:01
Immutable release. Only release title and notes can be modified.
ac58caa

EvoScientist v0.2.4 β€” Claude Opus 5, new Geminis & the Anthropic-protocol channel

G'Day! v0.2.4 is a model-catalog and protocol-compat release: Claude Opus 5 and two new Gemini flashes join the lineup, and Kimi K3 now works end-to-end over Anthropic-protocol channels β€” including the Kimi For Coding subscription endpoint β€” after a deep dive into how strict Anthropic-compatible edges validate requests.


🧠 New models

  • Claude Opus 5 β€” selectable in EvoSci onboard and /model on Anthropic (native claude-opus-5) and OpenRouter (anthropic/claude-opus-5, fast variant included), with 1M context.
  • Claude 5-series thinking fix β€” claude-opus-5 / claude-sonnet-5 on the direct Anthropic API now get adaptive thinking; the auto-config previously fell through to the legacy budget_tokens shape, which 5-series models reject with HTTP 400.
  • Gemini 3.6 Flash & Gemini 3.5 Flash Lite β€” selectable on Google (native) and OpenRouter, 1M context.

🧭 Kimi K3 over Anthropic-protocol channels

K3 runs with thinking always on, and strict Anthropic-compatible edges (Moonshot's Kimi For Coding endpoint, OpenRouter's Anthropic schema) reject several things the default request path produced. v0.2.4 makes the whole surface work:

  • Structured output no longer 400s β€” with_structured_output on K3-class models routes through output_config.format (json_schema) instead of a forced tool call, which mandatory-thinking endpoints reject (tool_choice 'specified' is incompatible with thinking enabled). This also fixes the >20-tools tool-selector on these channels.
  • Cross-provider history replay β€” switching a session from an OpenAI-compatible provider (Qwen, DeepSeek, …) to an Anthropic-protocol endpoint no longer 400s: foreign reasoning_content blocks are stripped before send. Native Claude benefits from the same protection.
  • Multi-turn thinking preserved β€” K3's thinking blocks are kept on replay (Kimi backends require them on tool-call turns), and streamed thinking that arrives without a signature_delta gets its signature defaulted β€” fixing a second-turn 400 after any streamed reply.
  • Thinking declared like the official client β€” K3-class models on Anthropic-routed providers now declare thinking: enabled (with a matching max_tokens floor), mirroring Moonshot's own kimi-code client.

πŸ›  Fixes

  • Interrupted tool-call history repaired β€” resuming after a mid-tool-call interruption no longer corrupts the conversation history (#366).
  • Skill installs scrub host paths β€” skill_manager output no longer leaks absolute host paths, and batch installs are guarded (#377).
  • Multi-turn reasoning context for ChatGPT OAuth β€” the codex proxy Responses API path now defaults reasoning.context, so GPT-5.x keeps its reasoning across turns (#380).
  • Quieter logs β€” missing async-subagent tools log at DEBUG instead of WARNING (#378).

🧩 Dependencies

  • openrouter pinned <0.11 β€” 0.11.x introduced SSE streaming regressions (teardown noise, mid-turn ReadTimeout); pinned until fixed upstream (#373).

What's Changed

  • fix(deps): pin openrouter below 0.11 to avoid SSE stream regressions by @X-iZhang in #373
  • fix: repair interrupted tool call history by @Sanjays2402 in #366
  • fix: scrub host path from skill_manager output and guard batch install by @jfilipiuk in #377
  • fix: log missing async-subagent tools at DEBUG, not WARNING by @jfilipiuk in #378
  • fix: default reasoning context for codex proxy Responses API by @NkAntony777 in #380
  • release: v0.2.4 by @X-iZhang in #389

New Contributors

Full Changelog: v0.2.3...v0.2.4