v2.0.15 — 2026-03-08
✨ New Features
-
Codex Effort Clamp —
CodexExecutorcapsreasoning_effortto each model's maximum viaMAX_EFFORT_BY_MODELtable +clampEffort(). Unknown models default toxhigh. (#246) -
OpenRouter Catalog Cache — Persistent JSON cache at
DATA_DIR/cache/openrouter-catalog.json, TTL 24h (OPENROUTER_CATALOG_TTL_MS), stale-if-error fallback. New endpointGET /api/models/openrouter-catalog. (#246) -
Quota Preflight (opt-in per provider) —
open-sse/services/quotaPreflight.ts. Toggle:providerSpecificData.quotaPreflightEnabled(default:false). (#246) -
Quota Session Monitor (opt-in per provider) —
open-sse/services/quotaMonitor.ts. Adaptive polling 60s→15s, alert dedup 5min. Toggle:providerSpecificData.quotaMonitorEnabled(default:false). (#246) -
Provider API supports
providerSpecificDatapatch — Partial merge preserves existing keys. (#246)
🐛 Bug Fixes
- #244 — Gemini schema
optionalfield rejection — Added"optional"to unsupported constraints ingeminiHelper.ts. (#245)
📦 Desktop App
🔄 Electron binaries are being built by CI and will be attached to this release automatically (~15 minutes after publication)
| Platform | File |
|---|---|
| Windows | OmniRoute-Setup.exe + OmniRoute.exe
|
| macOS Intel | OmniRoute.dmg
|
| macOS Apple Silicon | OmniRoute-arm64.dmg
|
| Linux | OmniRoute.AppImage
|
Full Changelog: https://github.com/diegosouzapw/OmniRoute/blob/main/CHANGELOG.md