Skip to content

Releases: furedericca-lab/CLIProxyAPIPlus

v6.9.23-1

14 Apr 09:25
56b586c

Choose a tag to compare

Changelog

  • 26c298c Merge branch 'main' into plus
  • 56b586c Merge branch 'router-for-me:main' into main
  • 938af75 Merge branch 'router-for-me:main' into main
  • 39dc455 Merge pull request router-for-me#2412 from sususu98/feat/signature-cache-toggle
  • b2c0cdf Merge pull request router-for-me#2621 from wykk-12138/fix/oauth-extra-usage-detection
  • 2a97037 Merge pull request router-for-me#2670 from sususu98/feat/antigravity-prefer-prod-url
  • 9ded75d Merge pull request router-for-me#2702 from AllenReder/docs/add-quota-inspector
  • c42480a Merge pull request router-for-me#501 from Ve-ria/main
  • 344043b Merge pull request router-for-me#506 from router-for-me/plus
  • 96056d0 Merge remote-tracking branch 'upstream/main' into fix/oauth-extra-usage-detection
  • 38f0ae5 docs(antigravity): document signature validation spec alignment
  • cf24958 feat(antigravity): configurable signature cache with bypass-mode validation
  • d801393 feat(antigravity): prefer prod URL as first priority
  • 55c146a feat: add glm-5.1 to CodeBuddy model list
  • 30e94b6 fix(antigravity): refine 429 handling and credits fallback
  • ad8e396 fix(auth): add retry logic for 429 status with Retry-After and improve testing
  • 730809d fix(auth): preserve and restore ready view cursors during index rebuilds
  • 5e81b65 fix(auth, executor): normalize Qwen base URL, adjust RefreshLead duration, and add tests
  • 0f45d89 fix(claude): address PR review feedback for OAuth cloaking
  • f780c28 fix(claude): map question/skill to TitleCase instead of removing them
  • ac36119 fix(claude): preserve OAuth tool renames when filtering tools
  • 7e8e222 fix(claude): reduce forwarded OAuth prompt to minimal tool reminder
  • e8d1b79 fix(claude): remap OAuth tool names to Claude Code style to avoid third-party fingerprint detection
  • f0c20e8 fix(claude): remove invalid cache_control scope from static system block
  • 7cdf8e9 fix(claude): sanitize forwarded third-party prompts for OAuth cloaking
  • 69b950d fix(executor): fix OAuth extra usage detection by Anthropic API
  • 0ab1f54 fix(executor): handle 429 Retry-After header and default retry logic for quota exhaustion
  • 5ab9afa fix(executor): handle OAuth tool name remapping with rename detection and add tests
  • 65ce863 fix(executor): implement immediate retry with token refresh on 429 for Qwen and add associated tests
  • 613fe67 fix(executor): inject full Claude Code system prompt blocks with proper cache scopes
  • 1d8e68a fix(executor): remove immediate retry logic for 429 in Qwen, add enhanced Retry-After handling, and update tests
  • 1dba2d0 fix(handlers): add base URL validation and improve API key deletion tests
  • f32c8c9 fix(handlers): update listener to bind on all interfaces instead of localhost
  • 9e0ab4d fix: build cache_control JSON manually to avoid sjson map marshaling
  • 8783caf fix: buildTextBlock cache_control sjson path issue
  • e2e3c7d fix: remove invalid org scope and match Claude Code block layout
  • f6f4640 fix: use sjson to build system blocks, avoid raw newlines in JSON
  • 828df80 refactor(executor): remove immediate retry with token refresh on 429 for Qwen and update tests accordingly

v6.9.18-0

09 Apr 03:05
cd64829

Choose a tag to compare

Changelog

Read more

v6.9.5-0

29 Mar 16:17
2647114

Choose a tag to compare

