Skip to content

Beta v0.8.7

Choose a tag to compare

@YELANDAOKONG YELANDAOKONG released this 17 Oct 19:29
· 11 commits to release since this release
0e787ba

What's Changed

🚀 New Features

  • Service tier and speed selection (ddd9e4e) — Models can declare serviceTiers and speeds in providers.json, while /tier and /speed (alias /fast) cycle or select them, and --tier, --speed, and --fast override them for one launch. Slash-command choices persist in tierSelections and speedSelections, appear in session chrome and status output, and are visible to plugins.
  • Per-process built-in tool omission (36d5e68) — --disable-tool <NAME> is repeatable on crystal, crystal space, and crystal run to omit a built-in tool, and an unknown name refuses to start. The omitted name stays reserved, so plugins and external tools cannot claim it.
  • Commented provider catalog (7899078) — providers.json now accepts // and /* */ comments and trailing commas, and comments survive because the host never rewrites the file.
  • Underscores in catalog tokens (aa8beab) — thinkingEfforts, serviceTiers, and speeds in providers.json now accept underscores after the first letter, and /thinking, /tier, and /speed accept them in token arguments.

🐛 Fixes

  • JSON-only tool input with persisted input kinds (97b34c6, a6c3798) — Sessions, forks, exports, and plugin model calls now preserve ToolInputKind, and provider adapters reject text tool input with NotSupportedException instead of wrapping it. This is a breaking change for .NET native plugins and external tool sets: rebuild them against ToolDefinition.Json and ToolCall.InputKind, and note that a tool set publishing text input is skipped with a visible note.
  • Tier and speed changes applied consistently (4843ba5) — Unsupported tier and speed selections are rejected when provider clients are created, before /tier or /speed saves the choice, and compaction, approval, review, and image clients that use the changed model are rebuilt. Plugin client requests now receive both slots.
  • Verbatim thinking effort tokens (698e47f) — /thinking and thinkingEfforts now forward endpoint tokens unchanged, so max and maximum remain distinct and values such as xhigh are no longer rewritten for OpenAI-compatible gateways. Gemini 2.5 continues to accept only minimal, low, medium, and high.
  • Clearer model option failures (010959c) — Tier and speed switches now report side-client refresh errors instead of falling back silently, and aliased provider names resolve correctly when side clients are matched. Compaction activity is set before its notice, and crystal run prints unsupported option errors and exits 1 instead of failing unexpectedly.

⚠️ This is a large update. If you encounter any issues, please report them through GitHub Issues.

Full Changelog: B0.8.6...B0.8.7