github tashfeenahmed/freellmapi v0.7.0

3 hours ago

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_OVERRIDES env 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-Detail response header with per-hop failover timings (#792)

OpenAI-compatible API

  • /v1/responses aligned with the official Responses API spec: unique streaming output_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_content dropped 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

Don't miss a new freellmapi release

NewReleases is sending notifications on new releases.