Skip to content

v2026.9.14.9-snapshot

Choose a tag to compare

@github-actions github-actions released this 14 Sep 01:12
· 345 commits to feature/dev since this release

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 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 claude to codex compat translation (942bda9)
  • fix(translator): support audio transcription parts in gemini response translation (5c80a01)
  • fix(auth): drop stale auth updates using monotonic watcher revisions (d1702fd)
  • fix(signature): preserve Gemini 3 server-side tool thought signatures (router-for-me#5652) (54776fb)
  • Merge branch 'main' into feature/dev (79044a2)
  • fix(thinking): extract configuration_update reasoning effort in codex usage reporting (4edf9d1)
  • feat(signature): validate Claude CAQS reasoning signatures (75ce635)
  • fix(scripts): trae_checkin.py (bfe6758)
  • fix(claude): anchor billing fingerprint to initial turn for cloaked cache stability (377c315)
  • feat(kimi): add Kimi K2.8 model definitions, normalization, and temperature guard (8bd67f3)
  • feat(readme): add RapidProxy sponsorship details and logo (e88cd94)
  • feat(readme): add RapidProxy sponsorship details and logo in Chinese and Japanese (ae8f1f8)
  • fix(gemini): include thought tokens in OpenAI completion usage (cd1e8e1)
  • fix(gemini): include thought tokens in OpenAI responses usage (c2562d8)
  • fix(websockets): prevent keepalive pong starvation during large payload writes (b5ba02c)
  • Merge pull request router-for-me#5744 from smartconnect365/fix/5733 (9781fe4)
  • Merge pull request router-for-me#5746 from smartconnect365/fix/gemini-responses-output-tokens (137db72)
  • fix(auth): clear unauthorized cooldowns on credential changes and sync codex plan type (456d4c3)
  • fix(claude): forward unmanaged caller betas on direct anthropic requests (d9b8fdb)
  • feat(plugins): expose model list responses to plugin interceptors (5b27856)
  • perf(antigravity): cache and deduplicate model capability probe requests (e30de3d)
  • feat(management): add plugin quota and declarative probe endpoints (b192f65)
  • feat(plugins): forward query parameters as metadata in auth provider start login (3c3938f)
  • docs(readme): update APIKEY.FUN sponsor link (ac02da6)
  • feat(codex): forward X-Codex-Turn-State header in executor requests (e696ea4)
  • feat(qwen-web): add Qwen Web provider with browser-session login (671dfc6)
  • feat(codex): preserve native fidelity for responses-lite requests (f702bc1)
  • feat(qwen-web): slide the web session forward on refresh (eb5c274)
  • update README.md (a1ced54)
  • update http test for qwen web. (4fab849)
  • Merge branch 'main' into feature/dev (2c7f78a)
  • feat(cooldowns): add cooldown snapshot feature for management auth files (1ca975d)
  • docs(config): document payload filter examples for codex tools (94d6eb5)
  • Merge pull request router-for-me#5795 from router-for-me/feat/management-auth-cooldowns (d23ba5e)
  • feat(models): expose CPA web search capability (294b7f5)
  • feat(devin): add Devin/Cognition provider integration and CLI OAuth (f947527)
  • feat(devin): bind upstream session_id and cascade_id to CPA canonical session (cbe800a)
  • feat(devin): prefix all Devin model IDs with devin/ namespace (eed2490)
  • feat(devin): restrict glm-5-2 to free tier, remove static swe-1-7-lightning, and harden cloak (02fd1bd)
  • fix(devin): restrict sensitive word obfuscation strictly to system prompt only (f5247e4)
  • feat(devin): support sensitive-words in auth json metadata and attributes (1b69485)
  • refactor(devin): align sensitive-words with antigravity to config.yaml only (d115fe2)
  • fix(devin): sanitize claude subagent identity and emoji directives to prevent content policy 403 (c0b8605)
  • refactor(devin): keep sensitive words strictly external in config.yaml without hardcoding (c0b76c2)
  • feat(devin): support credential quota and seat status query via GetUserStatus (7b5741c)
  • fix(devin): strip system prompt lines matching configured sensitive words to evade unicode normalization bypass (5b8e382)
  • feat(devin): add devin/gemini-3-8-flash and devin/grok-4-6 model definitions and signature recognition (ea2f29f)
  • feat(devin): enhance request-log with intermediate interactions and decoded upstream body (2caab7d)
  • docs(devin): document cloud-side system instructions baseline in DevinExecutor (8a37707)
  • feat(devin): add deepseek-v4-flash and deepseek-v4-1-flash models (308e5ad)
  • feat(devin): support none thinking level for glm-5-2 (0c2351b)
  • docs(devin): update DevinExecutor comment with verbatim reconstructed cloud system prompt (59df75d)
  • feat(devin): add standalone devin_models.json catalog and remote updater (982cd12)
  • feat(devin): auto-namespace model IDs from clean devin_models.json (6174174)
  • feat(devin): add symmetric decoded upstream response in request log (16cb6c0)
  • feat(devin): parse protobuf timestamp and harden partial failure logging (469aa36)
  • feat(cmd): add fetch_devin_models CLI tool for dynamic model catalog extraction (2683ec2)
  • feat(devin): clamp maxTokens to model MaxCompletionTokens (ca664c6)
  • feat(devin): map model aliases and swe-1-7/haiku/sonnet/gpt-4-1 UIDs (bf06746)
  • feat(registry): auto-populate Gemini token limits and generation methods for Devin models (0aedd05)
  • fix(devin): calculate total_input_tokens and total_tokens correctly (85ddf3a)
  • feat(registry): transparently resolve un-prefixed devin models in auth selection (fbabc27)
  • Revert "feat(registry): transparently resolve un-prefixed devin models in auth selection" (a0ccc3a)
  • fix(util): enforce strict devin/ prefix requirement for devin provider (ca159b3)
  • fix(devin): align wire protocol, harden streaming, and resolve multi-turn tool/signature parity (f1f5506)
  • fix(devin): sort streaming tool call stop events and normalize prompt CRLF (a5ea971)
  • fix(devin): guard against reopening thought step on late-arriving signatures (2f2f9b4)
  • fix(devin): bound tool call indices against OOM, set Refresh timeout, and check manual callback state (d754298)
  • fix(devin): update streaming tool call step metadata if arriving in subsequent frames (50dd582)
  • fix(devin): enforce Connect-RPC EOS trailer invariant, validate frame flag, and bind OAuth callback to ctx (5d0c77c)
  • perf(devin): cache sensitive word regex matcher, preallocate request bytes and frame decompression buffer (6c7d2d5)
  • perf(devin): eliminate O(K^2) tool call argument string allocations using strings.Builder (6df8f32)
  • perf(devin): cache Devin HTTP transports per proxy URL to reuse connection pools (86de823)
  • fix(devin): propagate stream chunk errors, fix truncated protobuf infinite loop, respect ctx roundtripper, and limit auth response body reads (6a239f5)
  • fix(devin): store transient quota metrics strictly in Quota.Signals and keep Metadata static (98b106f)
  • fix(devin): normalize upstream internal errors to 502 Bad Gateway (1604cb0)
  • fix(devin): dynamic catalog-driven chat_model_uid resolution and effort clamping (926450e)
  • fix(devin): transport reuse, interleaved stream steps, strings.Builder panic, and updater URL (fb2c1c1)
  • feat(devin): integrate global signature detector for cross-provider signature detection (9d190f3)
  • refactor(devin): deduplicate auth credentials extraction, filter sparse tool calls, and optimize model lookup (30b2ac8)
  • feat(models): require explicit per-model native search support (4311ae8)
  • chore(models): sync verified native search capability metadata (678da56)
  • Merge pull request router-for-me#5797 from router-for-me/feat/cpa-web-search-catalog (7e864ac)
  • feat(devin): implement Devin OAuth flow with callback handling and session management (44e62bc)
  • feat(codebuddy): add international CodeBuddy AI provider (cb9705d)
  • Merge branch 'main' into feature/dev (80a9fa8)

Full Changelog: v7.2.150...v2026.9.14.9-snapshot