Changelog

  • 36973d4 Handle Codex capacity errors as retryable
  • 5da0dec Improve GitLab Duo gateway compatibility
  • d5930f4 Merge branch 'main' into plus
  • ac26e7d Merge branch 'main' into plus
  • 2647114 Merge branch 'router-for-me:main' into main
  • 73c8317 Merge pull request router-for-me#2133 from DragonFSKY/fix/2061-stale-modelstates
  • 779e6c2 Merge pull request router-for-me#2231 from 7RPH/fix/responses-stream-multi-tool-calls
  • 1a14947 Merge pull request router-for-me#2293 from Xvvln/fix/management-asset-security
  • e516684 Merge pull request router-for-me#2310 from shellus/fix/claude-openai-system-top-level
  • bb9b2d1 Merge pull request router-for-me#2320 from cikichen/build/freebsd-support
  • 1767a56 Merge pull request router-for-me#2343 from kongkk233/fix/proxy-transport-defaults
  • 2741e7b Merge pull request router-for-me#2346 from pjpjq/codex/fix-codex-capacity-retry
  • b9b127a Merge pull request router-for-me#2347 from edlsh/fix/codex-strip-stream-options
  • 8144ffd Merge pull request router-for-me#2370 from B3o/add-bmoplus-sponsor
  • 36fba66 Merge pull request router-for-me#2371 from RaviTharuma/docs/provider-specific-routes
  • 5527140 Merge pull request router-for-me#2374 from VooDisss/codex-cache-clean
  • b8b89f3 Merge pull request router-for-me#442 from LuxVTZ/feat/gitlab-duo-panel-parity
  • 1fa094d Merge pull request router-for-me#461 from MrHuangJser/main
  • f557546 Merge pull request router-for-me#464 from router-for-me/plus
  • f8d1bc0 Merge pull request router-for-me#469 from router-for-me/plus
  • c89d19b Preserve default transport settings for proxy clients
  • 6b45d31 add BmoPlus sponsorship banners to READMEs
  • d312422 build: add freebsd support to releases
  • e41c22e docs(readme): add LingtrueAPI sponsorship details to all README translations
  • 70c9068 docs(readme): fix formatting in BmoPlus sponsorship section of Chinese README
  • 7dccc7b docs(readme): remove redundant whitespace in BmoPlus sponsorship section of Chinese README
  • 9b7d702 docs(readme): update LingtrueAPI link in all README translations
  • d42b5d4 docs(readme): update QQ group information in Chinese README
  • dcfbec2 feat(cursor): add management API for Cursor OAuth authentication
  • 7386a70 feat(cursor): auto-identify accounts from JWT sub for multi-account support
  • 40dee44 feat(cursor): auto-migrate sessions to healthy account on quota exhaustion
  • c95620f feat(cursor): conversation checkpoint + session_id for multi-turn context
  • 9613f0b feat(cursor): deterministic conversation_id from Claude Code session cch
  • 1b7447b feat(cursor): implement StatusError for conductor cooldown integration
  • de5fe71 feat(cursor): multi-account routing with round-robin and session isolation
  • 19c52bc feat: stash code
  • 4c4cbd4 fix(auth): avoid leaking or over-persisting affinity keys
  • 5c817a9 fix(auth): prevent stale ModelStates inheritance from disabled auth entries
  • 6962e09 fix(auth): scope affinity by provider
  • 26eca8b fix(codex): preserve continuity and safe affinity fallback
  • 511b8a9 fix(codex): restore prompt cache continuity for Codex requests
  • 754f3bc fix(codex): strip stream_options from Responses API requests
  • c1083cb fix(cursor): MCP tool call resume, H2 flow control, and token usage
  • 274f29e fix(cursor): improve session key uniqueness for multi-session safety
  • 8afef43 fix(cursor): preserve tool call context in multi-turn conversations
  • c8e79c3 fix(cursor): prevent session key collision across users
  • 2db8df8 fix(security): harden management panel asset updater
  • 10b824f fix(security): validate auth file names to prevent unsafe input
  • 09c92aa fix: keep a fallback turn for system-only Claude inputs
  • 000e4ce fix: map OpenAI system messages to Claude top-level system
  • fbff68b fix: preserve choice-aware output indexes for streamed tool calls
  • 7e1a543 fix: preserve separate streamed tool calls in Responses API
  • 7333619 fix: reject oversized downloads instead of truncating; warn on unverified fallback
  • cc32f5f fix: unify Responses output indexes for streamed items
  • 62b17f4 refactor(codex): align continuity helpers with review feedback
  • e5d3541 refactor(codex): remove stale affinity cleanup leftovers
  • 1e6bc81 refactor(config): replace auto-update-panel with disable-auto-update-panel for clarity
  • 35f158d refactor(pr): narrow Codex cache fix scope
  • 79755e7 refactor(pr): remove forbidden translator changes
  • 8902e1c style(cursor): replace fmt.Print* with log package for consistent logging
  • 74b862d test(cliproxy): cover delete re-add stale state flow

