Highlights
Vision lands: image input now works end-to-end across the OpenAI-compatible surfaces. Plus request hedging for stalled providers, scheduled custom-provider sync, a new provider, and a round of routing and dashboard fixes.
Vision
- End-to-end image input: Responses API translation, Gemini thought-signature fallback, request body limits, and inbound normalization across surfaces (#852)
Routing and reliability
- Hedging: stalled attempts are aborted when the retry time budget expires, instead of blocking the failover chain (#828)
- Relay models that answer with a bare "safe"/"unsafe" classification are treated as failures and routed around (#830, #809)
- An "end of life" phrase in an error body only retires a model when the status is actually gone-shaped (#855)
- The tool-call dialect rescue is skipped when no tools were declared, and rescued calls are validated before use (#854)
reasoning_tokensare reported truthfully on the Responses surface (#829, #764)- A startup warning fires when
MODEL_ROUTING_OVERRIDESentries will never apply (#857, #738)
Providers and keys
- OrcaRouter added as a platform, covering its free rate-limited model aliases (#896)
- Custom provider model lists auto-sync on a schedule instead of only at add time (#746)
- Per-platform route-via-proxy switches are exposed in proxy settings (#834, #825)
Dashboard
- Tooltip overhaul: provider lists line-break instead of comma-cluttering, lingering tooltips dismiss on pointerdown and Escape, and custom-endpoint type labels are clearer (#836, #832, #841)
- zh-CN strings left in English are translated, and route-via-proxy wording no longer reads as an AI agent in zh-CN/zh-TW (#833, #867, #315)
macOS note: the DMG is unsigned; right-click the app and choose Open on first launch.
Full Changelog: v0.7.0...v0.8.0