mirror of
https://github.com/tiennm99/ccs.git
synced 2026-07-15 20:20:09 +00:00
## [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)
438 KiB
438 KiB
8.1.0 (2026-05-23)
Features
- release: promote dev to main — security hardening batch (#1351) (aed942f), closes #1340 #1341 #1342 #1344 #1346 #1347 #1348 #1349 #1350 #1345 #1353 #1340 #1354 #1347 #1352
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 agentssubcommand (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
/setupwhen 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
Performance Improvements
Tests
[Unreleased]
Added
- docker: Stable Docker network contract — external network
ccs-netwith service DNSccsresolving to the CCS container. CLIProxy reachable athttp://ccs:8317; dashboard athttp://ccs:3000. Sibling containers can attach via--network ccs-netor by declaringccs-netas 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 bytests/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
mainnow auto-cuts avX.Y.Z-rc.Npre-release. A manualpromote-releaseworkflow 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 toccs-netinstead — see docker/README.md#connect-your-app-to-cliproxy. Rationale: smaller surface area, fewer supply-chain dependencies, simpler tag taxonomy. The:latestimage now covers the only published integrated variant.
Deprecated
- docker:
ghcr.io/kaitranntt/ccs-dashboard:latestDocker image is deprecated — migrate toghcr.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
ccsxCodex subcommands such asexec,apply,mcp,plugin,completion, andresumeplus upstream aliases such aseandathrough 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
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
- retrigger validation (ef564ca)
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
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
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
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
Styles
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
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
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
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
- account safety, quota monitoring, and stability fixes (#530) (0518050), closes #515 #513 #514 #511 #523 #522 #516 #509 #512 #529 #524
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
- release: v7.38.0 - Extended Context, Qwen Models, Bug Fixes (#480) (b454834), closes #472 #474 #103 #478 #482
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
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
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
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
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
Code Refactoring
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
Tests
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
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
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
- ci: migrate ai-review to claude-code-action with fork PR support (#304) (5651935), closes #298 #302 #289
Bug Fixes
- ci: only auto-review on PR opened, not synchronize (211e642)
7.16.0 (2026-01-08)
Features
- ci: add workflow_dispatch for AI review (#291) (b6d6520), closes #289
- ci: AI code review workflow with Claude Code CLI (#295) (c915ca5), closes #289 #293 #294 #296
- ci: Claude Code CLI for AI reviews (#290) (49c4d29)
Bug Fixes
- cliproxy: update version range and add persistent AI review logging (#303) (6e0bf7c), closes #298 #302 #289
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
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
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
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
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
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
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/ccsinstead.
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/ccsinstead.
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
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
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
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
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
- profile,shell-completion,prompt: add profile commands and improve input handling (#34) (7ec8cc8), closes #24 #30 #26 #31 #29 #29
5.3.0-beta.4 (2025-12-01)
Bug Fixes
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
5.3.0-beta.2 (2025-12-01)
Bug Fixes
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
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 binaryplatform-detector.ts- OS/arch detection for 6 platformscliproxy-executor.ts- Spawn/kill proxy patternconfig-generator.ts- Generate config.yaml per providerauth-handler.ts- OAuth token managementtypes.ts- TypeScript type definitionsindex.ts- Central exports
Changed
- Profile Detection: New priority order
- CLIProxy profiles (gemini, codex, agy)
- Settings-based profiles (glm, glmt, kimi)
- Account-based profiles (work, personal)
- Default Claude CLI
- Help Text: Updated with new OAuth profiles (alphabetically sorted)
- Profile Detector: Added
cliproxyprofile 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
- Binary:
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 functionalityhelp-command.ts(4.9KB) - Comprehensive help systeminstall-command.ts(957B) - Installation/uninstallation workflowsdoctor-command.ts(415B) - System diagnosticssync-command.ts(1.0KB) - Configuration synchronizationshell-completion-command.ts(2.1KB) - Shell completion management
-
New Utility Modules (
src/utils/):shell-executor.ts(1.5KB) - Cross-platform shell command executionpackage-manager-detector.ts(3.8KB) - Package manager detection (npm, yarn, pnpm, bun)
-
TypeScript Type System:
src/types/directory with comprehensive type definitions- Standardized
CommandHandlerinterface 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
anytypes - Interface Consistency: All commands follow standardized
CommandHandlerinterface
[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 updateserving 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
- npm:
- Bash (lib/ccs): Added
npm cache clean --forcebefore npm update - PowerShell (lib/ccs.ps1): Added
npm cache clean --forcebefore 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 --forcebeforeccs 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 doctorand 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
.defaultproperty 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 doctorcommand and postinstall scripts now work correctly with latest ora version
[4.3.7] - 2025-11-23
Fixed
- Postinstall Script: Fixed missing
~/.ccs/.claude/directory duringnpm install - Made
oradependency optional inClaudeDirInstallerandClaudeSymlinkManager - Postinstall script now gracefully handles missing
oramodule during installation - Ensures
.claude/directory and symlinks are properly created even whenorais unavailable
Technical Details
- Root cause:
oramodule not available duringnpm installpostinstall execution - Solution: Optional require with fallback to
console.logwhenorais 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.mdagent file from installations - Enhanced installation process to automatically clean up obsolete files
- Improved
ccs synccommand with migration logic for deprecated components
Removed
- ccs-delegator.md: Agent file deprecated in favor of
ccs-delegationskill (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 syncto 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 postinstallscript for automatic cleanup on package updates - Added to
ccs synccommand 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 updateto 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"
- Old:
Changed
- Updated
--helptext 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
-scfor--shell-completioncommand - 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 doctorincorrectly checking for delegation commands in~/.ccs/shared/commands/ccs/instead of~/.ccs/.claude/commands/ccs/ - Removed check for non-existent
create.mdfile - 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
- Fixed
[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_MODELfrom 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.jsontemplate - Users experiencing 401 errors will be automatically fixed on next install/update
- Removed
Changed
- Kimi settings now minimal: only
ANTHROPIC_BASE_URLandANTHROPIC_AUTH_TOKENrequired
[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.jsutility to copy.claude/from package - Updated
scripts/postinstall.jsto copy.claude/before creating symlinks - Updated
ccs updatecommand to re-install.claude/directory - Supports Node.js 14+ with fallback for versions < 16.7.0
Added
ClaudeDirInstallerutility 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.jsutility for managing symlinks with Windows fallback- Enhanced
ccs doctorcommand 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-turnsflag (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 -pprocesses after parent termination - Slash commands broken by IMPORTANT safety prefix
- Slash commands detected as file paths (/home vs /cook)
- Stream-json requires
--verboseflag 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-completioncommand (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/-yflag for automation (skips confirmations)--jsonflag 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)
--yesflag 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_DEBUG→CCS_DEBUGonly
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_LOG→CCS_DEBUG(backward compatible)
Removed
CCS_GLMT_THINKING_BUDGET,CCS_GLMT_STREAMING,CCS_GLMT_FORCE_ENGLISHenv vars
Fixed
- GLMT proxy path (glmt/glmt-proxy.js)
ultrathinkeffort:high→max
[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
ccsexecution)
[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 doctorhealth 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_MODELsupport
[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 --uninstallcommand
[2.2.2] - 2025-11-03
Fixed
ccs --installvia 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 sonprofile
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