Releases: OdradekAI/opi
v0.3.0
What's new in v0.3.0
Phase 2 hardening: multi-provider support (6 LLM providers), session
persistence, context compaction, configurable TUI, and cost tracking.
Added
- 6 LLM providers — OpenAI Chat, OpenAI Responses, Google Gemini, Mistral, OpenRouter, plus existing Anthropic support
opi-ai: retry/backoff/rate-limit support with configurable strategiesopi-ai: usage accumulation and cost tracking across turnsopi-agent: session v1 JSONL storage for conversation persistenceopi-agent: compaction engine with trigger and hook supportopi-agent: thinking config passed through to provider requestsopi-coding-agent: session list/resume/delete CLI flagsopi-coding-agent:--jsonNDJSON output mode for non-interactive useopi-coding-agent: usage accumulation wired to TUI status baropi-coding-agent: edit tool captures before/after contentopi-coding-agent: workspace path validation for all toolsopi-tui: configurable keybindings with TOML parsingopi-tui: Theme struct with default and monokai palettesopi-tui: DiffView widget for edit/patch visualization
Fixed
- Session runtime tests serialized to avoid env var races
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Summary
Phase 1 MVP: functional Anthropic-based coding assistant with six tools, basic TUI, TOML config, and mock-provider integration tests.
Added
- opi-ai: Provider-agnostic LLM streaming with
Providertrait, message/stream types, Anthropic SSE provider, provider registry, and sharedMockProvidertest harness - opi-agent: Agent loop with turn lifecycle,
Tooltrait with JSON Schema validation,Agentwrapper with prompt/continue/abort/subscribe, hooks and steering/follow-up queues - opi-coding-agent: Six built-in tools (
read,write,edit,bash,glob,grep) with workspace safety boundaries, system prompt builder, TOML config with 5-tier precedence, interactive TUI mode, and non-interactive mode with high-risk tool safety policy - opi-tui: TUI shell with message list, input editor, status bar, tool call view, markdown and code block rendering
Fixed
- SSE parser surfaces malformed events instead of silently dropping them
- SSE parser handles CRLF line endings for cross-platform robustness
BashToolusescmd.exeon Windows,shon Unix- Agent loop emits
ToolExecutionStartbefore parallel tool spawning AuthFailederror variant maps to exit code 3- Config: explicit
--configvalidation and env precedence fix - Agent loop uses
tokio::select!for responsive stream cancellation
Migration Notes
- Config format is TOML with
[defaults],[thinking],[providers.anthropic]sections - CLI flags:
-m(model),-c(config),-s(system prompt),--non-interactive,--allow-mutating,-v(verbose),-V(version) - Non-interactive mode blocks write/edit/bash tools by default; use
--allow-mutatingorallow_mutating_tools = truein config to enable
What's NOT Included
Sessions, compaction, JSON output mode, MCP, plugins, web UI, rich diff views, and syntax-highlighted code blocks are not in this release.
v0.1.1
What's Changed
Added
opi-implementskill for structured implementation workflows with phased gates, verification tiers, and JSON ledger tracking.- CI workflows:
ci.yml(fmt, clippy, test, doc) andrelease.yml(cross-platform binary builds on tag push). - Opi technical specification document (
docs/opi-spec.md).
Fixed
- Release skill: keep SHA256SUMS local-only, use version-based artifact directory.
Changed
opi-web-uimarked aspublish = false(not ready for crates.io).
Full Changelog: v0.1.0...v0.1.1
v0.1.0 — scaffolding release
opi v0.1.0 — scaffolding release
Initial release of the opi workspace, a Rust reimplementation of earendil-works/pi.
This is a scaffolding release: the workspace layout, crate boundaries, and module structure are in place, but the implementations are stubs. The opi binary supports --version and --help; running it without arguments prints a placeholder message.
What's in this release
Five crates under lockstep versioning:
| Crate | Purpose |
|---|---|
opi-ai |
Unified multi-provider LLM API |
opi-tui |
Terminal UI with differential rendering |
opi-agent |
Agent runtime with tool calling and transport |
opi-web-ui |
Reusable web chat components |
opi-coding-agent |
Produces the opi binary |
The release also ships the opi-release skill — a seven-phase release workflow with explicit irreversibility gates for GitHub Releases and crates.io.
Binaries
Pre-built opi binary for Windows x64 is attached. Verify with the included SHA256SUMS.txt.
What's next
Implementation work begins in v0.2.0. Subsequent releases will add real functionality and publish to crates.io.