v7.1.32-patch
·
1497 commits
to main
since this release
Changelog
- 81db7fd Add CLIProxyAPI Usage Dashboard to statistics docs
- faad8e3 Add CPA Usage Keeper to README ecosystem list
- 7f68fa2 Add Codex Switch tool to README
- 736018a Add GPT-5.5 Codex model support
- ff6c2d0 Add PostForceRefreshTokens
- 0de0ad0 Add reasoning effort to usage events
- 6b4bc0a Align Codex default identity and docs
- c19ae1d Align Codex websocket protocol semantics
- 1583cb4 Cap Gemini max output tokens
- 29dba03 Comment out system message check in Qwen executor
- 32a0d69 Fix Antigravity Gemini thought signatures
- 08b0fe6 Fix Codex websocket retry metadata
- 5d5f117 Fix EOF retry logic for network errors (#15)
- 65e9e89 Fix missing
response.completed.usagefor late-usage OpenAI-compatible streams - c10f8ae Fixed: router-for-me#2420
- 108895f Harden Responses SSE framing against partial chunk boundaries
- da3a498 Keep Claude Code compatibility work low-risk and reviewable
- 9b5ce8c Keep Claude builtin helpers aligned with the shared helper layout
- ab9ebea Merge PR router-for-me#2474
- 8262a03 Merge PR router-for-me#2568: fix Claude refresh backoff
- b468ca7 Merge branch 'dev' of github.com:router-for-me/CLIProxyAPI into dev
- 3a54fb7 Merge branch 'dev', commit 'refs/pull/3621/head' of github.com:router-for-me/CLIProxyAPI into dev
- 3e78a8d Merge branch 'main' into dev
- a337ecf Merge branch 'router-for-me:main' into feat(vertex)/add-prefix-field
- a09a16e Merge branch 'router-for-me:main' into my-fix
- a44e5eb Merge branch 'v7' into dev
- d09dd4d Merge commit '15c2f274ea690c9a7c9db22f9f454af869db5375' into dev
- 0e4f189 Merge pull request router-for-me#1302 from dinhkarate/feat(vertex)/add-prefix-field
- c1818f1 Merge pull request router-for-me#1940 from Blue-B/fix/claude-interleaved-thinking-amp-gzip-budget
- ea43361 Merge pull request router-for-me#2121 from destinoantagonista-wq/main
- 82ebe24 Merge pull request router-for-me#2266 from DragonFSKY/fix/ws-compact-tool-output-mismatch
- 000fcb1 Merge pull request router-for-me#2298 from snoyiatk/feat/add-gitstore-branch
- b851208 Merge pull request router-for-me#2332 from RaviTharuma/fix/claude-thinking-signature
- c422d16 Merge pull request router-for-me#2398 from 7RPH/fix/responses-sse-framing
- d267522 Merge pull request router-for-me#2403 from CharTyr/clean-pr
- 486cd4c Merge pull request router-for-me#2409 from sususu98/fix/tool-use-pairing-break
- 39dc455 Merge pull request router-for-me#2412 from sususu98/feat/signature-cache-toggle
- a1eba11 Merge pull request router-for-me#2416 from kslamph/fix/gemini-cli-projectid
- 7c3c2e9 Merge pull request router-for-me#2417 from CharTyr/fix/amp-streaming-thinking-regression
- faae9c2 Merge pull request router-for-me#2422 from MonsterQiu/fix/codex-compact-instructions
- b09b03e Merge pull request router-for-me#2424 from possible055/fix/websocket-transcript-replacement
- 1623194 Merge pull request router-for-me#2426 from xixiwenxuanhe/feature/antigravity-credits
- bc3a6e4 Merge pull request router-for-me#2434 from MonsterQiu/fix/codex-responses-null-instructions
- e783d0a Merge pull request router-for-me#2441 from MonsterQiu/issue-2421-alias-before-suspension
- b05f575 Merge pull request router-for-me#2444 from 0oAstro/fix/codex-nonstream-finish-reason-tool-calls
- 1c7003f Merge pull request router-for-me#2452 from Lucaszmv/fix-qwen-cli-v0.13.2
- 7170eee Merge pull request router-for-me#2454 from buddingnewinsights/add-proxypal-to-readme
- 66cd50f Merge pull request router-for-me#2468 from router-for-me/ip
- 474fb04 Merge pull request router-for-me#2476 from router-for-me/cherry-pick/pr-2438-to-dev
- e3eb048 Merge pull request router-for-me#2489 from Soein/upstream-pr
- a59e924 Merge pull request router-for-me#2490 from router-for-me/logs
- c3f8dc3 Merge pull request router-for-me#2491 from mpfo0106/feature/claude-code-safe-alignment-sentinels
- fcba912 Merge pull request router-for-me#2492 from davidwushi1145/main
- 42c062b Merge pull request router-for-me#2509 from adamhelfgott/fix-claude-thinking-temperature
- f389667 Merge pull request router-for-me#2513 from lonr-6/codex/fix-ws-custom-tool-repair-v2
- ae37ccf Merge pull request router-for-me#2520 from Arronlong/main
- 9eabdd0 Merge pull request router-for-me#2522 from aikins01/fix/strip-tool-use-signature
- 8430b28 Merge pull request router-for-me#2526 from rensumo/main
- 9f5bdfa Merge pull request router-for-me#2531 from jamestut/openai-vertex-token-usage-fix
- 2ee938a Merge pull request router-for-me#2535 from rensumo/main
- d1f6224 Merge pull request router-for-me#2569 from LucasInsight/fix/record-zero-usage
- 6a27bce Merge pull request router-for-me#2576 from zilianpn/fix/disable-cooling-auth-errors
- cad45ff Merge pull request router-for-me#2578 from LemonZuo/feat_socks5h
- 12b9671 Merge pull request router-for-me#2592 from router-for-me/tests
- 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
- 26fd3ef Merge pull request router-for-me#2715 from sususu98/pr/antigravity-32mb-bypass-signatures
- 1dc3018 Merge pull request router-for-me#2716 from sususu98/pr/antigravity-bypass-log-noise
- 61e0447 Merge pull request router-for-me#2723 from sususu98/fix/drop-redacted-thinking-blocks
- c4459c4 Merge pull request router-for-me#2724 from sususu98/fix/skip-schema-cleanup-empty-tools
- 3dea1da Merge pull request router-for-me#2782 from sususu98/fix/strip-invalid-signature-thinking-blocks
- f56cf42 Merge pull request router-for-me#2800 from sususu98/fix/antigravity-max-output-tokens-cap
- d1508ca Merge pull request router-for-me#2816 from sususu98/feat/session-affinity
- ba454db Merge pull request router-for-me#2817 from sususu98/fix/antigravity-strip-billing-header
- 8ced7a5 Merge pull request router-for-me#2834 from muzhi1991/fix/openai-compat-host-header
- c6baa64 Merge pull request router-for-me#2892 from router-for-me/fix-provider
- bdc4240 Merge pull request router-for-me#2896 from edlsh/fix/oauth-tool-rename-per-request-map
- e05abec Merge pull request router-for-me#2898 from octo-patch/fix/issue-2866-remove-obsolete-1m-beta-header
- 2460205 Merge pull request router-for-me#2926 from slicenferqin/fix-tool-use-name-loss-and-duplicates
- 3444820 Merge pull request router-for-me#2939 from stringer07/fix/codex-stream-output-backfill
- 8eb56e5 Merge pull request router-for-me#2962 from MoYeRanqianzhi/feat/codex-image-generation-tool-injection
- 12195a2 Merge pull request router-for-me#2971 from sususu98/feat/antigravity-credits-fallback
- a325533 Merge pull request router-for-me#2972 from XYenon/feat/amp-thread-id
- 1576d14 Merge pull request router-for-me#2989 from ben-vargas/gpt-5-5-support
- 36cc762 Merge pull request router-for-me#3007 from sususu98/fix-antigravity-credits-stream-fallback
- c5bea6f Merge pull request router-for-me#3020 from Matthias319/fix/codex-error-classification
- be0fe6f Merge pull request router-for-me#3022 from Willxup/main
- 736ae61 Merge pull request router-for-me#3051 from philipbankier/fix/gpt55-free-tier-test
- a1f0ed9 Merge pull request router-for-me#3071 from sususu98/fix/antigravity-credits-log
- 34027da Merge pull request router-for-me#3088 from sususu98/codex-claude-reasoning-signature
- f95ab4c Merge pull request router-for-me#3089 from XYenon/feat/session-affinity
- b34f3be Merge pull request router-for-me#3114 from Xbang0222/fix/antigravity-credits-ua
- c4965be Merge pull request router-for-me#3117 from sususu98/fix/restore-antigravity-ua-handling
- b3b92f3 Merge pull request router-for-me#3125 from sususu98/fix/gemini-cli-usage-metadata-variants
- 2c1539e Merge pull request router-for-me#3133 from sususu98/optimize/claude-codex-translator
- 8b286e8 Merge pull request router-for-me#3163 from C4AL/docs/add-codexclipplus-ecosystem
- 85124f0 Merge pull request router-for-me#3194 from daishuge/codex/add-daishuge-cpa-port-20260502
- 593995a Merge pull request router-for-me#3197 from VjayC/dev
- 054d0de Merge pull request router-for-me#3201 from murasame612/docs/add-cliproxy-pool-watch
- 756b600 Merge pull request router-for-me#3204 from zhanglunet/add-usage-dashboard-link
- 28b4b19 Merge pull request router-for-me#3208 from kdcokenny/codex-websocket-protocol-parity
- 09ac8a1 Merge pull request router-for-me#3221 from mochenya/main
- 785b00c Merge pull request router-for-me#3237 from seakee/docs/add-cpa-manager-usage-statistics
- a034cf8 Merge pull request router-for-me#3247 from edlsh/fix/amp-thread-actors-route
- 42e9605 Merge pull request router-for-me#3254 from sususu98/fix/antigravity-project-id-onboard
- 3cbd587 Merge pull request router-for-me#3283 from wuchulonly/fix/responses-ws-tool-output-context
- 68fddaa Merge pull request router-for-me#3292 from lihan3238/fix-3272
- 041ccf0 Merge pull request router-for-me#3303 from lihan3238/fix-3267
- 8b9ecff Merge pull request router-for-me#3382 from sususu98/dev
- f4c6c41 Merge pull request router-for-me#3430 from router-for-me/home
- 4ad6ffe Merge pull request router-for-me#3438 from madwiki/fix/strip-claude-code-attribution
- 4b13f9c Merge pull request router-for-me#3439 from ben-vargas/fix-grok-tool-params
- 64d233f Merge pull request router-for-me#3448 from LongDinhh/feat/home-env-vars
- 2710f56 Merge pull request router-for-me#3450 from sususu98/fix/http-connect-proxy-dialer
- cc0cb05 Merge pull request router-for-me#3468 from sususu98/fix/claude-codex-call-id-length
- 6448235 Merge pull request router-for-me#3469 from sususu98/fix/gemini-max-output-token-cap
- b67eb6f Merge pull request router-for-me#3470 from sususu98/fix/antigravity-gemini-thought-signatures
- 48a1c88 Merge pull request router-for-me#3476 from sususu98/fix/codex-context-length-stream-errors-dev
- 21fad9d Merge pull request router-for-me#3477 from router-for-me/cluster
- b9589e8 Merge pull request router-for-me#3482 from 9ycrooked/patch-1
- f1ee883 Merge pull request router-for-me#3484 from yavon007/main
- cecd393 Merge pull request router-for-me#3498 from router-for-me/test
- b5959c3 Merge pull request router-for-me#3554 from sususu98/fix/gemini-cli-request-schema-cleanup
- c65275f Merge pull request router-for-me#3591 from sususu98/feat/signature-check-extraction
- f28258d Merge pull request router-for-me#3595 from Progress-infinitely/fix/anthropic-tool-name-reverse-map
- 4ade13a Merge pull request router-for-me#3605 from router-for-me/log
- 96b6f7e Merge pull request router-for-me#3612 from router-for-me/log
- 034d2b6 Merge pull request router-for-me#3615 from sususu98/codex/signature-intercept-on-pr
- 55901f0 Merge pull request router-for-me#3620 from iBenzene/fix/responses-input-id-dedupe
- 162897e Merge remote-tracking branch 'origin/pr/3205' into dev
- 1fca942 Merge remote-tracking branch 'origin/pr/3239'
- 96056d0 Merge remote-tracking branch 'upstream/main' into fix/oauth-extra-usage-detection
- f63cf6f Normalize Claude temperature for thinking
- c523101 Preserve Codex reasoning signatures for Claude
- abc293c Prevent malformed Responses SSE frames from breaking stream clients
- e166e56 Reconcile registry model states on auth changes
- 34339f6 Refactor websocket logging and error handling
- b9e6165 Restore Codex prompt cache key synthesis
- 5ef7693 Update README.md
- 7972130 Update README_CN.md
- d2386a3 Update README_JA.md
- e08f68e chore(auth): drop reconcile test file from pr
- 38dad2a chore(docker): upgrade base image to alpine 3.23
- 359ec30 chore(docs): remove LingtrueAPI sponsorship section from README files
- ed1458a chore(docs): update sponsor details in README
- 7b89583 chore(models): remove GPT-5.5 model entry from registry JSON
- d9c01a6 chore(models): remove deprecated GPT-5.x models from
codex-freecatalog - a4c1e32 chore(models): remove outdated GPT-5 and related model entries from registry JSON
- f2908b7 chore: add fork upstream sync workflow and DockerHub settings
- f5aa68e chore: add workflow to prevent AGENTS.md modifications in pull requests
- 70efd4e chore: add workflow to retarget main PRs to dev automatically
- 8fac296 chore: remove Qwen support from SDK and internal components
- f5dc648 chore: remove iFlow-related modules and dependencies
- 18bb9c3 chore: remove usage tracking and logging functionality
- e37f3be chore: update .goreleaser.yml to include custom archive naming with arch override logic
- f3ab8f4 chore: update antigravity UA version to 1.21.9
- e50caba chore: upgrade CLIProxyAPI dependency to v7 across the project
- 38f0ae5 docs(antigravity): document signature validation spec alignment
- 50d19e2 docs(readme): add APIKEY.FUN sponsorship details to README files
- 6f58518 docs(readme): remove redundant GITSTORE_GIT_BRANCH description in README files
- 04ba8c8 feat(amp): sanitize signatures and handle stream suppression for Amp compatibility
- 88dd9c7 feat(antigravity): add AI credits quota fallback
- 14d46a0 feat(antigravity): conductor-level credits fallback for Claude models
- cf24958 feat(antigravity): configurable signature cache with bypass-mode validation
- d801393 feat(antigravity): prefer prod URL as first priority
- 088ab33 feat(api): add Codex client models support for OpenAI API
- feebe6c feat(api): add OpenAI compatibility for image models
- 437aa87 feat(api): add dynamic handler for Gemini models with home integration
- e7a1859 feat(api): add request body decoding with Content-Encoding support
- 1716a84 feat(api): add support for
HEADrequests to/healthzendpoint - 605adaa feat(api): add support for local management password validation and spoofed IP rejection
- 0a7c6b0 feat(api): enhance model assignment logic in image handlers
- ada8e29 feat(api): enhance proxy resolution for API key-based auth
- 28d7827 feat(api): implement protocol multiplexer and Redis queue for usage integration
- 894baad feat(api): integrate auth index into key retrieval endpoints for Gemini, Claude, Codex, OpenAI, and Vertex
- 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
- 67fb4eb feat(auth): add
shouldReturnLastErrorOnPickFailurehelper and improve error handling in home mode - 5bfaf80 feat(auth): add configurable worker pool size for auto-refresh loop
- d949921 feat(auth): add proxy URL override support to auth constructors and executors
- e6866ff feat(auth): add refresh backoff for ineffective token updates
- 229d03a feat(auth): add support for disabling auth via metadata
- 09e4800 feat(auth): add support for managing custom headers in auth files
- c69ff49 feat(auth): add support for persisting
disabledflag in token storage - 167edfe feat(auth): add support for websockets in auth file parsing and patching
- dc1cc7f feat(auth): add websocket session reuse for home auths with caching support
- a7e92e2 feat(auth): disallow free-tier Codex auth during selection process
- 41f4ee7 feat(auth): enhance auth index generation with improved file path handling
- 8300ee8 feat(auth): enhance home auth session reuse with scoped caching and ref counting
- a583463 feat(auth): implement auto-refresh loop for managing auth token schedule
- 6bfcb0c feat(auth): improve unauthorized error handling for refresh and auto-refresh
- efa200e feat(cli): add
fetch_codex_modelscommand for dynamic Codex model fetching - bcbb949 feat(client): add cluster node failover and improve reconnection handling
- bb5ac40 feat(client): add timeout handling for Redis operations and subscription failover
- 31934ae feat(codex): enable image generation for all Codex upstream requests
- 01e16a8 feat(codex): handle thinking-signature conversion for reasoning content
- f1ba615 feat(codex): pass base model to enable conditional image_generation tool injection
- 5e5b1bc feat(config): add detailed logging for home config changes
- 0f0fcd2 feat(config): add per-auth
disable_coolingoverride support - 3857305 feat(config): add support for disabling OpenAI compatibility providers
- 7efc162 feat(docker): add cluster-specific docker-compose configuration for CLIProxyAPI
- 4ba1053 feat(docs): add Poixe AI sponsorship details to README files
- 8f4a4ea feat(docs): add VisionCoder sponsorship details and optimize external links
- 94c1b25 feat(executor): add TTFT tracking and reporting for enhanced performance metrics
- c7b28ba feat(executor): add support for Codex image generation tool usage tracking
- 22a1a24 feat(executor): add tests for preserving key order in cache control functions
- fb08b92 feat(executor): add upstream disconnect handling for Codex WebSocket sessions
- c2d4137 feat(executor): enhance Qwen system message handling with strict injection and merging rules
- d2419ed feat(executor): ensure default system message in QwenExecutor payload
- 058793c feat(gitstore): honor configured branch and follow live remote default
- c66fa37 feat(home): add cluster nodes payload parsing and Redis channel handling
- 644d5ea feat(home): add support for disabling cluster discovery in Redis configuration
- 66c3dae feat(home): implement
countfor home auth dispatch requests and enable usage statistics - 48104ab feat(home): implement home control plane integration with Redis and TLS support
- e399edd feat(images): add support for configurable GPT Image 2 base model and improved SSE handling
- 25137b1 feat(logging): add AI API path support for image routes
- 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
- 1abf862 feat(logging): add home request-log forwarding support
- d2c5f27 feat(logging): add request_id handling in HomeAppLogForwarder and tests
- 2bcc762 feat(logging): improve file-backed source cleanup and directory recreation logic
- 61b39d4 feat(management): add usage record retrieval endpoint
- 1721994 feat(management): expose additional OAuth and configuration helpers
- 3774b56 feat(misc): add background updater for Antigravity version caching
- 5dcca69 feat(models): add Claude Opus 4.7 model entry to registry JSON
- df0176a feat(models): add Claude Opus 4.8 model to registry
- ea670ef feat(models): add Codex Auto Review model entry to registry JSON
- a824e7c feat(models): add GPT-5.3, GPT-5.4, and GPT-5.4-mini with enhanced "thinking" levels
- 7d5f6d9 feat(models): add GPT-5.5 model entry to registry JSON
- 2ea8f77 feat(models): add GPT-5.5 to the registry with support for advanced tasks
- 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
- 4fc2c61 feat(models): add Kimi K2.6 model entry to registry JSON
- e935196 feat(models): add hardcoded GPT-Image-2 model support in Codex
- 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
- 1d529c3 feat(redis): implement Pub/Sub support for usage tracking
- 9d01c80 feat(redis): implement Pub/Sub support for usage tracking
- 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
- adb580b feat(security): add configuration to toggle Gemini CLI endpoint access
- 2c626ef feat(security): implement IP ban for repeated management key and Redis AUTH failures
- 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
- c67096b feat(server): add support for loading configuration from a remote home control plane
- bbe30f5 feat(server): enhance Home certificate handling with CA fingerprint verification
- 7c24d54 feat(session-affinity): add session-sticky routing for multi-account load balancing
- 86cb9c1 feat(signature): upgrade provider signature checks
- bac006e feat(thinking): add xAI provider support with reasoning.effort implementation
- 86c856f feat(translator): add partial and full image generation support in Codex-GPT and Codex-Gemini flows
- 4b68103 feat(translator): add reasoning signature handling and tests for Claude-OpenAI conversions
- 85c0150 feat(translator): add token usage tracking and improve usage handling
- 8435c3d feat(tui): show time in usage details
- 71c185f feat(usage): add service tier tracking and defaults in usage reporting
- bd8c05a feat(usage): add support for detailed token breakdown in usage tracking
- ba5d8ca feat(usage): add support for requested model alias handling
- 65e760a feat(usage): include cache tokens in total token calculation and add tests
- fdeef48 feat(vertex): Add Prefix field to VertexCredentialStorage for per-file model namespacing
- 14cb2b9 feat(vertex): add --vertex-import-prefix flag for model namespacing
- de280d9 feat(websockets): refine incremental repair logic for tool call responses
- 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
- 7ee37ee feat: add /healthz endpoint and test coverage for health check
- b0dc9df feat: add API key usage endpoint with provider and key grouping
- 56df368 feat: add configurable retention period for Redis usage queue
- 05ecfb6 feat: add local Docker build script and update compose configuration
- 3724933 feat: add opt-in experimental Claude cch signing
- 6187919 feat: add support for recent request tracking in auth records
- b8bba05 feat: add tracking for auth request success and failure counts
- f56a19e feat: add tri-state support for
disable-image-generationconfiguration - 243c582 feat: add unit tests for OpenAI responses request conversion
- 2753d9f feat: add validation for Claude streaming responses
- 6ba7c81 feat: apply image_generation filtering before payload rules
- 8d5e470 feat: dynamically fetch antigravity UA version from releases API
- 8c2f1a8 feat: enhance API key usage grouping with base URL inclusion
- af65908 feat: enhance tool mapping with namespace and web search support
- 672fdd1 feat: filter and drop empty assistant messages in Kimi executor
- aee7a5f feat: intercept incompatible signature replay
- 4601841 feat: remove
tool_choiceforimage_generationwhen disabled - 3ac39dc feat: support Codex/PI session headers for session affinity
- e3e60f9 feat: support disabling image generation globally
- 4d6457e feat: support extracting X-Amp-Thread-Id header as session id for session affinity
- 163d683 feat: support socks5h scheme for proxy settings
- 0e12351 fix antigravity client agent headers
- 5f5d593 fix antigravity credits stream fallback
- e78d45a fix antigravity user agent handling
- ad86830 fix codex context length stream errors
- c883114 fix responses websocket tool output context
- b15453c fix(amp): address PR review - stream thinking suppression, SSE detection, test init
- 279cbbb fix(amp): don't suppress thinking blocks in streaming mode
- 95318ad fix(amp): preserve lowercase glob tool name
- 0117174 fix(amp): proxy thread actors route
- 01a7cc4 fix(amp): restore response tool casing from request
- b0653ce fix(amp): strip signature from tool_use blocks before forwarding to Claude
- 727221d fix(antigravity): allow 32MB bypass signatures
- 8fecd62 fix(antigravity): cap maxOutputTokens using registry max_completion_tokens
- 41ae2c8 fix(antigravity): discard thinking blocks with non-Claude-format signatures
- 65158cc fix(antigravity): drop redacted thinking blocks with empty text
- 809feb1 fix(antigravity): mask project_id in logs
- a0bf33e fix(antigravity): preserve fallback and honor config gate
- 8ed290c fix(antigravity): reduce bypass mode log noise
- 30e94b6 fix(antigravity): refine 429 handling and credits fallback
- 4de5c29 fix(antigravity): remove credits fallback from CountTokens, fix gofmt
- 25feceb fix(antigravity): reorder model parts to prevent tool_use↔tool_result pairing breakage
- e75daa2 fix(antigravity): respect pinned auth in credits fallback, release deferred body on success
- f5ed5c7 fix(antigravity): skip full schema cleanup for empty tool requests
- d4a6a5a fix(antigravity): strip billing header from system instruction before upstream call
- 278a898 fix(antigravity): strip thinking blocks with empty signatures instead of rejecting
- 10b55b5 fix(antigravity): use E-prefixed fake signature in strict bypass test
- a992dee fix(antigravity): use real antigravity UA when polling credits balance
- c5596e0 fix(api): clear sniff deadline before entering Redis handler
- 28dfcae fix(api): prevent idle TCP connections from blocking the accept loop
- ad8e396 fix(auth): add retry logic for 429 status with Retry-After and improve testing
- f130846 fix(auth): break credits cold-start deadlock by keeping unknown-hint auths as fallback candidates
- 941334d fix(auth): handle OAuth model alias in retry logic and refine Qwen quota handling
- 0ea7680 fix(auth): honor disable-cooling and enrich no-auth errors
- 730809d fix(auth): preserve and restore ready view cursors during index rebuilds
- 07b7c1a fix(auth): resolve oauth aliases before suspension checks
- 17363ed fix(auth): skip downtime for request-scoped 404 errors in model state management
- 430e679 fix(auth): strip "generate" from payload during WebSocket HTTP fallback
- f09ed25 fix(auth): tighten registry model reconciliation
- 3c62a9a fix(auth): update import paths to v7 for registry and executor
- 5e81b65 fix(auth, executor): normalize Qwen base URL, adjust RefreshLead duration, and add tests
- e5502a7 fix(ci): keep fork releases on patch tags
- 07d6689 fix(claude): add interleaved-thinking beta header, AMP gzip error decoding, normalizeClaudeBudget max_tokens
- 0f45d89 fix(claude): address PR review feedback for OAuth cloaking
- fc1ddf3 fix(claude): centralize oauth tool-name transform flow
- 5f58248 fix(claude): clamp max_tokens to model limit in normalizeClaudeBudget
- f780c28 fix(claude): map question/skill to TitleCase instead of removing them
- e707cf7 fix(claude): only reverse-remap OAuth tool names that were forward-renamed
- 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
- 6431cec fix(claude-auth): dedupe OAuth refresh and honor 429 backoff
- d11936f fix(codex): add default instructions for /responses/compact
- bb8408c fix(codex): backfill streaming response output
- 105a215 fix(codex): centralize session management with global store and add tests for executor session lifecycle
- 4056c25 fix(codex): classify known upstream failures
- 330e12d fix(codex): conditionally set
Session_idheader for Mac OS user agents and clean up redundant logic - d85e13b fix(codex): include
contentfield in reasoning item initialization - 39b9a38 fix(codex): normalize null instructions across responses paths
- d3b94c9 fix(codex): normalize null instructions for compact requests
- bd855ab fix(codex): normalize null instructions for responses requests
- 1734aa1 fix(codex): prioritize websocket-enabled credentials across priority tiers in scheduler logic
- ec77f4a fix(codex): set finish_reason to tool_calls in non-streaming response when tool calls are present
- 51fd58d fix(codex): use normalizeCodexInstructions to set default instructions
- 1267fdd fix(docker-build): improve argument handling and error messaging for usage option
- 91e7591 fix(executor): add transient 429 resource exhausted handling with retry logic
- 89d80bf fix(executor): adjust ApplyThinking order and add payload override test
- f4eb161 fix(executor): drop obsolete context-1m-2025-08-07 beta header (fixes router-for-me#2866)
- e4a93c0 fix(executor): enhance parsing of OpenAI stream data lines
- c8b7e2b fix(executor): ensure empty stream completions use output_item.done as fallback
- 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
- 99dfbae fix(executor): ignore null OpenAI stream usage chunks
- 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
- 754b126 fix(executor): remove commented-out code in QwenExecutor
- 29e32aa fix(executor): route Claude refresh through retry-aware auth
- bf6fa40 fix(executor): strip Vertex OpenAI response tool call IDs for consistency
- d54f816 fix(executor): update Qwen user agent and enhance header configuration
- e34b2b4 fix(gemini): clean tool schemas and eager_input_streaming
- fccfb16 fix(gemini-cli): use backend project ID from onboarding response
- 30a8824 fix(gitstore): adjust garbage collection to run after push operation
- 1dba2d0 fix(handlers): add base URL validation and improve API key deletion tests
- 7b03f04 fix(handlers): include execution session metadata and skip idempotency key when absent
- fd71960 fix(handlers): remove handling of unsupported
nparameter in OpenAI image handlers - a188159 fix(handlers): remove references to unsupported
nparameter in OpenAI image handlers - f32c8c9 fix(handlers): update listener to bind on all interfaces instead of localhost
- 3a9fb37 fix(home): implement home dispatch headers and enhance Gemini model handling
- 7a1a340 fix(home): use net.JoinHostPort for consistent host:port formatting
- 7d9980e fix(logging): log errors during file-backed source cleanup
- c26936e fix(management): stabilize auth-index mapping
- acf98ed fix(openai): add session reference counter and cache lifecycle management for websocket tools
- d1c07a0 fix(openai): add websocket tool call repair with caching and tests to improve transcript consistency
- a3e21df fix(openai): avoid developer transcript resets
- e9dafc7 fix(openai): dedupe response websocket input item IDs
- c1d7599 fix(openai): handle transcript replacement after websocket compaction
- caa529c fix(openai): improve client IP retrieval in websocket handler
- 80eb037 fix(openai): preserve multiline repaired SSE data
- d36e70e fix(openai): preserve unindexed response output items
- fd45dec fix(openai): repair empty responses stream output
- 1c2153a fix(openai-claude): stabilize streaming tool_use blocks
- ec79951 fix(proxy): support HTTP CONNECT dialer
- 1b44364 fix(qwen): update CLI simulation to v0.13.2
- 06405f2 fix(security): enforce stricter localhost validation for GeminiCLIAPIHandler
- 32ef158 fix(test): remove free tier from GPT-5.5 inclusion test
- a64141a fix(tests): remove obsolete config_auth_index_test file
- da43f63 fix(tests): update Gemini family test case numbers for consistency
- d9a3b3e fix(tests): update model lookup references and enhance Claude executor tests
- d390b95 fix(tests): update test cases
- fcc59d6 fix(translator): add unit tests to validate output_item.done fallback logic for Gemini and Claude
- 2cbb8c7 fix(translator): correct JSON path for item summary in response event
- c1caa45 fix(translator): handle empty tool function names in OpenAI Claude responses
- a1487b0 fix(translator): handle non-string types in tools result processing
- 33f4904 fix(translator): handle system role as developer in Claude request conversion
- 17be644 fix(translator): improve tool response handling for non-string content
- 1c632d1 fix(translator): skip empty text parts in Claude request conversion
- 776a9c0 fix(translator/gemini): support developer role in OpenAI Responses requests
- 04a336f fix(usage_helpers): skip zero-token usage in additional model records
- eba561b fix(util): also keep Host in header map for synthetic requests
- 8f9e662 fix(util): forward custom Host header to upstream
- 36efcc6 fix(vertex): include prefix in auth filename and validate at import
- 8e6ef3f fix(websocket): ensure state consistency on auth errors in streaming
- 4ca00f7 fix(websocket): gate compact replay by downstream support
- d2d0e6f fix(websocket): narrow compact replay detection
- a0fe273 fix(websocket): skip stale state merge after client-side compact
- 2607888 fix(xai): default missing function tool parameters
- 249f969 fix: Claude API 请求使用 utls Chrome TLS 指纹
- c03883c fix: address responses SSE review feedback
- 1c0c426 fix: align claude codex translation
- 4071fde fix: apply default auth-dir when config value is empty
- 9e0ab4d fix: build cache_control JSON manually to avoid sjson map marshaling
- 8783caf fix: buildTextBlock cache_control sjson path issue
- 70a8cf0 fix: clean gemini cli request schemas
- 66eb122 fix: clear stale thinking signature when no block is open
- 76b53d6 fix: finalize pending thinking block before next summary part
- 8e49c79 fix: forward HTTP headers to executor Options so session affinity can read X-Amp-Thread-Id
- 4a85b6b fix: log gemini cli schema cleanup errors
- 73b22ec fix: omit empty signature field from thinking blocks
- 4982512 fix: parse gemini cli usage metadata variants
- ecf1c25 fix: preserve Antigravity cancellation errors
- a34dfed fix: preserve Claude thinking signatures in Codex translator
- 134a9ea fix: preserve SSE event boundaries for Responses streams
- 15c2f27 fix: preserve cloak config defaults when mode omitted
- bf0e5c2 fix: prevent goroutine leaks in streaming executors via context-aware channel sends
- 8b9dbe1 fix: record zero usage
- e2e3c7d fix: remove invalid org scope and match Claude Code block layout
- d1fd2c4 fix: repair websocket custom tool calls
- b6c6379 fix: repair websocket custom tool calls
- 8f0e66b fix: repair websocket custom tool calls
- 33130f1 fix: require antigravity project id
- 0d107dd fix: respect declared claude web search tool names
- 5fc2bd3 fix: retain codex thinking signature until item done
- c31ae2f fix: retain previously captured thinking signature on new summary part
- bfdc0b3 fix: scope antigravity credits fallback gate
- 25d1c18 fix: scope experimental cch signing to billing header
- 8bc2eff fix: shorten claude codex tool call ids
- f73d55d fix: simplify responses SSE suffix handling
- d606faa fix: strip Claude Code attribution from non-Anthropic translations
- 0fcc02f fix: tighten responses SSE review follow-up
- f6f4640 fix: use sjson to build system blocks, avoid raw newlines in JSON
- bb44671 fix: 修复反代检测对抗的 3 个问题
- 4045378 fix: 增强 Claude 反代检测对抗能力
- 17a1f53 fix:openai 2 kimi error Continuous function_call 连续的function_call 转换 tool_calls
- be841b8 log(registry): replace panic with warning on embedded model parse failure
- 6fc2356 logging: mark antigravity credits requests
- 7ad1900 perf(antigravity): async credits hint refresh for warm tokens
- 03ea4e5 perf(claude): pre-allocate reverseMap capacity
- b6781d6 perf(codex): avoid repeated output patch writes
- 96754f5 refactor(api): move Codex client model handling to
registrypackage - 66c5d60 refactor(api): remove
newTestServerWithOptionsand spoofed IP rejection test - f611dd6 refactor(auth): dedupe route-aware model support checks
- 6c0a1ef refactor(auth): simplify auth directory scanning and improve JSON processing logic
- 15ac7fb refactor(auth): simplify home auth session management and remove ref counting
- 0dcb8bd refactor(cliproxy): remove
ClaudeCodeSessionAffinitysupport and simplify session affinity logic - 828df80 refactor(executor): remove immediate retry with token refresh on 429 for Qwen and update tests accordingly
- 91387ca refactor(gemini-cli): simplify redundant if/else in project ID assignment
- 4f8acec refactor(logging): centralize websocket handshake recording
- 4035abc refactor(logging): replace gin-specific context handling with generic context-based request metadata utilities
- 920b6ef refactor(logging): strip unrelated deferred body changes, keep credits-only logging
- da6c599 refactor(management): rename
GetUsagetoGetUsageQueueand update routes/tests - 51a4379 refactor(openai): remove websocket body log truncation limit
- d2c7e4e refactor(runtime): move executor utilities to
helpspackage and update references - 9ef99aa refactor(runtime): rename
FormProtocoltoFromProtocolacross payload handling logic - ca11b23 refactor(runtime, openai): simplify header management and remove redundant websocket logging logic
- cd0cea3 refactor(server): consolidate
home_flaglogic intomain.gofor better maintainability and simplicity - 4cbe172 refactor: extract DefaultAuthDir constant per review feedback
- b3d6d5d refactor: extract signature validation
- 5f03965 refactor: move home env vars after godotenv and use lookupEnv helper
- 67f2251 style(docs): improve sponsor section clarity in README files
- ff7dbb5 test(amp): update tests to expect thinking blocks to pass through during streaming
- f5e9f01 test(amp): update tests to expect thinking blocks to pass through during streaming
- 9fb6a49 test(api): add validation for unsupported models in OpenAI image handlers
- fc0615b test(oauth): ensure missing auth directories are created and callback payloads are validated
- ad3f4f2 📝 docs(readme): add CPA-Manager usage statistics recommendation