# v0.4.80 (2026-06-13) ## Features - Vercel AI Gateway: support embeddings, images and credit usage (#1183) - Add MiMo Free no-auth provider (#1789) - Vertex: support ADC `authorized_user` credential - Cowork: re-enable Claude Cowork with preset-only stdio MCP - Codex: bulk add accounts via JSON (#1719) - Kiro: enable multi-endpoint failover for GenerateAssistantResponse (#1722) ## Fixes - Security: re-auth on DB export/import + SSRF guard on web fetch - Auth: real client IP rate-limiting + remote default-password guard - Cerebras/Mistral: strip unsupported `client_metadata` from downstream requests (#1742) - SiliconFlow: update baseUrl `.cn` -> `.com` + curate verified model list (#1760) - Gemini-to-OpenAI: route unsigned thought parts to `reasoning_content` (#1752) - Claude-to-OpenAI: strip Anthropic billing header from system prompt (#1765) - Anthropic-compatible: send Bearer auth for third-party gateways (#1795) - Usage-stats: avoid partial stats on initial SSE race (#1767) - Proxy: use `export default` in proxy.js for Next.js 16 middleware detection - Claude passthrough: add body normalization - GitHub Copilot: refresh missing/expired token on models discovery (#1727) + add mappable gpt-5-mini/gpt-5.4-nano slots for Copilot MITM (#1653) - Kiro: auto-resolve profileArn to prevent 403 on IDC login, enhance profile ARN resolution, update endpoint to `runtime.us-east-1.kiro.dev` (#1713) - Tunnel: detect system-installed Tailscale via dual-socket probe (#1723) + non-blocking probes to prevent UI freeze - CommandCode: force `stream=true` in transformRequest (#1706) - Qoder: increase timeouts for reasoning models and improve stream handling - Dashboard: show provider node name instead of connection name in topology (#1770) + show explicit `kind="llm"` combos on combos page (#1684) ## Docs - README: add Indonesian 9Router tutorial video (#1709) # v0.4.71 (2026-06-06) ## Features - Caveman: add wenyan classical Chinese levels and sync upstream prompts; locale-based visibility on endpoint page - i18n: endpoint exposure notice across multiple languages + Russian README - Antigravity: add gemini-3.5-flash-extra-low (Low) model - xiaomi-tokenplan: add Claude-native MiMo V2.5 Pro alias via dedicated executor - Qoder: fetch latest model + dashboard import-model button (#1642) - MiniMax: add MiniMax-M3 + update Quota Tracker coding/CN (#1631) ## Fixes - Codex: harden streaming timeouts (stall/connect raised to 60s, configurable per-provider), accept `response.done` event, and always emit a terminal `response.failed` + `[DONE]` for Responses passthrough when a stream closes, stalls, or aborts before a terminal event — prevents codex clients from hanging (#1648, #1680, #1688, #1618) - Codex: durable OAuth refresh lifecycle (#1664) - Tunnel: skip virtual interfaces to prevent false netchange watchdog - Claude: fix forced tool_choice 400 on cc/ OAuth route (#1592) - Proxy: raise Next client body limit to 128MB via `NINEROUTER_PROXY_CLIENT_MAX_BODY_SIZE` (#1529, #1572) - MiniMax: echo `reasoning_content` on follow-up turns to avoid 400 (#1543) - Kiro: handle 400 on tool-bearing history without client tools; add mappable "auto" model slot; fix binary EventStream crash + add models & TTS tool filtering - Antigravity: passthrough tab-autocomplete + mark default agent slot mandatory - Qoder: allow `qmodel_latest` model key (#1638) - Providers: restore one-connection guard for compatible/embedding nodes - Model-test: route image/STT probes to their real endpoints, harden STT ping; add opencode-go + xiaomi-tokenplan to connection test (#1576, #1628) ## Improvements - Dashboard: reorganize menu actions across sidebar/header/profile - Translator: add data-driven coverage, bug-exposing cases, and real provider smoke tests # v0.4.66 (2026-05-29) ## Features - Add Qoder provider: device-flow OAuth, COSY signing, WAF-bypass body encoding, live model catalog, dashboard quota tracker, 11 models (#1372) - Add new models: Claude Opus 4.8 (Claude Code), GPT 5.4 Mini (Codex) ## Fixes - DeepSeek thinking mode: echo `reasoning_content` back on follow-up/tool-call turns so OpenCode-free and custom providers no longer 400 with "reasoning_content must be passed back" (#1543) - Reasoning injector: match deepseek/kimi model ids case-insensitively (covers custom providers using capitalized model names) - OpenCode suggested-models: include free models without the `-free` suffix, e.g. `big-pickle` (#1535) ## Improvements - Codex: trim sunset models, keep gpt-5.5 / gpt-5.4 / gpt-5.3-codex family, add gpt-5.4-mini - volcengine-ark: refresh model list (add DeepSeek-V4-Flash/Pro, drop EOL entries) - Lower stream stall timeout 35s → 30s for faster hang detection # v0.4.63 (2026-05-26) ## Fixes - GitHub Copilot: never route Gemini/Claude models to the `/responses` endpoint; prevents misleading "does not support Responses API" 400s (#1062) - proxyFetch: restore missing `Readable` import causing runtime `ReferenceError` in DNS-bypass fetch path ## Improvements - Lower stream stall timeout from 60s → 35s for faster hang detection # v0.4.62 (2026-05-26) ## Fixes - Codex: auto-retry when upstream drops mid-stream (no more hangs) - Codex: fix random 400/404 errors, tool-calling failures, and unstable prompt cache - MITM: support Antigravity 2.x - Sanitize Read tool args to prevent retry loops from non-Anthropic models (#1144) - Implement json_schema fallback for OpenAI-compatible providers without native Structured Output (#1343) - Strip empty Read pages argument in OpenAI-to-Claude translator (#1354) - Forward Gemini output dimensions for embeddings (#1366) - Resolve setState-in-effect errors in dashboard components (#1362) - Gemini CLI: reuse stored OAuth project IDs for quota checks and show clearer setup guidance when the project is missing (#1271, #1428) ## Features - Add Cloudflare Workers proxy deployer and pool integration (#1360) - Add Deno Deploy relays support and improved proxy pools dashboard layout (#1437) ## Improvements - Refactor Tunnel into dedicated Cloudflare and Tailscale manager modules - Refactor tokenRefresh service with in-flight dedup to prevent refresh_token_reused errors # v0.4.59 (2026-05-21) ## Fixes - OAuth: fix login flow on Windows # v0.4.58 (2026-05-21) ## Features - xAI Grok provider (OAuth, API key, image) - Provider limits: paginated accounts with page size controls ## Fixes - Tailscale: fix connection status on Windows (#1300) - Tunnel: fix false "checking" when tunnel URL is reachable - Stream: fix pipe errors on client disconnect/abort # v0.4.55 (2026-05-18) ## Features - Xiaomi MiMo Token Plan: region selector (Singapore / China / Europe) — keys are cluster-specific - Antigravity: risk confirmation dialog before first connection - Gemini CLI: surface upstream retry delay on 429 errors ## Fixes - MITM: cannot kill process on macOS under sudo (lsof not found in PATH) - Stream: false-positive stall timeout on Claude reasoning / Kiro responses - Tunnel: cannot re-enable after disable (stuck state) - Tunnel: cloudflared error messages now include log tail for easier debugging - Language switcher: applies selected locale immediately on close (#1234) - Antigravity OAuth: metadata now matches the official client ## Improvements - Gemini CLI: bump engine to 0.34.0 - Re-hide `qwen` (OAuth EOL) and `iflow` (not ready) providers # v0.4.52 (2026-05-17) ## Features - Add Vercel AI Gateway provider support (#1183) - rtk: Kiro format tool result compression — handle conversationState.history & currentMessage, preserve error results, ~13.6% savings (#1194) ## Fixes - openclaw: normalize agent.model object form `{primary, fallbacks}` before .startsWith → fix TypeError & 'not configured' status (#1216) - Usage Details pagination: stay inside mobile viewport <640px (#1218) - Fix test model error - Fix MIMO provider in Codex - Disable log file creation when using MITM AG # v0.4.50 (2026-05-16) ## Fixes - Fix duplicate tray icon on macOS when hiding to tray - Fix tray not showing in background mode on macOS - Fix hide to tray broken on Windows/Linux - Fix Shutdown button in web UI not working # v0.4.49 (2026-05-16) ## Features - Add Kiro provider support: full request/response translation, live model listing, reasoning content support - Add `buildOutput` RTK filter with autodetect for npm/yarn/cargo build logs - Add MITM warning notification in tray and dashboard ## Improvements - Add modalities (input/output) to model configuration for OpenCode - Fix tray hide-to-tray: keep current process alive instead of spawning detached child (fixes macOS NSStatusItem ghost icon) - Fix tray kill: graceful shutdown with SIGTERM/SIGKILL escalation - Fix SIGHUP handling so macOS terminal close doesn't kill tray process - Hide deprecated providers (qwen, iflow, antigravity) - Update i18n across 32 languages ## Fixes - Fix model check (test-models) blocked by dashboardGuard: pass machineId-based CLI token in internal self-calls # v0.4.46 (2026-05-15) ## Breaking Changes - Tunnel public URL changed — old tunnel links no longer work, please reconnect to get the new URL # v0.4.44 (2026-05-15) ## Features - Add Blackbox provider with `bb` alias (#1143) - Add Xiaomi token plan provider - Enhance model select modal UX + modal traffic lights (#1111) - Default Usage dashboard period to Today (#1141) ## Fixes - Fix Cowork model selection and Windows CLI packaging (#1129) - Update provider name retrieval for compatibility provider (#1135) - Update JWT_SECRET handling # v0.4.41 (2026-05-14) ## Features - Add jcode CLI tool integration with auto-configuration (#1047) - Redesign CLI Tools dashboard: grid layout (1/2/3 cols) + dedicated detail page per tool - Add drag-and-drop reordering for combo models (#1108) - Add Today period option to Usage & Analytics (#1063) - Add DeepSeek V4 Pro effort aliases (#950) ## Fixes - fix(autostart): work on nvm + npm 9/10, actually register with launchctl (#1104, fixes #1082) - Fix Ollama usage not tracked/shown in UI (#1102) - fix(opencode): preserve DeepSeek reasoning content (#1099, fixes #1093) - Fix TUI input lag (replace enquirer with native readline, persistent raw mode) - fix(ui): show API key row actions on mobile (#1112) ## Improvements - Sync DeepSeek TUI card style with other CLI tools (badges, layout, manual config modal) - Add official logos for Amp CLI, jcode, Qwen Code (replace generic icons) - Resize deepseek-tui icon 1024→128 with padding for visual consistency # v0.4.39 (2026-05-14) ## Fixes - fix(docker): restore `/app/server.js` (v0.4.38 regression) # v0.4.38 (2026-05-13) ## Features - Add DeepSeek TUI as CLI tool in dashboard (#1088) ## Fixes - Fix broken Docker image in v0.4.36/v0.4.37 (#1096, #1097) ## Improvements - Clean Docker tags + clearer pulls badge # v0.4.37 (2026-05-13) ## Improvements - Security hardening — upgrade recommended # v0.4.36 (2026-05-13) ## Features - Add MiniMax TTS provider support (#1043) - Docker images now published on both Docker Hub (`decolua/9router`) and GHCR — pull from your preferred registry ## Improvements - Replace browser confirm dialogs with custom ConfirmModal (#1060) ## Fixes - Fix Docker `Cannot find module 'next'` error in standalone build - Restore /app/server.js in Docker standalone build (#1064, #1067) - Fix CLI TUI menu arrow-key escape sequences leaking (^[[A^[[B) - Switch macOS/Linux tray to systray2 fork (fixes Kaspersky AV false-positive) (#1080) - Fix zoom controls contrast in topology view (#1066)