OmniRoute v3.8.0
Unified AI proxy/router — route any LLM through one endpoint.
160+ providers | MCP Server (37 tools) | A2A v0.3 Protocol | Electron Desktop App
🚀 Highlights
- 160+ providers supported — OpenAI, Anthropic, Gemini, DeepSeek, Groq, xAI, Mistral, Fireworks, Cohere, NVIDIA, Cerebras, Pollinations, Puter, Cloudflare AI, HuggingFace, DeepInfra, SambaNova, Meta Llama API, Moonshot AI, AI21 Labs, Databricks, Snowflake, and many more
- 14 combo routing strategies including new
reset-aware,context-relay, andfalloverBeforeRetry - MCP Server with 37 tools, 3 transports (stdio / SSE / Streamable HTTP)
- A2A v0.3 Protocol with 5 skills
- Electron desktop app for Windows, macOS, and Linux
- Prompt compression pipeline with 7 modes (off/lite/standard/aggressive/ultra/rtk/stacked)
- CLI v4 — Commander.js architecture, 50+ commands, interactive TUI, full i18n (42 locales)
- Gamification & Leaderboard system with XP, badges, streaks, and federation
- Dashboard i18n coverage increased from ~20% to ~88% (420+ new keys, 42 languages)
- BREAKING: dropped Node 20.x support — minimum Node version is now 22.22.2 (or 24.0.0+)
✨ New Features & Fixes by Date
2026-05-20
- feat(batch): 10 feature requests — T3 Chat Web executor (cookie-based), per-request exhausted-provider tracking (#1731), Zed Docker detection, API key rotator health, Kiro multi-account isolation, context-window model filtering, cost blending, combo config tests (#2414)
- feat(combos):
falloverBeforeRetrystrategy — combo routing now falls over to the next target before retrying the same model (#2417 — thanks @hartmark) - fix(gamification): resolve 6 implementation gaps — missing
SELECTin SQL, federation leaderboard auth, pagination offset, z-scores, initial level, barrel file. 72-test suite (#2421 — thanks @oyi77) - docs: AgentRouter provider setup guide (#2422 — thanks @leninejunior)
- fix(claude): drop orphan
tool_resultblocks afterfixToolAdjacency— resolves HTTP 400 from Anthropic API (#2410) - fix(playground): guard against null/non-string model IDs in Playground dropdowns
- fix(storage): persist
STORAGE_ENCRYPTION_KEYacross upgrades (#2428 — thanks @Chewji9875) - fix(auth): auto-reset credential
apiKeyHealthstatus on successful connection test (#2427 — thanks @clousky2020) - fix(mitm): MITM runtime manager re-export fixes (#2425 — thanks @NomenAK)
- fix(image): support Antigravity image generation + Gemini 3.5 Flash (#2423 — thanks @backryun)
2026-05-19
- chore(i18n): comprehensive dashboard i18n coverage — 6 rounds of refactoring, 420+ new keys, 57+ pages (~88% coverage)
- feat(gamification): implement Gamification & Leaderboard System (#2405 — thanks @oyi77)
- feat(providers): support Gemini API keys for Gemini CLI executor (#2408 — thanks @benzntech)
- feat(providers): Gemini Web cookie-based provider (#2380 — thanks @oyi77)
- fix(resilience): API Key health tracking with automatic rotation and UI alerts (#2412 — thanks @clousky2020)
- fix(providers): Kilo Code provider no longer blocks on missing local CLI binary (#2404 — thanks @Flexible78)
- fix(db):
bun add -g omnirouteno longer surfaces generic 500 (#2358 — thanks @yamansin) - fix(kiro): enable Google OAuth login option in auth modal (#2392 — thanks @congvc-dev)
- model: add Composer 2.5 to Cursor provider catalog (#2381 — thanks @backryun)
- fix:
tool_usewithout adjacenttool_resultcauses Claude 400 (#2383 — thanks @oyi77)
2026-05-18
- refactor(dashboard): comprehensive nav, providers, endpoint, runtime, quota, pricing, budget redesign + quota sharing preview (sidebar → 12 sections, 22 new routes) (#2384)
- feat(content): add Haiper, Leonardo, Ideogram, Suno, Udio as media providers (#2377 — thanks @oyi77)
- feat(@omniroute/opencode-provider): expand config helpers, MCP entry, live model fetch (#2375 — thanks @mrmm)
- feat(content): extend providers with video, audio, TTS, music capabilities (#2369 — thanks @oyi77)
- feat(providers): add Veo AI Free as web-wrapper provider (#2366 — thanks @oyi77)
- feat(providers): add Replicate as free provider (#2364 — thanks @oyi77)
- feat(providers): add GitHub Models as free provider (#2344 — thanks @oyi77)
- feat(providers): add Hackclub AI as free provider (#2339 — thanks @oyi77)
- feat(providers): add Microsoft Copilot Web executor (#2340 — thanks @oyi77)
- fix(claude-oauth): enable system-transforms pipeline for native Claude executor (#2370 — thanks @thepigdestroyer)
- fix(claude): semantic passthrough — preserve Claude Code
messages[]structure (#2351 — thanks @terence71-glitch) - fix(streaming): emit protocol-aware stream errors (#2355 — thanks @dhaern)
- fix(combos): allow bracketed combo names (e.g.
Claude [1m]) (#2354 — thanks @congvc-dev) - fix(rate-limiter): Redis is now opt-in — silent fallback to in-memory store (#2357)
- fix(security): resolve CodeQL alerts #243/#244/#245/#246 (#2391, #2394)
2026-05-17
- feat(codex): bulk import Codex
auth.json— multi-file upload, clipboard, ZIP support (#2343) - feat(codex): import single Codex
auth.jsonas OAuth connection (#2336) - feat(ui): comprehensive dashboard UX rework — simple/advanced modes, InfoTooltip, PresetSlider (#2315, #2316 — thanks @dhaern, @oyi77)
- feat(provider): add Gitlawb Opengateway provider (#2314 — thanks @oyi77)
- fix(providers): providers page empty-state and first provider setup (#2333 — thanks @slider23)
2026-05-16
- feat(deepseek-web): full DeepSeek web API executor with Keccak PoW solver (#2295 — thanks @oyi77)
- feat(cc-bridge): config-driven per-provider system-block transform DSL (#2286 — thanks @mrmm)
- feat(skills): add 5 CLI skill manifests + AgentSkills dashboard pages (#2284)
- fix(translator): map
developer→systemby default for non-OpenAI providers (#2281) - fix(api/combos): add API-key-safe
GET /v1/combosendpoint (#2300)
2026-05-15
- feat(cli): CLI v4 — Commander.js, 50+ commands, interactive TUI, full i18n (42 locales), plugin system (#2280)
- feat(termux): Android/Termux headless support (#2273 — thanks @t-way666)
- feat(limits): per-window quota cutoffs with cascading resolver (#2267 — thanks @payne0420)
- feat(api-keys): configurable default rate limits via
DEFAULT_RATE_LIMIT_PER_DAY(#2266 — thanks @gleber) - feat(authz):
managementPolicyaccepts API keys withmanagescope (#2265 — thanks @gleber) - feat(mcp): MCP accessibility-tree smart filter engine — 60-80% token savings
- feat(runtime): dynamic SQLite 5-step fallback chain
- feat(cli): standalone system tray with PowerShell fallback on Windows (
omniroute --tray)
2026-05-08 a 2026-05-14
- feat(auto): zero-config auto-routing with
auto/prefix — 6 variant profiles (#2131 — thanks @oyi77) - feat(kiro): headless auth, image support, tool overflow handling (#2129 — thanks @christlau)
- feat(cursor): surface Cursor Pro plan usage on dashboard (#2128 — thanks @payne0420)
- feat(mitm): dynamic Linux certificate path detection (#2134 — thanks @flyingmongoose)
- feat(oauth): complete Windsurf and Devin CLI OAuth flows (#2168 — thanks @Zhaba1337228)
- feat(antigravity): support custom Google Cloud project ID (#2227 — thanks @nickwizard)
- feat(resilience):
useUpstream429BreakerHintstoggle (#2133 — thanks @eleata) - feat(claude-web): session-based Claude Web executor (#2283 — thanks @oyi77)
- feat(providers): add llama.cpp as local provider (#1980)
- fix(auth): accept
x-api-keyheader for Anthropic-native clients (#2225) - fix(translator/claude-to-openai): stop inflating
prompt_tokenswithcache_creation_input_tokens(#2215) - fix(security): remediate CodeQL vulnerabilities — ReDoS, crypto bias, stack traces, weak hashing
- fix(kiro): harden OpenAI-to-Kiro translator (#2251 — thanks @8mbe)
2026-05-06 a 2026-05-07 (initial release)
- feat(zed): Zed IDE Docker support with Manual Token Import panel (#2306)
- feat(routing): LKGP stores last known good account
connectionId(#2338 — thanks @oyi77) - feat(responses): degrade
background: trueto synchronous execution (#2164 — thanks @Yosee11) - feat(api): aggregate combo model metadata in catalog endpoint (#2166 — thanks @faisalill)
- feat(cli): CLI Integration Suite — 5 management commands, 3 API endpoints, config generators (#2240 — thanks @oyi77)
🔒 Security
- Resolve CodeQL ReDoS, URL sanitization, weak crypto, and stack trace exposure alerts
- Session pool key derivation switched to HMAC-SHA256
- Windsurf Firebase token refresh reads from config instead of env
- Error sanitization through
sanitizeErrorMessage()across all executors - Route protection tiers (5 levels: public/read-only/protected/always/local-only)
⚠️ Breaking Changes
- Dropped Node 20.x support — minimum Node version is now
>=22.22.2or>=24.0.0 - CLI architecture —
bin/cli-commands.mjsreplaced by modularbin/cli/commands/
📦 Installation
npm install -g omniroute
# or
docker pull diegosouzapw/omniroute:latest🏆 v3.8.0 Contributors Hall of Fame
Thank you to all 55+ contributors who made this release possible!
Thanks also to @dependabot for keeping dependencies current via #2178, #2228, #2288, #2397, #2398, #2399.
See full CHANGELOG.md for complete details.