Skip to content

Releases: kaitranntt/CLIProxyAPIPlus

v7.1.45-0

05 Jun 06:13

Choose a tag to compare

Changelog

  • 387c783 Merge pull request #3649 from intcua/fix/xai-empty-tools-orphan-tool-choice
  • 4eec9ea Merge remote-tracking branch 'upstream/main' into upstream-sync/20260605-0449
  • f475684 chore(upstream-sync): record upstream version
  • 5753d1a feat(logging): enable file-backed request/response sources for enhanced API logging
  • 303685c fix(executor/xai): drop orphaned tool_choice when Claude tools array is empty

v7.1.44-0

04 Jun 06:29

Choose a tag to compare

Changelog

  • bebdaa4 Merge pull request #3702 from Villoh/docs/add-tunnel-agent
  • 13837d6 Merge remote-tracking branch 'upstream/main' into upstream-sync/20260604-0457
  • 38187a6 chore(upstream-sync): record upstream version
  • fd30944 feat(auth): add error event publishing and Redis queue integration

v7.1.43-0

03 Jun 06:29

Choose a tag to compare

Changelog

  • c9dc6bd Fix Home auth refresh retry handling
  • 9c02454 Merge pull request #3657 from catoncat/fix/responses-input-id-dedupe-orphaned-output
  • 8306391 Merge pull request #3667 from sususu98/feat/codex-reasoning-replay-cache-upstream-dev
  • d710248 Merge pull request #3676 from eltmon/add-panopticon-to-users
  • 02d0d92 Merge pull request #3677 from sususu98/codex/home-auth-loop-upstream-dev
  • 4abd59c Merge pull request #3679 from sususu98/codex/system-role-to-user-upstream-dev
  • 7682acc Merge pull request #3688 from sususu98/fix-codex-replay-dev
  • 1c9601f Merge pull request #3689 from sususu98/pr/cloudflare-challenge-retry
  • 73be58b Merge remote-tracking branch 'upstream/main' into upstream-sync/20260603-0457
  • 87d813c chore(models): remove legacy GPT 5.2 and GPT 5.3 Codex entries from registry
  • 49c2b6e chore(upstream-sync): record upstream version
  • 28c7f41 docs(readme): update project descriptions and add Panopticon link
  • 55440f0 feat(auth): add runtime auth removal and unscheduling logic
  • 603a08f feat(codex): cache reasoning replay items
  • bbcdaab feat(executor): enhance Codex identity obfuscation with turn and window metadata handling
  • 0f24caf feat(executor): implement identity obfuscation for Codex requests and responses
  • 05b9724 feat(executor): refine session and conversation header handling for Codex
  • bf04a24 feat(models): add support for grok-composer-2.5-fast model
  • ac1360f feat(models): add support for grok-imagine-video-1.5-preview model
  • 959067e feat(usage): introduce executor type tracking in usage reporting
  • f353979 feat(watcher, redisqueue): add usage refresh notification support
  • 45f58d4 fix(auth): retry and backoff cloudflare challenge 403 errors
  • 17af089 fix(codex): avoid replaying orphan tool calls
  • 0e3c809 fix(codex): handle non-empty reasoning and content items, add test for trailing empty messages
  • e7f4dd4 fix(openai): keep referenced tool call when deduping websocket input IDs
  • 68282c4 fix(translator): normalize message-level system roles for Gemini
  • 77061aa refactor(auth): simplify and narrow cloudflare challenge checks
  • 33983b6 refactor(executor): consolidate Codex request translation logic
  • f05d68d refactor(openai): parse dedupe input item metadata in a single pass
  • 35ab084 refactor(runtime): enhance NewUtlsHTTPClient with context-based RoundTripper
  • fb4f39d test(models, executor): add XAI video model test and fix Codex User-Agent assertions

v7.1.32-0

31 May 06:15

Choose a tag to compare

Changelog

  • 3a54fb7 Merge branch 'dev', commit 'refs/pull/3621/head' of github.com:router-for-me/CLIProxyAPI into dev
  • 799d5e4 Merge remote-tracking branch 'upstream/main' into upstream-sync/20260531-0451
  • 9929419 chore(upstream-sync): record upstream version
  • 430e679 fix(auth): strip "generate" from payload during WebSocket HTTP fallback
  • 776a9c0 fix(translator/gemini): support developer role in OpenAI Responses requests

v7.1.31-2

30 May 18:56
d656039

Choose a tag to compare

