Releases: router-for-me/CLIProxyAPI
Releases · router-for-me/CLIProxyAPI
Release list
v7.2.141
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- fix(xai): map image_generation tool_choice to required (d2742c5)
- fix(xai): preserve auto when rewriting image-only allowed_tools (fba1ff2)
- fix(xai): keep forced image_generation from other tools (6f4b6dc)
- Merge pull request #5184 from HuiCheng/fix/xai-image-generation-tool-choice-required (3faf709)
- fix(gemini,antigravity): preserve function/tool results as raw strings (9d0a60b)
- docs(readme): add APIMart sponsor (cef351a)
- Merge pull request #5210 from router-for-me/apimart-sponsor (b232394)
- docs(readme): add APIMart sponsor to Japanese README (85749db)
- Merge remote-tracking branch 'origin/dev' into apimart-sponsor (cd445f2)
- Merge pull request #5212 from router-for-me/apimart-sponsor (dc3c3b1)
What's Changed
- fix(xai): map image_generation tool_choice to required by @HuiCheng in #5184
- Apimart sponsor by @lzt404 in #5210
- Apimart sponsor by @lzt404 in #5212
Full Changelog: v7.2.140...v7.2.141
v7.2.140
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- feat(auth): normalize credential metadata keys (e04d620)
- fix(registry): detect gemini interactions changes (71c3c14)
- fix(xai): keep image_generation on grok-4.6+ conversation requests (dfdf183)
- fix(xai): drop orphaned tool_choice after compact strips tools (87fb01b)
- test(openai): expand reasoning fallback coverage in OpenAI responses non-stream conversion tests (d9869ed)
- test(claude): expand OpenAI conversion tests for
reasoning_contentand stream/non-stream parity (65071f7) - fix(antigravity): raise the fallback client version to 2.9.1 (#5175) (a834917)
- fix(gemini): normalize Claude thinking signatures in Gemini request and response conversion (b3f72ce)
- fix(claude): derive stable request-scoped
metadata.user_idfor converters (ab8f00d) - feat(auth): enhance key deletion and patching with base URL validation (ebda750)
- Merge pull request #5176 from router-for-me/auth (eeaa2e1)
- fix(openai): validate and filter thought signatures in responses conversion (d5b57a2)
- fix(codex): convert Grok client keepalive SSE frames to comments (4d68ca8)
- Merge pull request #5174 from HuiCheng/fix/xai-keep-image-generation-grok-46 (7d5b23f)
- Merge pull request #5177 from YogaSakti/fix/antigravity-fallback-version (1be8417)
- fix(gemini): normalize malformed schema nodes before cleanup (a7e3596)
What's Changed
- Normalize credential metadata and enhance registry interactions by @hkfires in #5176
- fix(xai): keep image_generation on grok-4.6+ conversation requests by @HuiCheng in #5174
- fix(antigravity): raise the fallback client version to 2.9.1 (#5175) by @YogaSakti in #5177
New Contributors
Full Changelog: v7.2.139...v7.2.140
v7.2.139
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- feat(models): add Gemini 3.7 Flash model registrations to model registry (85e7add)
- feat(auth): add credential retry round contract (601ca43)
- feat(auth): add retry round credential filtering (0a14eb7)
Full Changelog: v7.2.138...v7.2.139
v7.2.138
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- feat(cliproxy): add OAuth request-scoped error rules support (9dc51b1)
- fix(cliproxy): add warn-level diagnostics for auth cooldown and upstream execution failures (4874971)
- feat(gemini): add namespace-aware OpenAI Responses tool resolution and custom tool call conversion (556328c)
- fix(cliproxy): support base_URL-only config credentials and skip stale auth headers (92d96e0)
- feat(codex): add opt-in stream bootstrap buffering and overload failover (#5115) (4b9d404)
- fix(xai): treat response.incomplete as terminal success (#5113) (9d6b5cd)
- fix(claude): avoid long global cooldowns for Fable-only 7d_oi rate limits (42d8e74)
- fix(claude): use
message.reasoning_contentfor converted thinking output (aa5dccc) fix(openai): fallback toreasoningwhenreasoning_contentis missing in response conversion(8eb3ac2)- fix(gemini): preserve Gemini thought signatures in non-stream Claude conversion (3db591e)
- fix(gemini): generate deterministic sequential IDs for Gemini tool call pairing in Codex/Claude conversions (5b232e3)
- fix(openai): map
max_completion_tokensto AntigravitymaxOutputTokens(68e96c2) - Merge pull request #5124 from YogaSakti/fix/xai-response-incomplete (a8693c7)
- fix(gemini): include empty annotations/logprobs in
response.output_item.donemessage content (b1c0005) - fix(executor): sanitize thought signatures in Gemini and Gemini Vertex executors (#5110) (4053c02)
- fix(cliproxy): add protocol-aware plugin executor usage parsing for response and streaming payloads (1d5b761)
What's Changed
- feat(codex): add opt-in stream bootstrap buffering and overload failover by @sususu98 in #5115
- fix(xai): treat response.incomplete as terminal success (#5113) by @YogaSakti in #5124
- fix(executor): sanitize thought signatures in Gemini and Gemini Vertex executors by @warelik in #5110
New Contributors
- @YogaSakti made their first contribution in #5124
- @warelik made their first contribution in #5110
Full Changelog: v7.2.137...v7.2.138
v7.2.137
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- fix: remove temporarily hidden sponsorship details from README files (55397bf)
- fix(executor): prepend empty user turn for model-first Gemini/Antigravity requests (#4959) (#5048) (62f5a27)
- fix(antigravity): attach sibling tool images to the nearest functionResponse (#5075) (79ef361)
- fix(logging): exclude HTTP 499 and client cancellations from forced error logs (0f69f09)
- fix(claude): pass incoming headers when applying custom headers in caller-owned mode (5fef17e)
- fix(gemini): strip 'encrypted' metadata from tool parameters schemas (#5065) (ac0d188)
- fix(codex): filter out
prompt_cache_retentionin OpenAI→Codex responses request conversion (2005788) - fix(cliproxy): handle
responses/compactauth cooldowns and fallback semantics (ec105da) - fix(claude): restore tool_search_tool_result references and recognize advisor/agent server tools (#5044) (#5082) (788e9b7)
- fix(claude): support setup-tokens and gracefully handle 403 OAuth profile errors (#4983) (#5083) (8aa6868)
- fix(claude): preserve native subagent and environment headers (#4982) (#5084) (85d2fad)
What's Changed
- fix(executor): prepend empty user turn for model-first Gemini/Antigravity requests (#4959) by @sususu98 in #5048
- fix(antigravity): attach sibling tool images to the nearest functionResponse (#5070) by @sususu98 in #5075
- fix(claude): restore tool_search_tool_result references and recognize advisor/agent server tools (#5044) by @sususu98 in #5082
- fix(claude): support setup-tokens and gracefully handle 403 OAuth profile errors (#4983) by @sususu98 in #5083
- fix(claude): preserve native subagent and environment headers (#4982) by @sususu98 in #5084
Full Changelog: v7.2.136...v7.2.137
v7.2.136
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- fix(claude): keep Fable-only rate limits model scoped (a8f9814)
- add bestproxy sponser (7815449)
- fix(websocket): drop consumed compaction triggers (45c90e8)
- docs(readme): link Bestproxy free trial (628f535)
- fix(gemini): support mixed and structured
function_call_outputhandling in OpenAI→Gemini responses translation (20f84e7) - fix(claude): accept both
max_tokensandmax_completion_tokensin OpenAI→Claude request conversion (3230e37) - Merge pull request #5043 from DragonFSKY/fix/consumed-compaction-trigger (d388a4b)
- Merge pull request #5050 from router-for-me/sponsor/add-bestproxy (9826bd7)
- fix: update LMU registration links in README files (ee2c494)
- Merge pull request #5033 from DEAN-Cherry/fix/claude-fable-model-scoped-cooldown (f985a5c)
- feat(claude): add fingerprint-profile=claude-code-cli for API keys and delegated providers (#5047) (f1b0431)
- fix(claude): gate CCH signing by upstream origin and validate fingerprint-profile (aec70df)
- refactor(claude): deduplicate CLI identity application and tidy helpers (f3e836c)
- feat(executor): support
$-based custom headers from downstream request headers (e424bfa) - fix(claude): always send
stopas an array when convertingstop_sequencesin OpenAI requests (4ac37ed) - feat(antigravity): add
video_urlcontent part support to OpenAI request conversion (497673b)
What's Changed
- fix(websocket): drop consumed compaction triggers by @DragonFSKY in #5043
- Sponsor/add bestproxy by @LTbinglingfeng in #5050
- fix(claude): keep Fable-only rate limits model scoped by @DEAN-Cherry in #5033
- feat(claude): add fingerprint-profile=claude-code-cli for API keys and delegated providers by @sususu98 in #5047
New Contributors
- @DEAN-Cherry made their first contribution in #5033
Full Changelog: v7.2.135...v7.2.136
v7.2.135
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- Refactor cooling management across configuration and handlers (5bffd15)
- chore(models): update GPT-5.6 context limits in registry metadata (745fb38)
- Merge pull request #5026 from router-for-me/cooling (856ddd8)
What's Changed
Full Changelog: v7.2.134...v7.2.135
v7.2.134
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- fix(claude,gemini,openai): preserve upstream stream errors when no data payload is emitted (92f03e6)
- feat(claude): map OpenAI
service_tierto Claudespeedin responses requests (7eefab9) - test(antigravity): cover schema sanitizer semantics (e23395a)
- fix(antigravity): preserve schema semantics (7d55d0d)
- Merge pull request #5008 from shengyy/fix/antigravity-schema-semantics (361fe95)
- feat(auth): add request-scoped error action handling in conductor (aa10847)
- fix(auth): share session affinity across model variant suffixes (00c4377)
- docs(readme): remove obsolete ecosystem links for PPAP and Alex (75e2454)
- fix(auth): stop old selectors when replacing manager selector and harden cache stop concurrency (b8fbe70)
What's Changed
New Contributors
Full Changelog: v7.2.133...v7.2.134
v7.2.133
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- perf(api): skip inactive request interceptors (970529b)
- perf(openai): reduce websocket transcript merge allocations (f9bd9de)
- test(openai): harden websocket transcript allocation coverage (f8bcd1c)
- fix(openai): preserve duplicate websocket input semantics (49b2f89)
- fix(openai): match websocket item metadata case-insensitively (baa11ed)
- fix(gemini): preserve
additionalProperties:falsefor Antigravity response schemas (61c4fd8) - Merge pull request #4928 from ramapitecusment/codex/websocket-transcript-allocations-v2 (8b02fed)
- Merge pull request #4360 from router-for-me/perf/skip-inactive-request-interceptors (810d4dd)
- fix(auth): avoid cooldown for request-scoped 401 request-faults (203f5b1)
- fix(claude): keep tool_result blocks first when injecting currentDate (297139c)
- fix(claude): add Anthropic unified rate-limit parsing helpers (ac82bed)
- fix(openai): ensure Responses usage includes token detail fields (e0b4956)
- feat(models): add GPT-5.6 Sol Work Mode model registrations and Codex client config updates (dd21444)
- feat(models): add max_completion_tokens to model definitions and responses (046b59e)
- fix(auth): make session-affinity updates safe for rebound sessions (9169ad5)
- Merge pull request #4994 from router-for-me/models (48d0218)
- fix(gemini): merge conditional schema branches during JSON schema cleanup (f53a2b6)
- fix(openai): propagate environment context and sanitize antigravity generation config in interaction adapters (10afcc8)
- chore(models): remove GPT-5.6 Sol Work Mode registrations from model registry config (c1ff55f)
- fix(claude): deduplicate duplicate tool outputs in OpenAI-to-Claude request conversion (1ecb7df)
- fix(claude,gemini,antigravity): centralize tool-call ID generation and harden signature sanitization (616d1b1)
- perf(translator): batch assemble response arrays and merge multi-choice parts (124dab6)
- fix(gemini): simplify OpenAI chat response content and choices serialization (a581838)
- perf(translator): batch assemble translation arrays before writing JSON (0c58c3c)
- perf(translator): switch response translators to batched raw-array insertion via
SetRawArrayItems(8b3b304) - pref(claude): keep raw Claude tool IDs for deduplication in request translation (7efe0a7)
What's Changed
- perf(openai): reduce websocket transcript merge allocations by @ramapitecusment in #4928
- perf(api): skip inactive request interceptors by @G0d2i11a in #4360
- fix(claude): keep tool_result blocks first when injecting currentDate by @mardausdennis in #4971
- feat(models): add max_completion_tokens to model definitions and responses by @hkfires in #4994
New Contributors
- @ramapitecusment made their first contribution in #4928
- @G0d2i11a made their first contribution in #4360
- @mardausdennis made their first contribution in #4971
Full Changelog: v7.2.132...v7.2.133
v7.2.132
Linux release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis 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.gzis 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.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.
Changelog
- fix(docs): update FennoAI sponsorship details and links in README files (a40d0e6)
- fix(docs): update RunAPI registration links in README files (d757063)
- feat(registry): add Gemini 3.7 Flash High model definition (7ea9c67)
- fix(claude): recover OAuth tool aliases for repeated prefixes and malformed IDs (f2d272d)
- fix(gemini): skip zero-token usage placeholders and always finalize stream reporters (7cf9279)
- fix(claude): use BIP-39 words for OAuth MCP tool aliases (f6f03e4)
- fix(claude): pass through caller MCP tools on alias server collision (bdde638)
- fix(translator): make Gemini tool call IDs deterministic and robustly match responses (8d670b9)
- fix(auth): preserve custom auth-file metadata during token refresh and relogin (b90d8ee)
- fix(translator): strip nested
prompt_cache_breakpointfrom Codex Responses payloads (6edf9c4) - fix(claude): map refusal and sensitive stop reasons to
content_filter(fab077a) - fix(codex): cache multi-agent spawn-agent model data and invalidate on updates (98c98d6)
- fix(openai): mark truncated/filtered responses as incomplete and avoid finalizing partial tool calls (78f0c40)
What's Changed
- fix(claude): use BIP-39 words for OAuth MCP tool aliases and pass through caller tools by @sususu98 in #4965
Full Changelog: v7.2.131...v7.2.132