v6.9.2-0

27 Mar 11:57
62453bf

Choose a tag to compare

Changelog

v6.9.1-1

24 Mar 15:14
7230aa7

Choose a tag to compare

Changelog

  • afc1a5b Fixed: router-for-me#2281
  • 1315f71 Merge branch 'main' into plus
  • f3c5916 Merge branch 'pr-454'
  • 7230aa7 Merge branch 'router-for-me:main' into main
  • 0ed2d16 Merge branch 'router-for-me:main' into main
  • 18a4fed Merge pull request router-for-me#2126 from ailuntz/fix/watcher-auth-cache-memory
  • fb95813 Merge pull request router-for-me#2142 from Muran-prog/fix/strip-uniqueItems-gemini-2123
  • be3f8db Merge pull request router-for-me#2187 from Darley-Wey/fix/claude-disable-parallel-tool-calls
  • 56073de Merge pull request router-for-me#2200 from sususu98/feat/local-model-flag
  • a000eb5 Merge pull request router-for-me#2213 from TTTPOB/ua-fix
  • 7b04530 Merge pull request router-for-me#2219 from beck-8/fix/context-done-race
  • 66ff916 Merge pull request router-for-me#2220 from xulongwu4/main
  • a576088 Merge pull request router-for-me#2222 from kaitranntt/kai/fix/758-openai-proxy-alternating-model-support
  • 97c0487 Merge pull request router-for-me#2223 from cnrpman/fix/codex-responses-web-search-preview-compat
  • f81acd0 Merge pull request router-for-me#2243 from router-for-me/oauth
  • 1b7f4ac Merge pull request router-for-me#2252 from sususu98/fix/antigravity-empty-thought-text
  • 0906aec Merge pull request router-for-me#2254 from clcc2019/main
  • 5d6cdcc Merge pull request router-for-me#2268 from sususu98/fix/sanitize-tool-names
  • db335ac Merge pull request router-for-me#2269 from router-for-me/auth-fix
  • 96f5557 Merge pull request router-for-me#2282 from eltociear/add-ja-doc
  • 1dc4ecb Merge pull request router-for-me#456 from router-for-me/plus
  • 6e12441 Update README_JA.md
  • 1e27990 address PR review: log sjson error and add unit tests
  • d1df70d chore: add codex builtin tool normalization logging
  • e0e337a feat(claude): add switch for device profile stabilization
  • 9738a53 feat: add -local-model flag to skip remote model catalog fetching
  • e005208 fix(antigravity): always include text field in thought parts to prevent Google 500
  • cccb77b fix(auth): avoid blocking oauth callback wait on prompt
  • 5331d51 fix(auth): ensure absolute paths for auth file handling
  • 8179d5a fix(claude): avoid racy fingerprint downgrades
  • 19e1a44 fix(claude): honor disable_parallel_tool_use
  • 6fa7abe fix(claude): keep configured baseline above older fingerprints
  • 52c1fa0 fix(claude): learn official fingerprints after custom baselines
  • f7069e9 fix(claude): pin stabilized OS arch to baseline
  • dd64adb fix(claude): preserve legacy user agent overrides
  • 9c6c361 fix(claude): read disable_parallel_tool_use from tool_choice
  • 680105f fix(claude): refresh cached fingerprint after baseline upgrades
  • 616d41c fix(claude): restore legacy runtime OS arch fallback
  • 2398eba fix(translator): sanitize tool names for Gemini function_declarations compatibility
  • 755ca75 fix: address review feedback - init ToolNameMap eagerly, log collisions, add collision test
  • b292151 fix: avoid data race when watching request cancellation
  • 793840c fix: cover dated and nested codex web search aliases
  • e8bb350 fix: extend tool name sanitization to all remaining Gemini-bound translators
  • 5135c22 fix: fall back on model support errors during auth rotation
  • 8f421de fix: handle sjson errors in codex tool normalization
  • ea3e0b7 fix: harden pooled model-support fallback state
  • e1e9fc4 fix: normalize model name in TranslateRequest fallback to prevent prefix leak
  • be2dd60 fix: normalize web_search_preview for codex responses
  • d52839f fix: stabilize claude device fingerprint
  • f6bbca3 fix: strip uniqueItems from Gemini function_declarations (router-for-me#2123)
  • c376232 perf(watcher): reduce auth cache memory
  • 636da4c refactor(auth): replace manual input handling with AsyncPrompt for callback URLs
  • 2bd646a refactor: replace sjson.Set usage with sjson.SetBytes to optimize mutable JSON transformations
  • c1bf298 refactor: streamline usage reporting by consolidating record publishing logic

v6.8.55-2

18 Mar 14:36

Choose a tag to compare

Changelog

  • 2dc61ac ci(release): add manual workflow trigger

v6.8.55-1

18 Mar 14:28
11c3e8c

Choose a tag to compare

Changelog

  • 4b1a404 Fixed: router-for-me#1936
  • b5701f4 Fixed: router-for-me#2102
  • c6cb240 Merge branch 'main' into plus
  • bcd1e8c Merge branch 'main' into plus
  • 11c3e8c Merge branch 'router-for-me:main' into main
  • 1b46d39 Merge branch 'router-for-me:main' into main
  • a93ecef Merge branch 'router-for-me:main' into main
  • 7c2ad4c Merge branch 'router-for-me:main' into main
  • 2e1925d Merge pull request router-for-me#2108 from sususu98/fix/gemini-cli-tool-schema-and-empty-parts
  • af27f2b Merge pull request router-for-me#2110 from router-for-me/codex
  • 733fd8e Merge pull request router-for-me#2111 from qzydustin/main
  • 77254bd Merge pull request router-for-me#2116 from router-for-me/vertex
  • 59ad8f4 Merge pull request router-for-me#2124 from RGBadmin/feat/auth-list-priority-note
  • 6766919 Merge pull request router-for-me#2131 from HEUDavid/docs/add-who-is-with-us
  • b1dcff7 Merge pull request router-for-me#2141 from Muran-prog/fix/tool-calling-translation-2132
  • 25f6c4a Merge pull request router-for-me#2158 from sususu98/fix/antigravity-functionresponse-name
  • db63f9b Merge pull request router-for-me#2162 from enieuwy/fix/responses-api-json-valid-check
  • 5382408 Merge pull request router-for-me#441 from GrothKeiran/fix/copilot-token-metadata
  • b93cce5 Merge pull request router-for-me#444 from router-for-me/plus
  • cef2aee Merge pull request router-for-me#448 from router-for-me/plus
  • 9fee7f4 chore(ci): update GoReleaser config and release workflow to skip validation step
  • 198b3f4 chore(ci): update build metadata to use GITHUB_REF_NAME in workflows
  • 5b6342e feat(api): expose priority and note fields in GET /auth-files list response
  • f44f070 feat(service): extend model registration for team and business types
  • ff03dc6 fix(antigravity): resolve empty functionResponse.name for toolu_* tool_use_id format
  • 8d8f597 fix(api): fallback to Metadata for priority/note on uploaded auths
  • f90120f fix(api): propagate note to Gemini virtual auths and align priority parsing
  • c1241a9 fix(api): restrict fallback note to string-typed JSON values
  • 58fd9bf fix(codex): add 'go' plan_type in registerModelsForAuth
  • 560c020 fix(config): allow vertex keys without base-url
  • b76b790 fix(gemini-cli): sanitize tool schemas and filter empty parts
  • aec65e3 fix(openai_compat): add stream_options.include_usage for streaming usage tracking
  • dc7187c fix(websocket): pin only websocket-capable auth IDs and add corresponding test
  • 339a81b fix: persist copilot token metadata
  • c8cee6a fix: skip empty assistant message in tool call translation (router-for-me#2132)
  • b24ae74 fix: validate JSON before raw-embedding function call outputs in Responses API
  • 3960c93 refactor: derive copilot metadata from storage

v6.8.52-3

13 Mar 08:40

Choose a tag to compare

Changelog

  • 566bfb6 point model updater to forked models source

v6.8.52-2

13 Mar 08:30

Choose a tag to compare

Changelog

  • 70988d3 Add Codex websocket header defaults
  • 2bb686f Add GitLab Duo management OAuth and PAT endpoints
  • 7b7b258 Fixed: router-for-me#2022
  • ddaa9d2 Fixed: router-for-me#2034
  • 34c8ccb Fixed: router-for-me#437
  • 89d7be9 Merge branch 'dev' into codex/custom-useragent-request
  • 86d5db4 Merge branch 'main' into plus
  • 8c92cb0 Merge pull request router-for-me#2056 from lang-911/codex/custom-useragent-request
  • 683f370 Merge pull request router-for-me#2076 from aikins01/fix/backfill-empty-function-response-names
  • 817cebb Merge pull request router-for-me#2082 from router-for-me/antigravity
  • 1db2397 Merge pull request router-for-me#2106 from router-for-me/model
  • 020d36f Merge pull request router-for-me#433 from LuxVTZ/feat/gitlab-duo-auth-plus
  • 8178efa Merge pull request router-for-me#439 from router-for-me/plus
  • 0f85705 Merge remote-tracking branch 'upstream/main'
  • 0ac52da chore(ci): update model catalog fetch method in release workflow
  • 5484489 chore(ci): update model catalog fetch method in workflows
  • d08e164 chore(runtime): remove unused FetchAntigravityModels function from executor
  • dea3e74 feat(antigravity): refactor model handling and remove unused code
  • ec24baf feat(fetch_antigravity_models): add command to fetch and save Antigravity model list
  • c3d5dbe feat(model_registry): enhance model registration and refresh mechanisms
  • dbd42a4 fix(model_updater): clarify log message for model refresh failure
  • 861537c fix: backfill empty functionResponse.name from preceding functionCall
  • 163fe28 fix: codex header defaults example
  • 2b79d7f fix: restore double quotes style in config.example.yaml for consistency and readability
  • a6c3042 refactor: remove redundant bounds checks per code review
  • 1aee877 sync model catalogs and forked models source

v6.8.51-2

12 Mar 06:31

Choose a tag to compare

Changelog

  • bb28cd2 Add GitLab Duo OAuth and PAT support
  • 54c3eb1 Add GitLab Duo auth and executor support
  • a00f774 Add GitLab Duo usage docs
  • 0468654 Merge PR router-for-me#424 from router-for-me/main
  • cf74ed2 Merge pull request router-for-me#2013 from router-for-me/model
  • df5595a Merge pull request router-for-me#428 from LuxVTZ/feat/gitlab-duo-auth-plus
  • d7ec707 Merge upstream/main into main
  • ad7d799 ci(release): avoid dirty git state in goreleaser workflow
  • d1e3195 feat(codex): register models by plan tier
  • c631df8 feat(gitlab): add duo streaming transport
  • a24f4ac feat(gitlab): route duo anthropic via gateway
  • dcb1c9b feat(gitlab): route duo openai via gateway
  • 30d5c95 feat(registry): refresh model catalog from network
  • efbe36d feat(updater): change models refresh to one-time fetch on startup
  • e333fbe feat(updater): update StartModelsUpdater to block until models refresh completes
  • 8553cfa feat(workflows): refresh models catalog in workflows
  • 76f2359 test(gitlab): add duo claude handler smoke
  • 9daf1ba test(gitlab): add duo openai handler smoke