github caidaoli/ccLoad v4.11.0
Release v4.11.0

3 hours ago

What's Changed

  • feat(channels): move daily checks to per-channel interval and start time (3195bfd1)
  • fix(channel-check): use OAuth credentials for scheduled checks (d0ac6a56)
  • fix(web): 检测更新期间显示按钮禁用样式 (9a7cdb83)
  • fix(proxy): strip unsupported Anyrouter Codex metadata (f31b0d05)
  • docs(www): 同步定时检测与站点功能说明 (c29616ee)
  • refactor(codex): remove quota overage feature (7c2068b8)
  • fix(oauth): accept masked composite keys (5aa44bc7)
  • feat(codex): preserve manually configured models across OAuth refresh (4aed5305)
  • test(codex): align reimport and refresh tests with preserved model config (5a935a2e)
  • fix(oauth): persist detection quota progress and accumulated costs (3cf8b601)
  • fix: prefer URL protocols for scheduled checks and add trend filter reset (d3c4406d)
  • test: remove low-value and redundant test cases (8fe6d59b)
  • fix(proxy): preserve Responses tool search and encrypted history (d7082767)
  • fix(codex): stop generating legacy session headers (be38b546)
  • feat(antigravity): align credential lifecycle and credits fallback (9910a8f2)
  • fix(web): simplify Antigravity credits display (f6f07fae)
  • fix: simplify Antigravity credits log marker (c69f099a)
  • fix(web): populate management panel URL for new channels (59b0a9bf)
  • feat(codex): support GPT Image 2.5 via Responses (33f9455c)
  • fix(codex): preserve main quota cost when additional limits are active aliases (67ff10c5)
  • fix(oauthcost): correct quota reset boundaries before rolling cost (4918e75a)
  • feat(codex): support direct GPT Image 2.5 generation and editing (8f9a2d25)
  • fix(oauth): prevent cascading quota refreshes and update Codex client identity (2f6ae79d)
  • perf(ci): reduce test waits and refresh Go build caches (e43e2074)
  • fix(ci): populate complete module cache before saving (ef9c554e)
  • build(release): fetch Cursor bridge directly for container images (4c47bcbd)
  • fix(proxy): detect stalled HTTP/2 upstream connections with PING (54f0ae84)
  • fix(web): clarify model cooldown status with clock icon (a0b05e2f)
  • feat: add CodeBuddy OAuth channel and DeepSeek V4.1 Flash pricing (dfcf56f3)
  • feat(codebuddy): 完善文件授权并统一模型发现与敏感词处理 (cfacf5d7)
  • fix(web): update language changes immediately and refine navigation layout (345902ed)
  • feat(codebuddy): add scheduled check-ins and quota queries (3fe75b40)
  • fix(proxy): classify Cloudflare challenges and rolling quota resets (422b63ad)
  • fix(proxy): enforce token channel limits during cooldown fallback (b5064663)
  • fix(web): preserve actual model redirect display (0843ecd3)
  • feat(codebuddy): unify domestic and international OAuth (fb6ae868)
  • fix(proxy): preserve forbidden status for restricted channels (380aa2c7)
  • feat(opencode): show Go subscription usage on API-key channels (53254343)
  • chore(cliproxy): sync core to fork/v8.85.0 (19d76928)
  • fix(opencode): satisfy usage lint and batch-refresh tests (c22bdab0)
  • fix: normalize CodeBuddy protocol conversion (49c484b7)
  • fix(codebuddy): classify daily check-in replay by business code and message (3f5495d3)
  • fix(channel): persist CodeBuddy check-in audit logs (b19a1b76)
  • fix: parse Codex 6004 usage reset cooldown (35f3c557)
  • feat(proxy): prefer native Codex for official Responses clients (63c2c295)
  • fix(web): resample active channel usage on every list load (48a9bd24)
  • fix(cursor): open Dashboard for User API Keys and reject CLI sessions (cb8645af)
  • fix(proxy): inject anyrouter Claude Code fallback tools (06467c7d)
  • fix(quota): preserve Codex active limit identity (b680835b)
  • fix(web): allow Cursor empty credential submit (601d0e80)
  • fix(ws): stop inheriting previous instructions (7fdc2f9d)
  • fix(cursor): start a new SDK turn when tool session is gone (0092d71b)
  • fix(cursor): classify tool turns and normalize SDK model ids (6c11b1ee)
  • fix(ws): strip synthesized Codex OAuth instructions (d18a18e9)
  • fix(proxy): prevent partial non-stream failover responses (646b6aa0)
  • fix(web): derive cache metrics from data, not protocol or model name (b553605c)
  • fix(codex): treat keepalive as heartbeat, not semantic output (675a90b7)
  • feat(pricing): support custom model pricing (273ca86c)
  • fix(pricing): preserve tier semantics and explicit zero high input prices (db72bcca)
  • fix(cursor): serialize tool result classification and submission (1a85573b)
  • fix(antigravity): restore Gemini quota cooldown and account fallback (f9bce13b)
  • fix(codebuddy): match official CLI chat fingerprint and JWT iss host (fa0df7e9)
  • fix(models): remove unavailable GPT-5.4 models from presets (fac3d4d4)
  • fix(models): remove Codex Spark from model catalog (75215ee3)
  • test: remove low-value and redundant assertions (5444bad7)
  • fix(antigravity): restore signatures and support Responses web search (b345a6d1)
  • chore(protocol): sync CLIProxyAPI core and adapters to fork/v8.90.0 (bf2ead33)
  • fix(web): show API key notes and multipliers in model tests (ca47ff68)
  • fix(anthropic): strip empty text blocks on native Claude Code passthrough (26153644)
  • refactor(anthropic): fold empty-text strip into one Messages exit (b43f34fc)
  • fix(failover): treat 413 like 400 so matching-model channels keep trying (0cda43a9)
  • fix(failover): preserve websocket message-too-big close semantics (fdf19dee)
  • test: remove low-value tests and consolidate contract coverage (e3253965)
  • docs(www): update provider and pricing documentation (f5eae617)
  • fix: reconcile OAuth quota costs and preserve tool history during retries (91be8476)
  • fix(proxy): make operator abort respect downstream commit state (30033e20)
  • fix(codex): update quota display when window duration changes (65fdad19)
  • feat(channels): support per-key routing priorities (cd02bfdb)
  • feat(channels): unify key selection around priorities (4d471ea8)
  • feat(channels): add priority sorting dialog and improve editor layout (108e9668)
  • fix(proxy): persist antigravity quota cooldown before URL fallback exit (3bbfe35b)
  • fix(web): remove backdrop blur from channel editor modal (#160) (269c4820)
  • fix(cursor): upgrade pinned bridge automatically and refresh dependencies (641d3c64)
  • fix(web): align editor model cooldown time formatting (8ede28de)
  • fix: reset plan-change quota state and unify cooldown recovery times (807a7efa)
  • fix(proxy): preserve body rules across retries (0ed9823f)
  • feat(web): support multiple channel test contents (bf3d6f71)
  • refactor(app): simplify proxy hot paths and tests (94c9a9b7)
  • fix(codex): isolate reserve quota usage and cost (854806bb)
  • feat: 增加API Token登录开关及渠道显示控制的设置项 (ba3d6565)
  • fix(web): align stats totals when channels are hidden (2dc4cc6b)
  • fix(codex): bind quota costs to identity epochs (41c7ec8e)
  • fix(codex): preserve quota epochs across lagging poll claims (ec8fb1fe)
  • docs: sync README settings contract with runtime state (046be046)
  • fix(antigravity): cap output tokens to target model limit (1c31ff19)
  • fix(antigravity): 按实际上游模型裁剪输出上限并忽略大小写 (0c30dd38)
  • fix(ws): stop processing SSE events after sending close 1009 for message-too-big (7dfa6d12)
  • feat(codex): 将购买额度标准成本从周期窗口中拆出独立累计 (f653bc5c)
  • fix(codebuddy): route international edition through WorkBuddy (#164) (2a6f7365)
  • fix(codebuddy): align WorkBuddy catalog fingerprint (81aac092)
  • feat(pricing): 支持按渠道设置模型价格 (#163) (37df1301)
  • fix(pricing): bill Cursor channel tests with channel prices (36419398)
  • feat: add Grok 4.7 and optimize batch model addition (f85e5057)
  • perf: batch delete models across channels (7d6990f4)
  • fix(proxy): 修复 OpenCode namespace 兼容和 Codex Credit 计费归属 (04a9cb87)
  • fix(proxy): 批量恢复缺失的 Responses reasoning 历史项 (74d7c811)
  • fix(admin): allow chat with disabled configured models (447467c1)
  • feat: add TypeSafe error analysis and unify runtime settings (d9c460c2)
  • feat(models): update Codex version and model pricing (da9c7064)
  • fix(anthropic): bump forged Claude Code pin to 2.1.280 (bcbb8795)
  • test(anthropic): use current CLI pin in native anyrouter fixtures (d71c0e8b)
  • feat(models): serve Codex model manifest from local catalog (6e35b6cb)
  • fix(models): filter Codex catalog by Responses capability (93ce1cf1)
  • fix(models): 获取模型列表时使用渠道代理 (d79f6931)
  • feat(models): support routed model variants and per-key targets (6c6c52d4)
  • fix(models): probe cooling keys during replace refresh (bfc0c724)
  • fix(cooldown): recognize INFERENCE_CAP_ERROR and parse "Try again in 2h 18m" (2dacaa5f)
  • fix(jev): treat compound durations as a single reset candidate (9c63e753)
  • fix(models): align key scopes in routing and checks (1ac64f36)
  • fix: 探测失败保留 Key 范围,推断上限只冷却当前模型 (7d1cb2b4)
  • fix: keep all models when an unrestricted key probe fails (111e9131)
  • fix: preserve key scopes during model refresh (4379053e)
  • fix(models): reject conflicting mappings after failed key probes (7f433ac8)
  • fix(models): preserve effective routes after failed probes (f0b1a724)
  • fix: preserve key model scopes and mixed cooldown fallback (f9917eca)
  • fix(models): remove wildcard routing and harden key model scopes (2592b760)
  • feat(anthropic): align Claude Code wire and count_tokens with sub2api (d74eb184)
  • chore(protocol): sync CLIProxyAPI core and adapters to fork/v8.97.0 (b2fd26a6)
  • fix(anthropic): harden Claude Code gateway cooldown, stream and routing (30eba854)
  • test: isolate tests and self-tests from host proxy and temp dir (79ee00f0)
  • fix(anthropic): isolate account pools and credential failures (32170ea9)
  • fix(oauth): isolate HTTP pools by account and proxy (cb482969)
  • feat(channels): show token speed in timing column (bfbbdc75)
  • feat(anthropic): align OAuth wire with sub2api/CPA sanitizing and tool aliases (40725a94)
  • feat(sync): automate core manifest refresh and streamline audits (d37d5d6a)
  • feat: 模型id一对多时优化前端页面支持模型显示方式 (e8a7fa4e)
  • feat(codex): align OAuth wire with the official client (63db0e41)
  • feat(channels): sort request models in editor (f8249f24)
  • feat(codex): pin sessions to one account and scope turn-state (924c2dd9)
  • fix(codex): harden turn-state metadata tagging (d461be15)
  • fix(anthropic): preserve cache controls and align mimic wire (0f39f835)
  • fix(anthropic): keep custom system content when dropping CC banner blocks (6adf6962)
  • fix(anthropic): align mimic wire with Claude Code 2.1.283 capture (182a4382)
  • feat: 日志界面增加实际调用模型的显式显示 (cdac6089)
  • feat: API token登陆时增加是否显示重定向模型的设置选项,与是否显示渠道名合并成一个选项 (33ad4992)
  • fix(codex): repair malformed SSE with blank lines between event and data (563c8e0c)
  • fix(proxy): scope protocol capability cache by model and channel (05d5a2b1)
  • fix(jev): only analyze errors unresolved by local rules (bc68d85d)
  • feat(oauthcost): add ledger cost view and rollback evidence (41111b86)
  • feat(storage): record OAuth quota cost in a durable ledger (01afbb6d)
  • feat(oauthcost): read quota costs from durable ledger (1ee1cec7)
  • feat(storage): migrate legacy OAuth quota costs into ledger baselines (9fb96886)
  • feat(storage): replicate OAuth quota ledger in hybrid mode (90d492ab)
  • docs(billing): document the OAuth quota cost ledger contract (fffb40b2)
  • fix(oauthcost): bound quota window advancement (278985bc)
  • fix(admin): keep learned protocols on protocol-irrelevant channel edits (713dcf0f)
  • perf(oauthcost): move ledger sum out of CAS write transaction and deduplicate window scans (560a821f)
  • fix(logs): 去掉与实际模型文字重复的重定向角标 (1e395c3b)
  • perf(oauthcost): aggregate quota cost views by segment in SQL (f7ad1ad0)
  • chore(protocol): sync CLIProxyAPI core and adapters to fork/v9.0.0 (b1d4626b)
  • feat(anthropic): query native quota reset credits on demand (7e5c84ed)
  • feat(models): add gpt-6.1-sol and claude-sonnet-5-5, bump codex client to 0.159.2 (280b28f0)
  • fix(admin): keep protocol capabilities when saving OAuth channels (268d7fa0)
  • feat(oauth): add Claude quota redemption and account-bound Codex model capabilities (838a0f86)
  • fix(proxy): use Claude uTLS for Anthropic web origins (5e56f533)
  • ci: bound Go build caches and reuse caches across release builds (fef951df)
  • test: simplify and parallelize batch model refresh tests (46fe88c1)
  • test: isolate fixtures and parallelize independent app tests (d955180b)
  • ci: avoid restoring stale Go module cache versions (afcbfa47)
  • ci: record backend test events and summarize slow tests (429d13ed)
  • ci: keep lint cache in GOCACHE and verify web assets in a separate job (75027c26)
  • perf: seed default settings with a single multi-row insert (0624041c)
  • test: use in-memory fixtures, parallelize app tests and prune low-value cases (3e7fe75b)
  • fix(xai): align tool and reasoning protocols and refresh client version (746b5148)
  • fix(anthropic): include reset credits in quota refresh (4b377519)
  • test: remove low-value and redundant test coverage (a18860ad)
  • fix(protocol): sync CLIProxy core and harden apply_patch streaming (036efaad)
  • docs: rebuild intro site with promo video and split README into docs/guide (8b842f53)
  • fix(usage): preserve cache TTL breakdown for repeated aggregate snapshots (84037604)
  • fix(channels): allow Anthropic quota reset with remaining credits (6032e162)
  • feat(homebrew): add installation and stable release integration (6950a0fa)
  • fix(antigravity): cool model instead of channel on 404 NOT_FOUND (0165aa32)
  • feat(web): sort model-test tables by name and dynamic priority, align plan badge colors and auth type order (d907bb21)
  • feat(www): pre-render bilingual static site for SEO and clarify positioning (e54a629a)
  • feat(www): submit pages to IndexNow on release (29302577)
  • feat(anthropic)!: remove SessionKey authorization and align OAuth scopes (0c9dd14c)
  • feat(www): replace emoji icons with build-time SVG and refresh visual design (ac9a9b11)
  • feat(www): redesign homepage with split hero, bento, feature catalog and CTA (a96d0d19)
  • docs(readme): rewrite intro and quick start for first-time users (ae921f9c)
  • docs(claude): move upstream checkout and JSON duplicate-key rules into CLAUDE.md (14973e02)
  • fix(anthropic): omit invalid thinking signatures on official replay (aeca6fef)
  • feat(logs): record count_tokens requests under a dedicated log source (139807d3)
  • test(anthropic): use a Claude-shaped signature in native finalize cache_control test (4046decb)
  • fix(anthropic): only cloak thinking carriers identified as another provider (c8467d69)
  • feat(anthropic): record history thinking omission in the request log (8b75d1c8)
  • test(count_tokens): assert upstream failure debug log keeps the official response (27d435ff)
  • fix(antigravity): surface in-stream error frames and join multi-line payloads (e325ceb1)
  • chore(protocol): sync CLIProxyAPI core and adapters to fork/v10.3.0 (b8114345)
  • fix(anthropic): omit Antigravity CAQS thinking on official Anthropic (157bdd45)
  • fix(proxy): scope stream terminator synthesis and official Anthropic thinking checks (e94e1ef6)
  • feat(web): redesign channel list and editor drawer (b6267988)
  • feat(web): refresh topbar and remove nav flicker on page switch (2c658d7c)
  • feat(web): rich channel menus, provider icons and OAuth credential restyle (ad56e197)
  • feat(web): width-fitted model chips and compact mobile channel cards (612675cd)
  • feat(channels): server-side header sorting and unified quota rows (bc5adfaa)
  • feat(web): overview dashboard with usage tables and quota hint for API channels (6c1ff138)
  • refactor: trim stats payloads and remove unused endpoints and dead code (67c6d964)
  • refactor(web): remove redundant overview status badge (d995214c)
  • docs: refresh README dashboard and logs screenshots (6b92430f)
  • fix(web): stop filter dropdowns truncating labels (f0119e70)
  • refactor(settings): hide image-managed update settings in containers (c7763ffa)
  • feat(proxy): support specifying channel via x-ccload-channel-id and x-ccload-channel headers (#176) (d3d4c37f)
  • refactor(proxy): simplify requested channel header filter (9de193c5)
  • feat(metrics): expose rate_limited count in dashboard metrics (713f1dec)
  • fix(web): polish admin UI consistency and interaction (1e365ee0)
  • fix(web): reduce layout shift and refine dashboard/select UI (6e47634c)
  • fix(oauth): follow ledger-confirmed early Codex quota resets (e837db53)
  • fix(web): show log cost column with 3 decimal places (3c57fcf2)
  • fix: correct channel probes, Anthropic test requests and editor layout (f187a17f)
  • fix(web): remove redundant details from settings save confirmation (cd615005)
  • style(logs): simplify pending request status appearance (2c783933)
  • fix(antigravity): route search-only requests to googleSearch and drop 3.5 models (0066552e)
  • refactor: consolidate shared channel and log logic (95119e12)

Full Changelog: v4.10.2...v4.11.0

Don't miss a new ccLoad release

NewReleases is sending notifications on new releases.