Skip to content

Releases: rizxfrog/CLIProxyAPI-Plus

v2026.9.29-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • fix(antigravity): sanitize Claude tool IDs and resolve collisions (580df95)
  • feat(registry): update devin model definitions (65459ca)
  • fix(logging): prevent request log collisions and select latest log by ID (e6fcfa3)
  • feat(usage): track execution request ID and trace ID across usage records (2fe9932)
  • fix(gemini): stringify function responses containing JSON schema $ref (5af6cd7)
  • fix(auth): isolate credential-scoped quota cooldown from model quota state (aafa4e9)
  • feat(pluginhost): add host http operation bridge and lifecycle scoping (855a722)
  • feat(auth): persist meta mint subscription metadata in auth record (7d888bf)
  • fix(claude): merge adjacent text blocks into single assistant message (781a203)
  • fix(auth): preserve file priority across plugin auth refreshes (c404af9)
  • feat(executor): enhance sanitizeXAIResponsesBody to utilize resolved thinking support (984aee8)
  • fix(codex): send the ChatGPT routing hint native Codex sends (b97f71d)
  • refactor(executor): remove unsupported reasoning effort handling and update related tests (6d1d74b)
  • Merge pull request router-for-me#6092 from router-for-me/xai (93cccc6)
  • Merge commit 'refs/pull/6090/head' of github.com:router-for-me/CLIProxyAPI into dev (0876e7f)
  • fix(codex): use resolved base model for routing hint (dd3b657)
  • fix(claude): align 2.1.280 fingerprint and thinking visibility (router-for-me#6096) (f7c738d)
  • fix(translator): sanitize tool names for Claude and inject fallback schema for parameterless tools (75b854e)
  • Enhance logging and improve thought signature handling (router-for-me#6106) (8222e32)
  • fix(translator,auth): avoid synthetic bypass on unsigned text parts and reduce stream rewrite log noise (107d7f7)
  • Merge pull request router-for-me#6107 from sususu98/fix/stream-rewrite-log-noise (75f2d01)
  • fix(executor,auth): support Session_id header in Antigravity replay and remove redundant stream chunk logging (c7f358d)
  • fix(registry,cliproxy): set xai owned_by for Devin grok models and align Antigravity web search tests (377747b)
  • fix(api): immediately close connections on stop and guard state access (759c57c)
  • fix(registry): keep request context active until response body is read (74c1ebd)
  • fix(interceptors): avoid cloning request body for read-only interceptors (c9a06ba)
  • fix(session): avoid rescanning large payloads during session extraction (1dffddf)
  • fix(meta): fix client id header and preserve subscription metadata (9bdde54)
  • fix(devin): ensure swe-1-6-slow is preserved as a builtin model (60325f4)
  • fix(auth): preserve attributes and path across plugin refreshes (5530cbd)
  • fix(auth): unschedule disabled invalid_grant credentials and apply exponential backoff for enabled invalid_grant (58461c8)
  • fix(claude): apply cloaking by default for direct Messages OAuth requests (4332048)
  • fix(xiaohuanxiong): accept deep link and bare code in callback parsing (41aacb2)
  • fix(auth): unschedule disabled invalid_grant credentials and apply exponential backoff for enabled invalid_grant (router-for-me#6123) (960be01)
  • Merge branch 'main' into feature/dev (fdb74a3)
  • fix(auth): preserve resolved model capabilities and configuration update support (ed980be)
  • fix(thinking): log baseline configuration for native Responses requests (12245ad)
  • fix(thinking): log effective effort and baseline for native Responses requests (b4e5cc0)
  • fix(claude): preserve tool result adjacency for Antigravity requests (3de5709)
  • feat(auth): support terminal rejection in plugin scheduler (6cd86fb)
  • fix(codex): strip non-standard multi-agent metadata for compat models (3b2882b)
  • feat(codex): support service tier in OpenAI request translation (be4b28f)
  • feat(runtime): enhance Devin model aggregation and UID normalization (fc2c98d)
  • fix(antigravity): extract and apply reasoning summary config for OpenAI responses (6dea3df)
  • feat(tui): support remote management base URL for client mode (ef9e712)
  • feat(config): add v8 configuration API (d9922f0)
  • feat(api): use query params for v8 oauth routes (9a0502c)
  • Merge pull request router-for-me#6154 from router-for-me/v8 (40d4b1a)
  • feat: migrate CLIProxyAPI to version 8 (31f4cfa)
  • docs(agents): add provider integration playbook (9202dac)
  • feat(cline): add Cline (cline.bot) provider support (6c10834)
  • feat(models): add per-provider model management (e9fe52e)
  • Merge branch 'main' into feature/dev (06c4801)
  • fix(config): drop obsolete legacy keys during v8 migration (6c385e6)
  • fix(config): preserve unknown legacy sections as comments during v8 migration (4a2c818)
  • fix(pluginhost): preserve disabled state in host auth callbacks (5756d76)
  • feat(config): warn on unrecognized sections during v8 migration (01274e2)
  • fix(meta): strip unsupported search_content_types from web search tools (2c27e61)
  • feat(openai): support quality parameter for xAI image requests (4b99d1d)
  • fix(openai): prevent false positive namespace prefix matches in responses tools (4ad5bba)
  • fix(translator): append trailing newlines to SSEEventData frames (0a45f25)
  • fix(gemini): preserve thought signatures in interactions translation (04f8816)
  • fix(discovery): support bonded interfaces and deduplicate build warnings (acdace9)
  • feat(config): preserve unknown nested fields as comments during v8 migration (48686cc)
  • feat(readme): add OpenLux sponsorship information and logo (b87ac83)
  • fix(codex): normalize empty function call arguments in responses requests (5d8bb3d)
  • fix(claude): remap MCP aliases in tool_addition/tool_removal blocks (958eeca)
  • feat(codex): extract and persist subscription plan type (59baf73)
  • feat(sdk): add Home credential capabilities and quota APIs (b9971ee)
  • fix(codex): use resolved compat for multi-agent v2 (d3cd466)
  • Merge pull request router-for-me#6175 from magoz/fix/claude-oauth-tool-change-alias (e8156ec)
  • fix(openai): use routed home model compatibility options (ac42acc)
  • Merge pull request router-for-me#6176 from router-for-me/home (673e58d)
  • feat(logging): switch request ID generation to UUIDv7 (d33f63f)
  • feat(oauth): support per-channel model settings overrides (df2774c)
  • feat(models): add claude-sonnet-5-5 model (9a3b869)
  • docs(agents): mark /v0/management endpoints as deprecated (dace3bb)
  • docs(readme): remove CyberPay sponsor (93b683c)
  • test(config): add test for DELETE operation preserving document presence (775a308)
  • feat(readme): update OpenLux sponsorship details and promotional offer (743bbdf)
  • feat(readme): update OpenLux sponsorship links and promotional offer (07c5dc0)
  • Merge branch 'sponsor/add-openlux' into dev (a270e7b)
  • feat(minimax): add MiniMax Code provider (OAuth device flow) (1143563)
  • Merge branch 'main' into feature/dev (a718d45)

Full Changelog: v2026.9.23-16-snapshot...v2026.9.29-snapshot

v2026.9.29-21-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • feat(minimax): add coding-plan quota endpoint (7e6579f)

Full Changelog: v2026.9.29-snapshot...v2026.9.29-21-snapshot

v2026.9.23-16-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • perf(codex): avoid discarded copies of SSE data lines (cbf8318)
  • perf(codex): batch tool schema rewrites (5651848)
  • perf: index Responses tools and cache stream request validation (8a6a396)
  • test(executor): allow non-negative TTFT in xAI usage record assertions (fd5cd22)
  • fix(claude): gate fallback-credit beta on fallback tokens or explicit fallbacks (ed751ea)
  • fix(translator): hoist tool-result content part cache_control to the block (router-for-me#5432) (bcd13ca)
  • refactor(translator): encapsulate tool-result cache-control hoisting in common (50585bf)
  • fix(responses): support mid-connection prewarm in websocket handler (7b6fafc)
  • fix(responses): filter upstream private and telemetry events in SSE streams (dd013f9)
  • feat(pluginapi): propagate response model, service tier, and stream flag to usage plugins (ac3849e)
  • fix(gemini): enforce array type for schema nodes declaring items (ffe6ad3)
  • feat(models): add grok-4.7 model definition (130c879)
  • chore(models): drop gpt-5.3-codex-spark from the embedded catalog (94b7cc2)
  • style: gofmt codex bootstrap and cache-control tests (bf44a7f)
  • fix(models): set grok-4.7 max completion to the context window (b9b50a8)
  • feat(executor): support execution-scoped request proxy overrides (d582067)
  • Merge pull request router-for-me#5680 from cookerpapa/perf/codex-tool-schema-batch (7f63f8c)
  • Merge pull request router-for-me#5990 from jack-5566/fix/responses-request-cache-pr (5083f65)
  • perf(executor): reuse identical Claude and Gemini request translations (639b7f1)
  • Merge pull request router-for-me#5678 from cookerpapa/perf/codex-stream-copy (f6d582c)
  • perf(executor): avoid discarded copies of Gemini and Kimi stream lines (a26cf2a)
  • fix(qoder-cn): correct the CN model catalog and make models.json authoritative (d23a458)
  • feat(qoder-cn): sign inference requests with COSY and use the /algo transport (995fec4)
  • fix(gemini): preserve items for uppercase ARRAY type in schema sanitizer (2eb8dd1)
  • docs(README_CN): fix FluxA AgenticPlan (5556629)
  • fix(codex): strip octal NUL pattern escapes from tool schemas (320100e)
  • fix(claude): support string input in responses request translation (b989e34)
  • fix(registry): avoid double-counting clients with active quota and suspension (ed70aea)
  • feat(openai): support video input in responses request translation (4b5adbb)
  • feat(codex): add support for disable codex cloaking per credential (f351924)
  • feat(management): support updating priority in credential patch endpoints (cc77410)
  • feat(registry): update model definitions and bump codex client version to 0.155.0 (2430354)
  • feat(server): support trusted proxies configuration for client IP resolution (a962b77)
  • feat(registry): add gpt-6-luna model to codex-free (937ebb8)
  • Merge pull request router-for-me#6049 from ZYHUO/main (1efd01d)
  • docs(readme): add CLIProxy Quota Tray to community projects (e01806f)
  • feat(registry): add grok-4.7-build-fast model and update grok-4.7 (fc914b9)
  • feat(claude): bump claude cli baseline to 2.1.280 and support tool changes beta (779bf31)
  • feat(claude): support Claude Code 2.1.280 feature-gated betas (bd584a7)
  • fix(codex): compact client model catalog and preserve required fields (673131f)
  • feat: extend Qoder provider authentication and configuration (5c4b4df)
  • Merge branch 'main' into feature/dev (d3c6e2c)

Full Changelog: v2026.9.21.13-snapshot...v2026.9.23-16-snapshot

v2026.9.21.13-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • feat(management): paginate auth file listings (76ac75e)
  • Merge pull request router-for-me#5897 from camy-x/feat/auth-files-pagination (46d4baf)
  • fix(devin): support images in tool results (64c9433)
  • fix(config): preserve plugin configurations when saving yaml (afba07b)
  • feat(plugin): support scheduling across priorities (b715526)
  • fix(management): reject unresolved token placeholders in api-call (0b55053)
  • fix(devin): aggregate tool calls by id and track cache write tokens (9e10db5)
  • fix(devin): handle orphaned tool results and normalize function result payloads (b6fe4f2)
  • feat(claude): support model-level cooling and scope overage rate limits (44eaef0)
  • fix(xai): unify forced hosted tool choice normalization (c616193)
  • fix(ci): replace go-cross/cgo-actions with direct FreeBSD sysroot cross-compilation (b773607)
  • feat(xai): allow grok imagine aspect_ratio 9:20 (75bd6a6)
  • feat(xai): also allow grok imagine aspect_ratio 20:9 (f049e00)
  • fix(claude): skip retry-after header on overage-only rejections (1cce932)
  • fix(codex): strip item-level and tool output prompt cache breakpoints (3662d15)
  • fix(xai): restore aliased client web search tool name in responses (660a580)
  • feat(codex): append (Devin) suffix to Devin model display names (2874347)
  • fix(codex): normalize and support ultrafast service tier (859c486)
  • feat(codex): record upstream response model and warn on silent model substitution (25f40d8)
  • fix(openai): align tool call messages and preserve ordering on ambiguous outputs (cc545cb)
  • feat: add PatewayAI (784285a)
  • feat: add FluxA (0b9a91f)
  • Merge pull request router-for-me#5919 from Fesaluo/feat/xai-imagine-aspect-ratio-9-20 (05391d7)
  • feat(qoder-cn): add Qoder CN provider with browser+PKCE device login (3d15c08)
  • feat(refresh): register executor-backed refresh leads and qoder-cn/trae (10990da)
  • Merge pull request router-for-me#5928 from Viggo95/feat/codex-response-model-observability (cd5af08)
  • feat(executor): extend response model recording and substitution warnings to all providers (e9463ff)
  • fix(executor): record authentic Devin and Gemini Interactions response models (f8467f0)
  • fix(executor): robust response model observability across meta, kimi, and openai-compat streams (cde7d57)
  • fix(executor): record expected Devin upstream model and bound stream observer memory (e84e248)
  • fix(codex): preserve reasoning content and IDs for compat models in responses (81d6ba7)
  • fix(openai): classify stream request timeout as server error (cb62a67)
  • fix(translator): scope tool responses per turn to handle repeated tool call IDs (c2ea268)
  • fix(executor): restrict claude advisor tool check to server tool use (f86a33f)
  • test(config): verify claude cloak persistence and update behavior (f485217)
  • feat(executor): support use-max-completion-tokens for openai compatibility models (690f4f3)
  • fix(executor): restore hybrid passthrough mcp tool names in claude oauth (22392c5)
  • fix(executor): buffer post-tool text to order devin tool calls before assistant response (b6d1f05)
  • fix(schema): normalize true boolean subschemas and strip unsupported keywords (c93978c)
  • fix(translator): deduct cache_write_tokens from input_tokens in openai/codex to claude (router-for-me#5956) (883660f)
  • Merge pull request router-for-me#5962 from router-for-me/fix/issue-5956-cache-write-deduction (12773e7)
  • fix(translator): align tool choice mapping and enforce fail-closed handling (49eec66)
  • feat(translator): support strict tool mode mapping for gemini and claude (f247e2b)
  • fix(translator): preserve constraints and additionalProperties in gemini parametersJsonSchema (b532db9)
  • fix workbuddy daily check-in scheduling (228686e)
  • add qodercn quota endpoints, checkin scripts, and reverse-engineering docs (00104d7)
  • fix(management): reconcile expired cooldowns to active status in auth files (b4ff581)
  • feat(management): support priority field in claude key patch (93b94d2)
  • feat(executor): support duplex streaming for codex websockets (42c9680)
  • fix(pluginhost): preserve http status codes in host callback and execution errors (1c87874)
  • feat(translator): support multimodal audio, video, and file inputs in responses to gemini (61fdfc3)
  • feat(translator): support builtin tools in gemini and antigravity interactions (cdfb79e)
  • Merge branch 'main' into feature/dev (b721e62)
  • chore: ignore codemap artifacts and format Go files (ae774ab)
  • fix(claude): accept newer patch releases as native clients (router-for-me#5820) (83a4913)
  • docs(claude): clarify patch version floor rationale for native passthrough (c52ca7b)
  • fix(auth): avoid unnecessary scheduler rebuilds by checking sync needs from auth map (e56547f)
  • feat(steering): add documentation for Codex response steering and duplex transport (ddc3f73)
  • fix(translator): preserve reasoning content across tool turns in responses conversion (40cc648)
  • feat(auth): propagate context compaction and node kind session metadata (28100e5)
  • Merge pull request router-for-me#5982 from ysntony/add-kimi-ai-code-link (29bdd85)
  • feat: add full support for kimi.ai oauth and runtime execution (a5ab695)
  • Merge branch 'main' into feature/dev (9979612)
  • script(check-in): qoder (0ef43f0)
  • feat: add management anti-bot protection (9216501)
  • feat(qoder-cn): improve quota handling and Python check-in tooling (9760746)

Full Changelog: v2026.9.17.17-snapshot...v2026.9.21.13-snapshot

v2026.9.21.12-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • feat(management): paginate auth file listings (76ac75e)
  • Merge pull request router-for-me#5897 from camy-x/feat/auth-files-pagination (46d4baf)
  • fix(devin): support images in tool results (64c9433)
  • fix(config): preserve plugin configurations when saving yaml (afba07b)
  • feat(plugin): support scheduling across priorities (b715526)
  • fix(management): reject unresolved token placeholders in api-call (0b55053)
  • fix(devin): aggregate tool calls by id and track cache write tokens (9e10db5)
  • fix(devin): handle orphaned tool results and normalize function result payloads (b6fe4f2)
  • feat(claude): support model-level cooling and scope overage rate limits (44eaef0)
  • fix(xai): unify forced hosted tool choice normalization (c616193)
  • fix(ci): replace go-cross/cgo-actions with direct FreeBSD sysroot cross-compilation (b773607)
  • feat(xai): allow grok imagine aspect_ratio 9:20 (75bd6a6)
  • feat(xai): also allow grok imagine aspect_ratio 20:9 (f049e00)
  • fix(claude): skip retry-after header on overage-only rejections (1cce932)
  • fix(codex): strip item-level and tool output prompt cache breakpoints (3662d15)
  • fix(xai): restore aliased client web search tool name in responses (660a580)
  • feat(codex): append (Devin) suffix to Devin model display names (2874347)
  • fix(codex): normalize and support ultrafast service tier (859c486)
  • feat(codex): record upstream response model and warn on silent model substitution (25f40d8)
  • fix(openai): align tool call messages and preserve ordering on ambiguous outputs (cc545cb)
  • feat: add PatewayAI (784285a)
  • feat: add FluxA (0b9a91f)
  • Merge pull request router-for-me#5919 from Fesaluo/feat/xai-imagine-aspect-ratio-9-20 (05391d7)
  • feat(qoder-cn): add Qoder CN provider with browser+PKCE device login (3d15c08)
  • feat(refresh): register executor-backed refresh leads and qoder-cn/trae (10990da)
  • Merge pull request router-for-me#5928 from Viggo95/feat/codex-response-model-observability (cd5af08)
  • feat(executor): extend response model recording and substitution warnings to all providers (e9463ff)
  • fix(executor): record authentic Devin and Gemini Interactions response models (f8467f0)
  • fix(executor): robust response model observability across meta, kimi, and openai-compat streams (cde7d57)
  • fix(executor): record expected Devin upstream model and bound stream observer memory (e84e248)
  • fix(codex): preserve reasoning content and IDs for compat models in responses (81d6ba7)
  • fix(openai): classify stream request timeout as server error (cb62a67)
  • fix(translator): scope tool responses per turn to handle repeated tool call IDs (c2ea268)
  • fix(executor): restrict claude advisor tool check to server tool use (f86a33f)
  • test(config): verify claude cloak persistence and update behavior (f485217)
  • feat(executor): support use-max-completion-tokens for openai compatibility models (690f4f3)
  • fix(executor): restore hybrid passthrough mcp tool names in claude oauth (22392c5)
  • fix(executor): buffer post-tool text to order devin tool calls before assistant response (b6d1f05)
  • fix(schema): normalize true boolean subschemas and strip unsupported keywords (c93978c)
  • fix(translator): deduct cache_write_tokens from input_tokens in openai/codex to claude (router-for-me#5956) (883660f)
  • Merge pull request router-for-me#5962 from router-for-me/fix/issue-5956-cache-write-deduction (12773e7)
  • fix(translator): align tool choice mapping and enforce fail-closed handling (49eec66)
  • feat(translator): support strict tool mode mapping for gemini and claude (f247e2b)
  • fix(translator): preserve constraints and additionalProperties in gemini parametersJsonSchema (b532db9)
  • fix workbuddy daily check-in scheduling (228686e)
  • add qodercn quota endpoints, checkin scripts, and reverse-engineering docs (00104d7)
  • fix(management): reconcile expired cooldowns to active status in auth files (b4ff581)
  • feat(management): support priority field in claude key patch (93b94d2)
  • feat(executor): support duplex streaming for codex websockets (42c9680)
  • fix(pluginhost): preserve http status codes in host callback and execution errors (1c87874)
  • feat(translator): support multimodal audio, video, and file inputs in responses to gemini (61fdfc3)
  • feat(translator): support builtin tools in gemini and antigravity interactions (cdfb79e)
  • Merge branch 'main' into feature/dev (b721e62)
  • chore: ignore codemap artifacts and format Go files (ae774ab)
  • fix(claude): accept newer patch releases as native clients (router-for-me#5820) (83a4913)
  • docs(claude): clarify patch version floor rationale for native passthrough (c52ca7b)
  • fix(auth): avoid unnecessary scheduler rebuilds by checking sync needs from auth map (e56547f)
  • feat(steering): add documentation for Codex response steering and duplex transport (ddc3f73)
  • fix(translator): preserve reasoning content across tool turns in responses conversion (40cc648)
  • feat(auth): propagate context compaction and node kind session metadata (28100e5)
  • Merge pull request router-for-me#5982 from ysntony/add-kimi-ai-code-link (29bdd85)
  • feat: add full support for kimi.ai oauth and runtime execution (a5ab695)
  • Merge branch 'main' into feature/dev (9979612)
  • script(check-in): qoder (0ef43f0)
  • feat: add management anti-bot protection (9216501)
  • feat(qoder-cn): improve quota handling and Python check-in tooling (0cafdb0)

Full Changelog: v2026.9.17.17-snapshot...v2026.9.21.12-snapshot

v2026.9.21.8-snapshot

Choose a tag to compare

@github-actions github-actions released this 21 Sep 00:45
a5ab695

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • feat(meta): add native Meta (Muse Code) provider and OAuth device flow (54d4f4c)
  • fix(cli): make config optional in commandMode so login works without existing config.yaml (fbf7464)
  • feat(meta): mint LLM API key from device access token via /muse-code/key (30191c3)
  • feat(meta): add Meta OAuth management endpoint and WebUI / TUI support (23c16e2)
  • fix(management): disable caching for management.html to prevent stale SPA views (78c14b8)
  • fix(tui): rename Meta provider label from Meta (Muse) to Meta (18385de)
  • feat(meta): add Meta API key management handlers, routes, logo, and tests (e475807)
  • fix(meta): address review feedback on credential lifecycle, models, and config loading (cee799f)
  • fix(codex): recognize codex_exec user agent for multi-agent v2 optimization (923a8c3)
  • fix(meta): exclude cleared expired timestamp on persist, add runtime alias resolution, and fix test race (47cc31a)
  • chore(meta): keep provider PR scoped to Meta support (21aa46b)
  • fix(meta): recover and persist minted credentials correctly (be7323f)
  • fix(meta): implement request preparer, disable unconditional refresh, scope 429 quota, and stabilize auth index (d09042a)
  • fix(meta): require OAuth storage for DCA tokens and reject them in config meta-api-key (1144ae7)
  • fix(meta): validate catalog section, singleflight management mints, and synchronize singleflight test (06660dd)
  • fix(meta): unify credential minting and preserve auth lifecycle (4a0131c)
  • chore(models): remove gpt-5.4 and gpt-5.4-mini models (31ec436)
  • fix(aistudio): normalize thinking level to uppercase (9dfddd6)
  • fix(watcher): preserve concurrent file updates during auth snapshot rescans (084f25c)
  • fix(claude): avoid mid-conversation system splicing for advisor calls or results (7c2f6ce)
  • fix(codex): scope usage limit errors to credentials and parse flexible quota resets (5ab0bca)
  • feat(usage): propagate session and parent session hierarchy to usage reporting queue (580df36)
  • chore(codex): update codex user-agent to 0.153.3 (c76dfd4)
  • perf(auth): optimize scheduler result updates with targeted model shards (fa01468)
  • feat(pluginhost): expose outbound HTTP wire profile to plugin requests (00c63a5)
  • feat(antigravity): add conversation compaction support and capsule encryption (70f4560)
  • fix(xai): support compaction fallback from payload input or previous response id (0e85eb4)
  • fix(gemini): append trailing user turn for requests ending with model content (5dc428f)
  • fix(claude): preserve non-result block positions during tool result alignment (8564142)
  • fix(antigravity): omit tools when tool_choice is none (a76da71)
  • fix(auth): preserve active cooldown deadlines on subsequent failures (1c22598)
  • fix(antigravity): enable thinking summary when responses reasoning effort is set (e92f6cf)
  • fix(claude): normalize codex agent messages in responses conversion (d2f7122)
  • feat: add Aiberm sponser (63fd255)
  • fix Aiberm sponser logo (578ac8f)
  • feat: add Aiberm sponsorship information to README_JA.md (4cd8ee7)
  • feat: add link to Aiberm in sponsorship section of README files (934fb79)
  • fix(gemini): hide trailing text thought signatures from responses timeline (510c9c8)
  • fix(codex): restore dotted collaboration tool names in multi-agent v2 (82f4f37)
  • fix(antigravity): default to short connections and harden connection pool lifecycle (fixes router-for-me#5494) (d539790)
  • Merge pull request router-for-me#5596 from sususu98/fix/issue-5494-antigravity-idle-conns (f19d6da)
  • fix(codex): simplify complex tool schema unions and detect empty incomplete responses (bf20b99)
  • feat(claude): support structured output via system prompt instructions (4f03809)
  • fix(wsrelay): preserve queued frames during terminal message delivery (7871a5a)
  • fix(codex): preserve service tier and cache write tokens in openai responses (8696585)
  • fix(codex): explicitly default function tool strict to false (d01516c)
  • fix(codex): recover omitted tool namespaces in openai responses (03a054e)
  • fix(codex): sanitize invalid tool name characters for upstream compatibility (bee20b9)
  • fix(codex): recognize retryable server errors for bootstrap failover (ba7e558)
  • fix(docs): remove Infistar.ai sponsorship details from README files (d198db5)
  • fix(claude): default function parameters for tools without input schema (6e1f9ec)
  • fix(antigravity): normalize gemini responseJsonSchema to responseSchema (dc21a42)
  • fix(claude): align beta assembly and Haiku helper transport with the measured 2.1.258 (280b96a)
  • fix(claude): attach helper request IDs according to the upstream base (35a4723)
  • feat(kimi): support openai responses api (d4146bd)
  • fix(antigravity): include resolved pool settings in transport cache key (68dd99d)
  • fix(claude): enforce sequential content blocks for interleaved streaming tool calls (ef99119)
  • fix(auth): cap refresh loop timer wait duration (48e5e9e)
  • fix(claude): map codex reasoning tokens to thinking tokens (e365ab0)
  • feat(session): enhance harness hierarchy recognition and deduplicate selector extraction (3905891)
  • feat(usage): normalize reported session hierarchy to canonical UUIDv8 (6b187e7)
  • fix(plugin-store): only check releases for installed update sources (1c9d719)
  • fix(auth): strip monotonic clock reading from quota cooldown deadlines (1d5f7b2)
  • fix(plugin-store): coalesce and throttle cached release checks (54b17ce)
  • fix(plugin-store): honor shared GitHub API rate-limit cooldowns (8c0ad8c)
  • feat(auth): export helper functions for headless antigravity oauth (20e3f73)
  • perf(antigravity): batch functionResponse name repairs (d8f2dce)
  • fix(plugin-store): add network scope handling for shared GitHub API cooldowns (3639d92)
  • fix(api): skip access logging for health probes (e026cbf)
  • fix(session): harden canonical UUIDv8 normalization for empty prefixes and context roots (1119ef1)
  • fix(logging): silence only successful health probes (a163c5e)
  • Merge pull request router-for-me#5625 from router-for-me/fix/issue-5608-plugin-store-rate-limit (f39702a)
  • fix(gemini): normalize responses tool call outputs and resolve alternate call ids (d0bb908)
  • Merge pull request router-for-me#5626 from nichaoshou/fix/healthz-access-log (454452d)
  • feat(plugin): preserve raw json in management responses on schema version 6 (c6327a8)
  • fix(gemini): reorder trailing text before function responses in user turns (4fde97f)
  • fix(codex): strip schema dialect keywords from tool parameters (7fac6b1)
  • feat(plugin): add host session affinity lookup callback (0796d6d)
  • fix(claude): emit trailing usage chunk and aggregate stream usage (a59b176)
  • feat(codex): support model-level quota cooling (b064b83)
  • fix(translator): strip unsupported unicode property escape patterns from tool schemas (e56abd5)
  • fix(schema): inspect patternProperties keys and avoid Unicode escape fast-path bypass (37ce368)
  • Merge pull request router-for-me#5677 from sususu98/fix/codex-tool-schema-pattern (db01159)
  • feat(management): add endpoint to refresh auth files (60e5b8b)
  • feat(auth): propagate canonical session id for custom header expansion (3bf787f)
  • fix(auth): classify terminal upstream auth failures as non-retryable errors (aedc9e6)
  • feat(codex): add support for gpt-image-2.5 models (d1a024e)
  • fix(claude): preserve 1h cache ttl and beta header for subagent requests (6a73f39)
  • fix(openai): preserve prewarm input and allow named tool outputs in responses websocket (bd03aab)
  • fix(openai): preserve nested error details and sequence numbers in responses stream (2591308)
  • fix(codex): treat model capacity errors as bootstrap overload failures (3ae9093)
  • fix(auth): enable model cooldown and rotation for model not found errors (dde250f)
  • fix(translator): ignore null and empty finish reasons in openai to gemini response (4dce5f3)
  • fix(stream): handle split CRLF across chunk boundaries in SSE validation (638ed7e)
  • docs(readme): remove RunAPI sponsor (09a29bd)
  • fix(openai): process reasoning deltas before content in responses stream (c8ecb4f)
  • fix(antigravity): keep active block open on empty text parts in claude stream (fd3e662)
  • fix(auth): treat cloudflare 520-526 origin errors as transient upstream failures (9fad505)
  • fix(gemini): preserve function call pairing for interrupted calls and replay failures (b8e6ec0)
  • fix(auth): bound force refresh all concurrency using worker pool (6dce786)
  • fix(translator): ignore fco output item IDs when extracting responses call ID (5a07045)
  • Merge dev into feat/meta-provider and preserve both registry tests (c6e076f)
  • docs(readme): update links after GitHub username change (cfeeeb3)
  • feat(usage): propagate upstream base_url across usage records and plugin auth (c8f723e)
  • chore(codex): update codex user-agent to 0.154.0 (8461b4e)
  • fix(codex): inherit template metadata for model aliases and restrict provider capabilities (8f23ad0)
  • fix(translator): support incomplete status and response.incomplete event in responses translation (4efcac7)
  • feat(auth): support execution result policy before quota and cooldown mutations (2912516)
  • fix(translator): relay claude tool result images as user messages for openai (4cd1729)
  • feat(auth): support organization-hashed claude credentials and legacy migration (fc96a87)
  • fix(translator): preserve unknown thinking signatures in clau...
Read more

v2026.9.17.17-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • feat(meta): add native Meta (Muse Code) provider and OAuth device flow (54d4f4c)
  • fix(cli): make config optional in commandMode so login works without existing config.yaml (fbf7464)
  • feat(meta): mint LLM API key from device access token via /muse-code/key (30191c3)
  • feat(meta): add Meta OAuth management endpoint and WebUI / TUI support (23c16e2)
  • fix(management): disable caching for management.html to prevent stale SPA views (78c14b8)
  • fix(tui): rename Meta provider label from Meta (Muse) to Meta (18385de)
  • feat(meta): add Meta API key management handlers, routes, logo, and tests (e475807)
  • fix(meta): address review feedback on credential lifecycle, models, and config loading (cee799f)
  • fix(codex): recognize codex_exec user agent for multi-agent v2 optimization (923a8c3)
  • fix(meta): exclude cleared expired timestamp on persist, add runtime alias resolution, and fix test race (47cc31a)
  • chore(meta): keep provider PR scoped to Meta support (21aa46b)
  • fix(meta): recover and persist minted credentials correctly (be7323f)
  • fix(meta): implement request preparer, disable unconditional refresh, scope 429 quota, and stabilize auth index (d09042a)
  • fix(meta): require OAuth storage for DCA tokens and reject them in config meta-api-key (1144ae7)
  • fix(meta): validate catalog section, singleflight management mints, and synchronize singleflight test (06660dd)
  • fix(meta): unify credential minting and preserve auth lifecycle (4a0131c)
  • Merge dev into feat/meta-provider and preserve both registry tests (c6e076f)
  • docs(readme): update links after GitHub username change (cfeeeb3)
  • feat(plugin-quota): add typed summary metrics (acb0eae)
  • fix(plugin-quota): accept summary-only probes (5cb41e2)
  • fix(plugin-quota): require summary metric values (7b60be3)
  • fix(plugin-quota): tolerate malformed summaries (782a5cd)
  • fix(plugin-quota): validate summary identifiers (d3cb685)
  • fix(plugin-quota): validate summary metadata (617b9fd)
  • fix(plugin-quota): preserve mapped summaries (6aea72e)
  • fix(plugin-quota): preserve valid mapped summaries (07e85de)
  • Merge pull request router-for-me#5803 from anpicasso/feat/plugin-quota-summary (512c453)
  • feat(translator): refine tool call argument validation for finish reason logic (772c63c)
  • Merge PR router-for-me#5502 feat/meta-provider into cpa/muse (42ca5d3)
  • feat(executor): add native Meta (Muse Code) provider integration (65348b9)
  • feat(config): add Meta OAuth aliasing and error rules support (8335eac)
  • feat(auth): enhance retry logic with enriched error handling and tests (6724a95)
  • fix(interactions): strip invalid id from function_result and redundant call_id from function_call (f51d3ae)
  • Merge pull request router-for-me#5830 from router-for-me/fix/issue-5828-gemini-interactions-tool-result-id (10d464d)
  • feat(translator): enhance finish reason handling and tool call translations (6f908cb)
  • feat(translator): enhance cache usage handling and input token computation logic (e54a8e9)
  • feat(translator): introduce namespace-aware tool name capping and collision handling (e3e97ad)
  • fix(devin): support swe-1-6-slow model variant (dea4ce8)
  • feat(antigravity): support web search translation and URL resolution in OpenAI Responses (ef63d2e)
  • fix(provider): add CodeArts (Desktop Version) (HuaWei) (41d850a)
  • feat(translator): preserve tool names in tool result messages (7def842)
  • fix(devin): classify high-demand errors as rate limits (d44901f)
  • Merge pull request router-for-me#5867 from avabbbb/fix/devin-swe-1-6-slow (44f8343)
  • feat(codearts): credit quota endpoint, benefit-model routing, catalog refresh (4fd3c9b)
  • fix(executor): prevent stream failure on client disconnect after claude completion (7c32971)
  • Merge pull request router-for-me#5862 from sususu98/feat/antigravity-websearch (8c6d4dc)
  • feat(codearts): add daily check-in script and fix the welfare check-in flow (cd94455)
  • feat(translator): enhance web search streaming and citation mapping in OpenAI Responses (7fcbdf8)
  • Merge pull request router-for-me#5870 from avabbbb/fix/devin-high-demand-rate-limit (4613cfd)
  • feat(translator): support alternative reasoning fields in OpenAI Claude translation (77820cb)
  • fix(devin): buffer content deltas to handle late thinking signatures (c2bb91d)
  • feat(translator): wrap demoted mid-session system messages in system-reminder envelope (b681a1e)
  • Merge pull request router-for-me#5725 from ztzpro/main (87561b6)
  • Merge pull request router-for-me#5696 from cookerpapa/docs/picloud-related-project (12b496b)
  • Merge pull request router-for-me#5509 from trukhinyuri/fix/codex-exec-user-agent (c8ec91f)
  • fix(executor): strip relayed tool result images for text-only models (c4982e8)
  • test(executor): use metaUserAgent constant in meta executor test (311efcb)
  • fix(schema): strip unsupported schema identifier keywords (f668ac4)
  • Merge branch 'main' into feature/dev (d1ff277)
  • Merge pull request router-for-me#5889 from kinka/docs/add-cc-status-line (1bb8895)
  • fix(codearts): confirm is best-effort and takes only userBenefitId (983ec73)
  • feat(translator): preserve model metadata in requests (a9e92b8)
  • fix(devin): filter automation update tools and sanitize tool descriptions (ad088a8)
  • Merge pull request router-for-me#5896 from router-for-me/translator (8c664b2)
  • Merge branch 'main' into feature/dev (09c8d1a)

Full Changelog: v2026.9.15.21-snapshot...v2026.9.17.17-snapshot

v2026.9.15.8-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • fix(codex): buffer keepalive and empty item announcements during codex bootstrap (cb73cd9)
  • feat(devin): support port-free manual code login in no-browser mode (fe2fdde)
  • fix(devin): align OAuth authorization URL parameter order with official CLI binary (09807c5)
  • fix(devin): mock AuthService in headless token test and validate prompt before printing URL (c35db12)
  • feat(discovery): add LAN gateway discovery (3428110)
  • fix(translator): preserve html characters in tool arguments and fix devin sequential tool calls (c1cb0c5)
  • docs(readme): remove FastAIToken sponsor (fd3cd15)
  • test(devin): route status calls to mock server in headless auth tests (f465ebd)
  • fix(claude): repair tool call pairing and handle standalone tool outputs (2bcebaa)
  • fix(discovery): harden advertiser lifecycle and browse limits (b900577)
  • fix(discovery): honor caller cancellation and reload endpoint (c1b7c91)
  • Merge pull request router-for-me#5724 from Viggo95/fix/codex-bootstrap-buffer-noncontent-events (bb20fa2)
  • feat(conductor): configurable system prompt override per provider (19a9158)
  • fix(discovery): bound browse resource usage (f5c19d2)
  • fix(cmd/fetch_antigravity_models): support symlinked auth dir and multi-auth fallback (f341e07)
  • feat(models): add gemini-3.5-flash-lite model definition (d48590a)
  • feat(codex): add optional time ceiling for stream bootstrap buffering (6e30755)
  • test(discovery): report temp cleanup failures (c3a5e8c)
  • fix(discovery): close lifecycle and routing gaps (20ec9b8)
  • Merge pull request router-for-me#5818 from router-for-me/feat/codex-bootstrap-timeout (6c5fef9)
  • fix(discovery): keep JSON scans clean and honor interface filters (7d68705)
  • fix(discovery): load default scan config and sanitize hostnames (2dd2fd6)
  • fix(discovery): uniquify instance names without a startup browse (9e847e5)
  • fix(devin): share manual paste parsing and surface oauth callback errors (5f74acc)
  • fix(discovery): tighten scan timeout, flags, and TCP-only types (13af6c0)
  • Merge pull request router-for-me#5808 from router-for-me/feat/devin-code-login (c9b3dbe)
  • Merge pull request router-for-me#5796 from router-for-me/feat/ai-gateway-discovery (9b52a49)
  • fix(pluginhost): keep request and method buffers alive during native call (b8477c7)
  • feat(pluginabi): support HTTP status code propagation in plugin error envelopes (6ba4445)
  • test(openai): add tests for responses websocket compaction replay and routing (ca92945)
  • feat(conductor): system prompt replacements, tool description rewrite, prompt-file (94d9d6f)
  • feat(pluginhost): propagate forced provider and auth ID in host model execution (748d576)
  • feat(auth): add tests to ensure async operations don’t block unrelated actions (e3cbe43)
  • feat(executor): strip unsupported id fields from Gemini interactions payload (1fac8cc)
  • feat(auth): add retry logic for pre-HTTP transport failures and related tests (bef1f65)
  • feat(translator): handle orphan function outputs as user text in OpenAI and Gemini translators (8c98467)
  • feat(executor): promote reasoning content as summary and sanitize inputs (7bbfeaf)
  • Merge branch 'main' into feature/dev (5a50553)

Full Changelog: v2026.9.14.11-snapshot...v2026.9.15.8-snapshot

v2026.9.15.21-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • feat(provider): 商汤小浣熊 (170b770)
  • feat: add built-in Prometheus metrics and Grafana dashboard (e40d605)
  • Merge pull request #1 from centaurus-code/feature/prometheus-metrics (e966e7f)
  • feat(provider): 商汤小浣熊 (758b4a9)
  • fix(deps): add missing go.sum entry for prometheus/procfs (781509f)

What's Changed

  • feat: add built-in Prometheus metrics and Grafana dashboard by @centaurus-code in #1

New Contributors

Full Changelog: v2026.9.15.8-snapshot...v2026.9.15.21-snapshot

v2026.9.14.9-snapshot

Choose a tag to compare

Linux release assets

  • CLIProxyAPI_<version>_linux_<arch>.tar.gz is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
  • CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

FreeBSD release assets

  • CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

Changelog

  • chore(models): remove gpt-5.4 and gpt-5.4-mini models (31ec436)
  • fix(aistudio): normalize thinking level to uppercase (9dfddd6)
  • fix(watcher): preserve concurrent file updates during auth snapshot rescans (084f25c)
  • fix(claude): avoid mid-conversation system splicing for advisor calls or results (7c2f6ce)
  • fix(codex): scope usage limit errors to credentials and parse flexible quota resets (5ab0bca)
  • feat(usage): propagate session and parent session hierarchy to usage reporting queue (580df36)
  • chore(codex): update codex user-agent to 0.153.3 (c76dfd4)
  • perf(auth): optimize scheduler result updates with targeted model shards (fa01468)
  • feat(pluginhost): expose outbound HTTP wire profile to plugin requests (00c63a5)
  • feat(antigravity): add conversation compaction support and capsule encryption (70f4560)
  • fix(xai): support compaction fallback from payload input or previous response id (0e85eb4)
  • fix(gemini): append trailing user turn for requests ending with model content (5dc428f)
  • fix(claude): preserve non-result block positions during tool result alignment (8564142)
  • fix(antigravity): omit tools when tool_choice is none (a76da71)
  • fix(auth): preserve active cooldown deadlines on subsequent failures (1c22598)
  • fix(antigravity): enable thinking summary when responses reasoning effort is set (e92f6cf)
  • fix(claude): normalize codex agent messages in responses conversion (d2f7122)
  • feat: add Aiberm sponser (63fd255)
  • fix Aiberm sponser logo (578ac8f)
  • feat: add Aiberm sponsorship information to README_JA.md (4cd8ee7)
  • feat: add link to Aiberm in sponsorship section of README files (934fb79)
  • fix(gemini): hide trailing text thought signatures from responses timeline (510c9c8)
  • fix(codex): restore dotted collaboration tool names in multi-agent v2 (82f4f37)
  • fix(antigravity): default to short connections and harden connection pool lifecycle (fixes router-for-me#5494) (d539790)
  • Merge pull request router-for-me#5596 from sususu98/fix/issue-5494-antigravity-idle-conns (f19d6da)
  • fix(codex): simplify complex tool schema unions and detect empty incomplete responses (bf20b99)
  • feat(claude): support structured output via system prompt instructions (4f03809)
  • fix(wsrelay): preserve queued frames during terminal message delivery (7871a5a)
  • fix(codex): preserve service tier and cache write tokens in openai responses (8696585)
  • fix(codex): explicitly default function tool strict to false (d01516c)
  • fix(codex): recover omitted tool namespaces in openai responses (03a054e)
  • fix(codex): sanitize invalid tool name characters for upstream compatibility (bee20b9)
  • fix(codex): recognize retryable server errors for bootstrap failover (ba7e558)
  • fix(docs): remove Infistar.ai sponsorship details from README files (d198db5)
  • fix(claude): default function parameters for tools without input schema (6e1f9ec)
  • fix(antigravity): normalize gemini responseJsonSchema to responseSchema (dc21a42)
  • fix(claude): align beta assembly and Haiku helper transport with the measured 2.1.258 (280b96a)
  • fix(claude): attach helper request IDs according to the upstream base (35a4723)
  • feat(kimi): support openai responses api (d4146bd)
  • fix(antigravity): include resolved pool settings in transport cache key (68dd99d)
  • fix(claude): enforce sequential content blocks for interleaved streaming tool calls (ef99119)
  • fix(auth): cap refresh loop timer wait duration (48e5e9e)
  • fix(claude): map codex reasoning tokens to thinking tokens (e365ab0)
  • feat(session): enhance harness hierarchy recognition and deduplicate selector extraction (3905891)
  • feat(usage): normalize reported session hierarchy to canonical UUIDv8 (6b187e7)
  • fix(plugin-store): only check releases for installed update sources (1c9d719)
  • fix(auth): strip monotonic clock reading from quota cooldown deadlines (1d5f7b2)
  • fix(plugin-store): coalesce and throttle cached release checks (54b17ce)
  • fix(plugin-store): honor shared GitHub API rate-limit cooldowns (8c0ad8c)
  • feat(auth): export helper functions for headless antigravity oauth (20e3f73)
  • perf(antigravity): batch functionResponse name repairs (d8f2dce)
  • fix(plugin-store): add network scope handling for shared GitHub API cooldowns (3639d92)
  • fix(api): skip access logging for health probes (e026cbf)
  • fix(session): harden canonical UUIDv8 normalization for empty prefixes and context roots (1119ef1)
  • fix(logging): silence only successful health probes (a163c5e)
  • Merge pull request router-for-me#5625 from router-for-me/fix/issue-5608-plugin-store-rate-limit (f39702a)
  • fix(gemini): normalize responses tool call outputs and resolve alternate call ids (d0bb908)
  • Merge pull request router-for-me#5626 from nichaoshou/fix/healthz-access-log (454452d)
  • feat(plugin): preserve raw json in management responses on schema version 6 (c6327a8)
  • fix(gemini): reorder trailing text before function responses in user turns (4fde97f)
  • fix(codex): strip schema dialect keywords from tool parameters (7fac6b1)
  • feat(plugin): add host session affinity lookup callback (0796d6d)
  • fix(claude): emit trailing usage chunk and aggregate stream usage (a59b176)
  • feat(codebuddy-cn): add CodeBuddy CN (Tencent) provider (73e82b1)
  • feat(provider): CodebuddyCN (d817587)
  • docs(codebuddy-cn): fix example base-url (executor appends /chat/completions) (30239f7)
  • feat(codebuddy-cn): add OAuth authentication (b9f780e)
  • feat(codebuddy-cn): reproduce official TLS fingerprint (350d532)
  • feat(deepseek-web): add browser-session provider (76ab133)
  • fix(deepseek-web): distinguish dead userToken from transient refresh failures (827c0a9)
  • fix(codebuddy-cn): keep reasoning_effort to enable thinking (9c82608)
  • feat(codebuddy-cn): --local-model disable download frontend (fc278de)
  • feat(front): open file route (a53528d)
  • chore: docker hub (20e6b66)
  • chore: build docker images at releases (3c943ee)
  • feat: custom model.json (206962b)
  • feat: redefine the concept of prefix of model id. the prefix means alias and force-prefix means force-alias, so it shouldn't affect the logic of register and looking up model. (2778ac2)
  • feat(provider): add TRAE SOLO CN desktop (TraeWork) provider support (3578900)
  • feat: register TRAE SOLO CN static models from client cache (9a0d136)
  • feat: add TRAE SOLO CN daily checkin script (7de928d)
  • test & feat: check-in scripts of codebuddy-cn and traework-cn (c8fb9ea)
  • fix(trae-checkin): classify 9074 as retryable server-side queueing (b949eeb)
  • feat(front): download management panel asset as @management.html (11f8bee)
  • fix(trae-checkin): emulate runtime device identity and TTNet headers (9b25939)
  • fix(trae): make SSE and pi tool calls compatible (ae75e30)
  • fix(trae-checkin): handle current-device checkin state and code 9095 (e8d35fc)
  • fix(trae-checkin): reuse OAuth credential device identity by default (2a02e6f)
  • fix(trae-checkin): use official checked_in semantics and verify rewards (445985e)
  • fix(trae-checkin): preflight OAuth server session state (7d6c7e8)
  • fix(trae-checkin): require registered AHA DID for new claims (bbf321c)
  • feat(trae): reuse configured AHA device identity for OAuth login (f8468b2)
  • fix(trae): report current desktop client build to unlock newer models (0db6757)
  • feat(codex): support model-level quota cooling (b064b83)
  • fix(translator): strip unsupported unicode property escape patterns from tool schemas (e56abd5)
  • fix(schema): inspect patternProperties keys and avoid Unicode escape fast-path bypass (37ce368)
  • Merge pull request router-for-me#5677 from sususu98/fix/codex-tool-schema-pattern (db01159)
  • feat(management): add endpoint to refresh auth files (60e5b8b)
  • feat(auth): propagate canonical session id for custom header expansion (3bf787f)
  • fix(auth): classify terminal upstream auth failures as non-retryable errors (aedc9e6)
  • feat(codex): add support for gpt-image-2.5 models (d1a024e)
  • fix(claude): preserve 1h cache ttl and beta header for subagent requests (6a73f39)
  • fix(openai): preserve prewarm input and allow named tool outputs in responses websocket (bd03aab)
  • fix(openai): preserve nested error details and sequence numbers in responses stream (2591308)
  • fix(codex): treat model capacity errors as bootstrap overload failures (3ae9093)
  • fix(auth): enable model cooldown and rotation for model not found errors (dde250f)
  • Merge branch 'main' into feature/dev (cf0fe2b)
  • update models.json (ead4f96)
  • fix(translator): ignore null and empty finish reasons in openai to gemini response (4dce5f3)
  • fix(stream): handle split CRLF across chunk boundaries in SSE validation (638ed7e)
  • docs(readme): remove RunAPI sponsor (09a29bd)
  • fix(openai): process reasoning deltas before content in responses stream (c8ecb4f)
  • fix(antigravity): keep active block open on empty text parts in claude stream (fd3e662)
  • fix(auth): treat cloudflare 520-526 origin errors as transient upstream failures (9fad505)
  • fix(gemini): preserve function call pairing for interrupted calls and replay failures (b8e6ec0)
  • fix(auth): bound force refresh all concurrency using worker pool (6dce786)
  • fix(translator): ignore fco output item IDs when extracting responses call ID (5a07045)
  • feat(usage): propagate upstream base_url across usage records and plugin auth (c8f723e)
  • chore(codex): update codex user-agent...
Read more