Skip to content

Beta v0.7.0

Choose a tag to compare

@YELANDAOKONG YELANDAOKONG released this 03 Oct 21:29
· 245 commits to release since this release
25ca9f3

What's Changed

πŸš€ New Features

  • Native Gemini and Ollama protocols (68d4933) β€” gemini and ollama sit beside DeepSeek, OpenAI, Responses, and Anthropic. Gemini uses x-goog-api-key and generateContent SSE. Ollama uses /api/chat and can run without an API key
  • External tool timeouts (db31f73) β€” timeoutSeconds stops a dotnet or exec call and kills its process tree. unlimited disables only that timer. stdout and stderr drain together, and only the model-visible prefix is kept
  • Write and edit outside the workspace (4462a60) β€” an absolute path is outside-workspace work and goes through approval. Edit and Full ask the operator. Review and Audit send it to the reviewer. Credential paths stay forbidden, including a symlink that leaves the workspace
  • Headless crystal run (4466ca7, cf665b5, aeb6df8, 61e9e6b) β€” one unattended turn. Overrides stay in that process, and slash commands are rejected. Exit codes are 0 through 5. --format json prints JSON Lines with the full tool output. --format default prints a shortened trace, with host markers kept apart from tool text
  • Host placeholders (979e088) β€” {{os}}, {{architecture}}, {{time}}, {{session_id}}, and {{approval}} bind into the system message, {{env}}, and the prompt template export
  • Image results from exec tools (ea886ae, af2d59b) β€” "output": "content" reads one JSON object from stdout, with text and up to eight images. Gemini and Ollama attach those images on the tool result. A text-only model rejects them
  • Host context for dotnet tools (d4b2902) β€” IHostTool and IHostMultimodalTool receive the workspace, session id, and approval mode through ToolHostContext. Credentials and the home path are left out
  • Independent tool calls in one response (c68b540) β€” Work and Plan prompts tell the model to send every call it can already specify together, and to wait only when the next step depends on a result
  • Separate approval model (60e76ee) β€” Review and Audit can use approvalModel in config.json, with that provider's credentials. /approval model shows or sets it. crystal run can override it for one process
  • /effort as an alias for /thinking (09b22e4)
  • /stats (5b3336c, 6715da3, 8871775, c1314de) β€” token totals, averages, median, and a per-tool share bar, including all, <Nd>, and tools <count>. The page replaces the session frame. Esc, q, or Ctrl+C closes it and keeps the composer draft
  • /btw side questions (3a4741d, b9823ad, bb2ce51) β€” /btw or /side asks from the committed transcript plus the newest 20 side exchanges. The answer stays in a panel and is not saved. Until text arrives, the panel shows the progress spinner. Esc, Enter, or Space closes it. Left and Right step. x clears. Ctrl+C cancels only the side question
  • Reasoning kept in the session (bd16ed2) β€” reasoning text and provider state survive save, export, replay, and compaction. A provider error that survives retry closes the turn as failed and saves the transcript
  • Front-end-neutral engine (2587a56) β€” session execution lives in CrystalCode.Engine. The terminal host only draws. Built-in bash uses bashTimeoutSeconds, default 120 seconds. null or unlimited disables that timer

πŸ› Fixes

  • Windows x64 install without the runtime architecture API (3a2134d) β€” the installer reads PROCESSOR_ARCHITEW6432, then PROCESSOR_ARCHITECTURE, and treats AMD64 as supported
  • Wheel scroll stays distinct from arrow keys (3f7087f) β€” the alternate screen enables SGR mouse reporting, and the previous Windows console input mode is restored on exit
  • Tabs and one size snapshot per frame (ab4e012) β€” tabs are four columns in the composer and painted rows, one column stays free for the cursor, and overlays reproject the composer from that same size
  • Workspace path checks follow the real target (bd16ed2) β€” symbolic links resolve to their final target. Workspace-relative .ssh, .gnupg, and .crystal/credentials.json stay forbidden for write, edit, glob, and grep. Prompt history is trimmed per workspace
  • Side-question panel after a pause (bb2ce51) β€” a tab no longer clips the panel border, the card lines up with the other cards, and an open /btw panel returns after an approval or question. A dismissed panel stays closed

⚑ Performance

  • Live transcript cards reflow only the open tail (dce8a4a) β€” finished rows stay wrapped. Scrolling and typing reuse those rows

πŸ“ Documentation

  • A future Avalonia front end must use C# markup, with no XAML or AXAML files (d4d9821)

Full Changelog: B0.6.0...B0.7.0