Skip to content

Release v4.7.0

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Aug 06:21
· 1 commit to master since this release

What's Changed

  • fix(channels): restore exact URL checkbox state (b8f6ffc7)
  • fix(release): generate notes from git history (fc73c424)
  • fix(update): unify release checks and avoid GitHub API (4327f142)
  • docs(update): sync release check documentation (83d81a55)
  • chore: rename release skill to ccload-release (a932d3c9)
  • feat(release): auto-commit and push release revisions (8cd2d88a)
  • fix(release): keep Beta versions on stable minor (addde3d0)
  • perf(ci): parallelize release verification and builds (1274f8c7)
  • fix(storage): batch debug log cleanup (23bcc2bf)
  • feat(codex): add OAuth channel support (1c96c433)
  • feat(codex): show OAuth plan metadata (ee5e87af)
  • feat(codex): refresh and inspect OAuth credentials (b0f74570)
  • fix(channels): show only Codex plan in list (7a4e9dea)
  • feat(codex): import credentials in batches (89fb37e1)
  • feat(codex): show channel quota usage (e9768b0b)
  • feat(channels): refine Codex management filters (6be68930)
  • fix: align channel editor and remove 88code remnants (fd4b00b1)
  • fix(storage): make Codex credential schema MySQL-compatible (65358d8c)
  • fix(storage): restore nullable Codex credentials (f35bdfde)
  • feat(channels): add Antigravity OAuth support (2d07946b)
  • fix(storage): repair legacy PostgreSQL migration fixture (1288afab)
  • fix(proxy): return context overflow as client error (5f8e3eb6)
  • feat(oauth): auto-detect imported credentials (e3a31007)
  • fix(protocol): normalize Gemini thinking levels (f6130b75)
  • feat(oauth): add Antigravity quota refresh (fb49b7c7)
  • fix(oauth): assign import priorities by filename (9ca9a04a)
  • feat(oauth): improve Antigravity credential handling (d0b9ed35)
  • fix(protocol): normalize Codex chat responses (3cc0c9d2)
  • fix(codex): align upstream headers with CLIProxyAPI (6950462e)
  • fix(release): support manual tag dispatch (b82669ff)
  • fix(antigravity): refresh expired credentials before import (58309bce)
  • fix(models): correct OAuth model discovery (3ff2d078)
  • feat(channels): expand batch management and OAuth imports (3c6c67b9)
  • fix(logs): reduce debug cleanup lock contention (98581f60)
  • fix(logs): preserve disabled debug log truncation (72b6ae9d)
  • fix(channels): allow model discovery with cooling keys (5b4b6a17)
  • feat(oauth): add archive imports and live progress (ee3b34d9)
  • fix(update): retry release asset propagation failures (c9bc4bb4)
  • feat(channels): add manual page size and batch quota refresh (6328f7d7)
  • perf(selector): reduce large channel routing allocations (c0d93b30)
  • fix(proxy): classify interrupted streams as 599 (9364cede)
  • fix(proxy): preserve 499 and 598 stream error semantics (38e01749)
  • refactor(selector): tighten slice ownership in routing hot path (1bf84c8a)
  • feat(release): publish beta container images (07d13053)
  • fix(update): manage container updates by image tags (3b5aa9d2)
  • fix(channels): distinguish paid plans and retry EOL models (bba3147c)
  • docs: document model retirement cooldown (0d40c8b7)
  • fix(cooldown): honor upstream quota reset time (010a1e4d)
  • fix(startup): load critical state before maintenance (b435c2e3)
  • ci(release): gate tags on master verification (d3a72b90)
  • feat(xai): add OAuth channel support (9e465b48)
  • fix(app): handle interrupted responses and large OAuth imports (c2fa8f9a)
  • feat(xai): complete OAuth channel integration (048097c3)
  • fix(xai): generate OAuth links locally (53036dc8)
  • fix(oauth): make credential imports resilient (8f2ff18b)
  • feat(app): use uTLS for Codex HTTP traffic (185fa5fd)
  • fix(xai): stabilize OAuth channel behavior (729d4472)
  • fix(storage): migrate auth token restrictions to text (c8c14d43)
  • fix(channels): support filtered OAuth CSV transfers (71071fd6)
  • feat(oauth): add global upstream URL overrides (a2bfdabc)
  • fix(xai): preserve encrypted reasoning and cache reuse (92650c1f)
  • fix(channels): allow OAuth model imports (a71f5aba)
  • fix(proxy): align OAuth fallback and search tools (7885bee2)
  • fix(xai): honor free usage cooldown (2cfc32f6)
  • fix(web): correct clipboard and selection feedback (d7d3ff62)
  • feat(websocket): expose resource limit details (077bf99c)
  • fix(settings): unify validation and reset behavior (807232df)
  • fix(xai): align SSO imports and CLI requests (5ee3ac24)
  • fix(antigravity): align SSO request handling (406aceb9)
  • fix(codex): align model instructions and reasoning include (777018f6)
  • fix(proxy): classify interrupted upstream streams as 599 (3fbcf9e2)
  • feat(anthropic): add OAuth channel support (288819b0)
  • feat(anthropic): align OAuth usage and Claude requests (6b7e0898)
  • refactor(storage): make hybrid mode SQLite-first (c519492a)
  • fix(web): align advanced settings theme and layout (61c9e70d)
  • fix(codex): cool websocket targets after consecutive failures (eb6c1c06)
  • test: prune low-value test cases (6828f7e0)
  • feat(codex): persist passive quota from responses (681e8554)
  • feat: improve Antigravity retries and channel batch limits (706baea6)
  • feat(web): add request title alerts and test quota capture (cfc30bc8)
  • feat(codex): persist quotas from rate limit events (952211b5)
  • refactor: remove model fingerprint feature (81de41d4)
  • fix(storage): import hybrid log tail on startup (4e6c1d13)
  • style(web): 紧凑渠道批量高级选项布局 (fb12382c)
  • fix(codex): 修复 HTTP 回退与输入项 ID 契约 (ece821ff)
  • fix(oauth): persist quota snapshots and expose refresh errors (414d89a6)
  • feat(channels): add Anthropic base URL and batch priority (2287f278)
  • feat: align native Anthropic upstream handling (e037614c)
  • feat: sync CLIProxy core and Antigravity adapters (36a3080b)
  • refactor: remove dead code and low-value tests (4074157b)
  • fix: normalize Antigravity thinking and log upstream errors (b79a439f)
  • fix(codex): track interrupted replay as websocket failure (4a63e9c7)
  • fix: stabilize Antigravity transport and retry logging (434e6d02)
  • fix(settings): isolate restart callbacks per server (2522daf5)
  • fix(tokens): keep channel restrictions consistent (629ebb49)
  • fix(xai): stop injecting implicit search tools (c8cdc93a)
  • feat(channels): add OAuth credential cleanup (d7c71fb4)
  • fix(oauth): test current access token before refreshing (9b5bdded)
  • fix(antigravity): stabilize sessions and unwrap responses (5097dec0)
  • fix(stream): stop Anthropic streams at message_stop (00b17b5f)
  • fix(sqlite): remove vacuum from delete paths (fb0efddc)
  • feat(channels): improve batch actions, imports, and OAuth cleanup (84fd577a)
  • feat(channels): stream batch OAuth quota refreshes (deb92c1a)
  • fix(antigravity): cool capacity failures before retry (db3b125c)
  • fix(cooldown): honor Antigravity quota model (a17275d4)
  • ci: streamline test and release builds (cc6c22b8)
  • fix: honor Anthropic rate limit reset headers (09edaf95)
  • feat(oauth): import text and aggregate credentials (dc6ec87b)
  • test(app): parallelize slow integration tests (deaeb598)
  • fix(anthropic): surface OAuth upstream errors (bcb8ebfd)
  • test: remove low-value test cases (e8f086a1)
  • fix(web): raise channel priority limit (2a7b5c1d)
  • feat(analytics): add client protocol filters (4ef503f0)
  • fix(release): compare beta notes with previous beta (4a3db94f)
  • fix(release): reset beta notes after stable (8ce0d832)
  • sync cliproxy core to fork/v8.65.0 (baf7d1f6)
  • fix: align OAuth runtime compatibility (de763cd8)
  • fix: identify Codex OAuth users correctly (cd23ba4f)
  • fix(web): use available advanced settings width (7b6ae5a6)
  • feat(channels): support proxy and availability windows (1bce74c3)
  • feat(codex): enable multi-agent v2 optimization by default (2ca04d59)
  • fix: simplify Antigravity OAuth URL persistence (b74c65f1)
  • feat(model-test): add channel key selection to model tests (1330ae72)
  • fix(model-test): show OAuth credentials in key selector (b8f08bea)
  • feat(providers): refine xAI and Antigravity routing (42c7d80e)
  • feat(runtime): show comprehensive process and HTTP metrics (34f4ee51)
  • feat(runtime): add process resource metrics with auto-refresh (256b5da8)
  • test: prune low-value and redundant test cases (f5aa3380)
  • docs: restructure CLAUDE.md and sync recent mechanisms (5aac4ffc)
  • ci(release): promote beta image alias to newest stable (bc3f58a3)
  • docs(readme): document OAuth channels, time windows, and per-channel proxy (ce94f416)
  • feat(channels): export selected channels to CSV from batch menu (2e942bb8)
  • fix(routing): remove direct TCP pre-probing (94d26ee2)
  • fix(web): preserve custom token expiry timezone (bb274bb6)
  • docs: add OpenAI-compatible upstream channel example (628845b2)
  • fix(web): keep unchanged token expiry exact (51a56a33)
  • docs: fix OpenAI-compatible channel example (de8b4e44)
  • fix(csv): preserve channel websockets on round trip (b7d801a9)
  • fix(proxy): isolate upstream sessions by thread (04ea621c)
  • feat(antigravity): add Gemini 3.7 and dynamic Hub user agent (f77a7b7e)
  • fix(antigravity): unify URL retries across proxy and admin (1e4b9c7d)
  • fix(antigravity): remove production endpoint from fallback (a245518b)
  • fix(settings): reject duplicated OAuth URL schemes (ea977d36)
  • feat(codex): add quota overage replay and usage tracking (708bc3cc)
  • feat(codex): optionally retry final upstream 429s (04da6433)
  • feat(cliproxy): sync translator core to fork v8.67.0 (535858b5)
  • feat(codex): support response path aliases (93a997d5)
  • feat(cliproxy): sync translator core to fork v8.68.0 (4dfa341e)
  • feat(codex): update client identity and forward turn state (3410d117)
  • feat(model-test): add image generation tab (b4b7c3f7)
  • fix(model-test): persist image prompt in browser (fcb88789)
  • feat(codex): add personal access token authorization (414510e8)
  • feat(oauth): disable channels with permanently rejected credentials (05ceacb4)
  • feat(codex): add quota reset credits and manual reset (b67ac307)
  • feat(oauth): track weekly and monthly standard costs (48814758)
  • fix(oauth): track quota cost per upstream window slot (7815e182)
  • fix(oauth): bootstrap quota cost windows from persisted usage snapshot (57698dfd)
  • fix: end stalled websocket turns and keep oauth quota costs across reset jitter (c089ba0d)
  • feat(zai): add Z.ai Coding Plan (ZCode) OAuth channels (f98f978a)
  • fix(web): show greyscale rollout hint when Z.ai OAuth is unavailable (c09fab8b)
  • feat(zai): discover the Coding Plan model catalog live (eef6609a)
  • feat(zai): fall back to the models.dev Coding Plan catalog (40612faf)
  • test(storage): wait for the sync queue to drain before asserting it is empty (5b9229d2)
  • feat(zai): report Coding Plan quota on the channel card (74b05f67)
  • feat(settings): make the downstream read timeout configurable (522ef030)
  • feat(cliproxy): sync translator core to fork v8.69.0 (8219642e)
  • feat(anthropic): apply the Claude Code CLI fingerprint to every /v1/messages channel (46108508)
  • fix(header): Antigravity 渠道自定义 header 规则不再被凭证重建吞掉 (aa661acb)
  • fix(admin-test): Z.ai Coding Plan 渠道测试补齐 body 指纹与 header 注入 (ad06b013)
  • fix(anthropic): preserve exact beta header tokens (9b6439e6)
  • fix(sse): Responses 元数据事件不再提前 commit 流 (91c9f4cb)
  • feat(auth): add daily and monthly token cost limits (580ec9bf)
  • fix(responses): recover upstream input and SSE errors (7f5bb432)
  • docs: update recent settings and Z.ai labels (f822652b)
  • chore(deps): upgrade project dependencies (a09ea277)
  • chore(codex): 将官方客户端指纹升级到 0.148.0 (52b0e6e4)
  • fix(sse): Responses 元数据计入上游首字节但不提交客户端流 (4909ccd2)
  • feat(model-test): 按模型测试开关改为停用单模型并区分渠道禁用 (83d6271d)

Full Changelog: v4.6.0...v4.7.0