What's New
✨ New Features
- Tiered Quota Scoring: Added
tierPriorityas a 7th Auto-Combo scoring factor — Ultra/Pro accounts are preferred over Free when other factors are equal - Intra-Family Model Fallback: When a model returns 404/400/403, OmniRoute automatically tries sibling models from the same family before failing
- Configurable API Bridge Timeout: Set
API_BRIDGE_PROXY_TIMEOUT_MSin.envto tune the proxy timeout (default: 30s). Fixes 504 errors on slow upstreams (#332)
🐛 Bug Fixes
- Auth:
INITIAL_PASSWORDis now accepted when changing the first dashboard password (usestimingSafeEqual) (#333) - README: Fixed a missing
</details>tag that was cutting off the GitHub README at the Troubleshooting section — Tech Stack, Docs, Roadmap sections are now visible - pnpm install: Removed redundant
@swc/helpersoverride frompackage.jsonthat blockedbetter-sqlite3builds under pnpm (#328) - CLI Security: Added
isSafePath()guard forCLI_*_BINenv vars to prevent path traversal / shell injection
🔧 Improvements
- Claude
response_formatinjection: json_schema/json_object requests now include structured-output instructions in the system prompt (T1) - Rate limiting: 2× intra-URL retry with 2s delay before moving to the next URL on 429s (T2)
- Gemini CLI: Added
User-AgentandX-Goog-Api-Clientfingerprint headers (T3) - Pricing:
deepseek-3.1,deepseek-3.2,qwen3-coder-nextadded to the catalog (T9) - Star History: All 30 READMEs now use starchart.cc (
?variant=adaptive) — adapts to light/dark themes
📁 New Files
open-sse/services/modelFamilyFallback.ts— Model family definitions and fallback logic
Full changelog: https://github.com/diegosouzapw/OmniRoute/blob/main/CHANGELOG.md