Changelog

  • f5f258b Add Qoder provider support and docs
  • ef1e677 Add Qoder provider support and docs
  • bdc26fa Merge kaitranntt/main into qoder-provider
  • d656039 Merge pull request #77 from simonsmh/qoder-provider
  • 2703981 chore(qoder): apply /simplify cleanups
  • 72324ba chore(qoder): bump cosy version 0.14.2 -> 0.2.16, clienttype 0 -> 5
  • ea3b00d chore(qoder): drop testify + skratchdot deps, rewrite tests in stdlib
  • a7d129f chore(qoder): log upstream non-200 metadata for chat requests
  • 736756e chore(qoder): revert non-qoder changes from upstream sync
  • 509fd70 docs(qoder): list Qoder after Grok and drop management.html note
  • f77e84a feat(qoder): add comprehensive unit tests for Qoder provider
  • ed449cd feat(qoder): add embedded model definitions (11 models)
  • 771e24c feat(qoder): bypass Alibaba Cloud WAF via body encoding + align request shape
  • e17c654 feat(qoder): expose credit usage in management auth list
  • 2297f7e fix(claude): drop request-body preview from /v1/messages debug log
  • bd8f131 fix(executor): translate Qoder non-stream response to client SourceFormat
  • 3d2de6b fix(qoder): /api/v1/userinfo response is flat, not data-wrapped
  • deb9731 fix(qoder): Execute accumulates empty content when SourceFormat is Anthropic
  • c4123ca fix(qoder): add empty token check in RefreshTokens
  • 7ca72a0 fix(qoder): add qoder/ prefix to model IDs in FetchQoderModels
  • 03ef3ac fix(qoder): align executor tests with supported models
  • 2e579d7 fix(qoder): align model_config + session_type with Veria for model selection
  • 8c3b461 fix(qoder): atomic auth file writes and remap 405 to 429
  • ed9d729 fix(qoder): bypass Alibaba Cloud WAF and Qoder upstream rejections
  • 1137aeb fix(qoder): correct model registry to match upstream identifiers
  • 1d7853b fix(qoder): drop fake tool-call prompt scaffolding; pass tools natively
  • 684f0bd fix(qoder): error out instead of guessing when model_config is unknown
  • 1a12db5 fix(qoder): fall back to user_id as auth label instead of prompting
  • c0a9faa fix(qoder): fix usage JSON tags and context for FetchQoderUsage
  • 77b374d fix(qoder): flatten multipart content to plain text in chat messages
  • 5e2aee7 fix(qoder): forward server-provided model_config per-model instead of generic
  • 7638c4f fix(qoder): make Refresh a no-op; device tokens don't OAuth-refresh
  • 8dec577 fix(qoder): match real /api/v1/deviceToken/poll response shape
  • efdb6e5 fix(qoder): never prompt for email — derive label deterministically
  • 86bb0b8 fix(qoder): persistent token refresh to correct file path and translate non-openai requests
  • 09d743f fix(qoder): pre-translate request before forcing SourceFormat=OpenAI
  • c20cd34 fix(qoder): preserve cached model_configs across auth file reloads
  • 75a5814 fix(qoder): preserve system prompts, handle nil content, honor user max_tokens
  • 4be22cd fix(qoder): protect UsageInfo with mutex to prevent data race
  • ba6c554 fix(qoder): remove 405->429 remap now that WAF trigger is fixed
  • 9dbfc58 fix(qoder): remove debug log blocks that parsed response field names
  • 9206755 fix(qoder): remove sensitive debug logs and use proxy-aware client for usage fetch
  • 8cb631e fix(qoder): rewrite COSY signing per Veria, add dynamic model fetch
  • b464950 fix(qoder): sanitize debug logs, add Qoder to provider change detection
  • 818543d fix(qoder): share TranslateStream param across chunks; remove debug log
  • 7b21c9d fix(qoder): strip provider prefix from incoming model IDs
  • 9e01129 fix(qoder): tolerate snake/camel split in poll + refresh JSON
  • 61678c2 fix(qoder): translate stream chunks to client SourceFormat + frame as SSE
  • b8f59b7 fix: remove duplicate closing brace in auth_files.go
  • dab1c2e refactor(qoder): align stream framing with kimi/openai-compat pattern
  • c295e58 refactor(qoder): apply /simplify findings
  • 508c9a9 refactor(qoder): clean up dead code and tighten cosy signing
  • a6e9c6c refactor(qoder): drop "广撒网" duplicate fields, align with Veria minimum
  • 7181b4b test(qoder): drop tests for removed messagesToPromptGeneric

v7.1.31-1

30 May 17:28
7842399

Choose a tag to compare

Changelog

  • 7842399 fix: remove duplicate home discovery flag

v7.1.31-0

30 May 15:25
a4addc5

Choose a tag to compare

