Files
ccs/CHANGELOG.md
T
semantic-release-bot c21f589247 chore(release): 8.1.0 [skip ci]
## [8.1.0](https://github.com/kaitranntt/ccs/compare/v8.0.0...v8.1.0) (2026-05-23)

### Features

* **release:** promote dev to main — security hardening batch ([#1351](https://github.com/kaitranntt/ccs/issues/1351)) ([aed942f](https://github.com/kaitranntt/ccs/commit/aed942f51bc4f2dd1db52302d8cea3185a2bb192)), closes [#1340](https://github.com/kaitranntt/ccs/issues/1340) [#1341](https://github.com/kaitranntt/ccs/issues/1341) [#1342](https://github.com/kaitranntt/ccs/issues/1342) [#1344](https://github.com/kaitranntt/ccs/issues/1344) [#1346](https://github.com/kaitranntt/ccs/issues/1346) [#1347](https://github.com/kaitranntt/ccs/issues/1347) [#1348](https://github.com/kaitranntt/ccs/issues/1348) [#1349](https://github.com/kaitranntt/ccs/issues/1349) [#1350](https://github.com/kaitranntt/ccs/issues/1350) [#1345](https://github.com/kaitranntt/ccs/issues/1345) [#1353](https://github.com/kaitranntt/ccs/issues/1353) [#1340](https://github.com/kaitranntt/ccs/issues/1340) [#1354](https://github.com/kaitranntt/ccs/issues/1354) [#1347](https://github.com/kaitranntt/ccs/issues/1347) [#1352](https://github.com/kaitranntt/ccs/issues/1352)

### Bug Fixes

* **analytics:** harden sqlite3 invocation for native Droid usage scan ([#1347](https://github.com/kaitranntt/ccs/issues/1347)) ([469c9ff](https://github.com/kaitranntt/ccs/commit/469c9ffde44ca7bba8c9e33365d92b9a819cdec7))
* **analytics:** support sqlite3 path resolution on Windows and NixOS ([#1354](https://github.com/kaitranntt/ccs/issues/1354)) ([9a42098](https://github.com/kaitranntt/ccs/commit/9a420988bc1b63a9cab270e331ee6e762726cb1b)), closes [#1347](https://github.com/kaitranntt/ccs/issues/1347)
* **ci:** prevent promote-release tag command injection ([#1350](https://github.com/kaitranntt/ccs/issues/1350)) ([3b94ec8](https://github.com/kaitranntt/ccs/commit/3b94ec853d090317211a33abb5cf4f56542ef664))
* **cliproxy:** disable spoofable default bg keepalive probe ([#1340](https://github.com/kaitranntt/ccs/issues/1340)) ([f0ec820](https://github.com/kaitranntt/ccs/commit/f0ec82005446d51434816e5d64b74e3d0c0ea602))
* **cliproxy:** sanitize local port before config regeneration ([#1342](https://github.com/kaitranntt/ccs/issues/1342)) ([af7aa0c](https://github.com/kaitranntt/ccs/commit/af7aa0c2dda834237a3aa79661cd62d096c32876))
* **codex-auth:** stop spawning powershell in shell detection ([#1348](https://github.com/kaitranntt/ccs/issues/1348)) ([825efb8](https://github.com/kaitranntt/ccs/commit/825efb8b109e88c4f778259176cf2485406eb8ed))
* **codex-quota:** guard feature label type in quota windows ([#1346](https://github.com/kaitranntt/ccs/issues/1346)) ([b71fe5d](https://github.com/kaitranntt/ccs/commit/b71fe5dd6ec975ac13ea1f33bd00d51df8ac80dc))
* **dispatcher:** also treat -p as non-subcommand short for --print ([#1352](https://github.com/kaitranntt/ccs/issues/1352)) ([8335f0c](https://github.com/kaitranntt/ccs/commit/8335f0c73cb2ade7f2bdd5d92ab6b0df1bc14e7a))
* **dispatcher:** treat --print as non-subcommand Claude session ([#1341](https://github.com/kaitranntt/ccs/issues/1341)) ([fd561b5](https://github.com/kaitranntt/ccs/commit/fd561b59bc4b1bd46419848a1babc388d31d5321))
* **models-dev:** sanitize models.dev registry entries and harden pricing resolver ([#1345](https://github.com/kaitranntt/ccs/issues/1345)) ([9cd9b79](https://github.com/kaitranntt/ccs/commit/9cd9b796caa953e146077d8402971db7a63a2c8f))
* **pricing:** guard malformed models.dev model entries ([#1344](https://github.com/kaitranntt/ccs/issues/1344)) ([66966f3](https://github.com/kaitranntt/ccs/commit/66966f35276556551db52f38af46b5a5f8634c03))
* **ui-docs:** remove third-party runtime assets from health report ([#1349](https://github.com/kaitranntt/ccs/issues/1349)) ([58df999](https://github.com/kaitranntt/ccs/commit/58df9999db44727695cbc0631f646623eb7e7fb5))

### Code Refactoring

* **cliproxy:** remove orphaned bg keepalive wiring ([#1353](https://github.com/kaitranntt/ccs/issues/1353)) ([5d27f10](https://github.com/kaitranntt/ccs/commit/5d27f10367f2e869079c6850e8b24aa2b98242f1)), closes [#1340](https://github.com/kaitranntt/ccs/issues/1340)
2026-05-23 21:46:07 +00:00

438 KiB
Raw Blame History

8.1.0 (2026-05-23)

Features

Bug Fixes

  • analytics: harden sqlite3 invocation for native Droid usage scan (#1347) (469c9ff)
  • analytics: support sqlite3 path resolution on Windows and NixOS (#1354) (9a42098), closes #1347
  • ci: prevent promote-release tag command injection (#1350) (3b94ec8)
  • cliproxy: disable spoofable default bg keepalive probe (#1340) (f0ec820)
  • cliproxy: sanitize local port before config regeneration (#1342) (af7aa0c)
  • codex-auth: stop spawning powershell in shell detection (#1348) (825efb8)
  • codex-quota: guard feature label type in quota windows (#1346) (b71fe5d)
  • dispatcher: also treat -p as non-subcommand short for --print (#1352) (8335f0c)
  • dispatcher: treat --print as non-subcommand Claude session (#1341) (fd561b5)
  • models-dev: sanitize models.dev registry entries and harden pricing resolver (#1345) (9cd9b79)
  • pricing: guard malformed models.dev model entries (#1344) (66966f3)
  • ui-docs: remove third-party runtime assets from health report (#1349) (58df999)

Code Refactoring

8.0.0 (2026-05-23)

⚠ BREAKING CHANGES

  • release: decouple npm @latest from Docker rc.1 soak (REV11) (#1277)

Features

  • add OAuth paste-callback traceability (1af6625)
  • ci: sunset legacy dashboard image publishing (9f6e64f)
  • codex-auth: add ccsx auth CLI subcommands (create/login/switch/use/show/remove) (bf92645)
  • codex-auth: add dashboard Auth Profiles tab + GET /api/codex/profiles (e99c461)
  • codex-auth: add import-default migration + integration tests + docs (631c799)
  • codex-auth: add profile registry + storage foundation (358b703)
  • codex-auth: wire ccsx bin router + ccsxp scope notice (8c604a0)
  • dashboard: add Korean language support (8ad7653), closes #1206 #1241
  • docker: canonical compose.yaml + smoke-test (P2 of #1251) (#1258) (fbaac6a)
  • docker: publish ccs:latest + ccs:full integrated images (P1 of #1251) (#1257) (d558cd2)
  • docker: zero-install Docker UX — ccs:latest, ccs:full, canonical compose, ccs-net contract (#1251) (#1261) (9aa854b)
  • filter analytics by profile (f1d655e)
  • report permission mode persist receipt status (3dc1810)
  • share stale Codex translator path scanner (46d73ae)
  • support minimal codex effort aliases (6569eed)

Bug Fixes

  • address reviewer findings round 2 (#1261 loop 2) (#1272) (adf5a83)
  • address upstream reviewer findings + failing CI checks (#1261 loop 1) (#1271) (7800474), closes #1260
  • browser: block sensitive header intercept matchers (a864864), closes #1294
  • browser: gate response fulfillment opt-in (538b644), closes #1295
  • browser: redact observed event URLs (9a2a1dd), closes #1296
  • browser: stop recorder leaking sensitive input (8051f16), closes #1293
  • ci: reviewer loop 6 — REV12 compose image parsing, REV13 fork bypass, REV14 :full audit (#1278) (e7ce699)
  • ci: smoke-test failure check + relax service-key guard (REV9, REV10) (#1276) (1f736b2)
  • cliproxy: bound Claude quota error-body reads and preserve timeout (2f50fe3), closes #1300
  • cliproxy: cap oauth log parsing size in stats fallback (b7ba3c7), closes #1292
  • cliproxy: harden oauth trace snippet redaction (29eebff)
  • cliproxy: redact AI provider header secrets (#1268) (ece43fc)
  • cliproxy: redact token-like oauth trace snippets (a526eb4)
  • codex-auth: address persistent review focus (e461c7a)
  • codex-auth: address review focus areas (211e51b)
  • codex-auth: close local review gaps (8552101)
  • codex-auth: close remaining review gaps (5c79df4)
  • codex-auth: fail closed on registry corruption (2cd2d43)
  • codex-auth: fail fast on missing active profile (08fe63c)
  • codex-auth: harden profile review findings (a3fe2c6)
  • codex-auth: harden registry fail-closed paths (81c4acc)
  • codex-auth: reject stray profile args (c90b3cb)
  • codex-auth: remove unused React import causing UI build failure (4e7d648)
  • codex-auth: surface registry corruption (54738e8)
  • codex: normalize native cliproxy tuning aliases (#1254) (609bed0)
  • codex: pass ccsx resume through to native codex (5a54c1b), closes #1287
  • codex: pass native ccsx subcommands through (#1290) (8a37578)
  • codex: preserve custom ccsxp cliproxy base URLs (d68ee37), closes #1281
  • dispatcher: preserve --permission-mode for claude agents subcommand (ef4b746)
  • docker: apply red-team findings — drop :full, rc.1 soak, healthcheck, signing (#1251) (#1262) (107b5b5)
  • docker: harden integrated service exposure (857dac8), closes #1291
  • ensure dashboard cliproxy restart waits for recovery (fc5851e)
  • logging: redact CLI argv in lifecycle start logs (100308a), closes #1297
  • mask Docker key rotation banner (bbcf9e8)
  • normalize ccsxp codex model flag aliases (6bc04de)
  • pause exhausted CLIProxy rotation accounts (923bfee), closes #1337
  • persist: block codex claude settings bridge (3b20164)
  • persist: print recovery receipt after settings write (#1302) (67fe6d9)
  • preserve Docker legacy API key during rotation (30971eb)
  • prevent Docker dashboard from orphaning CLIProxy (acf9fd6)
  • proxy: require owned daemon PID before reusing legacy/profile proxy session (fa31bea), closes #1298
  • proxy: scope insecure TLS to routed profile (2447813), closes #1299
  • redact Codex diagnostics metadata (e2f2c7d)
  • release: decouple npm @latest from Docker rc.1 soak (REV11) (#1277) (4e9c14b)
  • repair ccsx codex profile resources (37a1452)
  • resolve ccsx auth profiles before CCS profiles (f667628)
  • security: reject 127-prefixed websocket origins (#1263) (14cbe8f)
  • security: require localhost for Claude extension /setup when dashboard auth is disabled (#1270) (db175b6)
  • tighten parity check + catch service-key rename (#1261 loop 3) (#1274) (a4e16e0)
  • treat remote-control as a Claude subcommand (db4b938)
  • ui: handle TOML triple-quotes in arrays and AST-aware JSON keys (15a1faf), closes #1248
  • ui: honor TOML quoted keys and escaped quotes in sensitive masking (bac51ce)
  • ui: make codex config.toml viewer selectable (420494e), closes #1247
  • ui: mask multi-line sensitive values in CodeEditor (eefb762)
  • ui: skip TOML comments when scanning sensitive array values (a633ee0), closes #1248
  • websearch: avoid shell for legacy CLI fallbacks (#1267) (2115742)

Documentation

  • ci: clarify rc.1 soak and :full removal as intentional design (#1261) (#1279) (d2f7d3f)
  • docker: document ccs-net contract for sibling containers (#1259) (28f08cb)
  • docker: P3 — hoist two-command quickstart, restructure docker/README, add parity CI (#1260) (b50c2db)
  • sync agent guide with AGENTS (b123d41)

Code Refactoring

  • docker: drop Bun from runtime stage; generate npm lockfile in build stage (#1256) (775f438)

Performance Improvements

  • ui: tighten sensitive-mask decoration scope and reveal selector (f404e52), closes #1248

Tests

  • avoid fixed image analyzer e2e port (c81ea20)
  • cover agents permission-mode passthrough (e0f43b8)

[Unreleased]

Added

  • docker: Stable Docker network contract — external network ccs-net with service DNS ccs resolving to the CCS container. CLIProxy reachable at http://ccs:8317; dashboard at http://ccs:3000. Sibling containers can attach via --network ccs-net or by declaring ccs-net as an external network in their own compose file. Changing the network name or service name is a SemVer-major breaking change. See docker/README.md for usage patterns and troubleshooting. Verified by tests/docker/network-contract.sh.
  • docker/ci: Published images are signed with cosign (keyless OIDC) and include a provenance attestation and SBOM. Verification command documented in docker/README.md.
  • release: Every merge to main now auto-cuts a vX.Y.Z-rc.N pre-release. A manual promote-release workflow promotes the rc to stable after the soak period. See docs/release-process.md.

Removed

  • docker: Dropped Docker image variant ccs:full. AI CLIs (claude-code, gemini-cli, grok-cli, opencode) are no longer bundled. Use sibling containers attached to ccs-net instead — see docker/README.md#connect-your-app-to-cliproxy. Rationale: smaller surface area, fewer supply-chain dependencies, simpler tag taxonomy. The :latest image now covers the only published integrated variant.

Deprecated

  • docker: ghcr.io/kaitranntt/ccs-dashboard:latest Docker image is deprecated — migrate to ghcr.io/kaitranntt/ccs:latest (CCS + CLIProxy). The legacy image continues publishing for 2 more releases and emits a startup warning. See #1251.

Bug Fixes

  • codex: Pass native ccsx Codex subcommands such as exec, apply, mcp, plugin, completion, and resume plus upstream aliases such as e and a through before CCS profile detection while keeping CCS-owned commands reserved.

7.79.1 (2026-05-14)

Hotfixes

  • codex: tolerate BOM in Codex TOML config (5b664d2)

7.79.0 (2026-05-14)

Features

  • dispatcher: pass through Claude subcommands without interactive-session args (c2b00b7)

Bug Fixes

  • ci: run pull request validation on hosted runners (e7174d6)
  • clarify CLIProxy setup actions (ac333dd)
  • cliproxy: explain headless Codex OAuth recovery (29da75c), closes #1213
  • codex: require local access for dashboard config routes (bd588a2)
  • codex: self-heal ccsxp cliproxy provider (#1243) (4748c45)
  • config: bind dashboard to loopback by default (d61469e)
  • ignore internal instance directories in health scans (667b1d1), closes #1236
  • proxy: avoid exposing local auth token in daemon argv (#1230) (a840793)
  • proxy: strip stale encoding from upstream error responses (1932b2c)
  • proxy: strip stale encoding from upstream error responses (#1239) (54f1aa7)
  • security: constrain image fallback hook to workspace (#1232) (40300c2)
  • security: protect dashboard WebSocket upgrades (f09cdfc)
  • settings: confine dashboard settings paths (#1231) (349db83)
  • support Claude subcommands and background sessions (35b6210)
  • ui: keep codex toml tokens inline (#1219) (5138741)
  • ui: render codex config as exact text (#1215) (225401c)
  • ui: restore codex config highlighting (#1216) (e177724)
  • ui: wrap codex config highlight editor (#1217) (ba761a0)
  • windows: pin cmd shell for wrapper launches (#1229) (9c5d497)

7.78.1 (2026-05-12)

Bug Fixes

  • ci: harden self-hosted workflow trust boundaries (2273757)

7.78.0 (2026-05-11)

Features

  • auth: add shared resource controls (64e1d1f)
  • clarify account history sync route (#1187) (be9effc)
  • cliproxy: add OAuth callback traceability across profiles (641d492), closes #1206
  • dashboard: add shared resource controls (2a422b3)
  • deprecate GitHub Copilot compatibility surfaces (#1196) (19a50a8)
  • support Codex fast service-tier aliases (74d7374)

Bug Fixes

  • auth: reject resource mode outside resources command (bfe3225)
  • auth: require resource mode value (3b55020)
  • cliproxy/auth: generalize Plus OAuth credential guards for gemini and agy (4ba9df5), closes #1131 #1208
  • cliproxy: diagnose Gemini Plus OAuth credentials (61390e5), closes #1131
  • count CLIProxy OAuth usage in dashboard stats (#1190) (ba18b68)
  • dashboard: show real shared plugin registry state (8b34060)
  • dispatcher: re-inject anthropic auth env for anthropic-compatible api profiles (#1181) (d6b705e), closes #1175
  • preserve native Claude passthrough args (1b53762), closes #1189
  • route Cursor auth through browser polling (8b681df), closes #1194
  • route OpenRouter profiles through v1 API (dc8bbd8)
  • ui: keep profile dialog actions visible on small screens (#1204) (35346a9)
  • ui: surface Claude Opus 4.7 in Claude picker (58af9cd)
  • ui: surface Claude Opus 4.7 in Claude picker (#1184) (b05bb30)
  • ui: surface Plus OAuth credential diagnostics in Add Account dialog (497bca8), closes #1208
  • web-server: gate Gemini/AGY dashboard OAuth on Plus credential availability (31076df), closes #1131 #1208

Code Refactoring

  • web-server: modularize shared-routes and Windows-aware symlink status (a983332)

Tests

  • ci: make routing mock complete and websearch trace path env-robust (9d0690e)

CI

  • ai-review: move PR-Agent jobs to ubuntu-latest (c02c66d)
  • trigger fresh CI run after claw runner recovery (15e0e62)

7.77.1 (2026-05-04)

Bug Fixes

  • harden cursor daemon model fallback (5f05dea)
  • preserve arm64 compatibility for CLIProxy assets (2274cef)
  • preserve CLIProxy platform arch compatibility (9a687fc)
  • use aarch64 for CLIProxy arm assets (190e820)
  • use aarch64 for CLIProxy arm assets (70bf080)

Styles

  • apply prettier formatting (4acc81c)

7.77.0 (2026-05-04)

Features

  • cliproxy: route plus dashboard to maintained fork (#1173) (923683b)
  • support ollama cloud anthropic compatible api (#1175) (4e2def6)

Bug Fixes

  • analytics: cache native Codex usage scans (11b12f1)
  • cliproxy: harden custom local port handling (3862411)
  • cliproxy: refresh upstream model and quota surfaces (#1158) (50b0ffb)
  • cliproxy: respect configured local port instead of hardcoding 8317 (509bd5d)
  • config/loader: break runtime cycle from normalizers to channels-runtime (b6a49ee), closes #1168 #1135

Code Refactoring

  • cliproxy/executor: extract arg-parser from index.ts (19d2495), closes #1162
  • cliproxy/executor: extract auth-coordinator from index.ts (8b7e7f4), closes #1162
  • cliproxy/executor: extract browser-setup and account-resolution (bc48613), closes #1162
  • cliproxy/executor: extract concerns from index.ts (#1166) (f7b8540), closes #1162
  • cliproxy/executor: extract model-warnings + claude-launcher and polish orchestrator (09268e7), closes #1162
  • cliproxy/executor: extract proxy-chain-builder from index.ts (8b39d8a), closes #1162
  • cliproxy/executor: extract proxy-resolver from index.ts (968681f), closes #1162
  • config/loader: extract defaults-merger, config-getters, polish orchestrator (f3e79fd), closes #1164
  • config/loader: extract io-locks, normalizers, yaml-serializer (315ae19), closes #1164
  • config/loader: split unified-config-loader.ts (#1168) (2408987), closes #1164
  • config: adopt config-loader-facade across codebase (#1169) (df8efc9), closes #1161
  • config: adopt config-loader-facade across the codebase (4f6e617), closes #1161
  • dispatcher: extract bootstrap and pre-dispatch handlers from ccs.ts (0cf4ad7), closes #1165
  • dispatcher: extract concerns from ccs.ts (#1167) (33de23c), closes #1165
  • dispatcher: extract per-profile flows from ccs.ts (0910a75), closes #1165
  • dispatcher: extract profile and target detection from ccs.ts (a807de6), closes #1165
  • dispatcher: scaffold src/dispatcher/ and extract pure helpers from ccs.ts (f759cfe), closes #1165
  • merge facade adoption from #1169 into ccs.ts dispatcher (70b5dc2)
  • merge facade adoption from #1169 into executor extraction (05e1c35)
  • structural maintainability batch (#1171) (b4d55d0), closes #1135

7.76.0 (2026-05-01)

Features

  • add native Claude effort override (e5fe86f)
  • auth,commands: instrument oauth handler, profile registry, and doctor pipeline (bf87594), closes #1141 #1138
  • logging: add structured contract, ALS context, stage helpers, and redaction coverage (7a22e89), closes #1141 #1138
  • providers: instrument copilot, cursor, and glmt across daemons and executors (1ff4329), closes #1141 #1138
  • proxy,cli: emit lifecycle stages with x-ccs-request-id propagation (4700727), closes #1141 #1138
  • targets,management: instrument adapter spawn lifecycle and instance manager (8afee34), closes #1141 #1138
  • ui: align logs page visual language with dashboard markers (e04598e), closes #1138 #1141 #1142
  • ui: hide dashboard self-polling internals via default filter (4a77251), closes #1138 #1141 #1142
  • ui: redesign dashboard logs page with virtualized 3-pane shell (ae3240d), closes #1141 #1142 #1138 #1141
  • ui: show split Claude quota bars (a8b686d)

Bug Fixes

  • address red-team review findings — cache aliasing, jitter cap, cause shadowing (9bb1bdb)
  • ci: align release sync with protected dev checks (0381fa9)
  • ci: align stable release runner (4458774)
  • ci: invoke semantic-release through bun x (63a10e0)
  • cliproxy: clear stale cleanup timer and fix session/tunnel edge cases (20c2005)
  • cliproxy: correct relative import paths in colocated tests (273214d)
  • cliproxy: exclude colocated tests from tsconfig and eslint (c3c8cb7)
  • cliproxy: fix base-config-loader __dirname path and stale mock.module paths (31dc186)
  • cliproxy: handle all invalid prefixes and reverse-order collisions (6633bf4)
  • cliproxy: sanitize invalid tool name chars and disambiguate collisions (218d0cf)
  • cliproxy: update remaining stale imports in non-colocated tests (2c817fa)
  • config-facade: mtime-based staleness detection for cache (1e5580a)
  • proxy: avoid leaking tool_result image URLs (83c16e2)
  • proxy: shape direct OpenAI reasoning chat payloads (d9ace60)
  • proxy: stringify tool_result images for OpenAI upstreams (f6bb31c)
  • remove raw write re-exports from facade (cache bypass) (6d266fc), closes #1150
  • round 2 red-team fixes — onRetry safety, validation, barrel (18e865e)
  • round 3 red-team — test false-positive, dead code, (b8ed36e)
  • ui: align logs row and detail panel via shared accessors (d5b14be), closes #1138 #1141 #1142
  • ui: coalesce leaves only when truly adjacent in original stream (871b682), closes #1138 #1151
  • ui: drop dedicated stage column; render stage chip inline in message (7f086c8)
  • ui: import MouseEvent type explicitly in logs-row (6f1396c), closes #1138 #1151
  • ui: improve split quota bar readability (476c6d8)
  • ui: include message in coalesce key so distinct entries stay visible (a465e3f), closes #1138 #1151
  • ui: include source in trace child coalesce key (75cdc02), closes #1138 #1151
  • ui: include stage in leaf coalesce key (e7058b6), closes #1138 #1151
  • ui: make logs row keyboard-accessible without nested interactive markup (b7cfbd1), closes #1138 #1151
  • ui: make trace chevron actually collapse auto-expanded traces (04ddc33), closes #1138 #1151
  • ui: only show "Copied" feedback when clipboard write succeeds (39ec84a), closes #1138 #1151
  • ui: remove intra-trace coalescing — preserve every stage for inspection (2ddc5d5), closes #1138 #1151
  • ui: reserve leading chevron column so trace and leaf rows align (0dfb7b8), closes #1138
  • ui: reserve stage column on every row for consistent alignment (40cc62a), closes #1138 #1151

Documentation

  • config-facade: clarify cache coherence contract (2290a1d), closes #1150
  • logging: add structured contract reference and bump Node engines to 18+ (c0c856a), closes #1141 #1138

Code Refactoring

  • cliproxy: flatten module structure and colocate tests (#1135) (1c72b4b)
  • config: add config-loader-facade with memoization (1e9a7f3)
  • config: reorganize unified-config-types into schemas directory (51df0ee)
  • errors: add RetryableError and retry-strategy utility (d089ab0)
  • extract plugin path normalizer (3330229)

Tests

  • include colocated cliproxy tests in buckets (33a1553)
  • logging: add cross-stage requestId correlation integration test in slow bucket (c0a019b), closes #1141 #1138
  • proxy: assert tool_result image URLs stay redacted (2c0f9c4)
  • ui: cover logs page redesign with virtuoso-mocked render (a10e570), closes #1142 #1138
  • ui: cover trace-coalesce, leaf-coalesce, and stage-hint helpers (6ada2b2), closes #1138 #1151

7.75.0 (2026-04-29)

Features

  • add extra models support for API profiles (2915ab0)
  • add gpt-5.5 to codex model catalogs (4efd61e)
  • cliproxy: add local session affinity controls (4309db8)
  • cliproxy: self-pause exhausted quota accounts (5013d41)
  • codex: align ccsxp with native cliproxy shortcut (82c92aa)
  • integrate models.dev pricing metadata (a38c1a7)
  • ui/design-system: codify rail-anchored layout invariants and palette (5303089)
  • ui: add design system foundations (64e78f6)
  • ui: migrate cliproxy page to design system Config archetype (9a2c093)
  • ui: migrate health page to design system Monitor archetype (5e3e554)
  • ui: migrate home page to design system Monitor archetype (3ae5f20)
  • ui: redesign health page with prioritized layout and premium aesthetics (36ed091)

Bug Fixes

  • address analytics review follow-ups (286b578)
  • analytics: add native codex and droid collectors (fe7cc6f)
  • analytics: avoid bridge double counting in native collectors (e95b354)
  • analytics: correct token accounting and usage aggregation (e2f1363)
  • browser: 修复 DevTools 页面创建和截图诊断 (4c46d6c)
  • ci: guard generated dev release commits (8d4a776)
  • ci: keep dev release commits visible to PR checks (fea7f18)
  • cli-proxy: durable analytics history persistence and dedupe migration (69b75c0)
  • cli-proxy: preserve historical analytics across syncs (01fcd77)
  • cliproxy/sync: dedup ANTHROPIC_EXTRA_MODELS entries against primary model (b1a0d1a)
  • cliproxy: harden session affinity behavior (5267c42)
  • cliproxy: parse Codex additional_rate_limits for Spark quota (942a8ce)
  • cliproxy: polish session affinity controls (148cf35)
  • cliproxy: probe routing via management endpoint (8ef7030)
  • cliproxy: tighten Codex window classification on incomplete metadata (a90aadd)
  • cliproxy: tighten session affinity review issues (c277955)
  • cliproxy: tighten session affinity status handling (20f3916)
  • cliproxy: tolerate plain AI provider model rules (c40dd3e)
  • cliproxy: tolerate plain AI provider model rules (9a28ca5)
  • cliproxy: use explicit utilization unit per Claude payload form (9808ebf)
  • codex: align ccsxp history with native codex (8ffda02)
  • codex: resolve ccsxp argv alias as codex (cd94119)
  • codex: resolve PR review contract and i18n drift (8911906)
  • keep config dashboard alive when interface detection fails (119aa3b)
  • proxy: avoid settings override and nested reasoning for openai-compat (1c91c46)
  • proxy: clean up temp launch settings (47fbe8b)
  • proxy: preserve settings-profile launches for openai bridge (3dcf150)
  • ui/design-system: address PR-Agent feedback on PR #1109 (839997d)
  • ui/design-system: address PR-Agent round 2 on PR #1109 (aec5267)
  • ui/profiles: latch extraModels touch state for explicit-clear (bc16c51)
  • ui/profiles: preserve ANTHROPIC_EXTRA_MODELS on untouched edit-dialog save (9122f68)
  • ui: address PR-Agent feedback on health redesign (525c4f9)
  • ui: address PR-Agent review feedback on JsonPane and SectionRail (37de42d)
  • ui: address PR-Agent round 2 on health redesign (e64060f)
  • ui: address PR-Agent round 2 review feedback (caef89a)
  • ui: address PR-Agent round 3 review on ConfigLayout duplicate DOM (6261e15)
  • ui: polish health page background and priority card layout (90a3d33)
  • ui: restore click-through navigation on home KPI cards (c59622f)
  • ui: surface Codex Spark windows in dashboard quota views (725d95b)
  • ui: tighten analytics session and query contracts (b2e4be3)
  • ui: widen getCodexWindowKind parameter to accept CodexWindowSummary (0e60293)
  • usage: avoid cross-provider pricing fallback (f736190)
  • usage: clarify static pricing fallback (42fc528)
  • usage: harden models.dev analytics integration (a538627)
  • usage: honor provider-aware pricing precedence (c7141b3)
  • usage: normalize provider aliases in aggregation (fc90b6f)
  • usage: preserve pricing overrides and legacy merges (30f350a)

Documentation

  • api: document --extra-models flag in ccs api --help (a28d544)
  • codex: document ccsxp history root (5094c23)
  • ui: add design system visual preview + screenshots (e0d2ab0)
  • ui: add health redesign verification report and screenshots (63198ab)
  • ui: add HeroBar and rail-anchored demos to styleguide (ba4fbcf)
  • ui: add phase 2 visual preview with before/after screenshots (339fcd8)
  • ui: drop redundant home/cliproxy screenshots from phase2 report (d933290)
  • ui: sync design system docs with bespoke health redesign (dd9854b)

Styles

  • apply prettier formatting to extra-models changes (f01210f)
  • proxy: format openai bridge launch settings (328d53e)

Code Refactoring

  • ui: revert home/cliproxy migrations and restructure design system (1a2fd84)

Tests

  • cliproxy: isolate routing HTTP module test (fe29714)
  • cliproxy: replace process-wide mock.module with DI seams (a787128)
  • cliproxy: stabilize routing endpoint coverage (aa7f155)
  • cover --extra-models parsing and CLIProxy sync dedup (7f14c56)
  • image-analysis: 隔离 hook e2e 环境变量 (785f439)

7.74.0 (2026-04-24)

Features

  • add browser setup flow for Claude attach (7ad8bbf)
  • browser: add explicit runtime policy controls (7d02f55)
  • browser: 增加 artifact 持久化与导入导出能力 (2f167d8)
  • browser: 增加 orchestration 执行策略增强 (101396f)
  • browser: 增加 Phase 10A recording 生命周期 (17a3434)
  • browser: 增加 Phase 6B mock response 能力 (f133deb)
  • browser: 增加 richer request matching 能力 (bd073ac)
  • browser: 增加 sequence 组合块能力 (0038b06)
  • browser: 增加跨 page orchestration 能力 (1833ed3)
  • browser: 增强 assert_query 断言与诊断信息 (4af9675)
  • browser: 完成 browser MCP 第一阶段能力与配置打通 (b90eae3)
  • browser: 完成 browser MCP 第三阶段能力 (cf2375e)
  • browser: 完成 browser MCP 第五阶段页面控制 (ff0e708)
  • browser: 完成 browser MCP 第六阶段 6A 最小拦截闭环 (a93e0b6)
  • browser: 完成 browser MCP 第四阶段输入能力 (e92a2c1)
  • browser: 完成 Phase 10A 录制动作规范化 (5288387)
  • browser: 完成 Phase 10B replay 能力 (9d21e83)
  • browser: 完成 Phase 10C orchestration 能力 (7785503)
  • browser: 完成 Phase 8 文件传输能力 (492ee5b)
  • browser: 完成 Phase 9 拖拽与指针动作能力 (844b5f6)
  • cliproxy: add --json flag to catalog command (92d76ca)
  • cliproxy: add 'max' thinking level for Claude Opus 4.7 (45fe7ab)
  • cliproxy: add Claude Opus 4.7 support (6105812)
  • cliproxy: add thinking config to catalog --json and test false values (c1d0a4d)
  • cliproxy: include model metadata in catalog --json output (6fc2262)
  • cliproxy: separate core and plus provider sections (f6c86b7)
  • glmt: fix sequential tool_use block handling (a0f9176)
  • proxy: add adaptive local port selection for OpenAI-compatible profiles (15751e2)
  • proxy: add HEAD method support for health probe endpoints (baa58c9)
  • proxy: support profile-scoped local proxy ports (94bf1fb)

Bug Fixes

  • browser: default browser tooling to manual opt-in (6604357)
  • browser: harden Browser MCP sessions and artifacts (7732b20)
  • browser: harden runtime policy edge cases (039ed63)
  • browser: preserve opt-in browser settings and env isolation (c24033d)
  • browser: 修复 download 事件的 pageIndex 过滤 (40c718c)
  • browser: 对齐 browser status 输出字段 (acdb93e)
  • browser: 对齐 phase11e 与 upstream browser 配置体系 (d8954e9)
  • ci: address reviewer follow-up findings (572b184)
  • ci: isolate bun cache per job (08edf1e)
  • ci: keep fast bucket stable for commonjs tests (6d4dcc1)
  • ci: keep release workflows on full test coverage (b314cf3)
  • ci: rely on idempotent dependency sync (f4f33b0)
  • ci: stop caching node_modules in GitHub Actions (1b3ca82)
  • ci: tighten slow bucket guardrails (5af639d)
  • ci: use PAT token for dev release pushes (06fffd3)
  • ci: validate cached ui dependencies (02747ed)
  • cliproxy: address Presto review feedback on Opus 4.7 (0d09199), closes atrvd/ccs#8 #2 #3
  • cliproxy: guard against undefined catalog and add issueUrl field (02c5a5c)
  • cliproxy: keep provider sections consistent for variants (254abd5)
  • cliproxy: preserve adaptive thinking on opus 4.7 paths (71deda5)
  • cliproxy: preserve explicit false values in catalog --json (f5520de)
  • cliproxy: quarantine exhausted quota accounts (478d64a)
  • cliproxy: route plus backend to maintained fork (3d22bb0)
  • cliproxy: scope Opus 4.7 rollout to verified providers (571538d)
  • cliproxy: use adaptive thinking for Claude Opus 4.7 (46920db)
  • husky: re-exec pre-push under bash for sh compatibility (dea704c)
  • image-analysis: clear runtime env on native-read fallback (4cf826e)
  • image-analysis: clear runtime env on native-read fallback (63082d4)
  • keep browser setup config-only (f36c4a6)
  • preserve codex effort suffixes in dashboard profiles (e2ca197)
  • preserve supplemental codex effort variants (3a63cc0)
  • proxy: avoid undefined status port output (54c3b2d)
  • proxy: clarify shared port fallback and legacy 3456 handling (d559191)
  • proxy: disambiguate activate without profile (630a493)
  • proxy: handle end-of-options parsing (2a80f7b)
  • proxy: handle legacy stop and preferred ports (391bddd)
  • proxy: harden stale daemon ownership checks (1cfed73)
  • proxy: honor subcommand help flags (dfd070c)
  • proxy: ignore legacy singleton session file (f345cf4)
  • proxy: parse flag options before profile args (6928d8b)
  • proxy: persist daemon state after startup (c0c1198)
  • proxy: preserve legacy state and exact ports (24c2484)
  • proxy: preserve running daemons on restart failure (db32d15)
  • proxy: retain explicit profile names in status (afcb1ab)
  • proxy: retry candidate ports on bind conflict (8ad2763)
  • proxy: retry raced dynamic port binds (7cf5553)
  • proxy: update tests for tool_result+text and disconnect handler changes (b2a4579)
  • route codex remote https through local proxy chain (7a9e67e)
  • runtime: isolate nested Anthropic env across delegation paths (f78c30a)
  • runtime: strip inherited Anthropic routing env selectively (9ae85b8)
  • runtime: strip reintroduced Anthropic routing env (1fd2fb8)
  • settings-profile: pass selective Anthropic env stripping to Claude launches (5881a50)
  • settings-profile: preserve non-routing env for Claude launches (2191f0a)
  • test: correct expected error message text (889d3d8)
  • test: stabilize proxy integration server ports (e6ac91b)
  • test: stabilize suite isolation for dev pushes (89a32c2)
  • transformers: preserve tool ordering across proxy streams (399f403)
  • ui: surface the max thinking level in settings and help (b3bc176)

Hotfixes

  • cliproxy: fallback from deleted CLIProxyAPIPlus to original backend (b8b48a9), closes #1062
  • close cliproxy plus fallback gaps (dd90ea7)
  • preserve plus fallback state and guard variant updates (3e7ce17)

Documentation

  • browser: 增补 11A 断言与诊断能力说明 (26baa01)
  • browser: 增补 11B sequence 能力说明 (78f3879)
  • browser: 增补 11C 执行策略能力说明 (d0e6087)
  • browser: 增补 11D 持久化与导入导出说明 (3c791a4)
  • browser: 增补 11E 跨 page orchestration 说明 (f6ef59e)
  • browser: 增补 browser MCP 第七阶段设计 (a5ef77a)
  • browser: 增补 browser MCP 第八阶段设计 (26aa8f4)
  • browser: 增补 browser MCP 第六阶段设计 (e0b58ee)
  • browser: 增补 Phase 10A recording 能力说明 (b477a75)
  • browser: 增补 Phase 10B replay 能力说明 (2099145)
  • browser: 增补 Phase 10C orchestration 能力说明 (c708bde)
  • cliproxy: clarify catalog --json output format in JSDoc (f090c32)
  • cliproxy: document v18 config bump for Opus 4.7 (faca421), closes atrvd/ccs#8 #1
  • contrib: align local gate shortcuts (ddfbcb6)
  • contrib: clarify CI lanes and parity gates (c9eaae1)
  • proxy: document multi-profile proxy lifecycle (8b27110)
  • remove maintainer-only runner info from contributor docs (a3f5aff)
  • test-bucket: document slowTests addition criteria (eab2b48)

Performance Improvements

  • test-bucket: only serialize slow bucket, parallelize fast (6b5c74a)

Tests

  • align browser launch assertions with setup guidance (341e612)
  • browser: split Browser MCP hook coverage by domain (50fa27f)
  • browser: 扩展 fulfill interception harness (23eccb2)
  • browser: 扩展 network interception harness (68b5683)
  • browser: 扩展 richer matching interception harness (ef06564)
  • browser: 添加 Phase 6A 失败测试 (491e9db)
  • browser: 添加 Phase 6B fulfill 失败测试 (1fbb53c)
  • browser: 添加 Phase 7 richer matching 失败测试 (cb415b4)
  • browser: 补充 Phase 6B 边界覆盖并同步文档 (447b5c8)
  • browser: 补充 Phase 7 回归覆盖并同步文档 (126c30a)
  • ci: cover pr workflow coverage (cf5fc96)
  • ci: cover push quality workflow (b9f5783)
  • ci: keep split browser MCP suites in slow bucket (5081231)
  • cliproxy: add catalog --json tests and clarify flag priority (c1d462e)
  • cliproxy: cover Claude Opus 4.7 in Claude provider catalog (7492688), closes atrvd/ccs#8 #4
  • model-pricing: add cache pricing coverage for Opus 4.7 (de0f8b3), closes atrvd/ccs#8 #6
  • model-pricing: align Opus 4.7 cache coverage (21ec661)
  • proxy: cover multi-profile daemon ports (8942be3)
  • proxy: gate proxy e2e coverage in checks (69da284)

CI

  • add fast test budget warning (4c67750)
  • preserve fast test budget summary on failure (aa4a05e)

7.73.1 (2026-04-22)

Hotfixes

  • cliproxy: fallback from deleted CLIProxyAPIPlus to original backend (60cbdce), closes #1062
  • close cliproxy plus fallback gaps (7b1a7f3)
  • preserve plus fallback state and guard variant updates (5b5f4a5)

7.73.0 (2026-04-19)

Features

  • proxy: enhance Anthropic-to-OpenAI message transformation and schema sanitization (2672e35)

Bug Fixes

  • browser: bootstrap managed attach profile setup (b525033)
  • cliproxy: preserve legacy openai-compat connectors on restart (16f81fc)
  • codex: probe Windows cmd wrappers via cmd shell (210ec33)
  • proxy: harden Anthropic request transformation semantics (ebc9219)
  • proxy: preserve valid enums during schema normalization (22ab58b)
  • proxy: restore strict Anthropic message validation (32d6bfd)
  • repo: remove tracked plans workspace files (bc4ab98)
  • targets: use cmd.exe for escaped Windows wrapper launches (a945b0b)
  • windows: align escaped wrapper shell handling (ccdd0b6)

Tests

  • cliproxy: assert routing persistence via unified config loader (485fe4b)
  • cliproxy: cover legacy connector removal cleanup (00d902b)
  • cliproxy: isolate routing strategy service state (5e1e807)
  • websearch: clear CCS_PROFILE_TYPE in SearXNG fallback spawn env (e25d791)

CI

  • add concurrency group and split build/test with artifact sharing (ad54e17)
  • pre-push: skip gate for delete-only pushes (6236cb7)

7.72.1 (2026-04-17)

Bug Fixes

  • cliproxy: pin routing config regeneration path (d3de83e)

Hotfixes

  • browser: avoid aborting launch on missing managed profile (41bf507)

Tests

  • cliproxy: pin routing strategy test env scope (bc1606d)

7.72.0 (2026-04-17)

Features

  • add missing i18n keys for analytics chart empty states (d3ef82c)
  • cli: add browser automation commands (4e30c9b)
  • cliproxy: integrate missing provider support (2d9f8c9)
  • cursor: split legacy bridge from cliproxy provider (3b5941c)
  • proxy: add openai-compatible local proxy runtime (074e900)
  • proxy: complete openai routing scope (17187c4)
  • settings: refine browser automation tab (06f6f54)

Bug Fixes

  • accounts: prefer live codex plan over stale free tags (0bfdc52)
  • accounts: refine codex plan badges (25aa8bd)
  • accounts: show one codex plan badge (2a3632e)
  • accounts: show one codex plan tag (25f94bb)
  • accounts: simplify codex free tier badges (72ea1fc)
  • browser: address platform and port review (8a17410)
  • browser: reset blank attach path to default (4583ffa)
  • chronological ordering in usage trends chart (#1008) (0e8abed)
  • clarify docker dashboard auth setup guidance (8edb563)
  • cli: document gitlab shortcut flags and harden cursor routing (4e738ee)
  • cli: narrow cursor cliproxy shortcut routing (93afdb5)
  • cliproxy: align codex defaults with gpt-5.4 (80847b4)
  • cliproxy: align delegated gemini auth recovery (6b53df0)
  • cliproxy: avoid duplicate gemini management retries (637a591)
  • cliproxy: avoid network-bound local startup (27f1416)
  • cliproxy: clear stale auth quota cache (769b54f)
  • cliproxy: delegate gemini refresh to upstream (9dc6374)
  • cliproxy: fetch Claude OAuth quota from usage endpoint (9e88082)
  • cliproxy: harden Claude OAuth quota window parsing (050b41b)
  • codex: prefer cmd wrappers over powershell on windows (a94de01)
  • cursor: deprecate legacy bridge and harden gitlab auth (87d93b6)
  • cursor: migrate legacy settings and validate gitlab urls (58c2c46)
  • gitlab: sanitize PAT auth failures across cli and web (7f1c236)
  • proxy: detect dashscope compatible-mode profiles (a6aa576)
  • proxy: keep stream guards active through sse piping (841eeb4)
  • shared-manager: exclude .staging dirs from marketplace registry sync (5b262f0)
  • shared-manager: prune transient and malformed marketplace entries (2293368)
  • ui: align cliproxy provider assets (1bad3b0)

Documentation

  • proxy: credit claude-code-router (b346693)
  • proxy: document openai-compatible routing (7b64852)
  • roadmap: note private-network startup fix (3b17bc9)

Styles

  • ui: format gitlab auth launch options (dc94b9c)

Code Refactoring

  • accounts: localize codex identity labels (cfbc967)
  • proxy: internalize sse translation and cleanup handlers (a340709)

Tests

  • ci: stabilize runner-sensitive isolated tests (2ba3a0a)
  • ci: use runtime-relative isolated child scripts (2e2ba1c)
  • cliproxy: stabilize routing strategy config scope (4845b79)
  • proxy: cover proxy lifecycle and routing (5c66c1f)

7.71.0 (2026-04-14)

Features

  • accounts: preserve codex variant detail in dashboard cards (32c16a3)
  • ci: make PR-Agent reviews more verbose (4c63f1a)

Bug Fixes

  • ci: restore PR-Agent reviewer bot identity (4bd16b8)

Tests

  • accounts: cover codex free-tier identity labels (d5868e0)

7.70.1 (2026-04-14)

Bug Fixes

  • ci: raise PR-Agent custom model budget (c4ad2ca)

7.70.0 (2026-04-14)

Features

  • ci: migrate AI review to self-hosted PR-Agent (25216ea)
  • ui: complete dashboard i18n coverage across 162 files (c3401f0), closes #983

Bug Fixes

  • apply api-key updates during token regeneration (f067f39)
  • browser: harden browser MCP websocket startup (d30f580)
  • ci: allow PR-Agent dispatch bot reruns (9a91901)
  • ci: preserve AI review variable contract (d6ec5ee)
  • ci: restore trusted PR review dispatch (0d2ce7d)
  • ci: restrict self-hosted PR-Agent comment triggers (e1271e2)
  • ci: stabilize update-command tests under parallel runners (b148d1b)
  • cliproxy: degrade gracefully on GitHub release 403s (4e15ec5)
  • ui: finish dashboard i18n follow-up pass (87899a4)
  • ui: use i18n singleton in claude extension status card (be9a481)

Hotfixes

  • stop auto-enabling stale Chrome DevTools reuse (5c799e6)

Code Refactoring

  • ci: make ai-review model/endpoint configurable via repository variables (026ff6c)

Performance Improvements

  • hooks: shorten feature-branch pre-push gate (2868dcd)

Tests

  • ci: harden cursor models oversized-body fallback (66e2969)
  • ci: update ai-review workflow runtime assertions (72d8f36)
  • hooks: harden cross-platform MCP coverage (3103f3f)
  • tokens: isolate auth rotation from mocked handlers (cb1d78b)
  • update: isolate current-install command deps (394d7d9)

7.69.1 (2026-04-13)

Hotfixes

  • stop auto-enabling stale Chrome DevTools reuse (33f57d3)

7.69.0 (2026-04-13)

Features

  • browser: 接入 CCS browser MCP 与最小交互闭环 (eb8149e)
  • cli: add --append-system-prompt-file support (45c231a)
  • cliproxy: add --json flag to catalog command (dceb6f6)
  • cliproxy: add thinking config to catalog --json and test false values (22acd96)
  • cliproxy: include model metadata in catalog --json output (fbfb130)
  • cursor: harden live probe and runtime contracts (e1049e3)
  • ui: persist paused account toggle state in localStorage (18e5cd5)
  • websearch: add SearXNG provider support and configuration (eec8c8b)
  • websearch: add url property to WebSearchProviderConfig interface (36d828f)

Bug Fixes

  • browser: 加固 browser_click 激活语义并修复相关验证阻塞 (74f0281)
  • ci: sync bun.lock for browser MCP types (a63417e)
  • cli: match managed prompt files by exact path (7fc39f7)
  • cliproxy: guard against undefined catalog and add issueUrl field (7bf5b4b)
  • cliproxy: preserve explicit false values in catalog --json (9ac1ac9)
  • cursor: align auto-detect status and CI coverage (2719d7a)
  • cursor: resolve PR review findings (cf5df06)
  • docker: delegate restart/install to supervisorctl in Docker deployments (7776715), closes #964
  • test: isolate chrome reuse home env expectations (a68bc46)
  • ui: clarify Gemini quota tooltip labels (5076b21)
  • websearch: harden searxng url handling (8b553c3)
  • websearch: reject blank searxng status urls (8d8f446)

Hotfixes

  • detect bun-owned installs through symlinked ccs path (898e7a6)
  • restore bun types for stable release CI (6cfb171)

Documentation

  • cliproxy: add catalog --json to --help output (ea2b16b)
  • cliproxy: clarify catalog --json output format in JSDoc (ac92688)

Tests

  • browser: 修复 default profile browser launch 竞态测试 (7754c6c)
  • ci: add env isolation comment to persist-command-handler (79251d7)
  • ci: improve test isolation readability per review feedback (1a7fc4a)
  • ci: isolate CCS-managed env vars from host session (2cc92e8)
  • cliproxy: add catalog --json tests and clarify flag priority (509d2e4)
  • ui: 修复彩色输出下的脆弱断言 (2527889)

Build System

  • types: 补充 Bun 类型声明配置 (26059c7)

CI

7.68.2 (2026-04-13)

Bug Fixes

  • image-analysis: wrap defaultDeps in arrow functions to fix circular dep capture (a76265a), closes #973

Tests

  • image-analysis: cover circular dependency regression (d74b514)

7.68.1 (2026-04-12)

Hotfixes

  • detect bun-owned installs through symlinked ccs path (5f8e66e)

7.68.0 (2026-04-11)

Features

  • api: add Hugging Face provider preset (83255f4)
  • cliproxy: add entitlement evidence for gemini and agy (bb331ff)
  • cliproxy: add pinned model routing prefixes (4d5e528)
  • profiles: add local runtime readiness checks (63b67f1)
  • ui: add paused filter to account flow viz (a169917)
  • ui: reposition providers around quality and local lanes (ad70f93)

Bug Fixes

  • api: constrain preset target defaults (52ac29e)
  • cliproxy: align AGY preset aliases (25dd9ab)
  • cliproxy: attach entitlement evidence to agy failures (7c4545e)
  • cliproxy: cover managed prefix review follow-up (b6aa6fb)
  • cliproxy: dedupe variant prefix sync (eaddfc4)
  • cliproxy: harden pinned routing follow-up (40c4816)
  • cliproxy: harden routing prefix sync and UI pinning (0c10cb6)
  • cliproxy: keep new live provider models selectable (34d7044)
  • cliproxy: prefer live entitlement tier in account badges (7330fdb)
  • cliproxy: preserve entitlement evidence on agy failures (b56b58c)
  • cliproxy: propagate agy entitlement failure metadata (506b61e)
  • cliproxy: refresh non-default gemini quota tokens (b6fb443)
  • cliproxy: use type-only account provider import (92a2478)
  • image-analysis: preserve default runtime deps (e090c8b)
  • image-analysis: tolerate missing auth init dependency (2f02ddf)
  • review: harden quota retry and tooltip edge cases (7ac6d0a)
  • sanitize cliproxy provider model pickers (0e4677f)
  • ui: accept partial raw model records (42d5724), closes #941
  • ui: add paused filter locale strings (3687de0)
  • ui: address provider lane review notes (5f9bafe)
  • ui: clarify filtered flow viz metrics (94eda99)
  • ui: guard optional raw model fields (01c1193), closes #941
  • ui: harden provider model alias editing (92a769d), closes #941
  • ui: preserve requested provider model aliases (49c4338), closes #941
  • ui: type shared AGY compatibility lookup (c078a96)
  • update: align no-update dependency injection (94bcad2)
  • update: harden install verification flow (a4496ff)
  • update: isolate updater test dependencies (59e04cb)
  • update: target the current CCS installation (2aaabb2)

Documentation

  • cliproxy: clarify gemini and agy tier semantics (f9c61e0)
  • roadmap: note cliproxy routing prefix clarity (b8a8f84)
  • roadmap: record Hugging Face preset support (414e8c8)

Code Refactoring

  • ui: align visible provider flow data (aedccec)

Tests

  • ci: isolate config env and cli entry fallbacks (b8aa59a)
  • ci: stop leaking update-command module mocks (ef75172)
  • cliproxy: cover managed pinned route hints (d87a126)
  • cliproxy: isolate session tracker config env (4b9fa4e)
  • ui: cover paused account flow viz filtering (7b2743b)

7.67.0 (2026-04-09)

Features

  • cliproxy: add routing guidance and strategy controls (6393249)
  • cliproxy: source model pickers from upstream catalogs (7bbf32a)
  • dashboard-auth: clarify remote dashboard login flow (d130972)
  • image-analysis: make MCP-first provisioning self-healing (64ecd8b)
  • logging: unify CCS runtime logs and dashboard viewer (6c799b2), closes #926
  • logs-ui: redesign the log viewer workspace (382aa04), closes #926

Bug Fixes

  • ci: track dashboard logs components (4c15a07), closes #926
  • cliproxy: preserve saved codex model selections (a39ded0)
  • cliproxy: remove dead codex reconcile settings arg (c1d4294)
  • cliproxy: streamline sidebar routing control (fabf3d4)
  • cliproxy: tighten sidebar routing presentation (5bb5faa)
  • dashboard: gate remote read-only auth (431c22a)
  • kiro: align auth flows with CLIProxyAPIPlus (0fbea0f)
  • kiro: eliminate TOCTOU in token fingerprinting and harden tests (d95cee1)
  • kiro: harden callback replay and auth detection (1434c3d)
  • kiro: harden idc and callback auth paths (f40d435)
  • kiro: parse Builder ID selector dynamically (325d8d8)
  • kiro: prefer scored URL extraction for stderr manual callback (5b1754a)
  • kiro: require fresh token before auth success (25bcee2)
  • logging: address review feedback on cleanup and log reader (42481c0)
  • logging: harden log storage and cleanup (1923fce)
  • logs-ui: stabilize the dashboard log layout (6e39f33)
  • recovery: harden shared commands startup recovery (103f054)
  • ui: gate preset catalog reuse on query readiness (87f00c5)
  • ui: improve Kiro dashboard auth flow (699b192)
  • ui: keep remote read-only notice accurate (173149b)
  • ui: restore searchable-select dropdown scrolling (a70eae5)
  • ui: reuse cached cliproxy catalogs for presets (564ed3d)
  • usage: block remote refresh without auth (1603f19)
  • web-server: block remote dashboard writes (5fbe731)

Documentation

  • dashboard-auth: clarify remote setup guidance (bfb8782)
  • help: add kiro idc flag guidance (bf5fcfc)
  • image-analysis: update MCP-first behavior docs (5d1880a)
  • kiro: document idc and callback auth flows (bb7dbd1)
  • logging: document structured logs workspace (548edda), closes #926
  • roadmap: clarify codex runtime fallback behavior (3f36c09)
  • roadmap: record upstream cliproxy picker sync (002b7fe)

Code Refactoring

  • dashboard: use shared token fingerprinting for auth detection (d4f434a)

Tests

  • dashboard-auth: cover incomplete setup login copy (a17b82d)
  • logging: stabilize log reader cache refresh coverage (a47cf02)

7.66.1 (2026-04-07)

Hotfixes

  • update ai-review workflow model budget (f954f0f), closes #922

7.66.0 (2026-04-05)

Features

  • accounts: clarify continuity and resume guidance (57d6a44), closes #904
  • auth: add resume lane diagnostics and recovery (2830c2a)
  • cliproxy: enrich gemini quota metadata (a762d8d)
  • cli: refresh help and shell completion UX (24ba2ab)
  • dashboard: show all provider presets by default in Create API Profile modal (f61cc87), closes #892
  • image-analysis: add provider-backed runtime (813b2dd)
  • ui: show richer gemini quota details (4c44042)

Bug Fixes

  • auth: harden delayed oauth token registration (01313a5)
  • auth: keep resume lane warning non-blocking (1b3528f)
  • auth: wait for polled oauth token persistence (e2e5d99)
  • ci: restore cursor image analyzer hook import (748fde6)
  • classify DuckDuckGo non-result HTML as failure (a33d3f4)
  • completion: close shell completion review gaps (0da7598)
  • completion: fail closed on backend errors (ffe3082)
  • cursor: address review feedback and translator edge cases (27f6a67)
  • cursor: harden runtime follow-up regressions (f7ddad6)
  • cursor: make bare cursor command useful and harden tool-result translation (d7b907e)
  • cursor: route bare cursor through runtime profile (2d67f40)
  • cursor: tear down oversized daemon model responses (e3074ae)
  • dashboard: bootstrap cliproxy control panel session (5432163)
  • dashboard: clear control panel bootstrap state (68417c0)
  • dashboard: scope auth monitor summary by provider (5746e43)
  • image-analysis: handle installer lock contention (afc8b0b)
  • image-analysis: harden runtime and provisioning (77b488f)
  • image-analysis: stabilize mcp config locking (0347f5a)

Documentation

  • add community projects section and fix header link (dc56e55)
  • image-analysis: document managed runtime flow (6d1c895)
  • readme: broaden CCS runtime positioning (0e37033)
  • readme: preserve opencode contributor guidance (217e71f)
  • roadmap: note CLI help and completion refresh (86b30eb)

Code Refactoring

  • accounts: consolidate continuity guidance layout (d9f78ad), closes #904
  • cli: slim cursor completion imports (3dcf879)

Performance Improvements

  • cliproxy: overlap gemini quota metadata fetches (c9bbc58)

Tests

  • cli: isolate root router completion coverage (2d5bda7)
  • cliproxy: stabilize tunnel localhost binding check (71c4b18)
  • image-analysis: cover runtime auth and fallback (f379a40)

7.65.3 (2026-04-02)

Hotfixes

  • ci: restore default ai review output (58a0fc4)

7.65.2 (2026-04-02)

Hotfixes

  • ci: clean up ai review reruns and logging (f47e7ae)
  • ci: compact ai review comments and switch to glm-5-turbo (25dddf4)
  • ci: expand ai review comment layout (0be4ef7)
  • ci: improve ai review comment formatting (164a8af)
  • ci: preserve literal snippet indentation in ai review comments (f6779a5)
  • ci: render fenced evidence snippets in ai review comments (07b4275)
  • ci: restore reliable structured ai review comments (5b9427f)
  • ci: separate ai review evidence blocks (80e2251)

7.65.1 (2026-04-02)

Hotfixes

  • ci: keep ai review feedback fast and deterministic (4e05488)

7.65.0 (2026-04-02)

Features

  • ci: bound ai review runtime for large PRs (7396179), closes #880
  • codex-dashboard: add manual long-context controls (3246c40)
  • codex-dashboard: refine control center boundary card (c1ab210)
  • image-analysis: add dedicated dashboard settings (9d1d281)
  • image-analysis: resolve backend status per profile (ae459fc)
  • image: add native-read controls and autosave settings (982ffc5)
  • ui: clarify image-analysis target status (0246e32)

Bug Fixes

  • account-flow: restore grouped quota hover details (e852013)
  • ci: degrade timed-out ai reviews gracefully (3935574)
  • ci: repair ai review fallback scope script (0927651)
  • ci: resolve self-hosted Claude path dynamically (44e2a49)
  • ci: restore prepack script and stabilize cursor timeout (037ed63)
  • ci: use self-hosted Claude binary for ai review (0883b9a)
  • cliproxy: preserve image-analysis runtime readiness (3b61673)
  • image-analysis: preview backend status safely (d394772)
  • image-analysis: reject unknown backend mappings (6656685)
  • image-analysis: surface runtime readiness (1a01c6f)
  • packaging: remove duplicate prepack script (2844704)
  • packaging: restore prepack contract (7dd0edb)
  • settings: restore image tab scrolling and dev websocket routing (7a783d0)

Documentation

  • codex-dashboard: streamline Codex guidance copy (7fd2aca)
  • readme: document image-analysis backend visibility (d40cc60)
  • roadmap: note codex long-context controls (0af38c8)

Tests

  • image-analysis: cover resolver and dashboard status (9277b4a)

7.64.0 (2026-04-01)

Features

  • add first-class CCS WebSearch runtime (e260df7)
  • cliproxy: support duplicate-email codex accounts (c73f338)
  • ui: unify duplicate-email account surfaces (80341f1)
  • websearch: add managed mcp runtime and provider cooldowns (7f83e04)
  • websearch: finish managed third-party rollout (de7171d), closes #862

Bug Fixes

  • bootstrap explicit CODEX_HOME for ccsxp (b6717c5)
  • ci: harden ai review output (4950be7)
  • codex: harden duplicate-email account actions (22f0916)
  • codex: harden native runtime detection (ca54bad)
  • dashboard: use shared base time for connection timeline events (d76ef5b), closes #856
  • docker: harden cliproxy local proxy with auth guard, dynamic port, and body handling (6471cc5)
  • docker: harden proxy with timeout, Bun compat, and test coverage (27409b7)
  • docker: proxy CLIProxy management panel through dashboard to avoid cross-origin errors (881b061)
  • harden ai review comment formatting (fa37f39)
  • merge existing disallowed tool flags for websearch (b087c02)
  • normalize websearch hook output for local providers (a5d71e3)
  • probe Codex config override support directly (014a844)
  • ui: normalize grouped account audience order (498448a)
  • use type-only import in instance manager (f0cd44e)
  • websearch: close review gaps in managed runtime (cae5b71)

Hotfixes

  • restore prepack packaging contract (78f6c5d)

Documentation

  • architecture: document codex duplicate-email identity (be0c597)

Code Refactoring

  • remove duplicate copilot websearch sync (2c15304)

Tests

  • dashboard: add regression tests for connection timeline event generation (4ab5194)

7.63.1 (2026-04-01)

Hotfixes

  • ci: harden ai review workflow for release PRs (0b72ecd)

7.63.0 (2026-03-30)

Features

  • add codex dashboard parity (8c5da9f)
  • codex-ui: surface cliproxy setup guidance (0ffde4f)
  • codex: add ccsxp runtime shortcut (deb1e9d)
  • codex: add dashboard control center (b47aa0d)
  • codex: harden runtime targeting and dashboard editing (9e43bee)
  • profiles: expose codex runtime across surfaces (f9c1238), closes #773
  • targets: add native codex runtime target (8f60820), closes #773

Bug Fixes

  • ai-review: increase max-turns to 40 and add hotfix commitlint type (04c4d61)
  • ai-review: revert to single-job review with enhanced prompt (f98530b)
  • cliproxy: narrow legacy gemini alias cleanup (c4428e4)
  • cliproxy: preserve manual high-minor alias clusters (6707b7d)
  • cliproxy: prune stale control panel alias clusters (061cd96)
  • codex: align cliproxy guidance with runtime behavior (bd1ff02)
  • codex: align runtime compatibility and dashboard types (3c52b1a)
  • codex: harden dashboard config editing (ebc9acf)
  • codex: harden native alias launches (f47ab48)
  • codex: restore version context for override failures (643bd2a)

Documentation

  • codex: clarify ccsxp and cliproxy setup (318b57b)
  • codex: document control center behavior (ca98184)
  • codex: document runtime target support (da4bb29), closes #773

Styles

  • codex: use monochrome sidebar icon (09b7f66)

Tests

  • codex: cover alias passthrough gaps (c0f0f17)

7.62.2 (2026-03-29)

Bug Fixes

  • ai-review: increase max-turns to 40 and add hotfix commitlint type (bcbf8a2)
  • ai-review: revert to single-job review with enhanced prompt (fb8b26c)

7.62.1 (2026-03-29)

Bug Fixes

  • ai-review: bump orchestrator max-turns 20→25 for large PR merges (106067f)
  • ai-review: increase turn budget and improve fallback extraction (1c4fc96)

7.62.0 (2026-03-29)

Features

  • ai-review: parallel subagent review pipeline (ce023aa), closes #837
  • ai-review: workflow-level parallel review jobs (8c371e7), closes #843

Bug Fixes

  • ai-review: address all review findings — restore allowedTools, add fallbacks (36e8cc4)
  • ai-review: use printf for subagent prompt outputs, match existing pattern (d2510fc)
  • auth: signal auth-required for remote access in /api/auth/check (5a09547)
  • cliproxy: align gemini 3.1 preset compatibility (5ac91e0)
  • cliproxy: align gemini flash pricing and dashboard imports (2423864)
  • cliproxy: centralize gemini compatibility and fallback hints (2251312)
  • cliproxy: guard binary install against ETXTBSY when running (5eac9c5)
  • cliproxy: resolve gemini presets from live models (934e6ab)
  • docker: address review findings — PID guard, deleteBinary guard, blocked fallback (7d410b2)
  • docker: address review findings — test, docs, bcrypt path (cd09b84)
  • docker: include docker/ assets in npm package (50b5660), closes #829
  • docker: print auth setup reminder after remote deployment (59be7f8)
  • docker: register session lock from bootstrap for proxy discovery (a0f28f8)
  • docker: use export for remote env vars and increase build timeout (60167d3), closes #832
  • docker: use HTTP-first proxy detection in health checks (d7a80ed)
  • docker: wrap session registration in try-catch and narrow ETXTBSY guard (e8b7ac7)
  • harden CCS backlog sync pagination and recovery (e661772)
  • ui: hide version badge when API fails instead of showing v5.0.0 (efe6953)
  • ui: redirect to login when auth check fails from remote access (e9fceed)
  • websearch: avoid partial settings-hook migration (fbbdd80)
  • websearch: harden settings-profile hook setup (0e6965d)
  • websearch: install hook for settings profiles (39a3e9d)
  • websearch: restore hook recovery and force register (0821c68)

Documentation

  • docker: add post-deployment guide for auth, token migration, and verification (c26efae), closes #841
  • docker: use docker cp for token migration and fix bcrypt command (f8c43a3)

Styles

  • ai-review: add emojis to orchestrator output format sections (86f45c2)

Code Refactoring

  • ai-review: matrix strategy + orchestrator AI merge (97f07c2)
  • ai-review: remove redundant allowedTools, enforce subagent dispatch (d67fa35)
  • ai-review: switch --allowedTools to --tools for actual restriction (53ad283)

Tests

  • auth: verify effectiveAuthRequired logic for remote vs local access (a23caf0)
  • docker: add regression test for bundled asset availability (13254f2)
  • docker: add tests for health check port detection and ETXTBSY guard (a517c50)
  • docker: update executor tests for export syntax and build timeout (cbe93d4)

7.61.1 (2026-03-28)

Bug Fixes

  • ci: require explicit /review command for AI review reruns (3ebf17f)

7.61.0 (2026-03-27)

Features

  • docker: add integrated deployment commands (23f767b), closes #812

Bug Fixes

  • docker: bound blocking command execution (5ad4303)
  • websearch: align provider validation metadata (dff40b5)
  • websearch: restrict dashboard secrets routes (4ccc3ed)

Documentation

Tests

  • docker: cover docker subcommand rendering paths (5b9954c)
  • websearch: assert parser-layer null body errors (1fd7f81)

7.60.1 (2026-03-27)

Hotfixes

  • add hotfix commit type to semantic-release config (0473f63)
  • ci: fix AI review performance — bypass permissions, cap turns, reduce thinking (0a7fef0), closes #818
  • ci: increase max-turns to 30 and enforce Write tool for review output (179fa33), closes #818

7.60.0 (2026-03-27)

Features

  • websearch: manage provider API keys in dashboard (20c48c6)

Bug Fixes

  • settings: prevent config panel flash on refresh (5782edf)
  • websearch: narrow provider key handlers for build (a3ca496)
  • websearch: narrow provider key summary access (d883951)

Documentation

  • websearch: document inline provider key flow (f462b9f)

Styles

  • ui: format files for enforced prettier rules (1c8246a)

CI

  • ai-review: enable show_full_output for review visibility (6dca069)
  • ai-review: remove custom Claude CLI path to prevent version drift (0334f70), closes #810
  • ai-review: upgrade model, add fallback extraction, preserve logs (bb5862f)

7.59.0 (2026-03-26)

Features

  • auth: let power user mode skip Gemini auth gate (ce4401e)

Bug Fixes

  • ci: resolve flaky api-command module resolution and migrate to self-hosted runner (41a31c8)
  • cliproxy: harden gemini quota error fallbacks (31b7d45)
  • cliproxy: preserve auth-file source fallback (63c8ec5)
  • cliproxy: preserve explicit Claude long-context intent (c05189b), closes #789
  • cliproxy: restore live monitor provider attribution (368a625)
  • cliproxy: scope account stats by provider (75ccbb3)
  • cliproxy: surface gemini quota failure details (99f78f1)
  • cliproxy: surface quota metadata in CLI (19f6b3c)
  • tests: stabilize command help CI validation (be4ba13)
  • ui: clarify antigravity and gemini power mode copy (4d49d13)
  • ui: constrain bounded code editor scroll viewports (aeab284)
  • ui: harden power user mode auth checks (604f9fc)
  • ui: resolve cliproxy account stats by provider (1edc103)
  • ui: restore scrolling in bounded code editors (44d4df1)

Tests

  • cliproxy: cover Claude long-context parity flows (5e11bba), closes #789
  • ui: cover bounded code editor scroll mode (823cf96)
  • ui: cover bounded editor height contracts (92d067d)
  • ui: cover Gemini power user auth bypass (a15c729)

CI

  • ai-review: add --bare flag to prevent CLAUDE.md pollution in reviews (57019c1)

7.58.0 (2026-03-26)

Features

  • channels: auto-enable official Claude channels (a97fc42)
  • channels: auto-enable official discord plugin (4bce155), closes #783
  • channels: support telegram and imessage (6f1f032), closes #783

Bug Fixes

  • channels: reject oversized official channel tokens (ec1417a)
  • cliproxy: harden corrupted registry recovery (313e244)
  • cliproxy: log clean registry recovery and harden email fallback (63f4862)
  • cliproxy: recover corrupted account registries from token files (d53873b)
  • docker: add index annotations to link GHCR package to repository (9c0dd34)
  • settings: stabilize websearch and quota checks (3ea9d2f)

Documentation

  • channels: document official Claude channel support (58891d3)

Styles

  • channels: format official token guard for ci parity (3c638b0)
  • format official channel files (0e2f478)

Tests

  • isolate shared-state test suites for CI stability (3af5542)

7.57.2 (2026-03-25)

Bug Fixes

  • ci: reuse runner bun for AI review (0e2a2a0)
  • config: close dashboard secret redaction gaps (e983bed)
  • config: harden dashboard config and rollback paths (37251cd)
  • config: preserve hidden auth secrets and block scalars (6ccf53e)
  • shared-manager: allow external claude symlink chains (05dea22)
  • shared-manager: guard inverse shared symlink loops (c923f51)

7.57.1 (2026-03-24)

Bug Fixes

  • ci: dedupe AI review comments (d24efd2)
  • ci: export review runtime paths at run time (ba41008)

7.57.0 (2026-03-24)

Features

  • add explicit droid runtime alias surface (160be31)
  • cliproxy: allow optional provider nicknames (bdb7ac2)
  • make cliproxy provider nicknames optional by default (4df08f6)
  • websearch: add real provider chain (6c7d215)

Bug Fixes

  • auth: verify polled oauth account persistence (09eb01f)
  • ci: close release automation edge cases (e06e13a)
  • ci: harden release automation workflows (5616c68)
  • ci: publish docker image from releases (5c1553e)
  • dashboard: refine api profile quick start state (aef58d6)
  • dashboard: remove the unnecessary blank on api config page (3a7e778)
  • harden droid runtime alias resolution (1f667b5)
  • ui: guard auth success on registered account (a3478ac)
  • ui: remove stale dashboard footer gap (0d59c7a)

Documentation

  • repo: add security reporting and issue routing (#769) (185f7f4)

Styles

  • auth: format cliproxy auth route (06d098a)
  • websearch: format routes after rebase (83dab7f)

Tests

  • cliproxy: cover optional nickname auth flows (8347049)
  • dashboard: cover api profile quick start states (10f2845)

7.56.0 (2026-03-22)

Features

  • cliproxy: add dedicated ai providers workspace (50c55bb)
  • cliproxy: redesign ai providers configuration (77fcd45), closes #649
  • profiles: add cliproxy api profile bridge (287691f), closes #649

Bug Fixes

  • cliproxy: remove control panel setup notice (e2ca9c2), closes #649
  • codex: recover unsupported live model switches (9fac214)
  • management: harden marketplace state transitions (fc02c4b)
  • management: localize marketplace registry per instance (54ea36f)
  • management: serialize lifecycle maintenance paths (36e8ed5)
  • management: serialize marketplace registry reconciliation (68a5d17)
  • restore parallel-safe validate pipeline (04fd8ff)
  • stabilize validate pipeline and cliproxy route tests (0d90f04)
  • ui: reflect cliproxy preset plan tiers (ef36ad4)
  • ui: sync codex model catalog defaults (2114a4b)

Documentation

  • architecture: document marketplace registry ownership (242a095)
  • cliproxy: document api profile bridge flow (7d87cfa), closes #649 #649

Tests

  • management: cover plugin layout sync lock (fab0501)

7.55.0 (2026-03-17)

Features

  • add dashboard host binding option (553f8ac)
  • cursor: add Anthropic daemon endpoint (daad5d1)
  • deprecate GLMT user-facing surfaces (5525098)
  • novita: add Novita AI provider preset (a1a8cad)
  • ui: add searchable model comboboxes (d056878)
  • ui: improve API profile provider selector UX (0337a32)

Bug Fixes

  • add novita preset icon asset (eeadff3)
  • align dashboard host warnings with effective bind (dcc6747)
  • cliproxy: make codex defaults free-plan safe (551591e)
  • cliproxy: remap codex haiku fallback on free plans (e6b3635)
  • commands: follow up command routing hardening regressions (d524650)
  • correct novita preset endpoint and asset handling (94fa96a)
  • cursor: avoid empty user turns after tool results (b068fb2)
  • cursor: harden anthropic daemon contract handling (a35859a)
  • cursor: harden anthropic response fallback paths (eaee4a9)
  • cursor: harden anthropic translation edge cases (9ff021e)
  • normalize plugin metadata across shared launch flows (1043a43)
  • proxy: support portable undici dispatcher typings (ee06f83)
  • restore route target parser exports (eb9e9a8)
  • shared-manager: normalize marketplace registry paths (2cb5b4e)
  • ui: add llama.cpp provider icon (93d94b5)
  • ui: keep provider names readable (3954e44)
  • ui: rebalance API profile provider chooser (8c0d75a)
  • ui: restore searchable combobox keyboard navigation (5fe96b7)
  • ui: simplify provider chooser cards (a999adc)

Documentation

  • community: add GitHub contribution templates (462d382)
  • community: soften contributor requirements (f0f5a9c)
  • contributing: refresh contributor workflow (5f97316)
  • readme: highlight hosted docs hub (9a44f53)
  • roadmap: mention llama.cpp icon polish (ea15e5e)
  • roadmap: record issue 744 provider selector update (0819de2)
  • roadmap: record issue 748 chooser follow-up (098416a)

Code Refactoring

  • commands: split CLI command routing (2044756)

Tests

  • cliproxy: cover codex plan fallback edge cases (ce600a7)
  • cover invalid novita preset ids (334f369)
  • cursor: reclassify daemon lifecycle smoke coverage (67290e8)
  • restore config command host mock (a4c1031)

7.54.0 (2026-03-16)

Features

  • add proxy setup using undici and update undici version (c542606)
  • ci: harden AI review with adversarial red-team prompt (19f7091), closes #731
  • claude-extension: add binding workflow (a2f5310)
  • config: add Claude IDE extension setup flow (b82f10e)
  • docker: publish release images on stable tags (25bb806)
  • i18n: add Japanese dashboard locale (8b5158b)

Bug Fixes

  • add missing newline at end of fetch-proxy-setup.ts (3324053)
  • align proxy routing across fetch and downloader (fd5d16f)
  • ci: address code review findings for hardened AI review (b528bcb)
  • ci: load review prompt from base branch to prevent prompt injection (dcb4635)
  • ci: remove maintainability baseline gate blocking releases (e6ae052)
  • ci: use full path in warning and add workflows/ to deep review triggers (7828780)
  • cliproxy: validate tier thinking against model caps (88d1dc1)
  • config: guard Claude extension metadata (56ba379)
  • copilot: stop mutating config on read (7bd4049)
  • docker: harden release image publishing (314053b)
  • harden global fetch proxy handling (f50c962)
  • i18n: polish Japanese dashboard copy (e28f87b)
  • normalize stale copilot raptor-mini model (c409a45)
  • sidebar: move claude extension to compatible (337dd18)

Documentation

  • readme: clarify copilot config save behavior (298b591)
  • readme: document Claude IDE extension setup (56db603)

Styles

  • claude-extension: apply formatter output (6724ea5)

7.53.0 (2026-03-11)

Features

  • add API profile lifecycle discover/copy/export/import parity (02c8174)
  • api: add Anthropic direct API key support (fedb4d4), closes #688
  • api: add llama.cpp support as local model provider (0ca6428), closes #690
  • auth: add --bare flag and MCP server sync for profiles (bc9b044), closes #691 #692

Bug Fixes

  • api: complete anthropic direct profile support (1f29fa0)
  • auth: preserve bare profile behavior across runtime and sync (8f8684c)
  • ci: remove LOC count from maintainability gate (d3ede45)
  • ci: remove maintainability baseline gate blocking releases (03a0fb2)
  • clarify CLIProxy dashboard install lifecycle (a4b626a)
  • cliproxy: handle Claude OAuth quota 401 (7e8f9e8)
  • cliproxy: poll paste-callback auth urls (b25b165)
  • cliproxy: preserve Claude fallback when quota is unavailable (6ed95a2)
  • cliproxy: preserve kiro paste-callback start route (86ca180)
  • cliproxy: sync claude 4.6 selector defaults (3d183fe)
  • cliproxy: use management auth-url route in paste callback (6fcd924)
  • cliproxy: use management oauth-callback in paste flow (fa02702)
  • codex: standardize haiku defaults on gpt-5.1-codex-mini (f4a7d4d)
  • complete codex tool sanitization coverage (4baed01)
  • config: align claude defaults across catalogs (bea3084)
  • config: update claude base models to latest (09aeec5)
  • config: use correct codex haiku model ID (gpt-5-codex-mini) (8a9751a), closes #602
  • confirm risky cliproxy installs in dashboard (aed7beb)
  • copilot: surface upstream model limits (8a5ed65)
  • harden profile lifecycle validation and dashboard UX flows (d6fc5dd)
  • hooks: handle thinking blocks in image analyzer response parsing (0060c77), closes #511
  • improve quota diagnostics and oauth refresh handling (fc3600e)
  • restart CLIProxy after dashboard version install (e14df1f)
  • stop untracked CLIProxy installs safely (ad01196)
  • strip unsupported gemini and codex tool fields (8cfd86f)
  • sync error code docs links (2be5c5a)
  • ui: update copilot default claude model (4d0ded3)
  • ui: use preset apiKeyPlaceholder when creating profiles (6078de7)

Tests

  • cover llama.cpp help parity (9bcb195)
  • hooks: add image analyzer regression coverage (5097375)

CI

  • harden AI review for external PRs (becfc57)

7.52.2 (2026-03-04)

Bug Fixes

  • ci: remove LOC count from maintainability gate (619c47d)
  • ci: strip ANSI codes before detecting published release (a8d7f7c)
  • cliproxy: reduce gemini alias model bloat (276649f)
  • copilot: harden daemon lifecycle and validate config updates (1fd128e)
  • copilot: improve daemon liveness and flag aliases (4b1cda2)
  • copilot: refine ownership checks and command error handling (930d66f)
  • copilot: sync alias UX and harden daemon stop safety (f4678d6)

Code Refactoring

  • daemon: share process ownership guard for safe shutdown (5ad2416)

Tests

  • cliproxy: strengthen alias non-enrichment assertions (e28d9c8)

CI

  • release: use PAT_TOKEN for semantic-release branch protection bypass (91280e3)

7.52.1 (2026-03-03)

Bug Fixes

  • ci: strip ANSI codes before detecting published release (6e16f1c)

7.52.0 (2026-03-03)

Features

  • analytics: integrate CLIProxy multi-provider usage into dashboard (c5124a9)
  • api: add Alibaba Coding Plan preset and providers promotion (8811e53)
  • continuity: support cross-profile continuity inheritance from account profiles (0b9f982)
  • i18n: add comprehensive Vietnamese dashboard locale (7893436)
  • i18n: Added support for Chinese language pack (7ffb8a4)
  • pricing: fix claude sonnet 4.6 and claude opus 4.6 pricing (9a7ca3f)

Bug Fixes

  • agy: harden preset canonicalization and migration coverage (747c706)
  • agy: harden self-migration across settings load/update paths (3a26aba)
  • agy: normalize sonnet 4.6 model ids and migrate legacy thinking alias (8a2b554)
  • agy: remove deprecated 4.5 selector options (5913f73)
  • api-profiles: keep AGY denylist when droid provider is set (2710139)
  • auth: harden continuity inheritance resolution (8a45727)
  • auth: scope km alias mapping to settings profiles (d827c3a)
  • ci: harden release workflows against PAT checkout failures (b35c85d)
  • ci: remove PAT dependency from release workflow checkouts (a259d95)
  • cliproxy: denylist deprecated agy 4.5 models (f63e2cd)
  • cliproxy: harden agy model canonicalization and migration paths (0b57e41)
  • cliproxy: normalize iflow aliases for explicit routing (7e471e6)
  • cliproxy: normalize stale iflow model aliases (546c4ee)
  • cliproxy: restore agy legacy 4.5 lookup compatibility (ed05cfc)
  • config: merge legacy and unified continuity maps (1eb41cc)
  • ghcp: improve oauth failure diagnostics in device flow (c2f564a)
  • i18n: complete Vietnamese dashboard copy QA polish (b07c62c)
  • i18n: harden unstable dialog and complete cursor locale key (552eee3)
  • i18n: polish remaining Vietnamese copy for dashboard context (f3f315e)
  • i18n: refine Vietnamese dashboard translation quality (758fcc7)
  • pricing: handle date-stamped 4.6 thinking model IDs (d31f85b)
  • respect auto_update preference by disabling Claude auto-updater (4cdb659)
  • security: harden API endpoints and resolve PR #674 review findings (a4c5bb7)
  • ui: improve providers badge readability and albb preset (3b38f1a)
  • ui: restore scrolling in API profile create dialog (6f8514b)
  • usage: coalesce refresh and force live sync on refresh (09ce1a9)
  • web-server: run usage cleanup during dashboard shutdown (e8519b6)

Documentation

  • i18n: add dashboard localization guide and links (2dddf02)

Code Refactoring

  • routes: resolve DRY violations, config race, and error leaks (e255855)

Tests

  • auth: cover legacy alias isolation for continuity (26f4fb3)
  • pricing: cover Claude 4.6 cache token cost rates (91050bf)
  • usage: add cliproxy sync and integration coverage (383ac94)

CI

  • release: use PAT_TOKEN for semantic-release branch protection bypass (343c36f)

7.51.0 (2026-02-26)

Features

  • accounts-ui: add history sync learning visualization (6cfc8d4)
  • accounts-ui: redesign accounts dashboard to column layout (12c7a21)
  • accounts: add advanced deeper continuity mode and claude pool discoverability (b6475ba)
  • agy: add power-user bypass for responsibility acknowledgement (d3c271a)
  • api: add --target to api command (3dacb39)
  • api: persist profile target metadata (461236e)
  • api: support profile target in routes (e833054)
  • cliproxy: accept target in variant routes (5b60784)
  • cliproxy: add target support to subcommands (d2d1d59)
  • cliproxy: persist target on variants (f4a6927)
  • config: support legacy profile target overrides (9a63f9b)
  • dashboard: add dedicated Factory Droid diagnostics page (bc079bc)
  • dashboard: enrich droid docs and quick settings controls (031dcd9)
  • droid: align BYOK provider mapping for ccsd (60b1c04), closes #632
  • droid: sync reasoning effort across CLI and dashboard (eedb53b)
  • pricing: add MiniMax M2.5/M2.5-lightning and Qwen3 series (max/plus/flash/coder) model pricing (089aa08)
  • runtime: run cliproxy profiles on droid (8a2a7c3)
  • ui: add target controls to cliproxy variants (543ec5f)
  • ui: add target support to API profile dashboard (ca78e63)
  • ui: add updates center with support matrix (e9d2515)
  • ui: redesign updates center into action inbox (78eac7d)
  • ui: support editing profile default target (db38ccc)
  • ui: surface cliproxy target in provider editor (6aae3ba)
  • ui: surface updates center across dashboard (c7c4c87)

Bug Fixes

  • accounts-ui: add actionable continuity controls and claude deep-link (a974efb)
  • accounts-ui: condense sync guidance and remove redundant controls (286180e)
  • accounts-ui: move action center content into left column (cfdad81)
  • accounts-ui: remove extra left-column wrapper layers (5996f9d)
  • accounts-ui: simplify left action column hierarchy (7fccb18)
  • accounts-ui: soften details trigger hover state (1708128)
  • accounts: focus dashboard on auth profiles and legacy context onboarding (10c08b9)
  • accounts: improve shared-context editing and discoverability (5c6fe20)
  • agy: align responsibility flow with issue #509 (3148014), closes 622/#619
  • agy: enforce multi-step responsibility acknowledgement for antigravity oauth (3b1271b)
  • agy: use type-only import for ui checklist value (7b4bd80)
  • api: remove stale legacy profile target mappings (e32dedc)
  • auth: close shared-context isolation edge cases (0b070a3)
  • auth: harden agy safety endpoints and config writes (b602ab9)
  • auth: harden shared-context isolation and config safety (0309630)
  • auth: harden shared-context isolation edge cases (7d5e604)
  • ci: align maintainability baseline for PR merge checks (a8b8e63)
  • ci: refresh maintainability baseline for dev release (d6fd598)
  • cli: improve cliproxy target parsing edge cases (8d95de9)
  • cliproxy-sync: honor profile settings paths and targets (ac1c744)
  • cliproxy: normalize deprecated antigravity Claude aliases (ff9dbb3)
  • dashboard: align droid config diagnostics with factory paths (c6d2e71)
  • dashboard: guard droid docs links for older API payloads (e7f3b3f)
  • dashboard: make droid docs links always clickable (1704b80)
  • droid: add structural exec passthrough for ccsd (5963ba9)
  • droid: avoid interactive model arg prompt pollution (f1567c0)
  • droid: harden exec passthrough and add integration coverage (ce44d2e)
  • droid: restore tabbed layout and stabilize save state (a88fd68)
  • help: align cliproxy status and provider filter docs (b658b20)
  • iflow: replace placeholder model defaults to prevent 406 (03bc414)
  • maintainability: make gate parallel-pr friendly (fdb32e2)
  • pricing: normalize model aliases for MiniMax and Qwen (7ac5e3e)
  • proxy: harden AGY risk persistence and confirm UX (36d5cb7), closes #509
  • safety: unify add-account typed risk phrase (c0eb786)
  • shared: harden markdown traversal and parsing (46b4f9c)
  • shared: polish shared data UX and route persistence (f9f063c)
  • shared: resolve strict ui build typing errors (787ebbc)
  • shared: support file-based agents and recursive commands (346fa5f)
  • targets: sanitize invalid persisted target values (2bd3c40)
  • ui: align cliproxy log polling with existing API routes (a7db16c)
  • ui: align cliproxy target schema typing (1c7e4e1)
  • ui: align updates page with dashboard layout patterns (d47efc7)
  • ui: de-surface updates center from primary navigation (69378ad)
  • ui: harden target update flows in profile editors (d385bd1)
  • ui: improve agy auth UX and flow resilience (6e20cdc)
  • ui: keep home route at root without last-route redirect (c130e9a)
  • ui: move agy power-user mode to proxy settings (30dccb1), closes #509
  • ui: redesign updates page as changelog-first layout (4736445)
  • ui: remove nested sidebar list markup (1698ead)
  • ui: tighten updates action row type narrowing (ae7ab59)
  • ui: unify gemini and agy safety warning banner (e22d331), closes #509
  • websearch: support Gemini positional prompt mode (0d09604)

Documentation

  • cli: document target defaults and ccsd cliproxy usage (172e599)
  • readme: document dashboard updates center (0a5b12b)

Code Refactoring

  • dashboard: reuse compatible CLI settings editor stack (e9eab71)
  • dashboard: switch droid settings I/O to async fs (20e48b3)
  • ui: remove unused last-route restore helpers (766cc1b)

Tests

  • web-server: cover profile and variant target parsing (2e8c7a3)

7.50.0 (2026-02-24)

Features

  • auth: add opt-in shared context groups across accounts (4fed74c)

Bug Fixes

  • cliproxy: prevent agy model reset and add sonnet 4.6 models (bebb758)

7.49.1 (2026-02-24)

Bug Fixes

  • cliproxy: prevent blank page in remote mode (4eb2be7)
  • cliproxy: strengthen account safety warning and redesign alert UI (00495b6)

7.49.0 (2026-02-23)

Features

  • memory: share project memory across account instances (e2623e6)

Bug Fixes

  • ci: auto-close released issues in stable release workflow (b6f2d5d)
  • codex: canonicalize dashboard presets and migrate suffixed settings (be96b84)
  • codex: preserve codex tier efforts in auto thinking (db80f85)
  • codex: validate tier thinking values before suffixing (57e14cf)
  • memory: use async fs APIs to satisfy maintainability gate (c6c44d0)
  • resolve package.json version conflict from main merge (6840523)
  • web-server: detect symlinked shared entries (e3dbc67)
  • web-server: harden shared route symlink scanning (498b66d)

7.48.1 (2026-02-23)

Bug Fixes

  • ci: enforce parity gate and stabilize test execution (0aed60f)

7.48.0 (2026-02-22)

Features

  • cliproxy: add Claude quota windows and account failover (2385d90)

Bug Fixes

  • cliproxy: add gemini 3.1 preview alias compatibility (653f809)
  • cliproxy: close remaining quota edge-case gaps (8c790f4)
  • cliproxy: harden antigravity alias generation (63619cb)
  • cliproxy: harden quota guards and review follow-ups (ca58cb5)
  • cliproxy: keep canonical codex model ids in settings (a81176d)
  • cliproxy: keep remote-proxy client under maintainability limit (88be99f)
  • cliproxy: normalize codex effort aliases without reasoning proxy (742b5ed)
  • cliproxy: normalize provider-aware Claude model IDs (6429781)
  • cliproxy: prevent false remote timeout on reachable proxy (34292ca)
  • cliproxy: split claude quota fetcher for maintainability gate (9371a72)
  • core: resolve edge cases and hardcoded drift (343ec95)
  • persist: add auto-approve permission flags (e3255e5)
  • persist: harden persist restore safety and edge cases (29cceb3)
  • persist: resolve CI gate and review test gaps (61bcd4d)
  • refactor: address PR review follow-up findings (6074fcb)
  • types: use type-only import for composite tier config (af6aa2d)

Documentation

  • cliproxy: add normalizer API usage examples (187c6f7)

Code Refactoring

  • core: centralize claude paths and command parsing (8d2ec86)

7.47.0 (2026-02-20)

Features

  • quota: add GitHub Copilot quota checks for ghcp and copilot (8d9d498)
  • thinking: complete thinking UX/DX for all providers (c48ed2e), closes #583

Bug Fixes

  • api: sanitize preset help text rendering (5b12ce7)
  • cliproxy: add Kimi model catalog, sync, and pricing to dashboard (3767b95), closes #581
  • cliproxy: add kimi-k2 pricing and kimi catalog tests (dd38df6)
  • cliproxy: address review feedback on kimi catalog (c73a26c)
  • cliproxy: harden provider alias and refresh edge cases (a71496c)
  • cliproxy: normalize codex model and provider routing (ecc4a3f)
  • cliproxy: warn gemini and agy users about issue 509 (476eabe)
  • delegation: strip CLAUDECODE env var to bypass nested session guard (4303ee4), closes #588
  • delegation: strip claudecode in core delegation spawn paths (50412dc), closes #588
  • execution: strip claudecode in remaining claude paths (8e57d59), closes #588
  • profile: close km legacy kimi compatibility gaps (0bf00b2)
  • profile: handle km compatibility for legacy kimi api users (cf8070b)
  • profiles: reset form state on preset transitions (14242b5)
  • quota: address ghcp review follow-ups (8201204)
  • spawn: sanitize claudecode in shared claude env builders (d25eda8), closes #588
  • test: pin real child_process passthrough refs (04e4e61)
  • test: prevent child_process mock cross-test leakage (5b164a6)
  • test: scope child_process mock to test lifecycle (873b7ad)
  • thinking: handle clear no-op and tighten override coverage (954baec)
  • thinking: harden codex reasoning controls across cli and dashboard (92e2ec1)
  • ui: harden cliproxy panel and proxy edge handling (c18adc9)
  • ui: harden provider preset/icon typing (b317717)
  • ui: make api profile dialog scrollable on small screens (faa610f)
  • ui: normalize ghcp quota tooltip and labels (2c5b2af)
  • ui: replace stale BASE_URL references in api client (5a78626)

Documentation

  • spawn: document claudecode env sanitization behavior (f2ffb81), closes #588

Code Refactoring

  • cliproxy: address review feedback on parity and refresh flow (39593c1)
  • cliproxy: centralize provider auth capability metadata (bd8daac)
  • cliproxy: resolve remaining review parity and cleanup nits (7e527af)
  • cliproxy: use shared default port in management paths (90b8d04)
  • commands: share cliproxy default port for setup and help (688f3e3)
  • presets: centralize shared provider preset catalog (21d6754)
  • ui: centralize default ports and add parity test (63f4221)
  • ui: centralize provider metadata and fallbacks (9ad8e64)
  • ui: centralize provider metadata for setup wizard (a53e6cb)
  • ui: replace remaining hardcoded port defaults (70116cb)
  • ui: unify api base path for cursor and copilot hooks (feb556d)
  • ui: use shared default proxy port in settings cards (5788ddc)

Tests

  • delegation: add regression coverage for claudecode stripping (80a84ed), closes #588

7.46.0 (2026-02-17)

Features

  • cliproxy: add Kimi as OAuth CLIProxy provider (08b2a67), closes #574
  • cliproxy: expose codex weekly reset schedule in quota views (4fc19c4)
  • cliproxy: rename kimi API preset to km, add kimi to UI (f451f4e)
  • cursor: harden daemon integration and model discovery (c639cef)
  • targets: add multi-target CLI adapter system (Droid support) (7d7054e)
  • targets: support CCS_DROID_ALIASES argv0 mapping (025218a)
  • ui: add Kimi provider logo with dark background (6961fb0)

Bug Fixes

  • cliproxy: add kimi to wizard constants and image analysis config (ddd5b15)
  • cliproxy: log unknown codex quota window labels (9031e5a)
  • core: prevent GLMT proxy leaks in child lifecycle (53e18d4)
  • cursor: fallback when requested model is unavailable (fae8716)
  • cursor: resolve review feedback and harden edge cases (4798741)
  • targets: close all remaining multi-target droid edge cases (0431adf)
  • targets: DRY signal handling, remove redundant guards, harden config manager (02af8d5)
  • targets: harden adapter lifecycle and droid model edge cases (3da3407)
  • targets: harden edge cases from parallel code review (3191a4a)
  • targets: run cleanup before adapter launch exits (812bb5c)
  • targets: snapshot active profiles during droid prune (15d6c06)
  • test: add kimi to provider tests, remove merge conflict marker (0fe195c)

Documentation

  • provider: clarify kimi base profile endpoint (e33164f)
  • targets: document built-in and env droid aliases (91edc95)

Styles

  • format source and test files (539afea)

Code Refactoring

  • cliproxy: DRY provider lists into single source of truth (94b03c7)

CI

  • ai-review: switch from CLIProxy to GLM API for code reviews (55ecbce)
  • ai-review: switch from CLIProxy to GLM API for code reviews (f81c562)

7.45.0 (2026-02-14)

Features

  • cursor-ui: restore Cursor dashboard UX and icon assets (7ab7a15), closes #555
  • cursor: sync model mapping across config and raw settings (7b73658), closes #555

Bug Fixes

  • cursor-settings: remove sync fs calls in settings sync (4f086aa)
  • cursor-ui: label cursor dashboard as beta (b40fe86)
  • cursor-ui: restore info card order and list scrolling (decdffe)

7.44.0 (2026-02-14)

Features

  • cliproxy: add CLI edit command for composite variants (43e73f3)
  • cliproxy: add composite variant CLI wizard (4926c20), closes #506
  • cliproxy: add composite variant runtime execution (44b30b8), closes #506
  • cliproxy: add composite variant type definitions (3d207fa), closes #506
  • cliproxy: add dashboard CRUD for composite variants (1ebd9f4)
  • cliproxy: add explicit start and restart commands (8395364)
  • cliproxy: add per-tier thinking config for composite variants (ed22c1a)
  • cliproxy: add provider error detection for composite fallback (478e9e8)
  • cliproxy: clarify codex effort mapping and preset UX (945db1d)
  • cliproxy: extend composite schema with fallback and thinking fields (20d6079), closes #506
  • cliproxy: implement composite variant CRUD and settings (c58fdc9), closes #506
  • cliproxy: wire composite variant into main execution flow (07bef9f), closes #506
  • codex: add gpt-5.3 preset defaults (7fddb63)
  • codex: keep gpt-5.2 catalog entry (d6aa1d9)
  • cursor: add auth module with SQLite auto-detect and types (56270d9), closes #519 #517
  • cursor: add config integration and dashboard routes (93dafa0)
  • cursor: add core protobuf encoder/decoder and executor (9daf943)
  • cursor: add daemon lifecycle, models catalog, and CLI commands (aaa31c6), closes #520 #521 #522
  • cursor: complete daemon wiring and add dedicated dashboard page (be9d7cf)
  • cursor: namespace FIELD constants and implement true streaming SSE (#531, #535) (4e5b502)

Bug Fixes

  • analytics: stabilize responsive row alignment (0cc1f11)
  • cli: add kiro auth-method flag wiring and help (e425f47), closes #552 #233
  • cliproxy: add circular fallback and empty model validation in API (ef77607)
  • cliproxy: add defensive null checks for composite tier config (0c7dc39)
  • cliproxy: add session check on delete and atomic settings writes (7486897)
  • cliproxy: address 3 code review issues in composite variants (399d7e1)
  • cliproxy: address 3 functional regressions in composite variants (61f46e7)
  • cliproxy: address 4 functional regressions in composite variants (27d22e8)
  • cliproxy: address code review feedback (attempt 1/5) (854b198)
  • cliproxy: address code review feedback (attempt 2/5) (ac574e0)
  • cliproxy: address code review feedback (attempt 3/5) (6cfbdd6)
  • cliproxy: address code review feedback (attempt 4/5) (4c002ca)
  • cliproxy: address lifecycle port and thinking regressions (f02e7dc)
  • cliproxy: align kiro auth methods with upstream contracts (fd46ad0), closes #552 #233
  • cliproxy: fix edit dialog empty model and composite guidance (8e6b67b)
  • cliproxy: fix thinking off regression and composite error handling (e914fe9)
  • cliproxy: harden composite validation and runtime safeguards (1a23f91)
  • cliproxy: harden composite variant routing and validation (0a8adb2)
  • cliproxy: harden kiro device-code auth flow consistency (826a42d)
  • cliproxy: improve multi-provider auth with continue-on-error pattern (6ff17d8)
  • cliproxy: keep daemon running after parent exit (3136f24)
  • cliproxy: keep variant updates atomic and persisted (7bb9ceb)
  • cliproxy: mark Kiro as device_code flow for dashboard auth (6c20839), closes #552
  • cliproxy: resolve merge-duplicate lifecycle handlers (9268c05)
  • cliproxy: restore POST tier validation and guard null payloads (a99180f)
  • cliproxy: strip thinking suffix in detectFailedTier matching (efd3f21)
  • cliproxy: unify codex reasoning flags and thinking flow (f9df3cf)
  • codex: align quota display to 5h and weekly windows (f8af5a8)
  • codex: infer code review cadence from reset window (1d2ee82)
  • codex: preserve sonnet high alias on variant model updates (3410c52)
  • codex: preserve xhigh default effort for gpt-5.3 (164d195)
  • codex: reduce quota timeout flakes in dashboard (b3d9dce)
  • codex: stabilize code review window labeling (40512fe)
  • codex: type cast provider in model update path (41d9978)
  • commands: await async command validation (b98335c)
  • config: serialize cursor section in generateYamlWithComments (4b7de69)
  • cursor: add enabled field to tests, simplify cursor routing (f9834c8)
  • cursor: add input validation on dashboard settings routes (1bebf16)
  • cursor: add resolve guard, port validation, and daemon tests (7d4e6d6)
  • cursor: add response body handling and size limit (36f0308)
  • cursor: add subcommand parity comment and raw settings TODO (4ca4a9d)
  • cursor: address CI gate and review regressions (0e55db8)
  • cursor: address code review edge cases in protobuf and executor (cc5a903)
  • cursor: address code review feedback (attempt 1/5) (31f5741)
  • cursor: address code review feedback on auth module (7e4f080)
  • cursor: address fourth-round review feedback for protobuf module (c5e8241)
  • cursor: address PR #527 review feedback (9f0ea25)
  • cursor: address PR #528 review feedback (d58e988)
  • cursor: address remaining LOW review items in protobuf module (f3d532a)
  • cursor: address remaining PR #527 review feedback (afb5e74)
  • cursor: address remaining PR #528 review feedback (b8aaa58)
  • cursor: address remaining review items in auth module (b412ba2), closes #526
  • cursor: address second-round review feedback for auth module (84a256d)
  • cursor: address second-round review feedback for protobuf module (e177a4b), closes #531 #531
  • cursor: address third-round review feedback for auth module (a8a68c9)
  • cursor: address third-round review feedback for protobuf module (66a93ee), closes #535
  • cursor: align daemon routes, add enabled field, handle bare command (6af7186)
  • cursor: clean up PID file on startDaemon failure and improve daemon robustness (cda037e)
  • cursor: clean up settings validation and route consistency (1e4cae3)
  • cursor: close ReadableStream controller on abort to prevent consumer hangs (36a67c4)
  • cursor: export missing symbols, eliminate subcommand sync risk, improve tests (9342387)
  • cursor: fix router fall-through, add daemon marker, use random test port (bfc9361)
  • cursor: fix test isolation and daemon exit handling (fe97d72)
  • cursor: guard raw-settings save race and enforce daemon preconditions (9a76f86)
  • cursor: harden auth security and add token expiry warning (aeb5802)
  • cursor: harden stopDaemon PID validation, tighten regex, add lifecycle test (760a5c3)
  • cursor: kill orphaned daemon on timeout and fix exit codes (88ad13e)
  • cursor: pass all args to handler, use getCursorConfig in routes (d7e0d1c)
  • cursor: save credentials after auto-detect and fix signal hang (9f9db7d)
  • cursor: show auto-detect error message, add subcommand sync comment (887efa4)
  • cursor: split daemon helpers to satisfy maintainability gate (08a3e0b)
  • cursor: tighten rate limit detection string matching (79ba1de)
  • cursor: use getCursorConfig(), fix help text and stub messages (2ba826b)
  • cursor: use process.execPath and add safeResolve to model fetcher (9478967)
  • cursor: use stdio ignore, sequential polling, move CursorConfig to types (ce19153)
  • cursor: validate fetch status before streaming fallback and register abort early (27badb2)
  • cursor: validate request body on settings endpoints (f5a912b)
  • format: align image analysis check with pinned prettier (ae83be1)
  • hardening: count executable sync fs call sites (d21b5c4)
  • hardening: handle regex literals after else/do (65a1d8a)
  • hardening: handle regex literals in sync-call scanner (bb9d846)
  • hardening: ignore literal text in sync-call metrics (8193e9d)
  • maintainability: enforce gate and correct loc metric (2610971)
  • maintainability: harden tracked scan and baseline checks (33e9a88)
  • maintainability: require git-tracked scan for gate (b7481cf)
  • maintainability: scan tracked src files for stable gate (8f0ba48)
  • test: avoid global ui mock leakage in shell completion tests (851f870)
  • ui: add method-aware kiro auth flow parity (6a21f39), closes #552 #233
  • ui: add trim validation for composite tier model fields (b6e1d0c)
  • ui: fix TypeScript error in composite edit dialog tier mapping (240dfe2)
  • ui: use default tier provider instead of hardcoded 'gemini' (f3618c5)
  • ui: use type-only import for KiroAuthMethod (e3f0860)
  • web-server: make kiro auth routes method-aware (577991c), closes #552 #233

Documentation

  • guidelines: add AGENTS symlink and neutral wording (fca5ca2)
  • kiro: document method-aware auth behavior (14dd341), closes #552 #233

Code Refactoring

  • cliproxy: centralize provider capability registry (924e368)
  • commands: add command contract and migrate shell completion (fc4b77b)

Tests

  • cliproxy: add composite variant v2 unit tests (e0ae5f2)
  • cliproxy: add regression coverage for update consistency (7dd4ce5)
  • cliproxy: add thinking suffix test and document exit 0 behavior (c35de7e)
  • cliproxy: stabilize path-sensitive CI test assertions (c9faf6c)
  • cliproxy: stabilize thinking override assertion (d28fb2c)
  • use getCcsDir() instead of os.homedir() for test isolation (ca7bb23)

7.43.0 (2026-02-11)

Features

  • cliproxy: add account safety guards to prevent Google account bans (#516) (e055dac), closes #509 #512
  • cliproxy: runtime quota monitoring during active sessions (#529) (c6c94a0), closes #524
  • glm: update default model to GLM-5 and fix all GLM pricing (3e26dee), closes #532

Bug Fixes

  • cliproxy: add fork:true for Claude model aliases in config generator (#523) (4065399), closes #522
  • cliproxy: address all review feedback (Low + informational) (7d049d8)
  • cliproxy: mask email in ban detection and fix JSDoc default (fcc605b)
  • cliproxy: migrate deprecated gemini-claude-* model names to upstream claude-* names (#515) (6afbb72), closes #513
  • glm: fix missed help text reference and glm-4.5-air pricing (7d9c538)
  • hooks: isolate image type check before error-prone processing (#514) (19de427), closes #511

7.42.0 (2026-02-11)

Features

7.41.0 (2026-02-11)

Features

  • config: add CCS_DIR env var and --config-dir flag for config directory override (7a0e6a4), closes #507
  • env: add ccs env command for third-party tool integration (2e85064), closes #503
  • update cliproxy, config loader, glmt transformer, and provider routes (8c6afe2)

Bug Fixes

  • cliproxy: prevent OAuth process hang on Qwen device code flow (086bf95), closes #314
  • cliproxy: strip Gemini-unsupported schema fields including "examples" (505d6d0), closes #155
  • config: dynamic health message, cache getters, static imports, cloud hint (706cca8)
  • config: lazy-evaluate paths, fix TOCTOU, segment-boundary cloud detection (d5abc7d)
  • config: migrate all hardcoded paths to getCcsDir() and improve validation (60d6bbd)
  • config: resolve remaining hardcoded paths and improve readability (c8800b4)
  • delegation: use exitCode instead of killed for process termination checks (4b1fcac)
  • env: add key sanitization and shell completions (76457a5)
  • env: add missing CLIProxy profiles to bash completion and shell validation (6d9351d)
  • env: address all PR review feedback (44b3152)
  • env: address P1-P3 review items from code review (3f5ecd4)
  • env: fix fish escaping, profile parsing, and add OPENAI_MODEL mapping (d5c03d1)
  • env: improve empty profile UX and consolidate shell validation constants (b96eacf)
  • env: sync CLIProxy profiles across all shell completions and improve error messages (a98f4a5)
  • env: use single quotes to prevent shell injection via eval (a5dc15d)
  • separate type-only exports and migrate test imports from dist/ to src/ (0483444)

Documentation

  • update local docs for ccs env command (38bd562)

Code Refactoring

  • config: DRY precedence logic, dynamic recovery messages, CCS_HOME cloud warning (9699e01)
  • utils: extract killWithEscalation to shared process-utils (90b4627)

Tests

  • cliproxy: add edge case coverage for Gemini schema sanitizer (917f0bb)
  • utils: add unit tests for killWithEscalation (dc9b276)

7.40.0 (2026-02-07)

Features

  • cliproxy: add hybrid catalog sync with CLIProxyAPI (#485) (c8a0995), closes #477
  • cliproxy: delegate kiro/ghcp token refresh to CLIProxyAPIPlus (#488) (215c00e), closes #487

Bug Fixes

  • cliproxy: disable 1M extended context for opus 4.6 (256k limit) (#492) (43cd19a), closes #490
  • cliproxy: guard against empty upstream SSE responses in agy profile (#489) (545c8b9), closes #350
  • hooks: add image analysis env vars for settings-based profiles (#484) (b0dff7a), closes #440
  • teams: propagate CLAUDE_CONFIG_DIR to tmux session for agent teammates (db88290)

Code Refactoring

  • cliproxy: check lifecycle events in remaining SSE buffer (42a3eb1)
  • cliproxy: deduplicate message_delta/message_stop in synthetic SSE response (152f543), closes #491
  • cliproxy: extract SSE lifecycle tracker and add backpressure handling (1b3440b)
  • teams: use spawnSync array args instead of execSync string (0f7d5f9)

7.39.0 (2026-02-07)

Features

7.38.0 (2026-02-07)

Features

7.37.1 (2026-02-05)

Bug Fixes

  • cliproxy: fix discoverExistingAccounts test failures (759f289)
  • ui: display device code for GitHub Copilot OAuth in Dashboard (13f6c3f), closes #460

Code Refactoring

  • cliproxy: modularize top 4 giant files (b149e25)
  • ui: address PR review feedback for device code auth (a08d0cf)

7.37.0 (2026-02-05)

Features

  • oauth: add interactive mode prompt for VPS/headless environments (7a1b4d6), closes #461
  • oauth: add interactive mode prompt for VPS/headless environments (#462) (2777202), closes #461

Bug Fixes

  • auth: show command checks unified config for accounts (0e140f8), closes #458
  • cliproxy: add NO_PROXY support and error handling for proxy URLs (bcde5f4)
  • cliproxy: respect http_proxy env vars for binary downloads (9c527b7), closes #266
  • cliproxy: sanitize MCP tool input_schema to remove non-standard properties (#459) (f8c179f), closes #456
  • dashboard: delete accounts from unified config mode (8d5f7d2), closes #455
  • doctor: use cmd.exe compatible quoting for Windows shell execution (ff92c66)
  • shell: escape ! for cmd.exe delayed expansion (61bc54a)
  • shell: escape cmd.exe special chars (%, ^, newlines) (ed91f21)
  • ui: allow backend switching in remote mode (28e776d), closes #463

Tests

  • cliproxy: add comprehensive proxy support unit tests (713ee93)
  • shell: add unit tests for escapeShellArg (48aa3cc)

7.36.0 (2026-02-04)

Features

  • detector: add Windows native installer fallback detection (3336736), closes #447

Bug Fixes

  • detector: use expandPath helper and add tests (7f83a7d), closes #449 #447
  • hooks: deduplicate WebSearch hooks when saving via Dashboard (57d4b04), closes #450
  • ui: prevent settings tab truncation with grid layout (bfb2a06)

Tests

  • add stress test and PostToolUse preservation tests (2fe6c33), closes #452
  • glmt: increase timeout for retry-logic tests on CI (aa83b4d)
  • uploader: fix flaky timeout test with 5ms tolerance (36c5605)

7.35.1 (2026-02-04)

Bug Fixes

  • cliproxy: use os.homedir() for cross-platform path expansion (39f77bd), closes #445

7.35.0 (2026-02-04)

⚠ BREAKING CHANGES

  • hooks: config.yaml image_analysis section now uses provider_models instead of providers/model fields.

Provider-to-model mappings:

  • agy → gemini-2.5-flash
  • gemini → gemini-2.5-flash
  • codex → gpt-5.1-codex-mini
  • kiro → kiro-claude-haiku-4-5
  • ghcp → claude-haiku-4.5
  • claude → claude-haiku-4-5-20251001

Hook checks CCS_CURRENT_PROVIDER against provider_models and skips if no vision model configured for that provider.

Features

  • hooks: add ANTHROPIC_MODEL fallback for image analysis (ae3eb28)
  • hooks: add block-image-read hook to prevent context overflow (38eb740), closes #426
  • hooks: add image/PDF analysis via CLIProxy transformer (d5f2aca), closes #426
  • hooks: add UX improvements for image analysis hook (2b0717e)
  • hooks: extend image analyzer to all CLIProxy providers (3252228)
  • hooks: inject image analyzer hooks into all profile types (a8ddf8b)
  • hooks: skip image analyzer for Claude Sub accounts (26f4021)
  • ui: improve settings page UX and responsiveness (4d87a64)

Bug Fixes

  • backup: create backups only when settings content changes (c324e92), closes #433
  • checks: use configurable CLIProxy port in health check (bfb5350)
  • cli: improve network handling and shell escaping (3c1cf91)
  • config: remove unused forceReload parameter in showStatus (8dfd9e9)
  • delegation: dynamic model display from settings (f6b7045), closes #431
  • glmt: gate retry rate limit logs behind verbose flag (73824bc)
  • hooks: add defensive validation for env var generation (9662490)
  • hooks: add edge case validation in image analyzer (0e7b9c9)
  • hooks: add network errors to noRetryPatterns, update E2E test (1201b4b)
  • hooks: enable image-read blocking by default for third-party profiles (9f3edc5)
  • hooks: improve error handling and edge cases for image analysis (cb8de2c)
  • hooks: improve image analysis output format (70caaa0)
  • ui: add missing animate property to connection indicator (57f7a70)
  • update: pre-remove package on Windows bun before reinstall (a55e0af), closes #435

Documentation

  • update documentation for v7.34 release (c6be09b)

Code Refactoring

  • hooks: consolidate getCcsHooksDir to config-manager (b014c4e)
  • hooks: deprecate block-image-read, add CLIProxy fallback (51b719e), closes #442 #426
  • hooks: use provider_models mapping for image analysis (40caff1)

Performance Improvements

  • config: replace busy-wait with Atomics.wait in lock retry (ec4e1ae)

7.34.1 (2026-02-03)

Bug Fixes

  • dashboard: cross-browser OAuth with manual callback fallback (#417) (#423) (24b0312)
  • dashboard: detect popup blocked during OAuth flow (441870d)
  • jsonl: add explicit UTF-8 BOM stripping (09b5239)
  • quota: add explicit 429 rate limit handling (e596ab4)
  • quota: improve 403 error messaging for forbidden accounts (5a308db)
  • websearch: add type guards and deduplication for global settings (847aad0)
  • websearch: normalize double-slash paths in hook detection (66f5fe6)
  • websearch: normalize Windows path separators in hook detection (d61c940)
  • websocket: add maxPayload limit to prevent DoS attacks (4fd2f60)

Code Refactoring

  • oauth: align box chars with CCS standard and add JSDoc (258220b)
  • websearch: extract shared hook utils to DRY module (1f8d9b8), closes #420

Tests

  • websearch: add unit tests for hook-utils module (deb6249)

7.34.0 (2026-02-01)

Features

  • glmt: add rate limit resilience with exponential backoff retry (3afdcea), closes #402

Bug Fixes

  • claude: update base config to Claude 4.5 model IDs (09dd701)
  • cliproxy: load WebSearch hooks via --settings flag (7aaf568), closes #412
  • glmt: add env var validation and max delay cap (67a8e2c)
  • glmt: extract Retry-After from HTTP headers and cap maxRetries (62ac3e2)
  • sync: prevent duplicate backup folders on Windows (a8b0547), closes #409
  • update: add line-buffering and unit tests for stderr filter (b39726f)
  • update: filter npm cleanup warnings on Windows (c9f8ed1), closes #405

7.33.0 (2026-01-30)

Features

  • cliproxy: add backend caching and reauth indicator for quota endpoints (7947a7a)
  • cliproxy: add Codex/Gemini quota API routes (2f5a50b)
  • cliproxy: add proactive token refresh for Gemini quota (match AGY pattern) (606bb72)
  • ui: add Codex/Gemini quota API client and hooks (19a57c3)
  • ui: display Codex/Gemini quota in dashboard (387c010)

Code Refactoring

  • ui: address code review feedback (32ef233)
  • ui: extract duplicated quota helpers to shared utils (8ce7495), closes #400
  • ui: extract shared QuotaTooltipContent component (eeb0dde)

Tests

  • quota: add extensive test suite for quota caching system (3df2619)
  • ui: add comprehensive tests for quota utility functions (0b8635d)

7.32.0 (2026-01-30)

Features

  • cliproxy: add ToolSanitizationProxy for Gemini 64-char limit (6363350), closes #219

Bug Fixes

  • cliproxy: address PR #399 review suggestions (98b7f6f)
  • cliproxy: route proxy logs to file instead of stderr (4d292c6)

Code Refactoring

  • cliproxy: address PR review suggestions (d86c531)

Tests

  • cliproxy: add integration tests for ToolSanitizationProxy (bf19002)

7.31.1 (2026-01-29)

Bug Fixes

  • cliproxy: read Gemini tokens from CLIProxy auth directory (9d96535), closes #368

Code Refactoring

  • cliproxy: address code review feedback for token handling (cddf931), closes #396

7.31.0 (2026-01-29)

Features

  • cliproxy: add multi-provider quota display for Codex and Gemini CLI (30e611f)

Bug Fixes

  • cliproxy: resolve regex escape bug and complete DRY refactor (38ba6a9), closes #395
  • config: add missing base-claude.settings.json (643232f)

Code Refactoring

  • cliproxy: extract shared auth utils and remove unused parameter (e31d00f), closes #395

Tests

  • cliproxy: add unit tests for quota fetchers and auth utilities (ad8327d), closes #395

7.30.1 (2026-01-29)

Bug Fixes

  • cliproxy: update Claude model catalog to latest CLIProxy models (d238a5d), closes #392
  • copilot: update fallback model ID to match catalog default (2501843)

7.30.0 (2026-01-28)

Features

  • cliproxy: add auto_sync config option (fc23afd)
  • cliproxy: add granular account tier prioritization (ultra/pro/free) (aeb9abc), closes #387
  • cliproxy: add local config sync module (9de2682)
  • cliproxy: add Management API client for CLIProxy (4cc89ea)
  • cliproxy: add sync and alias CLI commands (cb6c212)
  • cliproxy: add sync API routes (56500fe)
  • cliproxy: auto-sync on profile create (b2ba402)
  • cliproxy: enable auto_sync by default (28b0e89)
  • ui: add CLIProxy sync components (75a4e68)
  • ui: add granular account tier types (pro/ultra/free) (890fd14)
  • ui: add tier badges to account cards (31a91f6)
  • ui: add toast feedback for sync actions (f972a4e)
  • ui: allow custom model names in Quick Setup wizard (ab9bbed)
  • ui: mount SyncStatusCard to CLIProxy page (afa3bda)

Bug Fixes

  • cliproxy: address edge cases in sync module (9924b2f)
  • cliproxy: address PR review feedback (4967693)
  • cliproxy: address sync review feedback (e80d2d2)
  • cliproxy: correct sync terminology and add unit tests (c3f85bc)
  • cliproxy: harden sync against edge cases (bbad73b)
  • cliproxy: improve sync robustness and consistency (4124780)
  • cliproxy: preserve config comments during sync (68a63a7)
  • cliproxy: use paidTier for account tier detection instead of allowedTiers (de23029)
  • ui: add scroll boundary for account list in Quick Setup (85aa747)
  • ui: fix account card layout overflow (87cced8)
  • ui: update sync card for local sync design (e2b9c46)

Code Refactoring

  • cliproxy: remove model alias functionality (32dbd5e)
  • ui: merge sync into ProxyStatusWidget (3761634)

Tests

  • cliproxy: add management-api-client unit tests (6611142)

7.29.0 (2026-01-28)

Features

  • cliproxy: add Claude (Anthropic) OAuth provider support (28d8bd8), closes #380
  • skip local OAuth when using remote proxy with auth token (1f5d119)

Bug Fixes

  • add claude provider to statsProviderMap, UI types, and provider arrays (4a2abc7)
  • cliproxy: add Claude to all provider lists for sidebar display (d212995)
  • cliproxy: address PR review feedback (2091a90), closes #D97757
  • cliproxy: improve skip-local-auth edge case handling (21e819b)
  • cliproxy: use correct --claude-login flag for Claude OAuth (8017ce8), closes #382
  • replace hardcoded provider validation arrays with CLIPROXY_PROFILES import (9cd9c42), closes #382
  • test: use correct provider name 'ghcp' instead of 'copilot' (838cd1d)
  • ui: add iFlow to PROVIDER_ASSETS + sync validation test (5c62e06), closes #384
  • ui: truncate long account emails in provider editor (a9c5520)

Code Refactoring

  • cliproxy: reorder providers - Antigravity first, then Claude (b385ab1)
  • cliproxy: use CLIPROXY_PROFILES for provider arrays (DRY) (9fd9395), closes #384
  • oauth: derive auth-code providers from OAUTH_FLOW_TYPES (DRY) (c713d48), closes #384
  • ui: centralize provider list in provider-config.ts (DRY) (5a4c8e0)

7.28.2 (2026-01-27)

Bug Fixes

  • websearch: add shell option for Windows spawnSync compatibility (3c534f4), closes #378

7.28.1 (2026-01-26)

Bug Fixes

  • cliproxy: pin version to 6.7.25, add disable-cooling (fb77d72)
  • websearch: stop polluting global ~/.claude/settings.json with hooks (0216341)

7.28.0 (2026-01-26)

Features

  • cli: implement --uninstall handler (c44a5c2)
  • cli: inject hooks into profile settings on launch (0099ab5)
  • npm: add postuninstall script (4f28de9)
  • websearch: add per-profile hook injection module (242ab76)
  • websearch: add removeHookConfig function (9159aa5), closes #317
  • websearch: call removeHookConfig on uninstall (fc4d987)
  • websearch: inject hooks on profile creation (fca8dbd)

Bug Fixes

  • address PR #373 review feedback (e98a92f)
  • address PR review feedback (cd7a112)
  • config: persist setup_completed flag to YAML file (a8c46cc)
  • isolation: add getCcsDir/getCcsHome to more files (6a2c829)
  • isolation: use getCcsDir() for test isolation (9b61f53)
  • setup: persist setup_completed flag to prevent repeated first-time notice (85e41a5)
  • websearch: use getCcsDir() for test isolation (b33674b)

Code Refactoring

  • uninstall: stop modifying global settings.json (ba1fb7e)
  • websearch: address PR review recommendations (21b18d0)

Tests

  • setup: add unit tests for setup_completed flag detection (596a9c6)
  • uninstall: add hook cleanup tests (6838ac0)
  • uninstall: update tests for per-profile hook behavior (ce59eb6)

7.27.0 (2026-01-25)

Features

  • ui: add bulk account controls to provider editor (1427d36)
  • ui: add expandable provider cards with account controls (87226e0)
  • ui: add tiered visual grouping to quota tooltip (ebfc554)
  • ui: add visible pause toggle button to account item cards (56dfb24)
  • ui: persist provider selection in cliproxy and auth-monitor (7fc9ff0)

Bug Fixes

  • api: add race condition prevention and input validation for account control (d1b579a)
  • hooks: add stats invalidation to account control mutations (7086617)
  • quota: fetch quota for paused accounts + simplify exhausted display (27e8813)
  • quota: return exhausted models with resetTime from API (e3920e0)
  • ui: add pause toggle to flow viz account cards, remove dropdown redundancy (56dfada)
  • ui: display exhausted Claude/GPT models in quota tooltip (ce16517)
  • ui: improve bulk actions UX in provider editor (6021c10)
  • ui: improve model quota tooltip tier sorting (de71381)
  • ui: improve pause toggle position in flow-viz account cards (eb05342)
  • ui: improve tier header contrast in quota tooltip (41d17e7)
  • ui: remove dead 'Account is paused' error handling from flow-viz (a84cc03)
  • ui: show 0% quota when Claude/GPT models exhausted (1f323f0)
  • ui: show Claude reset time for quota display (not earliest) (9516e71)
  • ui: simplify quota tooltip - delimiter lines only, full model names (b2b8a85)

Code Refactoring

  • ui: update cliproxy page for account control flow (118ce46)

7.26.3 (2026-01-24)

Bug Fixes

  • cliproxy: propagate backend parameter to version check functions (2a0efbd)
  • tests: address edge cases in mock infrastructure (2b91c40)
  • tests: remove undefined MockRoute export and unused imports (aaa6feb)

Documentation

  • clarify no-emoji rule applies only to CLI terminal output (0902211)

Performance Improvements

  • tests: replace real network ops with mock infrastructure (5c83429)

7.26.2 (2026-01-23)

Bug Fixes

  • display correct project names in session stats (8ee87c7), closes #348 #103
  • glmt: respect user-configured model instead of hardcoding glm-4.6 (bd343f3), closes #358
  • resolve test import paths and vi.mock hoisting issues (84ec434)
  • ui: display correct project names in session stats (01f9610), closes #348 #103

Tests

7.26.1 (2026-01-23)

Bug Fixes

  • cliproxy: complete backend param propagation per code review (388ab69)
  • cliproxy: complete backend switching with proper binary extraction (2794a54)
  • cliproxy: make backend switching work with version pins and status (628148c)
  • cliproxy: make version cache backend-specific for proper switching (a41fd2a)
  • cliproxy: use backend-aware labels in error messages and API (f0c845c)
  • cliproxy: use backend-specific GitHub repos for version fetching (0a1cbcc)
  • ui: add backend fields to CliproxyUpdateCheckResult type (c916356)
  • ui: align alert icon vertically with text when using py-2 (0511c5e)
  • ui: correct warning text to reference Instance Status section (46e75e2)
  • ui: display dynamic backend label in dashboard (dad4349)
  • ui: integrate ProxyStatusWidget in Settings & block backend switch when running (6458173)
  • ui: prevent race conditions during backend switch (498175e)
  • ui: sync backend state across all CLIProxy UI components (88560c7)

7.26.0 (2026-01-23)

Features

  • add Ollama provider support (bd3be23)
  • ui: add Ollama logo and make API key optional (2cb77f2)
  • ui: add Ollama provider presets to dashboard (2b7d18c)
  • ui: add provider logos for alternative API presets (5074122)

Bug Fixes

  • api: skip API key prompt for local Ollama preset (ef2c8bb)
  • api: skip API key prompt for local Ollama using noApiKey flag (dc6977d)
  • ollama: align property naming and descriptions (3ce698c)
  • presets: make requiresApiKey required boolean, add sentinel docs (8e29c48)

Documentation

  • add Ollama to Built-in Providers table and usage examples (c9604be)

7.25.0 (2026-01-22)

Features

  • api: add /api/thinking endpoints for budget config (9a2598f), closes #307
  • cli: add --thinking flag for runtime budget override (4d361b2), closes #307
  • cliproxy: add model-specific reasoning effort caps (eec44d5), closes #344
  • cliproxy: add thinking budget validator module (82ef680), closes #307
  • cliproxy: add ThinkingSupport to model catalog (ebf7e04), closes #307
  • cliproxy: inject thinking suffix into model config (014b5e6), closes #307
  • config: add ThinkingConfig to unified config (0c2fd9c), closes #307
  • thinking: improve config validation and codex support (19b7a49)
  • ui: add Thinking settings tab to dashboard (0a95f36), closes #307

Bug Fixes

  • api: add optimistic locking for thinking config (ba19e1f)
  • api: add override type and provider_overrides validation (31b9520)
  • api: add type guard for tier_defaults and extract tiers constant (299d96c), closes #351
  • cli: add --thinking=value format and improve flag handling (3060373)
  • cliproxy: add case-insensitive model lookup (36bcc04)
  • cliproxy: add NaN/Infinity and empty string validation (5f8d23c)
  • cliproxy: handle edge cases in thinking validation (ca490a9)
  • cliproxy: improve thinking flag validation and warnings (d5652de)
  • config: add null guard and document nested paren limitation (19e5239)
  • config: improve YAML error messages and thinking validation (f7cc9f4)
  • ui: add fetch timeout and abort controller cleanup (b634f36)
  • ui: add missing useThinkingConfig export to barrel file (b996153)
  • ui: add provider indicator, retry button, and optimistic locking (35f28a6)
  • ui: add spacing between Port label and input field (1eeb8f9)
  • ui: add thinking tab to URL sync conditional (3ea549a)
  • ui: reduce excessive AGY quota API requests (c8c1894)

Documentation

  • cli: add extended thinking section to help (7c5f365)

Tests

  • cliproxy: add unit tests for thinking validator (3bd3e37), closes #307
  • update tests for codex catalog inclusion (fbb71a2)

7.24.2 (2026-01-18)

Bug Fixes

  • ci: disable track_progress for workflow_dispatch events (65c325d)

7.24.1 (2026-01-18)

Bug Fixes

  • ci: use placeholder API key to pass claude-code-action validation (a83a87b)

7.24.0 (2026-01-18)

Features

  • cliproxy: add backend selection for CLIProxyAPI vs CLIProxyAPIPlus (8ade4a6)

Bug Fixes

  • cliproxy: address PR review issues for backend selection (a019ed2)

Documentation

  • add Docker support documentation (90bced9)

Code Refactoring

  • ci: simplify ai-review to use claude-code-action directly (5e22547)
  • ci: simplify ai-review to vanilla claude-code-action (bdfc409)

7.23.0 (2026-01-18)

Features

  • docker: add Docker/Compose setup for CCS dashboard (a14c7f3)

Bug Fixes

  • docker: address security and reproducibility issues (b386410)
  • docker: use bun 1.2.21 (1dee718)

7.22.0 (2026-01-15)

Features

  • cliproxy: add HTTPS tunnel for remote proxy mode (#1) (9e9cbd4)
  • dashboard: add project_id display for Antigravity accounts (ed2ce13)
  • dashboard: show projectId warning in Live Account Monitor (28b0faa)

Bug Fixes

  • address PR #4 review - HTTPS tests and timeout handling (e055890)
  • address PR #4 review suggestions (c3bfa34)
  • cliproxy: add try-catch for file operations in pause/resume (d87a653)
  • cliproxy: move token files when pausing/resuming accounts (9d2442f), closes #337
  • cliproxy: show clear message for paused accounts in Live Monitor (a931bc9)
  • cliproxy: use sibling auth-paused/ dir to prevent token refresh loops (4d31128)
  • dashboard: harden projectId handling with edge case fixes (bc02ecc)
  • dashboard: update projectId for existing accounts during discovery (36367d4)
  • increase timeout in connection tracking test for CI (e7e95e6)
  • make connection tracking test deterministic (b735234)
  • resolve CI test timing and merge conflict with dev (504b1b3)
  • ui: improve paused account display in Live Account Monitor (502b30a)

7.21.0 (2026-01-14)

Features

  • dashboard: implement full parity UX improvements (bd5e9d2)

Bug Fixes

  • dashboard: address code review feedback for PR #336 (e808972)
  • dashboard: resolve 6 critical security and UX edge cases (623a314)
  • dashboard: resolve edge cases in backup restore and settings UI (2e45447)
  • persist: add rate limiting, tests, and code quality improvements (7b80dcc), closes #339

Documentation

  • update minimax preset references to 'mm' (eee62a4)

7.20.1 (2026-01-14)

Bug Fixes

  • ci: expand ai-review allowedTools to prevent token waste (ac7b324)
  • cliproxy: address PR review feedback (04c9b08)
  • cliproxy: return null for unknown quota, add verbose diagnostics (1ac1941)
  • deps: add express-rate-limit to production dependencies (d9631be), closes #333

7.20.0 (2026-01-14)

Features

  • config: add ccs config auth CLI subcommand (39c1ee2), closes #319
  • dashboard: add optional login authentication (#319) (464b410)
  • persist: add --list-backups and --restore options for backup management (ef7e595)
  • persist: add backup management for settings.json (#312) (3ac687e), closes #248

Bug Fixes

  • auth: add security hardening per code review (a3a167e)
  • auth: move redirect to useEffect and validate bcrypt hash format (37e3468)
  • ci: add full CLIProxy env vars for AI review (7cfd3c1)
  • ci: add Write tool to allowedTools for PR comment posting (e7dca48)
  • persist: harden security and edge case handling (#328) (397331e), closes #312
  • ui: use wss:// for WebSocket on HTTPS pages (#315) (db58c6b)

7.19.2 (2026-01-13)

Bug Fixes

  • ci: expand allowedTools patterns for flexible comment posting (0a27c6a)

7.19.1 (2026-01-13)

Bug Fixes

  • ci: update allowedTools pattern to prevent token waste on retries (edec6f6)

7.19.0 (2026-01-13)

Features

  • doctor: add --help flag with comprehensive command documentation (22c7d4a)

Bug Fixes

  • ci: prevent AI review self-cancellation with smart concurrency (25d31ce)
  • ci: trigger AI review on follow-up commits to PR (a2a13fb)

7.18.3 (2026-01-13)

Bug Fixes

  • ci: simplify AI review workflow by disabling progress tracking (4ef2d48)
  • ci: simplify AI review workflow by disabling progress tracking (#323) (39b37ca)

7.18.2 (2026-01-13)

Bug Fixes

  • ci: isolate concurrency groups by comment author (3163509)
  • ci: isolate concurrency groups by comment author (#322) (1d33012)

7.18.1 (2026-01-13)

Bug Fixes

  • ci: add explicit instruction to post review as PR comment (85f6bc0)
  • ci: exclude bot comments from triggering AI review (ce70617)
  • ci: prevent self-cancelling AI review workflow (120aca4)
  • ci: prevent self-cancelling AI review workflow (#321) (fa1899f)
  • delegation: improve profile discovery and CI workflow (#310) (affdaea)
  • delegation: only check profiles defined in config.yaml (0075248)
  • doctor: use dynamic profile discovery for delegation check (f88ad8e)
  • ui: improve sidebar navigation for collapsible menu items (12b68f9)
  • ui: improve sidebar navigation for collapsible menu items (#313) (e2e2ecd)

7.18.0 (2026-01-08)

Features

  • codex: inject OpenAI reasoning.effort per tier (204eea0)

Bug Fixes

  • ci: only auto-review on PR opened, not synchronize (6f65697)
  • cliproxy: remove stable version cap, only v81-88 are faulty (0abd021)
  • codex-proxy: security hardening and edge case fixes (87cfcc5)

Styles

  • ci: enhance ai-review prompt with rich emoji formatting (6dcc8b2)

7.17.0 (2026-01-08)

Features

Bug Fixes

  • ci: only auto-review on PR opened, not synchronize (211e642)

7.16.0 (2026-01-08)

Features

Bug Fixes

7.15.0 (2026-01-06)

Features

  • api: add pause/resume account endpoints (c13003d), closes #282
  • cli: add pause, resume, status subcommands (cfd8dd9), closes #282
  • cliproxy: add hybrid quota management core (11ffca3), closes #282
  • cliproxy: integrate pre-flight quota check (10e3eec), closes #282
  • ui: add pause/resume API hooks (b92a35d), closes #282
  • ui: add pause/resume toggle and tier badges (4ad7292), closes #282

Bug Fixes

  • cliproxy: harden nickname validation and race condition handling (5970e70)
  • cliproxy: prevent race in promptNickname close handler (107e281)
  • cliproxy: update lastUsedAt on normal execution (b55cd79)
  • cliproxy: use nickname as accountId for kiro/ghcp providers (d96c67b), closes #258 #267
  • quota: address edge cases from code review (a32fdc8), closes #30 #31 #8 #26
  • quota: correct tier detection - remove 2.5-pro from ultra indicators (0af185f)
  • quota: handle 'standard-tier' as free in tier mapping (a5f1472)
  • quota: use API tier detection instead of model-based heuristics (aad0d44)

Documentation

  • CLAUDE.md: add help location reference and documentation requirements (113cc06)
  • cli: add cliproxy pause/resume/status to --help (4b7328b)
  • update documentation for CCS v7.14.x with quota management (ec4c2c2)

Code Refactoring

  • quota: simplify AccountTier to free|paid|unknown (db071e2)

7.14.0 (2026-01-06)

Features

  • agy: add preflight quota check with auto-switch (c85ff74)
  • agy: promote gemini-claude-sonnet-4-5 as default Haiku model (c9cdfd9), closes #270
  • cliproxy: add background token refresh worker (f98bb24)
  • cliproxy: add dashboard UI parity for version stability (c5621da), closes #269
  • cliproxy: add doctor subcommand for quota diagnostics (944f5c0), closes #252
  • cliproxy: add version management UI with install/restart controls (a69b2e9)
  • dev: add symlink setup for testing dev version (981cef8)
  • quota: add fetchAllProviderQuotas and findAvailableAccount (24847f5), closes #252
  • ui: add stability warning to ProxyStatusWidget (8a56a43)

Bug Fixes

  • agy: edge case handling for quota failover (5b58bd3)
  • cliproxy: add edge case handling for version capping (212aef8)
  • cliproxy: add missing OAuth callback ports for codex, agy, iflow (cfe604a)
  • cliproxy: cap auto-update to v80 due to v81+ context bugs (869ab3e), closes #269
  • oauth: add stdin keepalive to prevent blocking on manual URL prompt (0557f93)
  • oauth: harden cleanup for edge cases in auth process (472497f)
  • shared-manager: normalize plugin registry paths to canonical ~/.claude/ (1067afb), closes #276
  • ui: add missing isStable and maxStableVersion to type (4fd4d6c)
  • ui: clean up ProxyStatusWidget layout spacing (4f69abb)
  • ui: update/downgrade button now installs correct version (48d4a96)
  • websearch: use 'where' command on Windows for CLI detection (e03d9b7), closes #273

Documentation

  • agy: add quota management and failover documentation (8ea1e33)

Code Refactoring

  • ui: redesign ProxyStatusWidget with two-state UX (8072b93)

7.13.1 (2026-01-05)

Bug Fixes

  • cliproxy: add management_key support for remote proxy auth separation (0e58d0e)
  • cliproxy: add missing kiro/ghcp provider mappings in remote-auth-fetcher (dea0e87)
  • cliproxy: extract unique accountId from token filename for Kiro/GHCP (7bb7ccc), closes #258
  • cliproxy: proactive token refresh to prevent UND_ERR_SOCKET (a6a653f), closes #256
  • validation: add Windows reserved name validation and version format edge cases (ae1847d)

7.13.0 (2026-01-03)

Features

  • minimax: Add full MiniMax M2.1 support (bd5c9a0)
  • minimax: Add mm profile and migration support (267599d)

Bug Fixes

  • accounts: integrate CLIProxy OAuth accounts into API endpoint (eebcb7b)
  • migrate: Add rename-profile flag handling (4dace51)
  • minimax: Add MiniMax placeholder to DEFAULT_PLACEHOLDERS (46e0995)
  • minimax: prevent double-resolve race condition and align placeholder (a59ad0e)
  • minimax: restore migrate-command, remove broken migration file, fix validator typo (c48f798)

Documentation

  • minimax: Update review_pr.md with fix status (5d34bd6)

Code Refactoring

  • api-key-validator: extract shared validation logic, remove unnecessary comments (a00cf36)
  • minimax: Rename to 'mm' for brevity (2b549f5)

7.12.2 (2026-01-01)

Bug Fixes

  • cliproxy: add kiro/ghcp provider mappings to discoverExistingAccounts (4386e91), closes #242
  • ui: show min Claude quota instead of avg all models (a011908)

Tests

  • cliproxy: add unit tests for discoverExistingAccounts (43f1a98)

7.12.1 (2026-01-01)

Bug Fixes

  • cliproxy: add comprehensive port validation across proxy system (e0a1f8f)
  • cliproxy: filter undefined config values to preserve defaults (4c35e8a)

7.12.0 (2026-01-01)

Features

  • cliproxy: add --allow-self-signed flag for HTTPS connections (#227) (709976e)
  • delegation: add Claude Code CLI flag passthrough (6b74243), closes #89
  • release: CLI flag passthrough, proxy fixes, and UI improvements (#239) (b3ef76a), closes #228 #89 #234 #227

Bug Fixes

  • cliproxy: pass variant port to executor for isolation (e58afd7), closes #228
  • cliproxy: propagate port in unified config and UI preset handlers (2625389)
  • cliproxy: use correct default port (8317) for remote HTTP connections (76aab09)
  • prompt: add stdin.pause() to prevent process hang after password input (f30d0c1)
  • ui: enable cancel button during OAuth authentication (86200eb), closes #234

Tests

  • delegation: add comprehensive CLI flag passthrough tests (d5e485b)

7.11.1 (2025-12-29)

Bug Fixes

7.11.0 (2025-12-29)

Features

  • cliproxy: add --proxy-timeout CLI option (#220) (4cd9bec)

7.10.0 (2025-12-29)

Features

  • cliproxy: add account quota display for Antigravity provider (205b5ab)
  • error-logs: extract model and quota reset info from error logs (e3a71fc)
  • quota: add OAuth token refresh for independent quota fetching (4be8e92)
  • quota: implement proactive token refresh (5-min lead time) (00597b3)
  • ui: replace misleading token expiry with runtime-based status (6ccf6c5)

Bug Fixes

  • cliproxy: resolve merge conflicts and add edge case fixes (7861b63)
  • error-logs: fix endpoint regex for v1/messages URL format (19550b2)
  • quota,error-logs: match CLIProxyAPI headers and enhance error log display (ac6f382)
  • quota: add unprovisioned account detection with actionable message (ecfdcde)
  • quota: remove misleading token expiration check in quota fetcher (739270a)
  • ui: remove duplicate provider prop in ModelConfigTab (3531991)
  • ui: replace misleading 'Expires' with 'Last used' in credential health (4233415)

7.9.0 (2025-12-27)

Features

  • dashboard: add Import from Kiro IDE button (5f59d71)
  • ui: add auth profile management to Dashboard (fa8830e)

Bug Fixes

  • cliproxy: ensure version sync after binary update (29f1930)
  • config: use safe inline logic in getSettingsPath() legacy fallback (a4a473a)
  • dashboard: support unified config.yaml in web server routes (0c69740), closes #206
  • improve type safety and error handling in config-manager (8a3c5a4), closes #215
  • kiro: add fallback import from Kiro IDE when OAuth callback redirects (add4aa5), closes #212
  • run RecoveryManager before early-exit commands and improve config handling (0be3977), closes #214
  • test: remove redundant build from beforeAll hook (67a48a8)
  • tests: update test files for renamed getCliproxyConfigPath function (ec2ee0a)
  • wrap RecoveryManager in try-catch to prevent blocking CLI commands (2fff770), closes #215

Documentation

  • update design principles and add feature interface requirements (c200334)

7.8.0 (2025-12-26)

Features

  • api: add auth tokens REST endpoints (ffd4996)
  • cli: add tokens command for auth token management (0c6491c)
  • cliproxy: add customizable auth token manager (c4f0916)
  • cliproxy: add variant port isolation for concurrent proxy instances (0bcaf4b)
  • ui: add auth tokens settings tab (71335a6)
  • ui: add Settings link to control panel key hint (7a6341f)

Bug Fixes

  • cliproxy: use auth inheritance in stats-fetcher and config-generator (133aeba)
  • dashboard: read accounts from unified config (8d7845d), closes #203
  • dashboard: support unified config across health checks and settings (9722e19), closes #203
  • dashboard: support unified config in overview and file watcher (25f0ddb), closes #203
  • doctor: comprehensive health check fixes (ac74550)
  • doctor: prefer config.yaml and make settings files optional (4fca7d1)
  • ui: initialize colors early for consistent status output (e38af6a), closes #201
  • ui: simplify config header and add explicit save button (7e031b5)
  • ui: use effective management secret in control panel embed (a762563)

Tests

  • cliproxy: add comprehensive auth token test suite (ed6776a)
  • cliproxy: add integration tests for variant port isolation (8f120b5), closes #184

7.7.1 (2025-12-26)

Bug Fixes

  • health: correct CLIProxy port detection on macOS/Linux (d1a0ebe)
  • health: use prefix matching for Linux process name truncation (91e7b9f)

7.7.0 (2025-12-25)

Features

  • api: add Minimax, DeepSeek, Qwen provider presets (e7066b9), closes #123
  • kiro: add UI toggle and auth hint for --no-incognito option (083e674)
  • kiro: improve auth UX with normal browser default and URL display (df0c947)

Bug Fixes

  • cliproxy: preserve user API keys during config regeneration (2b4d21e), closes #200
  • core: address all code review issues from PR #199 (f2a4200)
  • kiro: add --no-incognito option for normal browser auth (13e4bac)
  • profiles: prevent GLM auth regression from first-time install detection (cc2d62d), closes #195
  • qwen: inherit stdin for Device Code flows to enable interactive prompts (c811fdf), closes #188
  • ui: add gemini-3-flash-preview to model dropdowns (50653d1), closes #194
  • ui: respect initialMode in profile create dialog (db3662b)

Code Refactoring

  • paths: use expandPath() consistently for cross-platform path handling (adb6222)

Tests

  • auth: add comprehensive tests for GLM auth persistence fix (92a79aa)

7.6.0 (2025-12-24)

Features

  • cli: add config command hints to help and error messages (e981c39)
  • setup: add first-time setup wizard for config initialization (cec616d), closes #142

Bug Fixes

  • cliproxy: respect enabled:false and use protocol-based port defaults (a99b6eb)
  • config: improve edge case handling for config initialization (ca78993)
  • ghcp: display device code during OAuth device code flow (46f1699), closes #189

Code Refactoring

  • config: migrate to config.yaml as primary format (b34469d), closes #142
  • ghcp: remove unused device code session management (5de6ccc)

7.5.1 (2025-12-23)

Bug Fixes

  • ui: use UI color system for consistent CLI indicators (91cd9ff)

Code Refactoring

  • cliproxy: enhance binary downloader with robust error handling (c2dd026)

7.5.0 (2025-12-22)

Features

  • glm: add GLM 4.7 model support (a827b73), closes #179

7.4.0 (2025-12-22)

Features

  • api: add Azure Foundry preset (31bafaa)

7.3.0 (2025-12-22)

Features

  • auth: add Kiro and GitHub Copilot OAuth providers (2b441f6)
  • cliproxy: add ghcp settings and update variant adapter (fae1ee2)
  • cliproxy: add kiro and ghcp OAuth configurations (a01abe1)
  • cliproxy: add kiro and ghcp providers to CLIProxyProvider type (036714c)
  • cliproxy: add kiro and ghcp to OAuth diagnostics and account manager (49bc0a4)
  • cliproxy: migrate from CLIProxyAPI to CLIProxyAPIPlus (6f8587d)
  • config: add base settings for Kiro and Copilot providers (b15ff7f)
  • config: add kiro and ghcp to unified config and auth routes (d04bcc1)
  • ui: add Kiro and Copilot provider icons (9ca20e7)
  • ui: add kiro and ghcp to provider types and configs (bf3d51a)
  • ui: add kiro and ghcp to wizard, auth flow, and settings (9221545)
  • ui: integrate Kiro and Copilot providers, rename to CLIProxy Plus (0f029f9)
  • ui: update cliproxy components with kiro and ghcp providers (099b712)

Bug Fixes

  • update download URLs and binary names for CLIProxyAPIPlus (4829902)

Documentation

  • add CLIProxyAPIPlus attribution for Kiro and Copilot (743d34a)
  • cli: add ccs kiro and ccs ghcp to help text (8c8a15f)
  • update documentation for kiro and ghcp providers (b93b91c)

Code Refactoring

  • complete CLIProxy Plus branding across CLI and UI (af92bc3)
  • rename CLIProxyAPI to CLIProxy Plus across UI and CLI (670993d)

7.2.0 (2025-12-22)

Features

  • cliproxy: add localhost URL rewriting for remote proxy mode (d0599e8)
  • cliproxy: add proxy target resolver for remote/local routing (9e2fd09)
  • cliproxy: add remote routing for stats and auth endpoints (17bb6f9)
  • ui: add remote mode indicator to provider editor header (3bf9ebe)
  • ui: dynamic control panel embed for remote CLIProxy (bfa55e0)
  • ui: show remote server info in ProxyStatusWidget (d86dfab)

Bug Fixes

  • api: add try-catch error handling to route handlers (85b0f17)
  • api: complete error handling and add missing endpoints (3ed961f)
  • api: resolve route path mismatches (557926f)
  • cliproxy: add gemini-cli provider mapping for remote auth (068d577)
  • cliproxy: address code review findings for remote routing (cdb4653)
  • cliproxy: load remote config from config.yaml for proxy resolution (a2d01bc)
  • cliproxy: merge dev with proper remote mode integration (28c6262)
  • cliproxy: respect user model settings in remote proxy mode (4ee3100)
  • ui: correct cliproxy account API paths (e84df00)
  • ui: hide local paths in remote CLIProxy mode (883d9fa)

Documentation

  • update documentation for v7.1 remote CLIProxy feature (ec7781b), closes #142

CI

  • improve issue tagging and label management in release workflows (3638620)

7.1.1 (2025-12-21)

Bug Fixes

  • hooks: memoize return objects to prevent infinite render loops (f15b989)
  • settings: memoize useSettingsActions to prevent infinite render loop (4f75e10)

Documentation

  • update documentation for modularization phases 6-9 (e45b46d)

Code Refactoring

  • ui: modularize analytics page into directory structure (03d9bf7)
  • ui: modularize auth-monitor into directory structure (8ead6fa)
  • ui: modularize settings page into directory structure (104a404)

Tests

  • ui: add vitest testing infrastructure with 99 unit tests (3fca933)

7.1.0 (2025-12-21)

Features

  • ui: add visual feedback for WebSearch model auto-save (eaf566b), closes #164

Bug Fixes

  • ci: use commit-based changelog for dev release Discord notifications (1129ec6)
  • ui: add unsaved changes confirmation when switching profiles (b790005), closes #163
  • ui: fix profile switching and improve UX (86d992f)

Documentation

  • readme: add OpenRouter to built-in providers (676929f)
  • standards: add input state persistence patterns (53a7ba8), closes #165

7.0.0 (2025-12-21)

⚠ BREAKING CHANGES

  • install: GLM/GLMT/Kimi profiles no longer auto-created
  • remove glm.settings.json auto-creation
  • remove glmt.settings.json auto-creation
  • remove kimi.settings.json auto-creation
  • config.json now starts with empty profiles
  • users create via: ccs api create --preset glm
  • or via UI: Profile Create Dialog → Provider Presets
  • existing profiles preserved for backward compatibility

Features

  • api: unify profile management with config-aware services (4c74e92)
  • cli: add --preset option to ccs api create command (418d121)
  • cli: add interactive OpenRouter model picker for api create (d193626)
  • install: remove auto-creation of GLM/GLMT/Kimi profiles (f96116d)
  • openrouter: prioritize Exacto models for better agentic performance (ebc8ee2)
  • proxy: improve remote proxy UX defaults (116b6a1)
  • ui: add dynamic newest models detection for OpenRouter (a1cbd4d)
  • ui: add OpenRouter badge to API Profiles sidebar item (a08aef9)
  • ui: add OpenRouter model catalog core infrastructure (80beb1d)
  • ui: add OpenRouter model picker and tier mapping components (3cd21bb)
  • ui: add provider preset categories with helper function (10cfe0f)
  • ui: add provider presets and OpenRouter promo components (9c90e1d)
  • ui: add streamlined OpenRouter profile editor (7788137)
  • ui: add value input for new environment variables (f947aeb)
  • ui: integrate OpenRouter model picker into profile editor (677f9d1)
  • ui: rewrite profile create dialog with provider presets (adcc323)

Bug Fixes

  • ci: use custom dev versioning to preserve stable version coupling (dce4b36)
  • cliproxy: correct remote proxy URL building for default port (294d8d5)
  • cliproxy: improve remote proxy error messages (55464c5), closes #142
  • cliproxy: use /v1/models for remote proxy health check (5e1d290), closes #142
  • config: add missing cliproxy_server section to YAML serialization (b322203)
  • openrouter: add ANTHROPIC_API_KEY="" default for OpenRouter profiles (70bc44e)
  • openrouter: correct ANTHROPIC_BASE_URL to https://openrouter.ai/api (7d4961e)
  • openrouter: show all env vars except API key in Additional Variables (f41d361)
  • ui: deduplicate API key and restore add variable input (3f7add5)
  • ui: model selection now updates all tiers correctly (723ce28)
  • ui: resolve Radix ScrollArea viewport overflow (2b6600a)
  • ui: show OpenRouterQuickStart by default on API page (05380e2)
  • ui: use current input values for test connection and persist across tabs (12b534c), closes #142 #163 #164 #165
  • update: correct dev version comparison semantic (df77745)

Code Refactoring

  • config: remove secrets.yaml architecture (4f4ab43)
  • ui: rename /api route to /providers (9382278)
  • ui: reorganize profile create dialog with preset categories (96310dd)
  • ui: replace hardcoded orange colors with accent tokens (b9f6823)

Tests

  • npm: update tests for preset-based profile creation (de45fa0)

6.8.0-dev.1 (2025-12-20)

Features

  • proxy: improve remote proxy UX defaults (116b6a1)

Bug Fixes

  • cliproxy: use /v1/models for remote proxy health check (5e1d290), closes #142

6.7.2-dev.1 (2025-12-20)

Code Refactoring

  • ui: rename /api route to /providers (9382278)

6.7.1 (2025-12-20)

Documentation

  • add comprehensive documentation suite for modular architecture (1ffd169)
  • readme: update providers, websearch, and add star history (0dc2da6)

Code Refactoring

  • add barrel exports for commands and utils directories (50c427d)
  • add barrel exports to api/, glmt/, management/ (6372b3d)
  • api: extract service layer from api-command (ecb6bb4)
  • auth: modularize auth-commands into commands/ directory (0341f4f)
  • cliproxy: extract service layer from cliproxy-command (b49b7d1)
  • cliproxy: modularize auth handler and binary (5c28935)
  • cliproxy: modularize binary-manager into binary/ directory (d3c94fe)
  • delegation: modularize headless-executor into executor/ directory (c3baaa8)
  • errors: centralize error handling infrastructure (22dbfd9)
  • glmt: modularize transformer pipeline (cd107e3)
  • management: modularize doctor health checks (0eb2030)
  • remove unused deprecated code (4a5b832)
  • types: add generic types and consolidate ExecutionResult (6c78b63)
  • ui: add barrel exports for analytics and components root (b911db8)
  • ui: organize health components into health/ directory (a106aa2)
  • ui: organize layout components into layout/ directory (bef9955)
  • ui: organize shared components into shared/ directory (3c7b0e7)
  • ui: remove old flat component files after reorganization (e1fd394)
  • ui: split account-flow-viz into account/flow-viz/ directory (8fd35c8)
  • ui: split copilot-config-form into copilot/config-form/ directory (1b1015c)
  • ui: split error-logs-monitor into monitoring/error-logs/ directory (946030c)
  • ui: split profile-editor into profiles/editor/ directory (6778c4d)
  • ui: split provider-editor into cliproxy/provider-editor/ directory (4bea5a3)
  • ui: split quick-setup-wizard into setup/wizard/ directory (81196b0)
  • ui: update imports to use new domain directories (c70ba89)
  • utils: extract formatRelativeTime to utils/time.ts (e1f135a)
  • utils: modularize ui.ts into ui/ directory (c1e5ec7)
  • utils: modularize websearch-manager into websearch/ directory (5e4fa20)
  • utils: remove deprecated color and error functions from helpers.ts (99afb3e)
  • utils: use canonical ValidationResult from types/utils (18424cb)
  • web-server: extract usage aggregator service (9346ff2)
  • web-server: extract usage module to usage/ directory (bae323c)
  • web-server: modularize health-service into health/ directory (c1f30ae)
  • web-server: modularize routes into dedicated files (a12c3d8)
  • websearch: unify CLI status types with ComponentStatus (a8f7dad)

Performance Improvements

  • assets: convert screenshots to WebP, add new feature images (a9d21c2)

6.7.1-dev.1 (2025-12-20)

Documentation

  • add comprehensive documentation suite for modular architecture (1ffd169)
  • readme: update providers, websearch, and add star history (0dc2da6)

Code Refactoring

  • add barrel exports for commands and utils directories (50c427d)
  • add barrel exports to api/, glmt/, management/ (6372b3d)
  • api: extract service layer from api-command (ecb6bb4)
  • auth: modularize auth-commands into commands/ directory (0341f4f)
  • cliproxy: extract service layer from cliproxy-command (b49b7d1)
  • cliproxy: modularize auth handler and binary (5c28935)
  • cliproxy: modularize binary-manager into binary/ directory (d3c94fe)
  • delegation: modularize headless-executor into executor/ directory (c3baaa8)
  • errors: centralize error handling infrastructure (22dbfd9)
  • glmt: modularize transformer pipeline (cd107e3)
  • management: modularize doctor health checks (0eb2030)
  • remove unused deprecated code (4a5b832)
  • types: add generic types and consolidate ExecutionResult (6c78b63)
  • ui: add barrel exports for analytics and components root (b911db8)
  • ui: organize health components into health/ directory (a106aa2)
  • ui: organize layout components into layout/ directory (bef9955)
  • ui: organize shared components into shared/ directory (3c7b0e7)
  • ui: remove old flat component files after reorganization (e1fd394)
  • ui: split account-flow-viz into account/flow-viz/ directory (8fd35c8)
  • ui: split copilot-config-form into copilot/config-form/ directory (1b1015c)
  • ui: split error-logs-monitor into monitoring/error-logs/ directory (946030c)
  • ui: split profile-editor into profiles/editor/ directory (6778c4d)
  • ui: split provider-editor into cliproxy/provider-editor/ directory (4bea5a3)
  • ui: split quick-setup-wizard into setup/wizard/ directory (81196b0)
  • ui: update imports to use new domain directories (c70ba89)
  • utils: extract formatRelativeTime to utils/time.ts (e1f135a)
  • utils: modularize ui.ts into ui/ directory (c1e5ec7)
  • utils: modularize websearch-manager into websearch/ directory (5e4fa20)
  • utils: remove deprecated color and error functions from helpers.ts (99afb3e)
  • utils: use canonical ValidationResult from types/utils (18424cb)
  • web-server: extract usage aggregator service (9346ff2)
  • web-server: extract usage module to usage/ directory (bae323c)
  • web-server: modularize health-service into health/ directory (c1f30ae)
  • web-server: modularize routes into dedicated files (a12c3d8)
  • websearch: unify CLI status types with ComponentStatus (a8f7dad)

Performance Improvements

  • assets: convert screenshots to WebP, add new feature images (a9d21c2)

6.7.0 (2025-12-19)

Features

  • cliproxy: auto-apply default preset when adding first account (4036c42)
  • env: add debug logging for global env injection (68eab56)
  • recovery: add lazy initialization for bun/pnpm users (2d2cd3e)

Bug Fixes

  • ci: use built-in GITHUB_TOKEN for release comments (cff38ac)
  • cliproxy: include BASE_URL and AUTH_TOKEN when applying presets (598454c)
  • cliproxy: prevent port race condition with unified detection and startup lock (96f17e3)
  • cliproxy: prevent variant names matching reserved provider names (7ea64bd)
  • remote-proxy: fix TypeError and make port optional with protocol defaults (03aea4e), closes #142
  • update-checker: resolve dev channel update and duplicate comments (b6b1817)
  • web-server: add comprehensive reserved name validation (2373100)

6.7.0-dev.5 (2025-12-19)

Features

  • cliproxy: auto-apply default preset when adding first account (4036c42)

6.7.0-dev.4 (2025-12-19)

Bug Fixes

  • cliproxy: prevent port race condition with unified detection and startup lock (96f17e3)

6.7.0-dev.3 (2025-12-19)

Features

  • recovery: add lazy initialization for bun/pnpm users (2d2cd3e)

6.7.0-dev.2 (2025-12-19)

Bug Fixes

  • cliproxy: include BASE_URL and AUTH_TOKEN when applying presets (598454c)
  • cliproxy: prevent variant names matching reserved provider names (7ea64bd)
  • web-server: add comprehensive reserved name validation (2373100)

6.7.0-dev.1 (2025-12-19)

Features

  • env: add debug logging for global env injection (68eab56)

6.6.2-dev.3 (2025-12-19)

Bug Fixes

  • update-checker: resolve dev channel update and duplicate comments (b6b1817)

6.6.2-dev.2 (2025-12-19)

Bug Fixes

  • remote-proxy: fix TypeError and make port optional with protocol defaults (03aea4e), closes #142

6.6.2-dev.1 (2025-12-19)

Bug Fixes

  • ci: use built-in GITHUB_TOKEN for release comments (cff38ac)

6.6.1 (2025-12-19)

Bug Fixes

  • cliproxy: register session on dashboard start and add port-based stop fallback (a3b172c)

6.6.1-dev.1 (2025-12-19)

Bug Fixes

  • cliproxy: register session on dashboard start and add port-based stop fallback (a3b172c)

6.6.0 (2025-12-19)

⚠ BREAKING CHANGES

  • Native shell installers (curl/irm) no longer work. Use npm install -g @kaitranntt/ccs instead.

Features

  • ci: add Discord notifications for releases (ee76d66)
  • ci: add semantic-release for dev branch with rich Discord notifications (0f590c8)
  • cleanup: add age-based error log cleanup (45207b4)
  • cliproxy: add getRemoteEnvVars for remote proxy mode (f4a50d0)
  • cliproxy: add proxy config resolver with CLI flag support (68a93f0)
  • cliproxy: add remote proxy client for health checks (30d564c)
  • cliproxy: integrate remote proxy mode in executor (bd1ff2f)
  • cliproxy: set WRITABLE_PATH for log storage in ~/.ccs/cliproxy/ (6b9396f)
  • config: add proxy configuration types and schema (eff2e2d)
  • config: add proxy section to unified config loader (1971744)
  • dashboard: add error log viewer for CLIProxy diagnostics (5b3d565), closes #132
  • global-env: add global environment variables injection for third-party profiles (5d34326)
  • ui: add absolute path copy for error logs (5d4f49e)
  • ui: add Proxy settings tab to dashboard (9a9ef98)
  • ui: add Stop and Restart buttons to ProxyStatusWidget (c9ad0b0)
  • ui: add version sync timestamp to ProxyStatusWidget (d43079b)
  • ui: redesign error logs monitor with split view layout (8f47b87)
  • ui: show CLIProxyAPI update availability in dashboard (96762a9)
  • web-server: add proxy configuration API routes (8decdfb)

Bug Fixes

  • ci: remove deprecated installer references from dev-release workflow (4b969b6)
  • ci: remove sync-version.js that depends on deleted VERSION file (18729c9)
  • cliproxy: prevent misleading update message when proxy is running (2adc272), closes #143
  • error-logs-monitor: properly handle status loading state (1ef625e)
  • profiles: prevent env var inheritance for settings-based profiles (903bc10)

Documentation

  • cliproxy: add remote proxy documentation (196422c)

Styles

  • ui: use sidebar accent colors for proxy update button (eeb6913)
  • ui: widen cliproxy sidebar from w-64 to w-80 (248d970)

Code Refactoring

  • remove deprecated native shell installers (126cffc)
  • rename proxy to cliproxy_server and update API routes (8d8d4c2)

6.6.0-dev.4 (2025-12-19)

Bug Fixes

  • profiles: prevent env var inheritance for settings-based profiles (903bc10)

6.6.0-dev.3 (2025-12-19)

Features

  • cliproxy: add getRemoteEnvVars for remote proxy mode (f4a50d0)
  • cliproxy: add proxy config resolver with CLI flag support (68a93f0)
  • cliproxy: add remote proxy client for health checks (30d564c)
  • cliproxy: integrate remote proxy mode in executor (bd1ff2f)
  • config: add proxy configuration types and schema (eff2e2d)
  • config: add proxy section to unified config loader (1971744)
  • ui: add Proxy settings tab to dashboard (9a9ef98)
  • web-server: add proxy configuration API routes (8decdfb)

Documentation

  • cliproxy: add remote proxy documentation (196422c)

Styles

  • ui: use sidebar accent colors for proxy update button (eeb6913)

Code Refactoring

  • rename proxy to cliproxy_server and update API routes (8d8d4c2)

6.6.0-dev.2 (2025-12-19)

Bug Fixes

  • ci: remove sync-version.js that depends on deleted VERSION file (18729c9)

6.6.0-dev.1 (2025-12-19)

⚠ BREAKING CHANGES

  • Native shell installers (curl/irm) no longer work. Use npm install -g @kaitranntt/ccs instead.

Features

  • ci: add Discord notifications for releases (ee76d66)
  • ci: add semantic-release for dev branch with rich Discord notifications (0f590c8)
  • cleanup: add age-based error log cleanup (45207b4)
  • cliproxy: set WRITABLE_PATH for log storage in ~/.ccs/cliproxy/ (6b9396f)
  • dashboard: add error log viewer for CLIProxy diagnostics (5b3d565), closes #132
  • global-env: add global environment variables injection for third-party profiles (5d34326)
  • ui: add absolute path copy for error logs (5d4f49e)
  • ui: add Stop and Restart buttons to ProxyStatusWidget (c9ad0b0)
  • ui: add version sync timestamp to ProxyStatusWidget (d43079b)
  • ui: redesign error logs monitor with split view layout (8f47b87)
  • ui: show CLIProxyAPI update availability in dashboard (96762a9)

Bug Fixes

  • ci: remove deprecated installer references from dev-release workflow (4b969b6)
  • cliproxy: prevent misleading update message when proxy is running (2adc272), closes #143
  • error-logs-monitor: properly handle status loading state (1ef625e)

Styles

  • ui: widen cliproxy sidebar from w-64 to w-80 (248d970)

Code Refactoring

  • remove deprecated native shell installers (126cffc)

6.5.0 (2025-12-18)

Bug Fixes

  • cli: allow ccs copilot as profile by routing only known subcommands (2c6dfe7)
  • cli: route 'ccs copilot' without subcommand to help (671a9e7)
  • copilot: use gpt-4.1 as default model and 127.0.0.1 for local connections (ec6face)
  • copilot: use token file check for instant auth status (4783632)
  • copilot: widen sidebar and balance split-view layout (63bdc3a)
  • ui: add install button to copilot page sidebar (3865747)
  • ui: constrain copilot config left panel width to 540px (da5dc31)
  • ui: handle 404 errors in profile settings fetch (60c01c7)
  • ui: improve copilot sidebar logical order and remove redundancy (f9b89de)

Features

  • api: add copilot install and info endpoints (fee241d)
  • api: add copilot REST API endpoints (c84db38)
  • auth: add copilot profile detection (e5a1f60)
  • cli: add copilot CLI commands (d25db1f)
  • config: add copilot configuration types and loader (b87aeae)
  • copilot: add complete model catalog with plan tiers (7653cab)
  • copilot: add copilot manager module (3b8a85c)
  • copilot: add model tier mapping support (d21908a)
  • copilot: add raw settings API and model mapping routes (a3e2153)
  • copilot: add raw settings support to useCopilot hook (882792a)
  • copilot: add self-managed package manager for copilot-api (ecdad1d)
  • copilot: redesign config form to match CLIProxy pattern (7886259)
  • ui: add copilot dashboard page (6b04532)
  • ui: add copilot-api install button and version display (f813ad0)
  • ui: display plan tiers and presets in copilot model selector (87c2acc)
  • ui: expose auth result with device code in hook (5f0fde9)
  • update: add automatic update check on startup (8a0ad53)

6.4.0 (2025-12-18)

Bug Fixes

  • websearch: detect Gemini CLI auth status before showing Ready (98c21ef)

Features

  • cliproxy: implement interactive project selection for OAuth flows (a66abba)

6.3.1 (2025-12-18)

Bug Fixes

  • ui: limit Connection Timeline to 100 events to prevent lag (170dcdc)

6.3.0 (2025-12-18)

Bug Fixes

  • dashboard: detect legacy proxy instances without session lock (85cfbde)

Features

  • cliproxy: default session persistence for CLIProxy (a7450bd), closes #129
  • dashboard: add CLIProxy status widget with start button (589cd2c)

6.2.1 (2025-12-18)

Bug Fixes

  • ui: add error state handling to API Profiles page (2e77646), closes #125
  • websearch: pass through to native WebSearch for account profiles (6bd1f42)

6.2.0 (2025-12-18)

Bug Fixes

  • ui: improve account flow viz layout to fill available width (7b876d2)
  • ui: improve account-flow-viz layout and styling (ee85a1f)
  • ui: optimize bundle size and fix calendar crash (572703f)
  • ui: unify account card padding and fix SVG glow filter (ab4c95b)

Features

  • cliproxy: remove thinking token cap and update agy haiku model (925ac8e)
  • ui: add ClaudeKit badge and Sponsor buttons to navbar (9028b74)
  • ui: add multi-zone layout and enhanced drag features to account flow viz (365f820)
  • ui: extend privacy mode to blur cost/token values in analytics (2bf7992)

6.1.0 (2025-12-17)

Bug Fixes

  • cliproxy: prevent shared proxy termination on multi-session exit (3629e3e), closes #118

Features

  • privacy: add privacy/demo mode for personal info blurring (6f3fb54)
  • ui: add iflow provider logo support (cefb3a5)

6.0.0 (2025-12-17)

Bug Fixes

  • config: force shutdown immediately instead of waiting (6d69379)
  • dev-install: prevent duplicate entries in bun global package.json (13824b6)
  • websearch: preserve opencode and grok in mergeWithDefaults (110925e)
  • websearch: update config.yaml comments to match CLI implementation (81e46bd)
  • websearch: update existing hook config when filename changes (4959928)
  • websearch: use correct @vibe-kit/grok-cli package (b6c1ae4)

Features

  • build: add preinstall script to manage UI dependencies (78fb459)
  • cliproxy-stats: Implement detailed stats fetching and integrate into UI (3216a0e)
  • monitor: Enhance auth monitor and account flow visualization (994bd77)
  • ui: add connection timeline and improve account flow layout (27de6af)
  • ui: add documentation button to header (6e4ee80)
  • ui: enhance light theme contrast and animations (197848a)
  • ui: implement auth monitor components & pages (b97c3bf)
  • websearch: add advanced configuration and custom MCP support (cadd2e8)
  • websearch: add Grok CLI support and improve install guidance (c0938e1)
  • websearch: add MCP fallback and Gemini CLI hook for third-party profiles (fd99ebc)
  • websearch: add model config + improve hook UX (14c53d5)
  • websearch: add multi-tier MCP fallback for third-party profiles (071ec04)
  • websearch: add OpenCode CLI as third WebSearch provider (482cda0)
  • websearch: dynamic hook timeout from config + grok-code default (d33fefd)
  • websearch: enhance Gemini CLI integration, package manager detection, and WebSearch status (f7a1a40)
  • websearch: implement fallback chain for CLI providers (e6aa8ac)
  • websearch: respect config provider settings and consolidate prompts (e71cb62)
  • web: update account manager and web routes (127e0e6)

BREAKING CHANGES

  • websearch: Hook no longer falls back to all installed CLIs. It now strictly respects config.yaml settings.

5.20.0 (2025-12-15)

Bug Fixes

  • auth: improve default account hint and add reset-default command (2fb266c), closes #106
  • resolve ESM/CJS compatibility for Node.js 18 (b915127), closes #110

Features

  • oauth: enhance auth flow with detailed pre-flight checks and real-time progress (e80c48c)

5.19.2 (2025-12-14)

Bug Fixes

  • auth: handle Windows spawn for profile creation (5efab53)

5.19.1 (2025-12-14)

Bug Fixes

  • auth: include unified config accounts in auth list command (3cdf84b)

5.19.0 (2025-12-14)

Bug Fixes

  • auth: use unified config for account profile touch in ccs.ts (4ccde8a), closes #98
  • ci: prevent shell injection from PR body markdown (5a8db2c)
  • cliproxy: add SSH port forwarding instructions for headless OAuth (a6b95db)

Features

  • cliproxy: disable logging by default and add cleanup command (e5cdf7c), closes #96

5.18.0 (2025-12-13)

Bug Fixes

  • analytics: fill hourly gaps with zero values in 24H view (4412d22)
  • analytics: guard against undefined data arrays in filtering (e08935b)
  • analytics: use UTC dates and cap hourly chart at current time (9fd0c1c)

Features

  • ui: implement operational hub core components (a2d049c)
  • ui: premium home page with gradient glass design (dbc1371)
  • ui: redesign home page as Interactive Status Board (cf567bb)

5.17.0 (2025-12-12)

Bug Fixes

  • ci: improve issue tagging - use bot, skip duplicates, simpler msg (27f9ea8)
  • ci: resolve YAML syntax error in dev-release workflow (763928f)
  • cliproxy: inherit stdin for OAuth interactive prompts (84484c0), closes #91
  • cliproxy: respect version pin when user installs specific version (a7ba1a1), closes #88
  • config: prevent profile loss from strict config validation (d343abc), closes #82
  • update: add shell option for Windows npm/cache spawn (8c1b8e4), closes #85
  • update: avoid Node deprecation warning on Windows spawn (bace084)
  • update: suppress Node deprecation warnings on Windows (d616e61)

Features

  • analytics: add 24H hourly chart with caching and UI improvements (d64115f)
  • cli: standardize UI output with ui.ts abstraction layer (4005f1c)

Performance Improvements

  • ci: add HUSKY=0 to release workflow (99f3a67)
  • ci: reduce test redundancy from 4x to 1x per release (d39095c)

5.16.0 (2025-12-12)

Features

  • cliproxy: add provider editor with presets and control panel (92b7065)
  • cliproxy: add stats fetcher and OpenAI-compatible model manager (a94c3d6)
  • ui: add cliproxy stats overview and enhance analytics components (c3b2d50)
  • ui: redesign cliproxy page with master-detail layout (f8648be)

5.15.0 (2025-12-11)

Bug Fixes

  • cache: use ~/.ccs/cache/ for usage and update-check files (790ac3c)
  • migrate: include backup path in rollback command (0aa9131)
  • migrate: skip autoMigrate when running migrate command (05a6199)
  • ui: resolve layout and theme issues in profile editor (46ee1df)

Features

  • api-profile-ux: Implement API & UI for profile management (8357005)
  • api-profile-ux: implement tabbed profile editor and fix disclaimer visibility (8c9d669)
  • api: improve create UX with URL validation and model mapping (f83051b), closes #72
  • cliproxy: implement --nickname flag for account management (0d70708)
  • config: add unified YAML config with migration support (b621b8e), closes #75
  • dashboard: add code editor for raw JSON settings editing (2b1a3b4), closes #73
  • profile: refactor create UX with dialog-based interface (720ff9d)

5.14.0 (2025-12-10)

Features

  • ui: replace anomaly alert badge with usage insights card (824c3ba)
  • usage-analytics: implement token cost breakdown and anomaly detection (d81a5e6)
  • usage: add internal data aggregation and cost tracking (49b4065)

5.13.0 (2025-12-09)

Features

  • analytics: aggregate usage from all CCS auth profiles (1e11d2e)
  • analytics: refactor model color management and fix UI display issues (f255a20)
  • cliproxy: add --add flag and nickname support for multi-account auth (493492f)
  • cliproxy: add --use and --accounts flags for multi-account switching (8f6684f)
  • cliproxy: add multi-account support phases 02-03 (d868dc4)
  • dashboard: add Environment and OAuth Readiness groups to health page (96d9fc6)
  • doctor: add OAuth diagnostics for Windows headless false positives (92007d7)
  • ui: simplify CLIProxy page UX with dedicated Add Account dialog (8f5c006)

5.12.1 (2025-12-09)

Performance Improvements

  • analytics: instant dashboard loading with disk cache persistence (abb156d)

5.12.0 (2025-12-09)

Bug Fixes

  • security: improve API key detection patterns to prevent false positives (efb42ba)
  • ui: reduce focus ring size to prevent overlapping content (639eec7)
  • ui: update dropdown menu item SVG color on focus (ed5c3fc)
  • web: correct skill detection to look for SKILL.md instead of prompt.md (13194fe)

Features

  • analytics: add usage analytics page with caching layer (a721af3)
  • cli: Introduce version utility and command updates (d77f07e)
  • cliproxy: promote thinking models as default for agy provider (1475adb)
  • ui: add modular health dashboard components (4ff6f08)
  • ui: Enhance web overview with new components and data (cc16556)
  • ui: redesign health dashboard to match ccs doctor output (8aae0db)

Performance Improvements

  • analytics: add cache pre-warming and SWR pattern for instant page load (69e6a32)

5.11.0 (2025-12-08)

Bug Fixes

  • cliproxy: map token type values to provider names for account discovery (17caf80)
  • ui: improve cliproxy dashboard layout and dropdown styling (10d0550)
  • ui: remove padding from cliproxy card (3a1e8c0)

Features

  • cliproxy: add multi-account support for CLIProxy providers (4dc17fa)

5.10.0 (2025-12-08)

Bug Fixes

  • glmt: add bearer prefix for openai-compatible endpoints (077a406), closes #61
  • glmt: pass env vars to proxy subprocess (e17a068)
  • ui: adjust layout of localhost disclaimer (ad5859c)
  • ui: improve table column widths and spacing (9b4a5d8)
  • ui: prettier formatting for documentation link (d11071a)
  • ui: suppress react compiler warning in profiles-table (cf072c0)

Features

  • build: disable commitlint subject-case rule and add clean-dist script (5947532)
  • cliproxy: add authentication status display to web dashboard (a283f94)
  • cliproxy: deprecate claude thinking models in agy provider (63b3ca7)
  • completions: enhance cliproxy help and update shell completion scripts (59a2f2b)
  • doctor: improve port detection with process identification (98fd1be)
  • ui: add accounts and cliproxy management dashboard (03059db)
  • ui: add ccs branding assets and logo component (1b16305)
  • ui: add comprehensive quality gates and fix linting issues (707af2f)
  • ui: enhance settings dialog with tabbed interface and scrollable areas (4adb94b)
  • ui: enhance visual contrast and update project link (c65d9c9)
  • ui: redesign sidebar and fix disclaimer (c8890f3)
  • ui: reorganize theme colors and add dev script (235bd6b)
  • ui: update theme colors to match brand palette (b5f22e4)
  • web-dashboard: add dev mode with hmr and optimize build (23a3382)
  • web-dashboard: add express server and react ui scaffolding (6a6f2a2)
  • web-dashboard: add rest api and real-time sync (56502ab)
  • web-dashboard: complete settings, health, shared data and build integration (5975802)
  • web: enhance dashboard functionality and ui components (6e2da64)
  • web: update shared routes and home page for dashboard (e078f15)

5.9.0 (2025-12-06)

Features

  • cliproxy: add crud commands for variant profiles (6427ecf)

5.8.0 (2025-12-05)

Bug Fixes

  • agy: enable claude model thinking via antigravity profile (6f19440)
  • agy: preserve user settings during model switch (f5c31da)
  • agy: remove max_thinking_tokens when switching to non-claude model (6decd15)
  • cliproxy: consolidate download ui to single spinner (ace5ba8)
  • cliproxy: only remove provider-specific auth files on logout (4770047)
  • skill: use yaml block scalar for ccs-delegation description (26154c3)

Features

  • agy: disable thinking toggle for claude models via antigravity (f5a1b81), closes #415
  • delegation: add passthrough args for claude cli flags (26d72cf)

5.7.0 (2025-12-05)

Bug Fixes

  • ci: add path filtering to deploy-ccs-worker pull request trigger (64a8e86)
  • doctor: repair shared settings.json symlink broken by claude cli (1471bd2), closes #57
  • types: add forceversion to binarymanagerconfig interface (3bb1ea7)

Features

  • cliproxy: add iFlow OAuth provider support (#55) (20bf626)

5.6.0 (2025-12-04)

Bug Fixes

  • cliproxy: clarify paid tier messaging to reference google account tier (848fbf4)
  • cliproxy: correct model selection default and update fallback version (fdb8761)
  • dev-release: find next available dev version from npm (482f3a7)
  • doctor: use actual installed clipproxy version instead of hardcoded (e3edcf6)
  • prompt: strip bracketed paste escape sequences from password input (df31ffc)
  • update: add --help support and --dev alias for update command (b18163c)

Features

  • cliproxy: add model catalog with configuration management (4654c15)
  • cliproxy: add version management command (7e07615)
  • cliproxy: add warning for broken claude proxy models on agy (0e11426), closes CLIProxyAPI#415
  • prompt: add password input utility with masking (3bdbff9)
  • release: simplify dev versioning with stable base (942b4b9)

5.5.0 (2025-12-04)

Bug Fixes

  • changelog: restore full changelog history from main (2e5b1f2)
  • tests: migrate test suite from mocha to bun test runner (bd46c8d)

Features

  • kimi: update default model to kimi-k2-thinking-turbo (134511c)

5.4.4-dev.2 (2025-12-04)

Bug Fixes

  • changelog: restore full changelog history from main (2e5b1f2)

5.4.3 (2025-12-03)

Bug Fixes

  • postinstall: handle broken symlinks during npm install (81add5a)

5.4.2 (2025-12-03)

Bug Fixes

  • merge: resolve conflicts between dev and main (8347ea6)
  • sync: implement copy fallback for windows when symlinks unavailable (6b3f93a), closes #45

5.4.2-dev.1 (2025-12-03)

Bug Fixes

  • merge: resolve conflicts between dev and main (8347ea6)
  • sync: implement copy fallback for windows when symlinks unavailable (6b3f93a), closes #45

5.4.1 (2025-12-03)

Bug Fixes

  • cliproxy: resolve windows auth browser not opening (af4d6cf), closes #42
  • doctor: resolve windows claude cli detection failure (cfe9ba0), closes #41
  • sync: implement copy fallback for windows when symlinks unavailable (6b3f93a), closes #45

5.4.1-dev.1 (2025-12-03)

Bug Fixes

  • cliproxy: resolve windows auth browser not opening (af4d6cf), closes #42
  • doctor: resolve windows claude cli detection failure (cfe9ba0), closes #41

5.4.0 (2025-12-02)

Bug Fixes

  • auth: prevent default profile from using stale glm env vars (13d13da), closes #37
  • cliproxy: convert windows backslashes to forward slashes in config.yaml auth-dir (a6663cb), closes #36
  • cliproxy: improve qwen oauth error handling (7e0b0fe), closes #29
  • cliproxy: use double-dash flags for cliproxyapi auth (#24) (4c81f28)
  • deps: add chalk, boxen, gradient-string, listr2 as dependencies (a214749)
  • glmt: handle 401 errors and headers-already-sent exception (#30) (c953382), closes #26
  • prompt: improve password input handling with raw mode and buffer support (bc56d2e)

Features

  • cliproxy: add qwen code oauth provider support (#31) (a3f1e52), closes #29
  • cliproxy: auto-update cliproxyapi to latest release on startup (8873ccd)
  • profile: add profile command with configuration display (53d7a15)
  • shell-completion: add --force flag and fix zsh profile coloring (7faed1d)
  • ui: add central ui abstraction layer for cli styling (6e49e0e)
  • ui: enhance auth commands with new ui layer (6f42a65)
  • ui: enhance delegation with listr2 task lists and styled output (716193a)
  • ui: enhance doctor and error manager with new ui layer (57016f3)
  • ui: enhance help and profile commands with new ui layer (f3ed359)
  • ui: enhance section headers with gradient and rename profile to api (073a5e1)

5.4.0-beta.3 (2025-12-02)

Bug Fixes

  • cliproxy: convert windows backslashes to forward slashes in config.yaml auth-dir (a6663cb), closes #36

5.4.0-beta.2 (2025-12-02)

Bug Fixes

  • auth: prevent default profile from using stale glm env vars (13d13da), closes #37

5.4.0-beta.1 (2025-12-02)

Bug Fixes

  • cliproxy: improve qwen oauth error handling (7e0b0fe), closes #29
  • cliproxy: use double-dash flags for cliproxyapi auth (#24) (4c81f28)
  • deps: add chalk, boxen, gradient-string, listr2 as dependencies (a214749)
  • glmt: handle 401 errors and headers-already-sent exception (#30) (c953382), closes #26
  • prompt: improve password input handling with raw mode and buffer support (bc56d2e)

Features

  • cliproxy: add qwen code oauth provider support (#31) (a3f1e52), closes #29
  • cliproxy: auto-update cliproxyapi to latest release on startup (8873ccd)
  • profile: add profile command with configuration display (53d7a15)
  • shell-completion: add --force flag and fix zsh profile coloring (7faed1d)
  • ui: add central ui abstraction layer for cli styling (6e49e0e)
  • ui: enhance auth commands with new ui layer (6f42a65)
  • ui: enhance delegation with listr2 task lists and styled output (716193a)
  • ui: enhance doctor and error manager with new ui layer (57016f3)
  • ui: enhance help and profile commands with new ui layer (f3ed359)
  • ui: enhance section headers with gradient and rename profile to api (073a5e1)

5.3.0 (2025-12-01)

Features

5.3.0-beta.4 (2025-12-01)

Bug Fixes

  • cliproxy: improve qwen oauth error handling (#33) (1c3374f), closes #29

5.3.0-beta.3 (2025-12-01)

Bug Fixes

  • prompt: improve password input handling with raw mode and buffer support (bc56d2e)

Features

  • profile: add profile command with configuration display (53d7a15)
  • shell-completion: add --force flag and fix zsh profile coloring (7faed1d)

5.2.1 (2025-12-01)

Bug Fixes

  • cliproxy: improve qwen oauth error handling (#33) (1c3374f), closes #29

5.3.0-beta.2 (2025-12-01)

Bug Fixes

  • cliproxy: improve qwen oauth error handling (7e0b0fe), closes #29

5.3.0-beta.1 (2025-12-01)

Bug Fixes

  • cliproxy: use double-dash flags for cliproxyapi auth (#24) (4c81f28)
  • glmt: handle 401 errors and headers-already-sent exception (#30) (c953382), closes #26

Features

  • cliproxy: add qwen code oauth provider support (#31) (a3f1e52), closes #29
  • cliproxy: auto-update cliproxyapi to latest release on startup (8873ccd)

5.2.0 (2025-12-01)

Features

  • release: trigger v5.2.0 release (7b65374)

5.1.1 (2025-12-01)

Bug Fixes

  • cliproxy: use double-dash flags for cliproxyapi auth (9489884)

5.1.1-beta.1 (2025-12-01)

Bug Fixes

  • cliproxy: use double-dash flags for cliproxyapi auth (#24) (4c81f28)

5.1.0 (2025-12-01)

Bug Fixes

  • ci: use pat token to bypass branch protection (04af7e7)

Features

  • release: implement semantic versioning automation with conventional commits (d3d9637)

Changelog

Format: Keep a Changelog

[5.0.0] - 2025-11-28

Added

  • CLIProxy OAuth Profiles: Three new zero-config profiles powered by CLIProxyAPI

    • ccs gemini - Google Gemini via OAuth (zero config)
    • ccs codex - OpenAI Codex via OAuth (zero config)
    • ccs agy - Antigravity (AGY) via OAuth (zero config)
  • Download-on-Demand Binary: CLIProxyAPI binary (~15MB) downloads automatically on first use

    • Supports 6 platforms: darwin/linux/windows × amd64/arm64
    • SHA256 checksum verification
    • 3x retry with exponential backoff
    • No npm package size impact
  • OAuth Authentication System (src/cliproxy/auth-handler.ts):

    • Browser-based OAuth flow with automatic token storage
    • Headless mode fallback (ccs gemini --auth --headless)
    • Token storage in ~/.ccs/cliproxy-auth/<provider>/
    • 2-minute OAuth timeout protection
  • CLIProxy Diagnostics in ccs doctor:

    • Binary installation status + version
    • Config file validation
    • OAuth status per provider (gemini/codex/agy)
    • Port 8317 availability check
  • Enhanced Error Messages (src/utils/error-manager.ts):

    • OAuth timeout troubleshooting
    • Port conflict resolution
    • Binary download failure with manual URL
  • New CLIProxy Module (src/cliproxy/):

    • binary-manager.ts - Download, verify, extract binary
    • platform-detector.ts - OS/arch detection for 6 platforms
    • cliproxy-executor.ts - Spawn/kill proxy pattern
    • config-generator.ts - Generate config.yaml per provider
    • auth-handler.ts - OAuth token management
    • types.ts - TypeScript type definitions
    • index.ts - Central exports

Changed

  • Profile Detection: New priority order
    1. CLIProxy profiles (gemini, codex, agy)
    2. Settings-based profiles (glm, glmt, kimi)
    3. Account-based profiles (work, personal)
    4. Default Claude CLI
  • Help Text: Updated with new OAuth profiles (alphabetically sorted)
  • Profile Detector: Added cliproxy profile type

Technical Details

  • Binary Version: CLIProxyAPI v6.5.27
  • Default Port: 8317 (TCP polling for readiness, no PROXY_READY signal)
  • Model Mappings:
    • Gemini: gemini-2.0-flash (opus: thinking-exp, haiku: flash-lite)
    • Codex: gpt-4o (opus: o1, haiku: gpt-4o-mini)
    • Antigravity: agy (sonnet: agy-pro, haiku: agy-turbo)
  • Storage:
    • Binary: ~/.ccs/bin/cliproxyapi
    • Tokens: ~/.ccs/cliproxy-auth/<provider>/
    • Config: ~/.ccs/cliproxy.config.yaml

Migration

  • No breaking changes: All existing profiles (glm, glmt, kimi, accounts) work unchanged
  • Zero configuration: OAuth profiles work out-of-box after browser login
  • Backward compatible: v4.x commands and workflows unchanged

[4.5.0] - 2025-11-27 (Phase 02 Complete)

Changed

  • Modular Command Architecture: Complete refactoring of command handling system
    • Main entry point (src/ccs.ts) reduced from 1,071 to 593 lines (44.6% reduction)
    • 6 command handlers extracted to dedicated modules in src/commands/
    • Enhanced maintainability through single responsibility principle
    • Command handlers can now be developed and tested independently

Added

  • Modular Command Handlers (src/commands/):

    • version-command.ts (3.0KB) - Version display functionality
    • help-command.ts (4.9KB) - Comprehensive help system
    • install-command.ts (957B) - Installation/uninstallation workflows
    • doctor-command.ts (415B) - System diagnostics
    • sync-command.ts (1.0KB) - Configuration synchronization
    • shell-completion-command.ts (2.1KB) - Shell completion management
  • New Utility Modules (src/utils/):

    • shell-executor.ts (1.5KB) - Cross-platform shell command execution
    • package-manager-detector.ts (3.8KB) - Package manager detection (npm, yarn, pnpm, bun)
  • TypeScript Type System:

    • src/types/ directory with comprehensive type definitions
    • Standardized CommandHandler interface for all commands
    • 100% TypeScript coverage across all new modules

Improved

  • Maintainability: Each command now has focused, dedicated module
  • Testing Independence: Command handlers can be unit tested in isolation
  • Development Workflow: Multiple developers can work on different commands simultaneously
  • Code Navigation: Developers can quickly locate specific command logic
  • Future Extension: New commands can be added without modifying main orchestrator

Technical Details

  • Zero Breaking Changes: All existing functionality preserved
  • Performance: No degradation, minor improvement due to smaller main file
  • Quality Gates: All Phase 01 ESLint strictness rules maintained
  • Type Safety: Comprehensive TypeScript coverage with zero any types
  • Interface Consistency: All commands follow standardized CommandHandler interface

[4.4.0] - 2025-11-23

Changed

  • BREAKING: settings.json now shared across profiles via symlinks
    • Each profile previously had isolated settings.json
    • Now all profiles share ~/.claude/settings.json
    • Migration automatic on install (uses ~/.claude/settings.json)
    • Backups created: <instance>/settings.json.pre-shared-migration
    • Rollback: restore backup manually if needed

Added

  • Doctor validates settings.json symlink integrity
  • Sync repairs broken settings.json symlinks
  • Migration from isolated to shared settings (automatic)

Fixed

  • Consistent shared data architecture across all .claude/ items

[4.3.10] - 2025-11-23

Fixed

  • Update Cache Issue: Fixed ccs update serving cached package versions instead of fresh downloads
  • Package manager cache is now automatically cleared before updating
  • Update now ensures users always receive the latest version from registry

Technical Details

  • Node.js (bin/ccs.js): Added cache clearing for npm, yarn, pnpm before update
    • npm: npm cache clean --force
    • yarn: yarn cache clean
    • pnpm: pnpm store prune
    • bun: No explicit cache clearing needed
  • Bash (lib/ccs): Added npm cache clean --force before npm update
  • PowerShell (lib/ccs.ps1): Added npm cache clean --force before npm update
  • Non-blocking: Update continues even if cache clearing fails (with warning)
  • Manual fallback commands: Updated to include cache clearing step

Impact

  • Users no longer need to manually run npm cache clean --force before ccs update
  • Resolves issue where update reported success but installed cached/outdated version
  • Ensures fresh package downloads from npm registry on every update

[4.3.8] - 2025-11-23

Fixed

  • ora v9 Compatibility: Fixed "ora is not a function" errors in ccs doctor and installer utilities
  • Properly handle ora v9+ ES module format when using CommonJS require()
  • All spinner-based operations now work correctly with ora v9.0.0

Technical Details

  • ora v9+ is an ES module, requiring .default property access in CommonJS
  • Updated import: const oraModule = require('ora'); ora = oraModule.default || oraModule
  • Fallback spinner implementation ensures graceful degradation when ora is unavailable
  • Affects: bin/management/doctor.js, bin/utils/claude-dir-installer.js, bin/utils/claude-symlink-manager.js
  • Impact: ccs doctor command and postinstall scripts now work correctly with latest ora version

[4.3.7] - 2025-11-23

Fixed

  • Postinstall Script: Fixed missing ~/.ccs/.claude/ directory during npm install
  • Made ora dependency optional in ClaudeDirInstaller and ClaudeSymlinkManager
  • Postinstall script now gracefully handles missing ora module during installation
  • Ensures .claude/ directory and symlinks are properly created even when ora is unavailable

Technical Details

  • Root cause: ora module not available during npm install postinstall execution
  • Solution: Optional require with fallback to console.log when ora is unavailable
  • Affects: bin/utils/claude-dir-installer.js, bin/utils/claude-symlink-manager.js
  • Impact: All npm installations now properly create ~/.ccs/.claude/ and CCS symlinks

[4.3.6] - 2025-11-23

Added

  • Plugin Support: Claude Code plugins now shared across all CCS profiles via ~/.ccs/shared/plugins/
  • Symlink architecture: ~/.claude/plugins/~/.ccs/shared/plugins/instance/plugins/
  • Install plugins once, use across GLM, GLMT, Kimi, and all Claude accounts
  • Cross-platform support with Windows fallback (copy mode)

[4.3.5] - 2025-11-22

Changed

  • Deprecated Agent Cleanup: Removed deprecated ccs-delegator.md agent file from installations
  • Enhanced installation process to automatically clean up obsolete files
  • Improved ccs sync command with migration logic for deprecated components

Removed

  • ccs-delegator.md: Agent file deprecated in favor of ccs-delegation skill (v4.3.2)
  • Clean up of package copy in ~/.ccs/.claude/agents/ccs-delegator.md
  • Clean up of user symlink in ~/.claude/agents/ccs-delegator.md

Added

  • Automatic migration marker system for tracking cleanup completion
  • Intelligent backup system for user-modified deprecated files
  • Version-aware migration logic following existing patterns

Migration

  • Automatic: Users upgrading from v4.3.2 or earlier will have deprecated files cleaned up automatically
  • Manual: Run ccs sync to trigger cleanup manually
  • Backups: User-modified files are backed up with timestamp before removal
  • Idempotent: Cleanup is safe to run multiple times

Technical Details

  • Integrated into npm postinstall script for automatic cleanup on package updates
  • Added to ccs sync command for manual cleanup operations
  • Uses migration markers in ~/.ccs/.migrations/v435-delegator-cleanup
  • Follows existing SharedManager migration patterns for consistency

[4.3.4] - 2025-11-22

Fixed

  • CCS Update Command: Enhanced ccs update to support multiple package managers
  • Added automatic detection for npm, yarn, pnpm, and bun package managers
  • Update commands now use the appropriate package manager automatically
  • Improved installation method detection for more reliable updates

[4.3.3] - 2025-11-21

⚠️ BREAKING CHANGES

  • CCS Delegation Commands Consolidated: Replaced 4 hardcoded commands with 2 intelligent commands
    • Old: /ccs:glm, /ccs:kimi, /ccs:glm:continue, /ccs:kimi:continue
    • New: /ccs (auto-selects profile), /ccs:continue (auto-detects profile)
    • Override with flags: /ccs --glm "task", /ccs --kimi "task"

Changed

  • Updated --help text across Node.js, Bash, and PowerShell implementations
  • Updated delegation examples in README.md and workflow documentation
  • Fixed CCS Doctor health checks to validate new command files
  • Updated user configuration templates with new command syntax

Added

  • Intelligent profile selection based on task analysis (reasoning, long-context, cost-optimized)
  • Support for custom profiles without creating new commands
  • Enhanced session management with automatic profile detection

Migration

Old Command New Command
/ccs:glm "task" /ccs "task" (or /ccs --glm "task")
/ccs:kimi "task" /ccs "task" (or /ccs --kimi "task")
/ccs:glm:continue /ccs:continue
/ccs:kimi:continue /ccs:continue

[4.1.5] - 2025-11-17

Added

  • Sync command (ccs sync) for updating delegation commands and skills
  • Short flag -sc for --shell-completion command
  • Enhanced version display with delegation status information

Changed

  • Auth help text now emphasizes concurrent account usage across all platforms
  • Help text standardization ensures consistent messaging across bash, PowerShell, and Node.js
  • Description text emphasizes running different Claude CLI sessions concurrently
  • GitHub documentation links updated to stable permalinks
  • Shell completions updated to include sync command and -sc flag

Fixed

  • Inconsistent help text across different platform implementations
  • Outdated description text to emphasize concurrent sessions over specific examples

[4.1.4] - 2025-11-17

Fixed

  • Shell completion ENOTDIR errors when parent path conflicts with existing files
  • Zsh completion syntax errors with _alternative and _describe functions
  • Reversed color application in zsh completion (commands vs descriptions)

Added

  • Enhanced shell completion UI/UX with descriptions and grouping
  • Color-coded completions for zsh and fish shells
  • Custom settings profile support in shell completions
  • Improved completion formatting with section headers and separators

Changed

  • Generalized help text removed specific account examples for broader applicability
  • Delegation help section clarified context and removed non-existent commands
  • Shell completion organization grouped by categories (commands, model profiles, account profiles)

[4.1.3] - 2025-11-17

Fixed

  • Doctor command delegation check false positive
    • Fixed ccs doctor incorrectly checking for delegation commands in ~/.ccs/shared/commands/ccs/ instead of ~/.ccs/.claude/commands/ccs/
    • Removed check for non-existent create.md file
    • Now correctly detects installed delegation commands (glm.md, kimi.md) after npm install
    • Users will no longer see "[!] Delegation commands not found" warning when delegation is properly installed

[4.1.2] - 2025-11-16

Fixed

  • Kimi API 401 errors caused by deprecated model fields
    • Removed ANTHROPIC_MODEL, ANTHROPIC_SMALL_FAST_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL from Kimi settings
    • Kimi API update now rejects requests with these fields (previously optional, now break authentication)
    • Automatic migration removes deprecated fields from existing ~/.ccs/kimi.settings.json
    • Preserves user API keys and custom settings during migration
    • Updated config/base-kimi.settings.json template
    • Users experiencing 401 errors will be automatically fixed on next install/update

Changed

  • Kimi settings now minimal: only ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN required

[4.1.1] - 2025-11-16

Fixed

  • npm install fails to copy .claude/ directory to ~/.ccs/.claude/
    • Error: "[!] CCS .claude/ directory not found, skipping symlink installation"
    • Created bin/utils/claude-dir-installer.js utility to copy .claude/ from package
    • Updated scripts/postinstall.js to copy .claude/ before creating symlinks
    • Updated ccs update command to re-install .claude/ directory
    • Supports Node.js 14+ with fallback for versions < 16.7.0

Added

  • ClaudeDirInstaller utility class for managing .claude/ directory installation

[4.1.0] - 2025-11-16

Added

  • Selective .claude/ directory symlinking for shared resources across profiles
  • claude-symlink-manager.js utility for managing symlinks with Windows fallback
  • Enhanced ccs doctor command to verify .claude/ directory health
  • Postinstall script for automatic .claude/ directory setup
  • Stream-JSON output for real-time delegation visibility (--output-format stream-json --verbose)
  • Real-time tool tracking with verbose context (shows file paths, commands, patterns)
  • Smart slash command detection (preserves /cook, /plan, /commit in delegated prompts)
  • Signal handling (Ctrl+C/Esc kills delegated child processes, prevents orphans)
  • Comprehensive tool support (13 Claude Code tools: Bash, Read, Write, Edit, Glob, Grep, NotebookEdit, NotebookRead, SlashCommand, Task, TodoWrite, WebFetch, WebSearch)
  • Active task display for TodoWrite (shows current task instead of count)
  • Documentation: Stream-JSON workflow diagrams

Changed

  • Installers now create selective symlinks (commands/, skills/, agents/) instead of full directory copies
  • Windows support: Falls back to directory copying when symlinks unavailable
  • Profile-specific files (settings.json, sessions/, todolists/, logs/) remain isolated
  • Improved README with symlink architecture documentation
  • BREAKING: Delegation now uses stream-json instead of single JSON blob
  • Time-based limits replace turn-based limits (10min default timeout vs 20 max-turns)
  • Graceful termination with SIGTERM → SIGKILL fallback (2s grace period)
  • Removed --max-turns flag (deprecated, use timeout instead)
  • Simplified slash command docs (removed over-prescriptive instructions)
  • Internal tools (TodoWrite, Skill) now show meaningful progress

Fixed

  • Duplicate .claude/ resources across multiple profiles
  • Installer logic now handles symlink creation during setup
  • Orphaned claude -p processes after parent termination
  • Slash commands broken by IMPORTANT safety prefix
  • Slash commands detected as file paths (/home vs /cook)
  • Stream-json requires --verbose flag with -p
  • Tool output spam (filtered internal tools, show active tasks)

Removed

  • IMPORTANT safety prefix (broke slash command positioning)
  • Outdated test files (json-output.test.js, max-turns.test.js)
  • TTY detection (now shows progress unless CCS_QUIET=1)

[3.5.0] - 2025-11-15

Added

  • Shell auto-completion (bash, zsh, PowerShell, Fish)
  • --shell-completion command (auto-installs for detected shell with proper comment markers, cross-platform)
  • Error codes (E101-E901) with documentation at docs/errors/
  • Fuzzy matching "Did you mean?" suggestions (Levenshtein distance)
  • Progress indicators (doctor command: [n/9] counter, GLMT proxy startup spinner)
  • Interactive confirmation prompts for destructive operations
  • --yes/-y flag for automation (skips confirmations)
  • --json flag for auth commands (list, show)
  • Impact display (session count, paths) before profile deletion
  • Comprehensive test suite (15 tests, 100% pass rate)

Changed

  • Error boxes: Unicode (╔═╗) → ASCII (===) for cross-platform compatibility
  • JSON output uses CCS version (3.5.0) instead of separate schema version
  • Help text includes EXAMPLES section across all platforms
  • Test suite properly counts test cases (not assertions)

Fixed

  • Standalone installer dependency handling (now downloads error-codes, progress-indicator, prompt files)
  • --yes flag bug (returned false instead of true, preventing auto-confirmation)
  • Help text consistency between Node.js and bash versions (added Uninstall section to bash)
  • Test pass rate calculation (now excludes skipped tests from denominator)
  • Help section comparison (locale-specific sort order)

[3.4.6] - 2025-11-12

Added

  • GLMT ReasoningEnforcer: Prompt injection + API params hybrid (4 effort levels, always enabled)

Changed

  • Added GLMT production warnings (NOT PRODUCTION READY)
  • Streamlined CLAUDE.md (-337 lines)
  • Simplified GLMT controls: 4 mechanisms → 3 automatic
  • Locale + reasoning enforcement now always enabled

Removed

  • GLMT Budget Calculator mechanism (consolidated into automatic controls)
  • Deprecated GLMT environment variables (CCS_GLMT_FORCE_ENGLISH, CCS_GLMT_THINKING_BUDGET, CCS_GLMT_STREAMING)
  • Outdated test scenarios for removed environment variables

[3.4.5] - 2025-11-11

Fixed

  • Thinking block signature timing race (blocks appeared blank in Claude CLI UI)
  • Content verification guard in _createSignatureDeltaEvent() returns null if empty

Changed

  • Consolidated debug flags: CCS_DEBUG_LOG, CCS_GLMT_DEBUGCCS_DEBUG only

Added

  • 6 regression tests for thinking signature race (test-thinking-signature-race.js)

[3.4.4] - 2025-11-11

Fixed

  • Postinstall symlink creation (fixed require path to shared-manager.js)

[3.4.3] - 2025-11-11

Added

  • Keyword thinking control: think < think hard < think harder < ultrathink
  • Streaming auto-fallback on error

Changed

  • YAGNI/KISS: Removed budget-calculator.js, task-classifier.js (-272 LOC)
  • CCS_DEBUG_LOGCCS_DEBUG (backward compatible)

Removed

  • CCS_GLMT_THINKING_BUDGET, CCS_GLMT_STREAMING, CCS_GLMT_FORCE_ENGLISH env vars

Fixed

  • GLMT proxy path (glmt/glmt-proxy.js)
  • ultrathink effort: highmax

[3.4.2] - 2025-11-11

Changed

  • Version bump for npm CI workaround

[3.4.1] - 2025-11-11

Added

  • GLMT loop prevention (locale enforcer, budget calculator, task classifier, loop detector)
  • Env vars: CCS_GLMT_FORCE_ENGLISH, CCS_GLMT_THINKING_BUDGET
  • 110 GLMT tests (all passing)

Changed

  • Directory structure: bin/{glmt,auth,management,utils}, tests/{unit,integration}
  • Token savings: 50-80% for execution tasks

Fixed

  • Thinking parameter processing from Claude CLI
  • GLMT tool support (MCP tools, function calling)
  • Unbounded planning loops (20+ min → <2 min)
  • Chinese output issues

[3.4.0] - 2025-11-11

Added

  • GLMT streaming (5-20x faster TTFB: <500ms vs 2-10s)
  • SSEParser, DeltaAccumulator classes
  • Security limits (1MB SSE, 10MB content, 100 blocks)

[3.3.0] - 2025-11-11

Added

  • Debug mode: CCS_DEBUG_LOG=1
  • Verbose flag: ccs glmt --verbose
  • GLMT config defaults

[3.2.0] - 2025-11-10

Changed

  • BREAKING: Symlink-based shared data (was copy-based)
  • ~/.ccs/shared/ → ~/.claude/ symlinks
  • 60% faster installs

[3.1.1] - 2025-11-10

Fixed

  • Migration now runs during install (not on first ccs execution)

[3.1.0] - 2025-11-10

Added

  • Shared data architecture (commands/skills/agents shared across profiles)

[3.0.2] - 2025-11-10

Fixed

  • Profile creation no longer auto-sets as default
  • Help text simplified (40% shorter)

[3.0.1] - 2025-11-10

Added

  • Auto-recovery system for missing/corrupted configs
  • ccs doctor health check command
  • ErrorManager class

[3.0.0] - 2025-11-09

Added

  • Multi-account switching: Run multiple Claude accounts concurrently
  • Auth commands: create, list, show, remove, default
  • Profile isolation (sessions, todos, logs per profile)

BREAKING

  • Removed v2.x vault encryption
  • Login-per-profile model

[2.5.1] - 2025-11-07

Added

  • Kimi ANTHROPIC_SMALL_FAST_MODEL support

[2.5.0] - 2025-11-07

Added

  • Kimi integration

[2.4.9] - 2025-11-05

Fixed

  • Node.js DEP0190 warning

[2.4.8] - 2025-11-05

Fixed

  • Deprecation warning (platform-specific shell)

[2.4.7] - 2025-11-05

Fixed

  • Windows spawn EINVAL error

[2.4.6] - 2025-11-05

Fixed

  • Color detection, TTY handling

[2.4.5] - 2025-11-05

Added

  • Performance benchmarks (npm vs shell)

[2.4.3] - 2025-11-04

Fixed

  • CRITICAL: DEP0190 command injection vulnerability

[2.4.2] - 2025-11-04

Changed

  • Version bump for republish

[2.4.1] - 2025-11-04

Fixed

  • CRITICAL: Windows PATH detection
  • PowerShell terminal termination

[2.4.0] - 2025-11-04

Added

  • npm package support

BREAKING

  • Executables moved to lib/

[2.3.1] - 2025-11-04

Fixed

  • PowerShell syntax errors

[2.3.0] - 2025-11-04

Added

  • Custom Claude CLI path: CCS_CLAUDE_PATH

[2.2.3] - 2025-11-03

Added

  • ccs --uninstall command

[2.2.2] - 2025-11-03

Fixed

  • ccs --install via symlinks

[2.2.1] - 2025-11-03

Changed

  • Hardcoded versions (no VERSION file)

[2.2.0] - 2025-11-03

Added

  • Auto PATH configuration
  • Terminal colors (NO_COLOR support)

Changed

  • Unified install: ~/.local/bin (Unix)

Fixed

  • CRITICAL: Shell injection vulnerability

[2.1.0] - 2025-11-02

Changed

  • Windows uses --settings flag (27% code reduction)

[2.0.0] - 2025-11-02

BREAKING

  • Removed ccs son profile

Added

  • Config templates, installers/ folder

Fixed

  • CRITICAL: PowerShell env var crash

[1.1.0] - 2025-11-01

Added

  • Git worktrees support

[1.0.0] - 2025-10-31

Added

  • Initial release