Highlights
The largest release since 0.6.0: 39 commits covering routing, the OpenAI-compatible surfaces, key management, analytics, security hardening, and the desktop app.
Routing and reliability
- Per-model routing weight overrides via the
MODEL_ROUTING_OVERRIDESenv var: demote, promote, or exclude individual models from automatic routing without disabling them (#747, #738) - Failed providers are skipped as a whole on 5xx/timeout/transport errors instead of one key at a time (#817)
- Models that repeatedly fail are auto-cooled-down, extending the penalty beyond 429s (#806)
- Provider back-off stated in the error body is honored, not just the Retry-After header (#798)
- The exploration probe only considers models that can actually serve the request, and respects weight-0 overrides (#847)
- Opt-in
X-Fallback-Detailresponse header with per-hop failover timings (#792)
OpenAI-compatible API
/v1/responsesaligned with the official Responses API spec: unique streamingoutput_index, all official input item types accepted, assistant-turn merging, system-message hoisting, and a clear 422 for computer use (#844, #842, #850)- Streaming responses now record the provider's real token usage instead of a character-count estimate, making analytics and rate-limit accounting accurate (#845)
- Opt-in schema validation of tool-call arguments across all surfaces, failing over to the next model on invalid arguments (#802, #821)
- Double-encoded tool arguments below the top level are repaired (#794)
- Reasoning tokens are counted and TTFB is recorded on the first reasoning token (#778, #764)
- Session
reasoning_contentdropped by clients on replay is restored (#805) - Anthropic surface no longer drops document content blocks (#793)
Keys and providers
- Per-key proxy override: each API key can route through its own exit (#819, #590)
- Bulk enable/disable/delete for keys within a group (#816)
- Providers that need a key but have none added are flagged in the dashboard (#777)
- AnyAPI added as an OpenAI-compatible platform (#772)
- Full-key copy on the desktop build without password re-verification (#810)
Dashboard and analytics
- Automatic update check with a release-notes dialog (#782)
- Timeline charts bucket and render in the viewer's local timezone (#762, #804)
- Custom-provider recent calls show the user's key label (#815)
- Unified output-token cap setting rescues excessive client
max_tokens(#783) - zh-CN translation polish and full-width dash sweep in zh-CN/zh-TW (#765, #748)
Security hardening
- Database directory, backup blobs, and restored databases are owner-only, with real permissions on Windows and WAL sidecars covered (#791, #795, #796)
Desktop
- Electron 38.8.6 for macOS 26 Tahoe window and tray rendering (#808)
- Windows zip shipped alongside the installer (#773)
- LF line endings pinned, fixing a CSP hash mismatch on Windows (#784)
macOS note: the DMG is unsigned; right-click the app and choose Open on first launch.
Full Changelog: v0.6.9...v0.7.0