v0.6.48 — Upstream sync v0.5.75 (video generation, Kiro/Cline/Qoder fixes, Codex image models)
·
146 commits
to master
since this release
Upstream-sync release: merges upstream decolua/9router v0.5.75 (48 commits, v0.5.65 → v0.5.75) into the fork. Every fork subsystem preserved — v2go/Xray, proxy pools, DS2API, TOTU auto-fetch, orcarouter, encrypted backup, alerts, circuit breaker (N7/C7-C9), masked-key ping.
Upstream highlights
- Video: OpenRouter + Vertex AI (Veo) video generation on
/v1/videos/*via a provider adapter layer - Antigravity: weekly quota tracking + free-tier handling; OAuth refresh protected from Google anti-abuse rate limits
- Codex: GPT Image 2.5, Flare, Sunburst image models; Unicode-property tool-schema strip;
Versionheader restored - Qoder: usage reported to all clients; large attachments no longer inlined (upload via
/api/v2/image/upload, context tier auto-escalates) - OpenCode Go: new models — glm-5.3, kimi-k3, deepseek-flash (V4.1), longcat-2.0, hy4-preview, hy3, qwen3.8-max/flash, grok-4.6, gpt-5.6-luna
- Kiro:
q.*surface always first (#3776); no top-levelsystemPrompt(fixes 400 REQUEST_BODY_INVALID) - Cline/ClinePass: live catalog; API keys no longer
workos:-prefixed (fixes #2333); token refresh;{success,data}envelope unwrap - Claude: re-anchored
cache_controlcapped at the 4-marker budget (no more 400 → combo failover) - Tools: Claude tool type defaulting scoped to
requireClaudeToolTypegateways (#3905) - Providers: stale health state cleared on re-validation (#3810/#3830); duplicate
qwenremoved; Airforce free models refreshed - Security: video/Vertex URL path-escape (SSRF) rejection; cowork-mcp-tools SSRF guard (#3783)
- Auth: dashboard session cookie 24h
maxAge - CLI tools: model selector grouped by provider with full-text search
Merge & verification
- 12 conflicts resolved preserving fork behavior (streaming N7 + upstream credentials; masked-key ping + cline unwrap; opencode-go fork rewrite kept)
- Tests: 3164 total — failing set identical to pre-merge baseline (+1 upstream
node:test-styled file whose 4 assertions pass at import); 2 fork tests adapted to upstream's deliberate new behavior, no assertions weakened; 0 pass→fail regression - Production build (next build --webpack) passes; CLI tarball rebuilt
Full Changelog: v0.6.47...v0.6.48
Upstream changelog: https://github.com/decolua/9router/releases/tag/v0.5.75