Changelog

  • 7f68fa2 Add Codex Switch tool to README
  • 0de0ad0 Add reasoning effort to usage events
  • 42e9605 Merge pull request #3254 from sususu98/fix/antigravity-project-id-onboard
  • 8b9ecff Merge pull request #3382 from sususu98/dev
  • 48a1c88 Merge pull request #3476 from sususu98/fix/codex-context-length-stream-errors-dev
  • 21fad9d Merge pull request #3477 from router-for-me/cluster
  • b9589e8 Merge pull request #3482 from 9ycrooked/patch-1
  • f1ee883 Merge pull request #3484 from yavon007/main
  • cecd393 Merge pull request #3498 from router-for-me/test
  • b5959c3 Merge pull request #3554 from sususu98/fix/gemini-cli-request-schema-cleanup
  • c65275f Merge pull request #3591 from sususu98/feat/signature-check-extraction
  • f28258d Merge pull request #3595 from Progress-infinitely/fix/anthropic-tool-name-reverse-map
  • 4ade13a Merge pull request #3605 from router-for-me/log
  • 96b6f7e Merge pull request #3612 from router-for-me/log
  • 034d2b6 Merge pull request #3615 from sususu98/codex/signature-intercept-on-pr
  • 55901f0 Merge pull request #3620 from iBenzene/fix/responses-input-id-dedupe
  • a4addc5 Merge pull request #96 from kaitranntt/kai/sync/upstream-v7131
  • 5ef7693 Update README.md
  • d9c01a6 chore(models): remove deprecated GPT-5.x models from codex-free catalog
  • b5456bf chore(upstream-sync): merge router-for-me/CLIProxyAPI (auto-resolved: internal/registry/model_definitions_test.go )
  • 139cb76 chore(upstream-sync): record upstream version
  • 50d19e2 docs(readme): add APIKEY.FUN sponsorship details to README files
  • 167edfe feat(auth): add support for websockets in auth file parsing and patching
  • efa200e feat(cli): add fetch_codex_models command for dynamic Codex model fetching
  • bb5ac40 feat(client): add timeout handling for Redis operations and subscription failover
  • 7efc162 feat(docker): add cluster-specific docker-compose configuration for CLIProxyAPI
  • 94c1b25 feat(executor): add TTFT tracking and reporting for enhanced performance metrics
  • e399edd feat(images): add support for configurable GPT Image 2 base model and improved SSE handling
  • c4ee063 feat(logging): add HomeAppLogForwarder for application log forwarding
  • 412d344 feat(logging): add RequestID support in home request logging
  • 11f0f90 feat(logging): add SetTranslatedReasoningEffort to track reasoning levels in usage reporting
  • a0bb1f3 feat(logging): add file-backed sources for request logging
  • d2c5f27 feat(logging): add request_id handling in HomeAppLogForwarder and tests
  • 2bcc762 feat(logging): improve file-backed source cleanup and directory recreation logic
  • df0176a feat(models): add Claude Opus 4.8 model to registry
  • ea25949 feat(models): add Gemini 3.5 Flash models to registry
  • 0ec07e5 feat(models): add Gemini 3.5 Flash to registry with enhanced thinking capabilities
  • aaec919 feat(models): add Grok Build 0.1 to registry
  • de03949 feat(models): expand supported reasoning levels for Codex
  • fdffe49 feat(models): register Gemini 3.5 Flash with dynamic thinking levels
  • a726e37 feat(redis): enhance Redis protocol handling with subscription and queue operations
  • 86cb9c1 feat(signature): upgrade provider signature checks
  • 4b68103 feat(translator): add reasoning signature handling and tests for Claude-OpenAI conversions
  • 71c185f feat(usage): add service tier tracking and defaults in usage reporting
  • 65e760a feat(usage): include cache tokens in total token calculation and add tests
  • de280d9 feat(websockets): refine incremental repair logic for tool call responses
  • aee7a5f feat: intercept incompatible signature replay
  • ad86830 fix codex context length stream errors
  • 01a7cc4 fix(amp): restore response tool casing from request
  • 809feb1 fix(antigravity): mask project_id in logs
  • 3c62a9a fix(auth): update import paths to v7 for registry and executor
  • 7d9980e fix(logging): log errors during file-backed source cleanup
  • e9dafc7 fix(openai): dedupe response websocket input item IDs
  • 98092da fix(release): auto-tag fork patch releases (#90)
  • 30641cf fix(sync): restore fork-divergent helpers dropped by upstream v7.1.31 merge
  • 2cbb8c7 fix(translator): correct JSON path for item summary in response event
  • 33f4904 fix(translator): handle system role as developer in Claude request conversion
  • 1c632d1 fix(translator): skip empty text parts in Claude request conversion
  • 70a8cf0 fix: clean gemini cli request schemas
  • 4a85b6b fix: log gemini cli schema cleanup errors
  • 33130f1 fix: require antigravity project id
  • bfdc0b3 fix: scope antigravity credits fallback gate
  • b3d6d5d refactor: extract signature validation
  • 67f2251 style(docs): improve sponsor section clarity in README files
  • fc0615b test(oauth): ensure missing auth directories are created and callback payloads are validated

v7.1.15-1

21 May 22:07
2baf86e

Choose a tag to compare

Changelog

  • 755b4a8 fix: harden management auth and OAuth callbacks (#89)
  • 2baf86e fix: restore Antigravity OAuth defaults (#88)

v7.1.15-0

19 May 06:14

Choose a tag to compare

Changelog

  • 1583cb4 Cap Gemini max output tokens
  • 32a0d69 Fix Antigravity Gemini thought signatures
  • 6448235 Merge pull request #3469 from sususu98/fix/gemini-max-output-token-cap
  • b67eb6f Merge pull request #3470 from sususu98/fix/antigravity-gemini-thought-signatures
  • dafa1b1 Merge remote-tracking branch 'upstream/main' into upstream-sync/20260519-0442
  • e2ff974 chore(upstream-sync): record upstream version
  • feebe6c feat(api): add OpenAI compatibility for image models
  • bbe30f5 feat(server): enhance Home certificate handling with CA fingerprint verification
  • bac006e feat(thinking): add xAI provider support with reasoning.effort implementation

v7.1.13-0

18 May 18:07
a6faf7c

Choose a tag to compare

Changelog

  • 2460205 Merge pull request #2926 from slicenferqin/fix-tool-use-name-loss-and-duplicates
  • f4c6c41 Merge pull request #3430 from router-for-me/home
  • 4ad6ffe Merge pull request #3438 from madwiki/fix/strip-claude-code-attribution
  • 4b13f9c Merge pull request #3439 from ben-vargas/fix-grok-tool-params
  • 64d233f Merge pull request #3448 from LongDinhh/feat/home-env-vars
  • 2710f56 Merge pull request #3450 from sususu98/fix/http-connect-proxy-dialer
  • cc0cb05 Merge pull request #3468 from sususu98/fix/claude-codex-call-id-length
  • a6faf7c Merge pull request #85 from kaitranntt/kai/fix/plus-upstream-sync-1286
  • e9f956e Merge remote-tracking branch 'upstream/main' into kai/fix/plus-upstream-sync-1286
  • 088ab33 feat(api): add Codex client models support for OpenAI API
  • 605adaa feat(api): add support for local management password validation and spoofed IP rejection
  • 82c9e0d feat(api, watcher): add zstd decoding for request logs and payload diff support
  • 53d1fd6 feat(api, xai): add xAI Grok video model support with API integration
  • 2ff9e33 feat(api, xai): integrate xAI Grok image models and extend API endpoints for image support
  • e4c9570 feat(auth): add OAuth2 support for xAI with PKCE and token persistence
  • c66fa37 feat(home): add cluster nodes payload parsing and Redis channel handling
  • 644d5ea feat(home): add support for disabling cluster discovery in Redis configuration
  • 48104ab feat(home): implement home control plane integration with Redis and TLS support
  • 2007a89 feat(runtime): enhance payload rule resolution with dynamic path support
  • 26d13af feat(runtime): enhance payload rule resolution with dynamic path support
  • ad98c95 feat(runtime): track upstream response headers in logging and usage reporting
  • ed0ac68 feat(server): add HOME_ADDR and HOME_PASSWORD env var fallback for home flags
  • 77ba15f feat(server): add mTLS certificate bootstrap via JWT for Home connections
  • ddd1053 feat(xai): normalize xAI input reasoning items and enhance test cases
  • 74cb53d feat(xai): support namespace tools and enhance tool normalization logic
  • 8b3670b feat(xai): support namespace tools and enhance tool normalization logic
  • 7a1a340 fix(home): use net.JoinHostPort for consistent host:port formatting
  • 1c2153a fix(openai-claude): stabilize streaming tool_use blocks
  • ec79951 fix(proxy): support HTTP CONNECT dialer
  • 2607888 fix(xai): default missing function tool parameters
  • 9392d5b fix: preserve Plus providers during upstream sync
  • ddb2779 fix: restore Plus-only auth, OAuth, and provider cases dropped in upstream sync (#84)
  • 8bc2eff fix: shorten claude codex tool call ids
  • d606faa fix: strip Claude Code attribution from non-Anthropic translations
  • be841b8 log(registry): replace panic with warning on embedded model parse failure
  • 96754f5 refactor(api): move Codex client model handling to registry package
  • 66c5d60 refactor(api): remove newTestServerWithOptions and spoofed IP rejection test
  • 9ef99aa refactor(runtime): rename FormProtocol to FromProtocol across payload handling logic
  • cd0cea3 refactor(server): consolidate home_flag logic into main.go for better maintainability and simplicity
  • 5f03965 refactor: move home env vars after godotenv and use lookupEnv helper