Skip to content

Beta v0.8.8

Latest

Choose a tag to compare

@YELANDAOKONG YELANDAOKONG released this 18 Oct 20:13

What's Changed

⚠️ This is a larger release than usual. If you encounter any problems, please report them through GitHub Issues. 🙏

🚀 New Features

  • Returning an unstarted message to the composer with Ctrl+C (243eb7b, 42a4912, b82bf94) — Before the model shows text, reasoning, a tool call, or a retry, with an empty composer and follow-up queue, Ctrl+C now stops the turn, removes the message from the transcript, and puts it back in the composer. Text typed while the turn stops is kept after the returned message, notes and errors in the transcript survive, a note, error, or slash command during the turn keeps the message instead, and crystal run does not return messages this way.

🐛 Fixes

  • Provider error payloads reported as faults (7766026, ff31269, 3de6d78) — Stream and response error payloads from Chat Completions, Responses, Anthropic, Gemini, and Ollama now become provider faults with the provider code and message instead of a truncated stream or a silent retry. This includes a JSON error body returned where an event stream was expected, even with HTTP 200, and only transient stream codes such as rate limits are retried.
  • Closed-upload retry and clean composer input (3cc5302) — A request whose connection closes while its body is still being written is retried once and then reported with the transport cause instead of spending the rest of the retry budget. Stray mouse, mode, and cursor reports from the terminal no longer appear as text in the composer, and Windows echo is disabled so the console cannot print them there.
  • Windows clipboard paste (48c9c6d) — Ctrl+V is now recognized on Windows even when the console reports the key without modifier metadata, so paste works in terminals that omit it. Clipboard image reads retry briefly when another process is holding the clipboard, so an image paste is less likely to fail on the first try.

⚡ Performance

  • Skipping repaints of unchanged terminal rows (b251c1e) — Repaints now skip rows whose content did not change, including the composer, so idle frames and terminal mode updates write less to the terminal. The frame stays visually identical while the product does less work per paint.

Full Changelog: B0.8.7...B0.8.8