Skip to content

v0.2.0

Choose a tag to compare

@themartto themartto released this 27 May 11:47
· 252 commits to main since this release
22cb76f

openheim 0.2.0

Highlights

New TUI built on ratatui

The terminal interface has been rewritten from scratch on ratatui. The result is a much faster, more responsive UI with proper event handling. Key additions:

  • Interactive pickers for sessions, models, and commands — navigate with arrow keys, select with Enter, no more typing IDs.
  • :models command — switch provider and model mid-session from an inline popup.
  • Themes — choose a colour theme with :theme; the default is now gray.
  • Info panels relocated to the prompt area so they no longer overlap the message list.
  • TerminalGuard ensures the terminal is restored cleanly on panic or forced quit.

Token streaming and thinking blocks

All four LLM backends (Anthropic, OpenAI, Gemini, OpenAI-compatible) now stream tokens in real time and surface extended thinking blocks as they arrive. Previously, responses were buffered and displayed in one shot.

ACP: session/set_model

ACP clients can now call session/set_model to switch the model during an active session. The thinking convention is advertised in session metadata so clients can negotiate capabilities up front.

Bug fixes

Area Fix
MCP Child server processes are killed when the client is dropped, preventing zombie processes
LLM / SSE Fixed SSE buffer reallocation that silently dropped streamed tokens
LLM JSON serialization errors now propagate instead of producing empty output
Sessions Restoring a session from history now sets it as active and clears stale state
ACP Session load now resolves the full provider config, not a partial view
ACP acp_prompt resolves the per-session LLM client correctly
Model switch UI now shows the full (provider, model) pair after switching
Provider resolution Model-whitelist is enforced in resolve_with_provider
Session restore Warning emitted when restored session references an unconfigured provider
TUI Long messages now wrap correctly in the viewport
Tools Execution errors are captured and reported rather than silently dropped
TUI ToolResult errors rendered in red; default theme corrected from dark_gray to gray

Upgrade

cargo install openheim --version 0.2.0

Or pin in Cargo.toml:

[dependencies]
openheim = "0.2.0"