Releases: kaitranntt/CLIProxyAPIPlus
Releases · kaitranntt/CLIProxyAPIPlus
v7.1.45-0
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
v7.1.43-0
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-fastmodel - ac1360f feat(models): add support for
grok-imagine-video-1.5-previewmodel - 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
NewUtlsHTTPClientwith context-based RoundTripper - fb4f39d test(models, executor): add XAI video model test and fix Codex User-Agent assertions
v7.1.32-0
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
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
v7.1.31-0
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-freecatalog - 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_modelscommand 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
RequestIDsupport in home request logging - 11f0f90 feat(logging): add
SetTranslatedReasoningEffortto 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
v7.1.15-0
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
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
registrypackage - 66c5d60 refactor(api): remove
newTestServerWithOptionsand spoofed IP rejection test - 9ef99aa refactor(runtime): rename
FormProtocoltoFromProtocolacross payload handling logic - cd0cea3 refactor(server): consolidate
home_flaglogic intomain.gofor better maintainability and simplicity - 5f03965 refactor: move home env vars after godotenv and use lookupEnv helper