100 Commits
Author SHA1 Message Date
semantic-release-bot f45fa923f2 chore(release): 8.10.0 [skip ci]
## [8.10.0](https://github.com/kaitranntt/ccs/compare/v8.9.0...v8.10.0) (2026-09-11)

### Features

* **api:** add OrcaRouter provider preset ([ea7906b](https://github.com/kaitranntt/ccs/commit/ea7906b97580533c158e09ff8777f7c66d248ac6))
* **cliproxy:** add Grok 4.6 selection ([c30e9ca](https://github.com/kaitranntt/ccs/commit/c30e9ca6179d584174622dce971b05e664ad98f7))
* **cliproxy:** add meetsBackendMinimumVersion comparator helper ([3658c01](https://github.com/kaitranntt/ccs/commit/3658c0113729514dc660af99ade379644c57186d))
* **cliproxy:** clarify quota percentages are remaining in CLI output ([eca266a](https://github.com/kaitranntt/ccs/commit/eca266ad30851040f0605ae03ec6d5571032e90b)), closes [#1714](https://github.com/kaitranntt/ccs/issues/1714)
* **dashboard:** collapse the CLIProxy status widget ([fde7bd8](https://github.com/kaitranntt/ccs/commit/fde7bd83db96ce4fa87cb3b5403a7ab51c4ccde9))
* **models:** add Claude Fable 5.1 and correct Sonnet 5 pricing ([3583b54](https://github.com/kaitranntt/ccs/commit/3583b544d01170d0352a49f3e4bfc8b5ecd2c953))

### Bug Fixes

* **ci:** publish dev releases with public access for scoped package ([#1715](https://github.com/kaitranntt/ccs/issues/1715)) ([ae1559a](https://github.com/kaitranntt/ccs/commit/ae1559aeb01d466787026bdabff0c24d58895bd0))
* **cliproxy:** correct ARM release asset architecture boundaries ([#1725](https://github.com/kaitranntt/ccs/issues/1725)) ([87f1d9b](https://github.com/kaitranntt/ccs/commit/87f1d9b4e874f63a61d337357796db8e27a4f18f))
* **cliproxy:** correct pool routing version capability map ([#1726](https://github.com/kaitranntt/ccs/issues/1726)) ([b9601cb](https://github.com/kaitranntt/ccs/commit/b9601cb913dce355e2a5f3347500efe024e79974))
* **cliproxy:** fail-closed on unsupported drain-order priority selection ([#1724](https://github.com/kaitranntt/ccs/issues/1724)) ([ed1badc](https://github.com/kaitranntt/ccs/commit/ed1badcfcb90f6e096ec06f28c27fecd270c0239))
* **cliproxy:** finish concurrent update recovery ([fc56eca](https://github.com/kaitranntt/ccs/commit/fc56ecaac4ed8218f5d0408a6c78f173a11a78da))
* **cliproxy:** harden update recovery paths ([4502e5d](https://github.com/kaitranntt/ccs/commit/4502e5d503b4ae73dda6187d9044263364019565))
* **cliproxy:** keep proxy available during updates ([8e4def4](https://github.com/kaitranntt/ccs/commit/8e4def4713a9932c7b741e9bf791ee9904d4d695))
* **cliproxy:** make formatQuotaBar pure ASCII and add doctor quota tests ([745cb74](https://github.com/kaitranntt/ccs/commit/745cb743181362372fd5f89d20e67ea10cc4ed89))
* **delegation:** flush stdout before exit to prevent piped output truncation ([3e49834](https://github.com/kaitranntt/ccs/commit/3e49834c9daa0a965316a1c26bbb9df7e0b09908))
* **docker:** target live cliproxy compose stack ([54c3e86](https://github.com/kaitranntt/ccs/commit/54c3e86e894fe6563a4e944709b1dae65bbf360b))
* **docs:** format star history chart with valid sealed_token url ([03ff7d8](https://github.com/kaitranntt/ccs/commit/03ff7d840001d504642c2fa25dc0c29d661be2fd))
* **docs:** format star history chart with valid sealed_token url ([0598d2a](https://github.com/kaitranntt/ccs/commit/0598d2a7ba3fd2d8d0e09b825f9000d66c2e6f08))
* **docs:** update star history chart with encrypted sealed_token ([eadcef2](https://github.com/kaitranntt/ccs/commit/eadcef22897859ae89596d675296fa974df91e03))
* **docs:** update star history chart with encrypted sealed_token ([583d0cf](https://github.com/kaitranntt/ccs/commit/583d0cf8fca901885beeb10c5e9b379430e5a070))
* **extended-context:** manage ANTHROPIC_DEFAULT_MODEL and keep the overlay in sync ([7ae7a5e](https://github.com/kaitranntt/ccs/commit/7ae7a5eba6c75871f6822567079d841d9cd73789))
* **extended-context:** never write [1m] into the Fable tier key ([2b780ce](https://github.com/kaitranntt/ccs/commit/2b780ceae3bcc5a4cbaf809601e6d50fef1ae15b))
* **extended-context:** suffix the Fable tier and default it on 1M launches ([02c45e0](https://github.com/kaitranntt/ccs/commit/02c45e088a841fe9a8d6192743f18a8f99cd2724))
* **image-analysis:** honor configured profile_backends at launch ([fe3447f](https://github.com/kaitranntt/ccs/commit/fe3447f4871c4b53c2bf0f2f9e9cba9d057002bf))
* **image-analysis:** route original backend at CLIProxy root ([afa663b](https://github.com/kaitranntt/ccs/commit/afa663b5b2f999b19bef14a208044e02e8b3c122)), closes [#1703](https://github.com/kaitranntt/ccs/issues/1703)
* **openrouter:** use /api endpoint root to prevent duplicated /v1 ([#1728](https://github.com/kaitranntt/ccs/issues/1728)) ([375a346](https://github.com/kaitranntt/ccs/commit/375a3468b8c5de1ad9af963db5abb285feaffc94))
* **README:** update star history chart to use working domain ([6e3a16b](https://github.com/kaitranntt/ccs/commit/6e3a16b84c7eb50357da426f350b7711cb4694cd))
* **shared-manager:** publish adopted settings by replacement ([00a4dce](https://github.com/kaitranntt/ccs/commit/00a4dceb94a5a21d740e7e7d057c6a1b7398d8ee))
* **update:** detect pnpm v9+ global store layouts ([c43cd6c](https://github.com/kaitranntt/ccs/commit/c43cd6caf5002514d8c9d7e3ff7da2a2ce61253c)), closes [#1706](https://github.com/kaitranntt/ccs/issues/1706)
* **websearch:** filter disabled legacy CLI probes and skip unused version fetching ([f491169](https://github.com/kaitranntt/ccs/commit/f4911694e37aaa97dbdfefac0b0f712c4e81e435)), closes [#1716](https://github.com/kaitranntt/ccs/issues/1716)
* **websearch:** format status.ts ([c0c3699](https://github.com/kaitranntt/ccs/commit/c0c36991d650cd4129ea1a910f0a3ad012373064))

### Documentation

* **docker:** document host continuity ([ee891bd](https://github.com/kaitranntt/ccs/commit/ee891bdd0edcdda0faa658cf6d28acd352b5c3c1))
* refresh hardening inventory after [#1727](https://github.com/kaitranntt/ccs/issues/1727) ([247c033](https://github.com/kaitranntt/ccs/commit/247c0336c7f91cb143531eeff97da748d4457092))
* refresh hardening inventory after dev merge ([8cb3451](https://github.com/kaitranntt/ccs/commit/8cb3451f8153af3be6b855f3651d925efeb4e1de))
* refresh hardening inventory after merge ([a4281ce](https://github.com/kaitranntt/ccs/commit/a4281cea1b0bc090123087d154b294e9d69124cd))
* refresh hardening inventory and add 75% quota test ([eddc404](https://github.com/kaitranntt/ccs/commit/eddc404f2499b73acd96a8ec3b6d52c52916e05a))
* refresh hardening inventory counts ([b9190a6](https://github.com/kaitranntt/ccs/commit/b9190a6e57708f576a5c322f3d12e470eb9d6b36))
* **shared-manager:** note why the CAS mismatch raises EEXIST ([4a17f03](https://github.com/kaitranntt/ccs/commit/4a17f034e24f1bcbed3067166e184e933cf17746))

### Code Refactoring

* **shared-manager:** extract the durable temp write ([df52662](https://github.com/kaitranntt/ccs/commit/df52662a59517c495ea21056055c5d65ba1ba813))
* **shared-manager:** tighten canonical identity capture ([fa3fd8e](https://github.com/kaitranntt/ccs/commit/fa3fd8eb3a7c76781defe61771d9f8f3418f2a3e))

### Tests

* **cliproxy:** strengthen fallback download url and ungated show/reset coverage ([fcbac62](https://github.com/kaitranntt/ccs/commit/fcbac629d277c9fc65f81817ca70108fdc88c062))
* **openrouter:** refine regression test using existing profile-writer harness ([#1728](https://github.com/kaitranntt/ccs/issues/1728)) ([283e884](https://github.com/kaitranntt/ccs/commit/283e8843ac624377bc6422a2e704724baf8a5e07))

### CI

* **docker:** allow cold-start healthcheck window ([78ad297](https://github.com/kaitranntt/ccs/commit/78ad297e30f0e80906af1a92db73d43f47cf9a91))
* merge main Docker smoke fix into dev ([8ae7dd8](https://github.com/kaitranntt/ccs/commit/8ae7dd88f3c9fefa1e31173ef46374e62282a491))
2026-09-11 14:10:46 +00:00
semantic-release-bot f8a9518b17 chore(release): 8.9.0 [skip ci]
## [8.9.0](https://github.com/kaitranntt/ccs/compare/v8.8.1...v8.9.0) (2026-08-09)

### Features

* **auth:** share canonical Claude memory ([6841025](https://github.com/kaitranntt/ccs/commit/6841025bb413c5ca1c8ce8e903b55dbd5f269036)), closes [#1688](https://github.com/kaitranntt/ccs/issues/1688)
* **bar:** support --port for ccs bar with sticky port persistence ([34608ce](https://github.com/kaitranntt/ccs/commit/34608ce291fa7d763c8a949b88cd79c8074385df))
* **cliproxy:** expose model context windows ([b073261](https://github.com/kaitranntt/ccs/commit/b0732613a318e92dff2a827e9f7e67bb04184378))
* **cliproxy:** expose request retry config ([d5ea4ee](https://github.com/kaitranntt/ccs/commit/d5ea4eeea353687795856ee567f5adbc23cc8f32))
* **cliproxy:** persist scoped routing rules ([9fb2016](https://github.com/kaitranntt/ccs/commit/9fb2016f9012466afc92049b0b068dbafc487b57))
* **i18n:** add Brazilian Portuguese (pt-BR) locale ([bb2596e](https://github.com/kaitranntt/ccs/commit/bb2596e296caa20a69c897ba472b7ada9eac2eda))
* rebrand CCS as Claude Codex Switch ([#1658](https://github.com/kaitranntt/ccs/issues/1658)) ([3608bf7](https://github.com/kaitranntt/ccs/commit/3608bf71a1515dd65f0cdf29e2c6b5fc1030d723)), closes [#1657](https://github.com/kaitranntt/ccs/issues/1657)
* support claude opus 5 ([ee90dd2](https://github.com/kaitranntt/ccs/commit/ee90dd26403e4366af7a4cdbf179e28f45887dc0))
* **ui:** add codex fast service-tier toggle ([108ff84](https://github.com/kaitranntt/ccs/commit/108ff843f142e0a88d000db2aaa731dbc89f450f))
* **ui:** add fable tier row in model mapping ([b27a007](https://github.com/kaitranntt/ccs/commit/b27a007229388a98bd6254af76b33b1d1ad2135e))
* **ui:** add per-tier codex effort dropdown in model mapping ([e57bded](https://github.com/kaitranntt/ccs/commit/e57bded451de16fb31f639df8e92ebd554288946))
* **ui:** extend reasoning control to xai grok models ([30b54a0](https://github.com/kaitranntt/ccs/commit/30b54a09666642d65f80c01b60da9d19324cafdd))

### Bug Fixes

* apply cliproxy retry settings safely ([480b795](https://github.com/kaitranntt/ccs/commit/480b79551b5f4e849c9f3341d6a8302141ce4bab))
* **auth:** guard shared linking against instance replacement ([54efb82](https://github.com/kaitranntt/ccs/commit/54efb820553c4760cf081f363269ac1a16c85a3a))
* **auth:** preserve explicit resume session continuity ([6721d47](https://github.com/kaitranntt/ccs/commit/6721d47502645325d58fc97a4d11bb53750d0c75)), closes [#1685](https://github.com/kaitranntt/ccs/issues/1685)
* **bar:** bound native credential and quota waits ([da2de60](https://github.com/kaitranntt/ccs/commit/da2de600159cffb9db27d6e7bbeef03daae2b3f0))
* **bar:** harden lifecycle process handling ([1a80717](https://github.com/kaitranntt/ccs/commit/1a80717f998079f449749db04aeed4b6eccc3349))
* **bar:** keep sticky port across `ccs bar stop` via launch.json fallback ([d27b53f](https://github.com/kaitranntt/ccs/commit/d27b53f235fa16c6d5404b96fc183db4bfc9c1e3))
* **bar:** stop false re-auth on non-default native subscription profiles ([a5a5b74](https://github.com/kaitranntt/ccs/commit/a5a5b742e4255051b160001985c4c545e85b0cf8))
* **bar:** treat cached quota rows as stale once their reset passes ([833473c](https://github.com/kaitranntt/ccs/commit/833473c5f61f2df4e6408783a38f18d903384917))
* **cliproxy:** classify Claude quota probe 429s ([bdcfc20](https://github.com/kaitranntt/ccs/commit/bdcfc20c0f78a19d5f7ed306f3094ac6f978482c))
* **cliproxy:** correct Claude Opus 5 metadata ([af4e4fb](https://github.com/kaitranntt/ccs/commit/af4e4fb3531b5474cb2aa719cc2aaae6f112cfb0))
* **cliproxy:** probe Gemini OAuth support ([19c6c3f](https://github.com/kaitranntt/ccs/commit/19c6c3f4577932a3b9c1eb4f8818d6fbec838bca))
* **cliproxy:** retry contended state locks ([66794e0](https://github.com/kaitranntt/ccs/commit/66794e07323780ca1376e29a8fb2833d82c747d1))
* **i18n:** complete Brazilian Portuguese locale ([0a80ddd](https://github.com/kaitranntt/ccs/commit/0a80dddb9cf24ea37dd733fa67a58649cb31ebef))
* **metrics:** enforce exact runtime inventory ([306a827](https://github.com/kaitranntt/ccs/commit/306a8276b3f081560d447ee68243bd35b9051cac))
* propagate fable model mapping across runtime paths ([f7241d0](https://github.com/kaitranntt/ccs/commit/f7241d0874088bfbfd498745c28b8d0ea236029b))
* **proxy:** hoist duplicate system messages before coalescing ([b720231](https://github.com/kaitranntt/ccs/commit/b720231077267e0fcf281ef77b6c188340f6a3b6)), closes [#1459](https://github.com/kaitranntt/ccs/issues/1459)
* **proxy:** stabilize upstream fetch transport ([d8210cf](https://github.com/kaitranntt/ccs/commit/d8210cf0113cf6aa782f856db683e9123cb27711)), closes [#1686](https://github.com/kaitranntt/ccs/issues/1686)
* **shared-manager:** adopt diverged plugin registry files in linkInstancePlugins ([fa6b27f](https://github.com/kaitranntt/ccs/commit/fa6b27f159fd8dd8782f98ae415b572c5cde4eee))
* **shared-manager:** adopt diverged settings.json content before re-linking ([481f013](https://github.com/kaitranntt/ccs/commit/481f013ec2581b943131fde1f11e34a098013b38)), closes [#57](https://github.com/kaitranntt/ccs/issues/57) [#1681](https://github.com/kaitranntt/ccs/issues/1681)
* **shared-manager:** preserve diverged files safely ([7ae617f](https://github.com/kaitranntt/ccs/commit/7ae617f0ee2b377b5d9b74186431fb29ed019368))
* **ui:** preserve codex tuning metadata in live catalog merge ([8d1a093](https://github.com/kaitranntt/ccs/commit/8d1a093cf94341e010903f2918c0dc18da19f94a))
* **ui:** preserve untrusted origins in dev proxy ([c23b6be](https://github.com/kaitranntt/ccs/commit/c23b6bee19af147ef015e67c373d47af2d952c89))
* **websearch:** honor disabled steering per launch ([abc3002](https://github.com/kaitranntt/ccs/commit/abc3002e89cb6f7fd7659b41084b6c835008c6cd))

### Documentation

* **ai:** define documentation truth hierarchy ([3bb2d56](https://github.com/kaitranntt/ccs/commit/3bb2d56778a3e775e8d4f2fd236c5984c79e916d))
* **architecture:** reconcile provider and target contracts ([ebe1746](https://github.com/kaitranntt/ccs/commit/ebe174645938c8f86f92eafaaaa57a0db94482a6))
* **architecture:** replace volatile maintainer snapshots ([721ca5f](https://github.com/kaitranntt/ccs/commit/721ca5fc339391530de2498646db91c0dee6b24f))
* clarify disabled WebSearch launch behavior ([f89f136](https://github.com/kaitranntt/ccs/commit/f89f136a1bda46dc58f7c7d9d9a4efccaea9c611))
* **config:** preserve active developer contracts ([fd0d436](https://github.com/kaitranntt/ccs/commit/fd0d4362b388e29dc394e5092bfd3af74d859977))
* **contributing:** align test and UI guidance ([1e11335](https://github.com/kaitranntt/ccs/commit/1e1133534835ea705624feab3f3384ce5bea322a))
* document Brazilian Portuguese locale ([348d230](https://github.com/kaitranntt/ccs/commit/348d2302985b91eb4beedd397c517eb5ccaefcf6))
* **hygiene:** remove superseded local guides ([75e715e](https://github.com/kaitranntt/ccs/commit/75e715eebdf5d759234057c0e7212aee022a11c6))
* **macos:** consolidate CCS Bar maintainer guidance ([4485fd6](https://github.com/kaitranntt/ccs/commit/4485fd64062d14e4dabb4815ca4173322b7d4f55))
* **operations:** refresh runtime contracts ([51e8062](https://github.com/kaitranntt/ccs/commit/51e806299564da03ac8ce98cad35cc962ec01078))
* **product:** refresh product and release contracts ([b918783](https://github.com/kaitranntt/ccs/commit/b918783293381a13f0ba90c17c57743a748fa733))
* **readme:** clarify supported proxy runtimes ([3e38208](https://github.com/kaitranntt/ccs/commit/3e38208b37b6a7e01ff561539367c524d1df4db8)), closes [#1686](https://github.com/kaitranntt/ccs/issues/1686)
* **readme:** route user guides to canonical docs ([deb1ed0](https://github.com/kaitranntt/ccs/commit/deb1ed0e67d6ca71953f0a78f72b9916c8bc8ed5))
* **roadmap:** replace historical trackers with live guidance ([426dc54](https://github.com/kaitranntt/ccs/commit/426dc541a935d60747ce0bfa8e598ff3fa86f94d))

### Tests

* **cliproxy:** cover auto compact windows ([c107a67](https://github.com/kaitranntt/ccs/commit/c107a6752c9d1eb2d510b85fed37ea9bd26fc767))
* **cliproxy:** cover Claude quota probe 429s ([92fb66c](https://github.com/kaitranntt/ccs/commit/92fb66c47bed4c305c8d77ac47330967509b6ff6))
* **cliproxy:** cover concurrent state writers ([d700030](https://github.com/kaitranntt/ccs/commit/d7000300188c1aff78bfc44cd643c9e4cb96819e))
* **cliproxy:** cover Gemini OAuth capabilities ([c4fc5e8](https://github.com/kaitranntt/ccs/commit/c4fc5e89855f1a07b9d01a843c7874fc640e1371))
* **cliproxy:** cover routing rule preservation ([2ce3bfc](https://github.com/kaitranntt/ccs/commit/2ce3bfca26df80481f87ad2b29c4a8d2835e6e7a))
* **docs:** enforce documentation freshness ([8dc6b81](https://github.com/kaitranntt/ccs/commit/8dc6b817b2e9d66752892e12410ec17988676cb0))
* **proxy:** harden system message ordering ([c621241](https://github.com/kaitranntt/ccs/commit/c621241a2e308b6910b556696da40f1820ca9a1d)), closes [#1687](https://github.com/kaitranntt/ccs/issues/1687)
* **ui:** cover Claude Opus 5 catalog visibility ([0629b4a](https://github.com/kaitranntt/ccs/commit/0629b4a40573a41966da7218f5d9e64bd68b32be))
* **websearch:** cover disabled launch snapshots ([9f5706c](https://github.com/kaitranntt/ccs/commit/9f5706c275aa9142f88fcbe4ee4b95cce087b674))

### CI

* **review:** configure explicit reasoning effort ([26c1393](https://github.com/kaitranntt/ccs/commit/26c1393c161a7dfbe7bae7c5c9aff59a0447a002))
2026-08-09 03:44:08 +00:00
semantic-release-bot 51e8716630 chore(release): 8.8.1 [skip ci]
## [8.8.1](https://github.com/kaitranntt/ccs/compare/v8.8.0...v8.8.1) (2026-07-19)

### Hotfixes

* **docker:** select Alpine-compatible CLIProxy asset ([003342f](https://github.com/kaitranntt/ccs/commit/003342f604a78e88fd958b3ef2e7d4506d41190c))
2026-07-19 00:08:05 +00:00
semantic-release-bot a31f1ec79c chore(release): 8.8.0 [skip ci]
## [8.8.0](https://github.com/kaitranntt/ccs/compare/v8.7.0...v8.8.0) (2026-07-18)

### Features

* add Sonnet 5 to Claude provider catalog ([c8a4b42](https://github.com/kaitranntt/ccs/commit/c8a4b429906d0c9e08dc8ea27625676ff15c4bba))
* **cliproxy:** add xAI Grok provider ([54a2b47](https://github.com/kaitranntt/ccs/commit/54a2b4759b7bf831ba6801cb71f97b6aef24481c))
* **codex:** add GPT-5.6 model catalog ([24eae8a](https://github.com/kaitranntt/ccs/commit/24eae8ae8f0dec38e0e12b8bb1147ebc1e8a85ed)), closes [#1633](https://github.com/kaitranntt/ccs/issues/1633)
* **pricing:** register Claude Sonnet 5 in the pricing registry ([1e63c37](https://github.com/kaitranntt/ccs/commit/1e63c37baf94468b855cf583453816fadcb209e8))
* support custom GHCP model selection ([631a515](https://github.com/kaitranntt/ccs/commit/631a515986cd2224c3d89d8498399700f19e22c7))

### Bug Fixes

* **auth:** preserve xAI profile compatibility ([44718e9](https://github.com/kaitranntt/ccs/commit/44718e98ef2c3f9ec2cbe7434edb33cd9eecb390))
* **bar:** preserve quota cache and reset semantics ([8996c92](https://github.com/kaitranntt/ccs/commit/8996c92fda4c71b702acf505d1cee4300586cac9))
* **bar:** show Claude and Codex pool quota ([f77ed33](https://github.com/kaitranntt/ccs/commit/f77ed33cc70f8cd6b7ffb92f235eefb7b0386309))
* cap native quota profile refresh fan-out ([#1627](https://github.com/kaitranntt/ccs/issues/1627)) ([0f9a876](https://github.com/kaitranntt/ccs/commit/0f9a87619c84efd268b8b717b54fc7cd3a7e8a45))
* **ci:** isolate Bar command fast tests ([6dc199a](https://github.com/kaitranntt/ccs/commit/6dc199a0383b6f6ac8080ae358cba230f89b1be6))
* claude model no get the 1m tag ([7f369f7](https://github.com/kaitranntt/ccs/commit/7f369f75dce8dbb1d5dde9b63c51219e46614533))
* **cliproxy:** harden xAI provider contracts ([4e4c949](https://github.com/kaitranntt/ccs/commit/4e4c949967f3aa112795e1bf0cc3ee8ebdbd5b3b))
* **codex-auth:** reject aliased plugin cache paths ([234dce3](https://github.com/kaitranntt/ccs/commit/234dce31500b2b147a0cfe3035722242fea74c40))
* **codex-auth:** share plugin cache across profiles ([e5d4d86](https://github.com/kaitranntt/ccs/commit/e5d4d860b32e8f8ff97d2da9a76530c99bfb81a0))
* **codex:** preview joined migration TOML repair ([77e73dd](https://github.com/kaitranntt/ccs/commit/77e73dd091c40fb2e9f91297b4030fb47ff1c08d)), closes [#1635](https://github.com/kaitranntt/ccs/issues/1635)
* guard against missing modelBreakdowns in usage aggregation ([a7f3e4b](https://github.com/kaitranntt/ccs/commit/a7f3e4bc0eebadfaa62c87306855ec19526bf08b))
* keep agy websearch permissions enabled ([#1625](https://github.com/kaitranntt/ccs/issues/1625)) ([05685d1](https://github.com/kaitranntt/ccs/commit/05685d1c21bab786a20e5cdccceb326b12a0e091))
* prevent default profile credential collision ([#1628](https://github.com/kaitranntt/ccs/issues/1628)) ([343899f](https://github.com/kaitranntt/ccs/commit/343899f6c1529cbeb6e0a518a61908fd3171f20f))
* reject case-variant symlinked file paths ([#1629](https://github.com/kaitranntt/ccs/issues/1629)) ([1ee7cac](https://github.com/kaitranntt/ccs/commit/1ee7cac5552313018bf14100a3393b90b31dbcfd))
* strip stale Gemini extended context suffixes ([5943c8f](https://github.com/kaitranntt/ccs/commit/5943c8fa3cc16814e7f3cd44279f1a11be3b3609))
* validate CCS Bar launch shim target integrity ([#1626](https://github.com/kaitranntt/ccs/issues/1626)) ([3621f8d](https://github.com/kaitranntt/ccs/commit/3621f8dcb1454cc9c6d25669cdd46f227282fbe7))

### Documentation

* **codex-auth:** document shared plugin cache ([3103af5](https://github.com/kaitranntt/ccs/commit/3103af5355448b9137828b062b50a64f8639902f))

### Tests

* **codex-auth:** cover profile cache repair entry points ([960d6e2](https://github.com/kaitranntt/ccs/commit/960d6e23a0c85aef6fceef2afbe789e285c5d940))
2026-07-18 23:25:24 +00:00
semantic-release-bot 99f023fe3d chore(release): 8.7.0 [skip ci]
## [8.7.0](https://github.com/kaitranntt/ccs/compare/v8.6.1...v8.7.0) (2026-07-01)

### Features

* add Requesty as an OpenAI-compatible provider ([#1604](https://github.com/kaitranntt/ccs/issues/1604)) ([a167f94](https://github.com/kaitranntt/ccs/commit/a167f94e1b07ee47f201cdbbc72c6fd0e68a8738))
* **bar:** enumerate ccs/ccsx subscription profiles with per-profile quota ([ed86a08](https://github.com/kaitranntt/ccs/commit/ed86a089ba9102538f2aee07cd47515c7cb498ed))
* **bar:** make the profile carousel mouse-navigable ([f57eed8](https://github.com/kaitranntt/ccs/commit/f57eed8c34817ea77f313d63029fa9e746f8b9c9))
* **bar:** per-provider profile carousel with ccs/ccsx surface tags ([e8adcb8](https://github.com/kaitranntt/ccs/commit/e8adcb89993c3c972691679aee402e7844f58766))
* **bar:** swipeable profile carousel and condensed alerts ([#1603](https://github.com/kaitranntt/ccs/issues/1603)) ([d7933c6](https://github.com/kaitranntt/ccs/commit/d7933c6243b7593eed524b6aa6c9c977f1e16eea)), closes [#1602](https://github.com/kaitranntt/ccs/issues/1602)
* **websearch:** add agy provider and deprecate gemini cli fallback ([#1607](https://github.com/kaitranntt/ccs/issues/1607)) ([9dd9bf2](https://github.com/kaitranntt/ccs/commit/9dd9bf297890c1802fdc491ec6b909e1e5136a84))

### Bug Fixes

* **auth:** honor legacy unified default profiles ([#1619](https://github.com/kaitranntt/ccs/issues/1619)) ([2f1453e](https://github.com/kaitranntt/ccs/commit/2f1453e39785889ba82cb4183dd0a31f32349f45))
* **bar:** align subscription carousel and collapse stale blank space ([#1600](https://github.com/kaitranntt/ccs/issues/1600)) ([62274da](https://github.com/kaitranntt/ccs/commit/62274dabfa62049a4ab0a0249e59b2d5645bc2b8)), closes [#1599](https://github.com/kaitranntt/ccs/issues/1599)
* **bar:** cache expired profiles and gate codex local fallback to the default ([a0a2dd0](https://github.com/kaitranntt/ccs/commit/a0a2dd00face1825aff6fbc4d87b93bd38bf7f9b))
* **bar:** keep is_default on cache-fallback rows ([7b610f0](https://github.com/kaitranntt/ccs/commit/7b610f0e8275c4d61ae3b35a891cd17ef0f8262e))
* **bar:** lead carousel with default account, label it as the base command ([b9f6837](https://github.com/kaitranntt/ccs/commit/b9f68379135afa653f835cd36fef8a6ad515bad9))
* **bar:** short-TTL parked rows + keep valid codex subs active ([b514986](https://github.com/kaitranntt/ccs/commit/b514986ddd947ebd4a67acd41bf6735586a72959))
* **bar:** show the active default ccs login as the leading Claude account ([54ef540](https://github.com/kaitranntt/ccs/commit/54ef5406ce891343ef6bd7fe885ae5db59466763))
* **bar:** tighten subscription carousel spacing ([d9bd5b6](https://github.com/kaitranntt/ccs/commit/d9bd5b6f8683bc279979156b76935fe09da5288b))
* **bar:** use nonce-bound probe auth ([#1623](https://github.com/kaitranntt/ccs/issues/1623)) ([0180b62](https://github.com/kaitranntt/ccs/commit/0180b624539eda3e34155b4ef3adc169282d3c6a))
* bound bar raw socket probes ([#1618](https://github.com/kaitranntt/ccs/issues/1618)) ([396e01a](https://github.com/kaitranntt/ccs/commit/396e01ab6fbaddf74949a1777dc34a0ebbdc9677))
* **ci:** include compose parity in CI Gate ([#1614](https://github.com/kaitranntt/ccs/issues/1614)) ([58a90d3](https://github.com/kaitranntt/ccs/commit/58a90d3633ddac8a932ef71833f9c53723dda7d5))
* **cliproxy:** clean up launch-settings overlay on synchronous spawn failure ([454e155](https://github.com/kaitranntt/ccs/commit/454e1555a7b1d50f77d77c2fd7b6690930e52260))
* **cliproxy:** keep proxy-chain base URL authoritative over --settings env ([3847443](https://github.com/kaitranntt/ccs/commit/3847443da37aa7361b14d7e840b1fe595991cab0))
* **cliproxy:** mask control panel login key ([#1617](https://github.com/kaitranntt/ccs/issues/1617)) ([bb7c3a4](https://github.com/kaitranntt/ccs/commit/bb7c3a4037db6ff14a9511e6638b039437d7d68b))
* close bar launch case bypass ([#1613](https://github.com/kaitranntt/ccs/issues/1613)) ([3f1dce3](https://github.com/kaitranntt/ccs/commit/3f1dce30bc1a9743e3baab2cc479e32762d68cb5))
* **codex:** normalize CLIProxy responses routes ([#1605](https://github.com/kaitranntt/ccs/issues/1605)) ([ba0e768](https://github.com/kaitranntt/ccs/commit/ba0e768fbf5d92d380caf1b8a1eb6cc2cf9d15fc))
* **codex:** route codex CLI to /backend-api/codex on original CLIProxy backend ([a1a5651](https://github.com/kaitranntt/ccs/commit/a1a565177e5118bb06f1e159ee1dcd887c8ed19e)), closes [#1597](https://github.com/kaitranntt/ccs/issues/1597)
* **cursor:** propagate daemon auth token ([#1616](https://github.com/kaitranntt/ccs/issues/1616)) ([4283c46](https://github.com/kaitranntt/ccs/commit/4283c4665c7812a7eda343b31f6ff3359f8294b8))
* fail closed on websearch launch provisioning ([#1621](https://github.com/kaitranntt/ccs/issues/1621)) ([f2843ad](https://github.com/kaitranntt/ccs/commit/f2843ad2ce8f929e46a75ca8692d8f3bb9c0034c))
* **glmt:** emit thinking signature as opaque string ([cbcdb6b](https://github.com/kaitranntt/ccs/commit/cbcdb6ba626ee5438502ea32eb9505735fa0963a))
* **logging:** redact browser debug endpoint ([#1622](https://github.com/kaitranntt/ccs/issues/1622)) ([138ead0](https://github.com/kaitranntt/ccs/commit/138ead0e1ef36f96f7c7b3c515aaa308f27e389c))
* make CCS Bar launch descriptor use private shim ([fb9509d](https://github.com/kaitranntt/ccs/commit/fb9509d9be08187077baf44d2141aadc2518e551))
* restrict bar release workflow to main ([#1612](https://github.com/kaitranntt/ccs/issues/1612)) ([23b2c3d](https://github.com/kaitranntt/ccs/commit/23b2c3d6afd3170920bc00435f5013b7464e2795))
* skip paused codex accounts in bar refresh ([#1620](https://github.com/kaitranntt/ccs/issues/1620)) ([0527e27](https://github.com/kaitranntt/ccs/commit/0527e276b12033a3718e1330120d020e9843188a))

### Documentation

* **cliproxy:** document strip-vs-overlay launch-settings siblings and model-key superset ([13e23e0](https://github.com/kaitranntt/ccs/commit/13e23e0fc5b55c10af16e00a82535ca8c71a161f))

### Tests

* **cliproxy:** cover launch-settings corrupt-JSON fallback and overlay permissions ([e5db374](https://github.com/kaitranntt/ccs/commit/e5db374e98ad25091bc8105acb6c83486c17dbb8))
* **glmt:** align thinking signature coverage ([045fc93](https://github.com/kaitranntt/ccs/commit/045fc932857bdc9c52fa7573ec1bbd81a951b6a0))
* **glmt:** assert thinking signature is a non-empty opaque string ([37d2bae](https://github.com/kaitranntt/ccs/commit/37d2bae001cc52753696c575d86a4889591d8789))
2026-07-01 02:56:15 +00:00
semantic-release-bot 984b1393e6 chore(release): 8.6.1 [skip ci]
## [8.6.1](https://github.com/kaitranntt/ccs/compare/v8.6.0...v8.6.1) (2026-06-23)

### Bug Fixes

* **bar:** update release target when publishing app ([999f130](https://github.com/kaitranntt/ccs/commit/999f130e4b4ab2aba919527558f300b2e0f83426))
2026-06-23 21:37:34 +00:00
semantic-release-bot 4eda1b81da chore(release): 8.6.0 [skip ci]
## [8.6.0](https://github.com/kaitranntt/ccs/compare/v8.5.0...v8.6.0) (2026-06-23)

### Features

* **bar:** one-click in-app updater with update-available notification ([0a2c549](https://github.com/kaitranntt/ccs/commit/0a2c549268380fef29c5b73c0342c7614c3cf9e6)), closes [#1588](https://github.com/kaitranntt/ccs/issues/1588)

### Bug Fixes

* **auth:** de-duplicate error output and validate legacy profiles in default ([1913961](https://github.com/kaitranntt/ccs/commit/191396149ffa14d5bd6a59de91a594c6faabb6eb))
* **auth:** re-export interface-only barrel symbols as types for bun dev runs ([40d7617](https://github.com/kaitranntt/ccs/commit/40d7617cc1cc316671f839c1af26be47fa189cc3))
* **build:** 使用 type-only 导入平台类型 ([66251c5](https://github.com/kaitranntt/ccs/commit/66251c52786704088298098ad1562d5611195c43))
* **cli:** clearer profile/proxy/api errors and rich not-found suggestions ([9258aed](https://github.com/kaitranntt/ccs/commit/9258aed1ff44dbb8d6318c5f0f43fdf077aae08a))
* **cliproxy:** gate binary download log, fix pool message prefix and routing affinity help ([9d5b333](https://github.com/kaitranntt/ccs/commit/9d5b33382b36e5c8ce4cc5f77f7c9e4264eeca86))
* **cliproxy:** honor status --verbose and document --provider/diag in help ([a5feefe](https://github.com/kaitranntt/ccs/commit/a5feefe45a62044bbfede28edaaa175f20795399))
* **cliproxy:** keep --help working for all subcommands ([d8cd2f9](https://github.com/kaitranntt/ccs/commit/d8cd2f94b58ad0d6799e81cac42384b851618c3a))
* **cliproxy:** show global help regardless of flag order before --help ([310f4f6](https://github.com/kaitranntt/ccs/commit/310f4f6e522086090d9634812a94e9abde9d17a3))
* **cliproxy:** surface Control Panel URL and login key in status/start ([cee9822](https://github.com/kaitranntt/ccs/commit/cee982200813f9eda357aad25b6daa6fad80ef0d))
* **cliproxy:** 按 backend 生成 provider 路由 ([99ed809](https://github.com/kaitranntt/ccs/commit/99ed8090b152974dacf1219e94e36246664bd302))
* **cli:** warn on tokens --variant without --api-key; list bar serve in help ([5e4a90b](https://github.com/kaitranntt/ccs/commit/5e4a90b3e5694af0678d9f34b5e9c25c601a9a89))
* **dispatch:** restore copilot and legacy-cursor arg passthrough ([819d439](https://github.com/kaitranntt/ccs/commit/819d43914a7a85e14afde0f117b1f56d61a11cab))
* **dispatch:** route unknown bar/copilot/cursor subcommands and survive corrupt config ([2900743](https://github.com/kaitranntt/ccs/commit/29007437677183d856d0081a16d28461c7f4da4a))
* **doctor:** keep diagnostics running on corrupt config or unreadable auth ([8cfd13b](https://github.com/kaitranntt/ccs/commit/8cfd13ba96956532babbc171c9d9f997401620b0))
* **persist:** accurate symlink guard message on backup read ([e4c91d2](https://github.com/kaitranntt/ccs/commit/e4c91d285330ba73b45f78c159355d8bae996a0a))
* **proxy:** forward stream_options.include_usage to OpenAI-compatible upstreams ([2aaad43](https://github.com/kaitranntt/ccs/commit/2aaad43fd7940f3d51781a665b236dac6add1bf2))

### Documentation

* normalize Tuning Engines provider preset ([b889a75](https://github.com/kaitranntt/ccs/commit/b889a758b83bfc292f2e470043a8b3e801b65169))

### Tests

* **bar:** cover ccs bar install --await-quit relaunch path ([239f83d](https://github.com/kaitranntt/ccs/commit/239f83df9de368c59f0b7e33c2ea49e50b79bd35))
2026-06-23 01:39:23 +00:00
semantic-release-bot e44babd8cc chore(release): 8.5.0 [skip ci]
## [8.5.0](https://github.com/kaitranntt/ccs/compare/v8.4.0...v8.5.0) (2026-06-21)

### Features

* **api:** add Fireworks AI provider preset ([#1543](https://github.com/kaitranntt/ccs/issues/1543)) ([a472c44](https://github.com/kaitranntt/ccs/commit/a472c440156fc549c500c649ea0033220fb97e61))
* **bar:** live Codex usage sync with force refresh and spend-chart periods ([6ed5b2d](https://github.com/kaitranntt/ccs/commit/6ed5b2d62b8a3c08a2e23478c6d4078e2ebf501c))
* **config:** add opt-in output limits for spawned CLI ([#1544](https://github.com/kaitranntt/ccs/issues/1544)) ([499aec8](https://github.com/kaitranntt/ccs/commit/499aec8a9ba9eeb27c1d183a27b3336f4e8794e8))
* **errors:** P4 typed-error taxonomy adoption (0->91% locked) + erasable-syntax fix ([7234ef8](https://github.com/kaitranntt/ccs/commit/7234ef8fcf5e3cba0c42f2bf48e075dbe33b00d4))
* **hardening:** P1 maintainability metrics baseline + freshness gate ([#1561](https://github.com/kaitranntt/ccs/issues/1561)) ([95a2864](https://github.com/kaitranntt/ccs/commit/95a2864ef3492f96098c689e16086f6e1db012d2))
* **lint:** P7 enforcement gates (no-new-throw-error + max-lines) + docs ([2f94f35](https://github.com/kaitranntt/ccs/commit/2f94f35ec35bc3710c3ab1d6f1019f704e58d4c7))
* **logging:** P2 traceability foundation - requestId wrap, daemon forwarding (#NNN) ([5e1b864](https://github.com/kaitranntt/ccs/commit/5e1b8640ab517109732affd32b430ca0b769996a)), closes [#NNN](https://github.com/kaitranntt/ccs/issues/NNN)
* **logging:** P3 hotpath console.error migration + redaction gate (928->267) ([87aeb8f](https://github.com/kaitranntt/ccs/commit/87aeb8f19331b07ed056ec49913a23b5dad417e6))

### Bug Fixes

* avoid echoing invalid channel token values ([#1542](https://github.com/kaitranntt/ccs/issues/1542)) ([e3566ed](https://github.com/kaitranntt/ccs/commit/e3566ed7650b6930fd5515527831c4a3f0924cbb))
* avoid quadratic cliproxy usage hydration ([#1537](https://github.com/kaitranntt/ccs/issues/1537)) ([f74561f](https://github.com/kaitranntt/ccs/commit/f74561fe9b48c478c002daec39b8797f1dd0ede6))
* **bar:** authenticate reused local server probes ([#1546](https://github.com/kaitranntt/ccs/issues/1546)) ([f25a101](https://github.com/kaitranntt/ccs/commit/f25a1015ed35df91ed6f145e29eaa111da6b8727))
* **bar:** avoid blocking on lower-priority probes ([#1548](https://github.com/kaitranntt/ccs/issues/1548)) ([8bd289b](https://github.com/kaitranntt/ccs/commit/8bd289bfae3e60c460ad4442d5ef46da51d43d14))
* **bar:** distinguish native Codex subscription rows ([#1552](https://github.com/kaitranntt/ccs/issues/1552)) ([ba7a2ab](https://github.com/kaitranntt/ccs/commit/ba7a2abb799515447c30c99b75ef43b9362793ea))
* **bar:** preserve Gatekeeper quarantine on install ([#1534](https://github.com/kaitranntt/ccs/issues/1534)) ([c776e18](https://github.com/kaitranntt/ccs/commit/c776e184344132ad9b5bf6d7fcca88d8251e9414))
* **bar:** tolerate duplicate rows in alert pruning ([#1553](https://github.com/kaitranntt/ccs/issues/1553)) ([84ff4d5](https://github.com/kaitranntt/ccs/commit/84ff4d57a4a03ce3dfe105fab3b25c95bc45c0e5))
* **bar:** verify CCS Bar release archive digest ([#1532](https://github.com/kaitranntt/ccs/issues/1532)) ([d2848d3](https://github.com/kaitranntt/ccs/commit/d2848d39317950b36ac7038fcf22cb8e953787f9))
* bound Codex rollout tail reads ([#1547](https://github.com/kaitranntt/ccs/issues/1547)) ([06e8309](https://github.com/kaitranntt/ccs/commit/06e83091bec3cf4dff344019d02f836fdb7d2c13))
* **browser:** preserve profile-bound DevTools discovery ([#1541](https://github.com/kaitranntt/ccs/issues/1541)) ([ab6c59b](https://github.com/kaitranntt/ccs/commit/ab6c59ba354361d011e3004b9706a5ebe05ebf76))
* **cliproxy:** guard unsupported Qwen account auth ([b6ef4e5](https://github.com/kaitranntt/ccs/commit/b6ef4e5782f0dcd6dda3419c9b545dea6bfa1dcb))
* **cliproxy:** use root URL for Claude provider ([#1554](https://github.com/kaitranntt/ccs/issues/1554)) ([49a7b9d](https://github.com/kaitranntt/ccs/commit/49a7b9dc857bce7525e0b9a6be8d797b6841ca1f))
* **codex:** sanitize config override probes ([#1535](https://github.com/kaitranntt/ccs/issues/1535)) ([db44845](https://github.com/kaitranntt/ccs/commit/db44845857b62352058b07900de6c04c36c5ba27))
* **config:** update provider default models ([20e315b](https://github.com/kaitranntt/ccs/commit/20e315ba3f5f165602ec89a38e94b2c9249e7ab8))
* **cursor:** redact daemon token from dashboard start ([#1540](https://github.com/kaitranntt/ccs/issues/1540)) ([b85a3de](https://github.com/kaitranntt/ccs/commit/b85a3de26e45ffcfcd4db0f3216a41326a05f285))
* degrade WebSearch launch provisioning failures ([#1571](https://github.com/kaitranntt/ccs/issues/1571)) ([1a03985](https://github.com/kaitranntt/ccs/commit/1a0398579a974efa8adaa65446c51c5f512efa77))
* enforce tier lock during quota preflight ([#1550](https://github.com/kaitranntt/ccs/issues/1550)) ([361328c](https://github.com/kaitranntt/ccs/commit/361328c788e13fa471a1f6ced5c44411a131d503))
* handle auth-protected bar launch probes ([#1551](https://github.com/kaitranntt/ccs/issues/1551)) ([c040986](https://github.com/kaitranntt/ccs/commit/c0409862d2ab89682dae0987f872db745d798763))
* harden macOS bar launch descriptor ([#1533](https://github.com/kaitranntt/ccs/issues/1533)) ([10aff10](https://github.com/kaitranntt/ccs/commit/10aff10a67fbe7f4a9835aca8e394e3b62ae2a0c))
* harden release issue parsing ([#1536](https://github.com/kaitranntt/ccs/issues/1536)) ([74dd2f3](https://github.com/kaitranntt/ccs/commit/74dd2f38ccc1adcb4c7cd7fb825f14121b0d96b2))
* honor default target for Claude passthrough ([#1539](https://github.com/kaitranntt/ccs/issues/1539)) ([473aa08](https://github.com/kaitranntt/ccs/commit/473aa082f66a843edcea0d7ab9e9f94a2b585b67))
* ignore malformed bar analytics date keys ([#1556](https://github.com/kaitranntt/ccs/issues/1556)) ([e37a87c](https://github.com/kaitranntt/ccs/commit/e37a87c3a250c5f08793b119d7c0d41e1227bbcd))
* **logging:** harden structured trace redaction ([1462823](https://github.com/kaitranntt/ccs/commit/1462823be8c67895e81009aab0259263ae8b4097))
* **macos-bar:** launch dashboard without shell ([#1549](https://github.com/kaitranntt/ccs/issues/1549)) ([50f136a](https://github.com/kaitranntt/ccs/commit/50f136a1f0223fd4c39789ffdd273c30b1ad6b06))
* **proxy:** keep undici timeouts above the upstream request timeout ([#1524](https://github.com/kaitranntt/ccs/issues/1524)) ([8f9795b](https://github.com/kaitranntt/ccs/commit/8f9795bce24123786722d592d18dff8be59cc8d0))
* **usage:** price updated provider defaults ([34123a6](https://github.com/kaitranntt/ccs/commit/34123a62a69c7e5acd621fc54da901a6975f1709))

### Documentation

* **hardening:** finalize epic metrics + progress log (P1-P7) ([2d48488](https://github.com/kaitranntt/ccs/commit/2d484884752a6fd79ca1a891c62450333c15a4fe))

### Code Refactoring

* P5 god-file splits (test-backed, public API preserved) ([919be3c](https://github.com/kaitranntt/ccs/commit/919be3c722eed9f56f028a4929bf2ac8944d080d))
* P6 god-file splits (quota-fetcher + quota-fetcher-gemini-cli; 4 deferred) ([aecc1f7](https://github.com/kaitranntt/ccs/commit/aecc1f7217d192383d18c059690e38b47985ba18))

### Tests

* **bar:** harden bar-probe auth coverage; drop dead proxy shim ([#1555](https://github.com/kaitranntt/ccs/issues/1555)) ([3fa4a34](https://github.com/kaitranntt/ccs/commit/3fa4a342f974c3a346ba9b9d2ad3f429ae1eda0c))

### CI

* **bar:** auto-build and publish CCS Bar on main via self-hosted macOS runner ([b3a9abf](https://github.com/kaitranntt/ccs/commit/b3a9abffbce1c62957720e3fda9a83204f34757f))
2026-06-21 17:41:16 +00:00
semantic-release-bot 0d856fc0ab chore(release): 8.4.0 [skip ci]
## [8.4.0](https://github.com/kaitranntt/ccs/compare/v8.3.0...v8.4.0) (2026-06-16)

### Features

* **bar:** bundle a macOS app icon ([30ed7c4](https://github.com/kaitranntt/ccs/commit/30ed7c42b1c8a24fc10d1c788a532e1a3198a410)), closes [#1525](https://github.com/kaitranntt/ccs/issues/1525)
* **bar:** run the CCS server detached with serve/stop/status ([b5ef06a](https://github.com/kaitranntt/ccs/commit/b5ef06a4d5fe0ea2a83110947a2772b8ea87ee3f)), closes [#1526](https://github.com/kaitranntt/ccs/issues/1526)
* **bar:** self-start the server from the app and stop dropdown clipping ([64fbf2e](https://github.com/kaitranntt/ccs/commit/64fbf2e0621aca4398693de5b5ef43b9448bfecc)), closes [#1526](https://github.com/kaitranntt/ccs/issues/1526) [#1527](https://github.com/kaitranntt/ccs/issues/1527)

### Bug Fixes

* **bar:** anchor menu panel to top and stop full-screen sizing ([#1530](https://github.com/kaitranntt/ccs/issues/1530)) ([842857d](https://github.com/kaitranntt/ccs/commit/842857dec6035625b14ec81c77045b4562004575))
* **cliproxy:** resolve plus release asset variants ([#1523](https://github.com/kaitranntt/ccs/issues/1523)) ([9e9cddd](https://github.com/kaitranntt/ccs/commit/9e9cddd101dc7ae91d9e8051e6f172747a0fc1b4)), closes [#1522](https://github.com/kaitranntt/ccs/issues/1522)

### Documentation

* **bar:** document detached launch model and serve/stop/status ([#1529](https://github.com/kaitranntt/ccs/issues/1529)) ([b03e2e1](https://github.com/kaitranntt/ccs/commit/b03e2e1cb2dbc30e4a9f923ffd4bbb5bd817732c))
2026-06-16 00:12:20 +00:00
semantic-release-bot af6d082f95 chore(release): 8.3.0 [skip ci]
## [8.3.0](https://github.com/kaitranntt/ccs/compare/v8.2.0...v8.3.0) (2026-06-14)

### Features

* **bar-app:** add CCS icon variants and usage analytics UI ([9b64514](https://github.com/kaitranntt/ccs/commit/9b64514a57f78ff101333caa3daa8c600a48f541))
* **bar-app:** bar-first quota card with sane time formatting ([df96779](https://github.com/kaitranntt/ccs/commit/df967792b91cd6674b39a08b38cb32eaed730ddc))
* **bar-app:** inline spend chart bars/line toggle in the Spend header ([a700a92](https://github.com/kaitranntt/ccs/commit/a700a92171cb16a4d08af7775554c5e501d7228a))
* **bar-app:** label settings clearly and confirm before quit ([26323c1](https://github.com/kaitranntt/ccs/commit/26323c13dfcca42f9ce2dc5e51faa1a65acfc47a))
* **bar-app:** legible tier chips, honest Icon label, dashboard auto-start ([11b3cd5](https://github.com/kaitranntt/ccs/commit/11b3cd5a5cc91b3a8e71a09ea22f43406e2a00a7))
* **bar-app:** per-surface usage UI, unambiguous title, hidden scrollbar ([4a633ea](https://github.com/kaitranntt/ccs/commit/4a633eac65adefab4d04a265d0993172d9fca001))
* **bar-app:** quota gauges, threshold alerts, configurable glance ([559d434](https://github.com/kaitranntt/ccs/commit/559d4340e72e8d900a20e0315f3298ca66e23992))
* **bar-app:** render native subscription accounts with quota gauges ([03077aa](https://github.com/kaitranntt/ccs/commit/03077aa9fdad5b64a22f157c2470bc816da78b4a))
* **bar-app:** retune subscription card palette for the dark theme ([5aa94b5](https://github.com/kaitranntt/ccs/commit/5aa94b5019b3a6efdea4ef5e0b8ac15affd4f966))
* **bar-app:** selectable System/Light/Dark theming ([e33da98](https://github.com/kaitranntt/ccs/commit/e33da989eb7c57f1832864e5d9680d18bce400d5))
* **bar-app:** subscription-first cockpit with detailed quota card ([0e0b912](https://github.com/kaitranntt/ccs/commit/0e0b9121878a18d1e77b8418006468991fa3c981))
* **bar-app:** tune density and add spend chart style toggle ([0b1c4e4](https://github.com/kaitranntt/ccs/commit/0b1c4e490880da83245e87f9de2118438ff42dc4))
* **bar:** add calendar month-to-date spend to analytics ([68f0231](https://github.com/kaitranntt/ccs/commit/68f0231f487a7a56e4571bc67d3171827baebaa5))
* **bar:** add ccs bar --help with docker-style help screen ([9ae6f85](https://github.com/kaitranntt/ccs/commit/9ae6f85fa7d8f204dc9821d1f9c0fde77a44cc1b))
* **bar:** add Get CCS Bar dashboard banner and ccs bar docs page ([1e7ad7e](https://github.com/kaitranntt/ccs/commit/1e7ad7e75e2edd1e36fe9651efd44c464b7f8375))
* **bar:** harden summary against provider hangs and add analytics endpoint ([78f9fc7](https://github.com/kaitranntt/ccs/commit/78f9fc7c0b4c69de48d31147b5501fb50aa99af0))
* **bar:** honest quota state and merged multi-source analytics ([5f850c4](https://github.com/kaitranntt/ccs/commit/5f850c4899a3d7f64385a72a4d1d5080206a1023))
* **bar:** native Claude Code + Codex subscription quota (safe, server-side) ([dbeb0c5](https://github.com/kaitranntt/ccs/commit/dbeb0c543a888d7bc54ed0e3ebfffa63334d1f75))
* **bar:** one-flow install with quarantine automation and launch handoff ([4eef3f7](https://github.com/kaitranntt/ccs/commit/4eef3f77a4a8210501a9dfe369ceeac581772939)), closes [#1504](https://github.com/kaitranntt/ccs/issues/1504)
* **bar:** per-window subscription quota detail + codex multi-session scan ([e96967c](https://github.com/kaitranntt/ccs/commit/e96967c22492fe312258bf6ab7f5883250cbc4be))
* **bar:** show running app version in the panel header ([3438c39](https://github.com/kaitranntt/ccs/commit/3438c3940eb0af9a680954526ba63274bf768c30))
* **catalog:** add Claude Fable 5 to Anthropic model registry ([298c89f](https://github.com/kaitranntt/ccs/commit/298c89f2c30712daaf782082903fcb7d93a0ab5e))
* **cli:** add ccs bar command for the macOS menu bar app ([205c2f3](https://github.com/kaitranntt/ccs/commit/205c2f3cd607399031c19e49f37cc64108c13def))
* **cliproxy:** claude pool gap closure - model-neutral launch, shadow warning, provider ban copy ([a257016](https://github.com/kaitranntt/ccs/commit/a257016ebb42ab7f68296188cd71267bab6fecdd)), closes [#1464](https://github.com/kaitranntt/ccs/issues/1464)
* **cliproxy:** managed drain order for account pools ([a33e126](https://github.com/kaitranntt/ccs/commit/a33e12619ee3dd7b034a952a51feae9cec69759c)), closes [#1464](https://github.com/kaitranntt/ccs/issues/1464)
* **cliproxy:** pool onboarding hints for existing multi-profile users ([0343734](https://github.com/kaitranntt/ccs/commit/0343734665d5610c84297dc50a486d703c6ff28f)), closes [#1464](https://github.com/kaitranntt/ccs/issues/1464)
* **cliproxy:** pool routing defaults and safety rails ([fdb0430](https://github.com/kaitranntt/ccs/commit/fdb043083f6a76cc3d33e830d8bd6142827c0cd6)), closes [#1464](https://github.com/kaitranntt/ccs/issues/1464)
* **cliproxy:** pool visibility in quota output and dashboard routing card ([74894f6](https://github.com/kaitranntt/ccs/commit/74894f61da26410a214e1b2af2fe8ffd18da5c30)), closes [#1464](https://github.com/kaitranntt/ccs/issues/1464)
* **dashboard:** promote CCS Bar globally ([b9356a7](https://github.com/kaitranntt/ccs/commit/b9356a7ce67d783ecbc8b2d0d4ba70e25176b660))
* **macos-bar:** add ad-hoc packaging script + Info.plist ([df4554f](https://github.com/kaitranntt/ccs/commit/df4554fe1f9a0d3d4e43e2b21f454fb862a131c5))
* **macos-bar:** add CCS Bar core (client, models, discovery) + tests ([23abf6a](https://github.com/kaitranntt/ccs/commit/23abf6a6350015dbbc97159564f5ee2678beaf6f))
* **macos-bar:** add SwiftUI MenuBarExtra app + view-model ([e7001fc](https://github.com/kaitranntt/ccs/commit/e7001fc252c4eea1075d89c2455f8fb29164fdf4))
* **quota:** add per-provider tier-lock account selection ([40f32eb](https://github.com/kaitranntt/ccs/commit/40f32ebbf06937b85f7e151169ae93399a1dca04))
* **usage:** attribute CLIProxy usage to accounts for per-account cost ([1867116](https://github.com/kaitranntt/ccs/commit/1867116472dca0d579d34cc82a3aff3268c7648a))
* **web-server:** add /api/bar/summary aggregator with force-fresh ([6d3fde9](https://github.com/kaitranntt/ccs/commit/6d3fde9ed399845a8aa757b4a7c706395e962dc6))

### Bug Fixes

* **bar-app:** periodic background refresh so the glance self-heals ([28fef67](https://github.com/kaitranntt/ccs/commit/28fef67a453fc50cbbca03d2e8b51ce63e2a983f))
* **bar-app:** settings as standalone window, real theme forcing, roomier layout ([b950b41](https://github.com/kaitranntt/ccs/commit/b950b41503352bf019b3070e84a44740750c2be1))
* **bar:** bind 'ccs bar launch' server to IPv4 loopback ([2f8745b](https://github.com/kaitranntt/ccs/commit/2f8745bc1f54f12caa773e716a03e71b6b44bec0))
* **bar:** capture click location synchronously before async panel anchoring ([54a670c](https://github.com/kaitranntt/ccs/commit/54a670c943e8599bd103421e0cdb6212b31f5f67))
* **bar:** correct the already-running reinstall hint ([3aab14c](https://github.com/kaitranntt/ccs/commit/3aab14ca85f704cfda95f3e4d3769fb6f5cca4c7))
* **bar:** harden install handoff per review ([dfc8b7d](https://github.com/kaitranntt/ccs/commit/dfc8b7d1dcca23a3c2f905b6e5e6f7bdd5195752))
* **bar:** keep header version label rightmost during refresh ([a5c4186](https://github.com/kaitranntt/ccs/commit/a5c41864b3710b31b9cd740305928f76643d9a35))
* **bar:** keep menu bar panel on the clicked screen in multi-display setups ([70dc53d](https://github.com/kaitranntt/ccs/commit/70dc53d947e54e23d7befb422fbd1f556f8b57f5)), closes [#1502](https://github.com/kaitranntt/ccs/issues/1502) [#1503](https://github.com/kaitranntt/ccs/issues/1503)
* **bar:** probe IPv6 loopback when detecting a running CCS server ([3569297](https://github.com/kaitranntt/ccs/commit/3569297b6d0b7d36d5ec24bb1e0daeadebd42b4e))
* **bar:** read app version from Info.plist and verify bar API instead of version majors ([c572d9f](https://github.com/kaitranntt/ccs/commit/c572d9f8608a14d1150b6c9cf8064fd9e6f77417)), closes [#1497](https://github.com/kaitranntt/ccs/issues/1497)
* **bar:** read codex rollout tail via fs so quota surfaces under node ([2e99b58](https://github.com/kaitranntt/ccs/commit/2e99b58d095b847d0f8862b634262ae79a5666d5))
* **bar:** resolve pre-dev review findings (security gate, honesty, correctness) ([7d3a11a](https://github.com/kaitranntt/ccs/commit/7d3a11a45278c4507070c958d8ce33c11b157c0b))
* **bar:** reuse a running CCS web-server and probe ports on the bind host ([af1a2a0](https://github.com/kaitranntt/ccs/commit/af1a2a0f5d74ec368e1edbdd936b1d8024925188)), closes [#1500](https://github.com/kaitranntt/ccs/issues/1500)
* **bar:** stage downloads and swap so reinstall never strands the user ([cf3bd8a](https://github.com/kaitranntt/ccs/commit/cf3bd8a5efb4e1166650d5a3d0d4002f59b6f3dc))
* **bar:** stop install at the manual step when quarantine clearing fails ([015cc4d](https://github.com/kaitranntt/ccs/commit/015cc4dd320728f152b13a924b9dceb1c8ea441f))
* **bar:** verify server compat before Gatekeeper steps and harden reinstall ([f68c08e](https://github.com/kaitranntt/ccs/commit/f68c08ede3188e2f58f74c50049bd72d06ad4ee6))
* **cli:** harden ccs bar install + align launch path ([63d10cb](https://github.com/kaitranntt/ccs/commit/63d10cb2d0d20d6512fe623cf7d13c3ddc669e61))
* **cliproxy:** close second-round review gaps in pool onboarding and remote env ([7b8a6f5](https://github.com/kaitranntt/ccs/commit/7b8a6f5cceabddf7a68cc66014ef0ec6eba3e96e))
* **cliproxy:** guard upstream response timeout cleanup against detached socket ([f59536a](https://github.com/kaitranntt/ccs/commit/f59536a81fd0a2ca4dc58a2e3c89b463bb57150c))
* **cliproxy:** harden account pools per pre-merge usefulness review ([1c90388](https://github.com/kaitranntt/ccs/commit/1c90388b5d16a3c8f7895f86bc9a769cb0800de3))
* **cliproxy:** silence legacy-config skip in pool opt-in prompt ([cff9008](https://github.com/kaitranntt/ccs/commit/cff9008f49643bac027de4a3f7eeb010f601ed8b))
* **macos-bar:** correct set-default key, lead account, asset name ([8350c24](https://github.com/kaitranntt/ccs/commit/8350c247333cec3494409543f4030802b8c768d5))
* **mcp:** retry Claude user config locks ([cf90f48](https://github.com/kaitranntt/ccs/commit/cf90f48240db2666186eec08dce329690d26d60e))
* **proxy:** add Anthropic passthrough mode for coding-agent-only endpoints ([b98b0df](https://github.com/kaitranntt/ccs/commit/b98b0df0846944225889167658d9d6251d28baab))
* **proxy:** route Anthropic passthrough by upstream profile ([bb9d23a](https://github.com/kaitranntt/ccs/commit/bb9d23ad6a5597eadc2b3c23a773c60b3c78ad31))
* **quota:** reject tier-lock for non-managed providers ([b9a1084](https://github.com/kaitranntt/ccs/commit/b9a1084bd4c6437e34563f10a4b6ce9b09f14224))
* **test:** restore real account modules in tier-lock to fully stop mock leak ([ad9bdd5](https://github.com/kaitranntt/ccs/commit/ad9bdd5794963b25dce2e3da49b4a0ad18b7fe75))
* **test:** run bucket paths explicitly ([27c8a95](https://github.com/kaitranntt/ccs/commit/27c8a9570ba7a3b8879539a5817e3f76bbf30d42))
* **test:** stop tier-lock mock.module leaking an empty PROVIDERS_WITHOUT_EMAIL ([0770b89](https://github.com/kaitranntt/ccs/commit/0770b8903748c83fd1debe3c7c5d489ae72b1c3a))
* **usage:** compute cost fallback lazily to stop event-loop stall ([f073434](https://github.com/kaitranntt/ccs/commit/f0734348d032d5267e1816cf908f60fd742a97e5))
* **usage:** correct per-account cost attribution ([cc7ac55](https://github.com/kaitranntt/ccs/commit/cc7ac553e326d7db84ef6ed02211a5afb58e4875))

### Documentation

* **bar:** align install docs with Info.plist version pinning and bar-API check ([e7f3ec0](https://github.com/kaitranntt/ccs/commit/e7f3ec0da1142efa1536ad3f4b95ddfdde097e25))
* **bar:** troubleshooting reflects reuse-first launch behavior ([db1d125](https://github.com/kaitranntt/ccs/commit/db1d125f83e2a967230be186ae31b2804c6c8177))

### Performance Improvements

* **bar:** probe reuse candidates concurrently to avoid launch stalls ([2fd90ff](https://github.com/kaitranntt/ccs/commit/2fd90fff9bd59b18a2dac713a24ca05363b12759))

### Tests

* **ci:** allow temporary epic branch in PR trigger assertion ([22d4c72](https://github.com/kaitranntt/ccs/commit/22d4c727172567787a7719a87bdda0c3e960011b))

### CI

* drop temporary epic branch from PR trigger ([2b7cfa3](https://github.com/kaitranntt/ccs/commit/2b7cfa32c8b7bde8cf1ab5f8f272a50fedb10c7e))
* run PR CI for account-pools epic branch ([5101e21](https://github.com/kaitranntt/ccs/commit/5101e21ecd7f7990b06ba6aad05f7d1ba888f24f))
2026-06-14 16:17:26 +00:00
semantic-release-bot 89414972be chore(release): 8.2.0 [skip ci]
## [8.2.0](https://github.com/kaitranntt/ccs/compare/v8.1.4...v8.2.0) (2026-06-06)

### Features

* **catalog:** add Claude Opus 4.8 to Anthropic model registry ([357ce8b](https://github.com/kaitranntt/ccs/commit/357ce8b07ad1eb12879f24d4a4b0eeb90d66bbd4))
* **cliproxy:** add Qoder as a CLIProxy provider channel ([43c8304](https://github.com/kaitranntt/ccs/commit/43c830469ad836d56db32a603b8536b26ec3a4fe))
* **cliproxy:** add qoder base config template ([85e7674](https://github.com/kaitranntt/ccs/commit/85e76742fe322ec5205c66a42c500dd768c90d28))
* **cliproxy:** add Qoder to channel catalog, model routing, and UI ([1e60fe1](https://github.com/kaitranntt/ccs/commit/1e60fe186e700ab00bd739b29085635053cba822))
* **pricing:** support per-service-tier rates; wire Opus fast mode ([878775f](https://github.com/kaitranntt/ccs/commit/878775f5b63e0f5debc563abd2d5d888a5488b80)), closes [#1](https://github.com/kaitranntt/ccs/issues/1)
* **qoder:** add model catalog entries for backend and UI ([b52c062](https://github.com/kaitranntt/ccs/commit/b52c0627ca7fa72365161b655cfaa12ba4f2fbc6))
* **qoder:** add provider logo asset and dashboard mapping ([d82cc13](https://github.com/kaitranntt/ccs/commit/d82cc13afc68603befee85f8c886d06722fc44d3))
* **qoder:** Change default models in base-qoder settings ([de5b545](https://github.com/kaitranntt/ccs/commit/de5b545ac35389c8e8878107dd70ff6e89ba6c5f))

### Bug Fixes

* add CLIProxy account reauthentication ([5f1976f](https://github.com/kaitranntt/ccs/commit/5f1976f69c447dac6b3141bc7ee2a962a355a8af))
* **analytics:** collapse profile-scope disclaimer into tooltip icon ([9130c7d](https://github.com/kaitranntt/ccs/commit/9130c7d8698442d4bb3a7ca47502ece8c99336ff)), closes [#1390](https://github.com/kaitranntt/ccs/issues/1390)
* **analytics:** price Claude Opus 4.7 thinking ([062e77e](https://github.com/kaitranntt/ccs/commit/062e77e55f05b821ff8c6c2b0380a57b5d8594f2))
* **analytics:** tighten top-bar layout (single-line trigger, grouped cluster, compact timestamp) ([bfa4c70](https://github.com/kaitranntt/ccs/commit/bfa4c704eb04b0b9b389c26dc77ba84fc2e832e8))
* avoid relative completion backend execution ([4f2dd70](https://github.com/kaitranntt/ccs/commit/4f2dd70b8c77d878c01fb3da9e0fae305cff2cf3))
* **browser:** avoid implicit explicit devtools port for config attach ([#1369](https://github.com/kaitranntt/ccs/issues/1369)) ([f985cec](https://github.com/kaitranntt/ccs/commit/f985cec3ff5de166592a06cfb9ee376436b10c1e))
* **browser:** cap click and key repeat counts in MCP ([#1367](https://github.com/kaitranntt/ccs/issues/1367)) ([c322829](https://github.com/kaitranntt/ccs/commit/c322829f44f8bf4edd43fe4d8fc97560b6fe180a))
* **browser:** handle DevTools close endpoint response ([9225218](https://github.com/kaitranntt/ccs/commit/92252189b1c2b70b71c104a9ce87d6b2fe293a7d))
* **browser:** log only matched intercepted requests ([#1366](https://github.com/kaitranntt/ccs/issues/1366)) ([8b3ba55](https://github.com/kaitranntt/ccs/commit/8b3ba5532e07af52f89cf012be63eafe2046e7b8))
* **browser:** track explicit devtools_port from config ([#1383](https://github.com/kaitranntt/ccs/issues/1383)) ([b63943e](https://github.com/kaitranntt/ccs/commit/b63943eb450b335bbce00946dfd71f2535538cc4)), closes [#1369](https://github.com/kaitranntt/ccs/issues/1369)
* **channels:** avoid secrets in --set-token argv ([#1389](https://github.com/kaitranntt/ccs/issues/1389)) ([88fbac3](https://github.com/kaitranntt/ccs/commit/88fbac3a324e409a26bcbe7cf44810b94ef134e2))
* **ci:** add always-reporting CI Gate so fork PRs stop deadlocking ([7dba36f](https://github.com/kaitranntt/ccs/commit/7dba36fb03d56da03e0abff152d7a582eb4f10fa)), closes [#1461](https://github.com/kaitranntt/ccs/issues/1461)
* **ci:** close dev-released issues on stable release ([#1396](https://github.com/kaitranntt/ccs/issues/1396)) ([52a427a](https://github.com/kaitranntt/ccs/commit/52a427a7a34faecb078af407725f9c50fc641103))
* **ci:** constrain PR-Agent GitHub App token permissions ([#1370](https://github.com/kaitranntt/ccs/issues/1370)) ([37fdf90](https://github.com/kaitranntt/ccs/commit/37fdf90e304507a3fc4e3e0066bb1856a05e74bc))
* **ci:** narrow issue reference parsing ([2a3bc68](https://github.com/kaitranntt/ccs/commit/2a3bc6807fc354ed2a55a386d5012a7536aa765e))
* **ci:** qualify docker release checkout refs ([#1374](https://github.com/kaitranntt/ccs/issues/1374)) ([cba1414](https://github.com/kaitranntt/ccs/commit/cba1414b7e5c038741f0e4a401280d0999afdf61))
* **claude-extension:** enforce private permissions for settings writes ([#1378](https://github.com/kaitranntt/ccs/issues/1378)) ([0db9705](https://github.com/kaitranntt/ccs/commit/0db9705d7509302f13816607ca055b9c387111b3))
* **cliproxy:** clean up upstream proxy on response disconnect ([#1361](https://github.com/kaitranntt/ccs/issues/1361)) ([2188cdc](https://github.com/kaitranntt/ccs/commit/2188cdc9907cf0934f074a9503501edd68f708e8))
* **cliproxy:** fall back from invalid Codex feature labels ([a0870aa](https://github.com/kaitranntt/ccs/commit/a0870aa40455ae0d1475041d533e909629e9d906))
* **cliproxy:** ignore stale executor exit code ([bcc6899](https://github.com/kaitranntt/ccs/commit/bcc68992fad7786a54ffadff5283e343a5e73084))
* **cliproxy:** infer emails from alternate token prefixes ([c0cd44e](https://github.com/kaitranntt/ccs/commit/c0cd44ecaa0546b9ca9f2ce55840c539c8bba676))
* **cliproxy:** prefer explicit Codex free fallbacks ([27e1694](https://github.com/kaitranntt/ccs/commit/27e16944808cf43210d4505993c9846fdd7309e4))
* **cliproxy:** preserve manual quota pauses ([6ecca9b](https://github.com/kaitranntt/ccs/commit/6ecca9b16fbd77cd3fe130cdd131fa90af68ae32))
* **cliproxy:** prevent management key leak on runtime proxy overrides ([#1386](https://github.com/kaitranntt/ccs/issues/1386)) ([4cf840e](https://github.com/kaitranntt/ccs/commit/4cf840ea0adeaee8370753f1bb20fb3c3cbd849f))
* **cliproxy:** redact generic token query params in oauth trace ([#1364](https://github.com/kaitranntt/ccs/issues/1364)) ([9357f4d](https://github.com/kaitranntt/ccs/commit/9357f4df26d8ce8a07db9d52d3d5b9c307206d56))
* **cliproxy:** revert to qoder/auto prefixed model in base config ([c5308de](https://github.com/kaitranntt/ccs/commit/c5308ded3b08493036cfc279b04432576f76094e))
* **cliproxy:** sanitize Codex quota labels ([4574122](https://github.com/kaitranntt/ccs/commit/457412277b1311decb660620ecdd0cdd78a90e1c))
* **cliproxy:** scrub GitLab PAT env after token-login auth ([#1360](https://github.com/kaitranntt/ccs/issues/1360)) ([e658e83](https://github.com/kaitranntt/ccs/commit/e658e838f906bebebde8484df6f492bcda737abe))
* **cliproxy:** use unprefixed auto model for qoder base config ([9a8430f](https://github.com/kaitranntt/ccs/commit/9a8430f68beef326bf43aa3686952875a0e818fa))
* **codex-auth:** narrow running Codex detection ([9eb0201](https://github.com/kaitranntt/ccs/commit/9eb0201b794d2c231416865e28b991c93982db43))
* **codex-auth:** restrict symlink fallback and harden copy path ([#1365](https://github.com/kaitranntt/ccs/issues/1365)) ([0bd2e57](https://github.com/kaitranntt/ccs/commit/0bd2e577b21401f586fb9cbee18de3baa2cfc817))
* **codex:** cap buffered upstream error response size ([#1375](https://github.com/kaitranntt/ccs/issues/1375)) ([b0a7541](https://github.com/kaitranntt/ccs/commit/b0a754179ca7bc0c0d4b70ef119fca1eef827dfc))
* **codex:** gate ccsxp config overrides ([e09e930](https://github.com/kaitranntt/ccs/commit/e09e930c38ef17dfecf000804504ab6ed4f38367))
* compare cliproxy fork release suffixes ([#1419](https://github.com/kaitranntt/ccs/issues/1419)) ([aee322e](https://github.com/kaitranntt/ccs/commit/aee322ea88e39ffb57a3b427016f5cd1339141cf))
* **config:** Update Kiro model settings in default configuration ([39656b9](https://github.com/kaitranntt/ccs/commit/39656b98262e7f1d7b3e3c29e67fed7b9cae9c95))
* **config:** use valid Kiro default model ([a06eff6](https://github.com/kaitranntt/ccs/commit/a06eff61f03678f60fb055735375f53b29cc621a))
* correct claude image analysis default model ([8842102](https://github.com/kaitranntt/ccs/commit/88421026c64b0dc86c183f6d71b38ec9e5d89920))
* create explicit CODEX_HOME with secure permissions ([#1380](https://github.com/kaitranntt/ccs/issues/1380)) ([55cd78b](https://github.com/kaitranntt/ccs/commit/55cd78bce47f219d03c7b8b7a43963f5eae182b0))
* **cursor-daemon:** auto-generate token + expose for callers ([#1384](https://github.com/kaitranntt/ccs/issues/1384)) ([b7d5ce1](https://github.com/kaitranntt/ccs/commit/b7d5ce178a46d4ade8c3cb58eb5fff7af44dc44f)), closes [1373/#1377](https://github.com/1373/ccs/issues/1377)
* **cursor-daemon:** widen safeResolve type for daemonToken ([#1385](https://github.com/kaitranntt/ccs/issues/1385)) ([ba887e0](https://github.com/kaitranntt/ccs/commit/ba887e012ac29b9764806232b30f311c2f597cf8)), closes [1373/#1377](https://github.com/1373/ccs/issues/1377)
* **cursor:** authenticate local daemon health/runtime traffic ([#1373](https://github.com/kaitranntt/ccs/issues/1373)) ([03a3011](https://github.com/kaitranntt/ccs/commit/03a30119d99753e52f4726f2f0a2078118690f3e))
* **cursor:** block cross-origin runtime probe requests ([#1371](https://github.com/kaitranntt/ccs/issues/1371)) ([e6f764c](https://github.com/kaitranntt/ccs/commit/e6f764c79b94209bcbeaabfd8ee94ae364f821e1))
* **cursor:** enforce auth token for anthropic daemon route ([#1377](https://github.com/kaitranntt/ccs/issues/1377)) ([210ab76](https://github.com/kaitranntt/ccs/commit/210ab761e2cbfcaf8d1e75757a517889479c6335))
* **dashboard:** clear local control-panel management key ([#1372](https://github.com/kaitranntt/ccs/issues/1372)) ([6c0f7ac](https://github.com/kaitranntt/ccs/commit/6c0f7ac39c17b99bd4259eb4eca35792aea31dff))
* **dashboard:** respect account last-used timeline base ([70601e6](https://github.com/kaitranntt/ccs/commit/70601e6364fd1fd0e4cce2fec922ebf33f5ca61f))
* disable docker legacy API key auth by default ([#1355](https://github.com/kaitranntt/ccs/issues/1355)) ([ab379e9](https://github.com/kaitranntt/ccs/commit/ab379e9e1387d73f2672d92c5438f6421c94f4f5))
* **docker:** pin runtime deps to committed bun lockfile ([#1358](https://github.com/kaitranntt/ccs/issues/1358)) ([aef331d](https://github.com/kaitranntt/ccs/commit/aef331d8efde63f9d9393f3d3a0d0adc16918dcb))
* forward bare Claude subcommands through the default profile ([3fbf850](https://github.com/kaitranntt/ccs/commit/3fbf8504718c38c7e675bd68c90c0acf7d13aa6c)), closes [#1218](https://github.com/kaitranntt/ccs/issues/1218) [#1404](https://github.com/kaitranntt/ccs/issues/1404)
* gate auth monitor stats polling ([#1421](https://github.com/kaitranntt/ccs/issues/1421)) ([c12174d](https://github.com/kaitranntt/ccs/commit/c12174db125ea69631a8ab530098d24040b31a3f))
* guard self-signed routing request setup ([5807328](https://github.com/kaitranntt/ccs/commit/5807328cb58e6a60637a797b046afa06262043bf))
* handle system messages in OpenAI proxy ([#1403](https://github.com/kaitranntt/ccs/issues/1403)) ([f42aee9](https://github.com/kaitranntt/ccs/commit/f42aee9a20afb7a305dc4d2d2026063d62d5e4ce))
* harden cliproxy usage cache ([6bba193](https://github.com/kaitranntt/ccs/commit/6bba193cdd742a56f3d495a3de5d478df636f444))
* harden provider alias normalization ([480f3ba](https://github.com/kaitranntt/ccs/commit/480f3ba46949b4d44b1a36fa5a6dcc2699a311d5))
* honor browser eval env override in attach config ([#1368](https://github.com/kaitranntt/ccs/issues/1368)) ([4e7894a](https://github.com/kaitranntt/ccs/commit/4e7894a3daa5105d2b9c32d456748b1e485d78b7))
* keep live catalog defaults visible ([f9dec01](https://github.com/kaitranntt/ccs/commit/f9dec01cfdc976442eddb60bd092abadf443d1b4))
* **management:** skip broken shared plugin entries ([f44b651](https://github.com/kaitranntt/ccs/commit/f44b651cd6752053e175301c8c8f911b1be882fc))
* narrow legacy GLMT base URL normalization ([#1376](https://github.com/kaitranntt/ccs/issues/1376)) ([781c84b](https://github.com/kaitranntt/ccs/commit/781c84b04b184cbb57853fa2d0cc892e45c980f2))
* normalize cliproxy v3 usage snapshots ([65adab5](https://github.com/kaitranntt/ccs/commit/65adab5bec2814a2f7deb681067892def77b03ad))
* normalize Codex provider requests ([0f0ad4e](https://github.com/kaitranntt/ccs/commit/0f0ad4e6ed2ae5949399b777c2d0f77e7a33506e)), closes [#1399](https://github.com/kaitranntt/ccs/issues/1399) [#1406](https://github.com/kaitranntt/ccs/issues/1406)
* persist codex target selections ([04dc97a](https://github.com/kaitranntt/ccs/commit/04dc97aaa4690433e1ee0409cf3edc225eaab02c))
* **persist:** bound Codex translator receipt scan ([5da6334](https://github.com/kaitranntt/ccs/commit/5da63347367564104b2cc514c94d1f1fc1519996))
* **pricing:** restore opus version order; cover 4.6/4.7 fast-tier rates ([5a79b47](https://github.com/kaitranntt/ccs/commit/5a79b475063a3451b14e8805f9b0dc05397930cb))
* **proxy:** honor backpressure in cliproxy local streaming ([#1379](https://github.com/kaitranntt/ccs/issues/1379)) ([90d5ca2](https://github.com/kaitranntt/ccs/commit/90d5ca2cbb07e46364d05e3558f177355ceed975))
* **proxy:** load pid-only profile daemon state ([216fae7](https://github.com/kaitranntt/ccs/commit/216fae7d577423e6fa13c49efe836df23dbb8af4))
* **proxy:** support opt-in OpenAI reasoning shaping ([8282ff6](https://github.com/kaitranntt/ccs/commit/8282ff68a1667efba68e23400eb7e7ec3f1af9bb))
* redact OAuth trace error messages ([14da76a](https://github.com/kaitranntt/ccs/commit/14da76abae511f020bfa67d9b2b57342ebdc27fa))
* reject symlinked cleanup directories ([920fba7](https://github.com/kaitranntt/ccs/commit/920fba7e1333ff53b7826981bf61b238091dbcf6))
* reject unsupported image analysis backends ([#1387](https://github.com/kaitranntt/ccs/issues/1387)) ([b35a23a](https://github.com/kaitranntt/ccs/commit/b35a23a6e4a1d59ae3d1a3fb754d3a31db1e5855))
* restrict Codex usage cache permissions ([c630ce8](https://github.com/kaitranntt/ccs/commit/c630ce878ea4ad22d0bfa07d71dd352392db728a))
* restrict local runtime readiness probes ([9a7b26e](https://github.com/kaitranntt/ccs/commit/9a7b26eab745f5099d57685c9a14845a4adb985e))
* **sse:** make CRLF normalization chunk-boundary safe ([#1359](https://github.com/kaitranntt/ccs/issues/1359)) ([2ec23c6](https://github.com/kaitranntt/ccs/commit/2ec23c6c3a277c9e901cbee588683f4ca7662837))
* stop ccsxp model alias parsing at option terminator ([5776e9c](https://github.com/kaitranntt/ccs/commit/5776e9c3b1ac584eebcd01c6332196acc6ff7aa4))
* surface cleanup directory read errors ([f93cb36](https://github.com/kaitranntt/ccs/commit/f93cb36da68495015428123d4407a9337740aeee))
* **test:** add qoder to PLUS_EXTRA_CLIPROXY_PROVIDERS test expectation ([dea4de4](https://github.com/kaitranntt/ccs/commit/dea4de45fd4d06f3f2c79d2fedcef18caa8fb045))
* time out stalled CLIProxy response streams ([d7d5ad2](https://github.com/kaitranntt/ccs/commit/d7d5ad2ad2170dc95b35984968dfe2362f4c7454))
* tolerate null retryable check ([54f3b68](https://github.com/kaitranntt/ccs/commit/54f3b6860a8e81b11c705bf0cbe05eeb8728e668))
* **ui:** blur account identity badges in privacy mode ([dd62027](https://github.com/kaitranntt/ccs/commit/dd62027d3f4e11274e4ada2872d942a20c4ef0ea))
* **ui:** guard invalid log detail timestamps ([4ce6669](https://github.com/kaitranntt/ccs/commit/4ce6669e26ba4c55e8ca3bc3a9590e128eee2f30))
* **ui:** preserve distinct log detail rows ([c0f5413](https://github.com/kaitranntt/ccs/commit/c0f5413523c8ae0f7cff25ea4de97c4427c5f989))
* **ui:** preserve Gemini tier fallback without entitlement ([1f7ed65](https://github.com/kaitranntt/ccs/commit/1f7ed656b2b99ed8c25909bf6a66c1dde744855e))
* **ui:** show dashboard audit logs by default ([2b59e04](https://github.com/kaitranntt/ccs/commit/2b59e040c4481d29809798b273ba3cd57915a4b6))
* **ui:** suppress privacy mode account title leaks ([f592260](https://github.com/kaitranntt/ccs/commit/f592260049a6e7345a3457d990fa952e8fb09ff3))
* validate browser flags before proxy side effects ([8114ff0](https://github.com/kaitranntt/ccs/commit/8114ff016e5c29c869692a9812b3187f2842ccae))
* validate usage profile query type ([901bad2](https://github.com/kaitranntt/ccs/commit/901bad2ec7faab8d5725a65c96a1de8cb9945b3d))
* **web-server:** stop startup local prefix sync secret leak ([#1362](https://github.com/kaitranntt/ccs/issues/1362)) ([d961644](https://github.com/kaitranntt/ccs/commit/d9616447f9c3117fd4882357373c8d820774e3a7))
* **web:** avoid runtime proxy probes on public masked settings route ([#1388](https://github.com/kaitranntt/ccs/issues/1388)) ([fec8441](https://github.com/kaitranntt/ccs/commit/fec84417a61b6cf9a3a2a65a564eaf55e294388e))
* **web:** harden localhost guard against DNS rebinding ([#1357](https://github.com/kaitranntt/ccs/issues/1357)) ([21764d5](https://github.com/kaitranntt/ccs/commit/21764d5b90c8db06f5c52a1747e2e41f65da478b))

### Hotfixes

* sync Docker release publishing fix to dev ([6ed9e09](https://github.com/kaitranntt/ccs/commit/6ed9e097e7e72c25bfe2e17f37fa248f2d0e9c0a)), closes [#1400](https://github.com/kaitranntt/ccs/issues/1400)

### Documentation

* **docker:** avoid exposing dashboard password in examples ([#1382](https://github.com/kaitranntt/ccs/issues/1382)) ([e59ee6d](https://github.com/kaitranntt/ccs/commit/e59ee6df7974964056f48759a3e68d130c580c0a))
* **docker:** harden remote token migration staging ([#1381](https://github.com/kaitranntt/ccs/issues/1381)) ([7ccea95](https://github.com/kaitranntt/ccs/commit/7ccea955ad1fcef8b880fafccac2b1a04cad564e))
* **pricing:** document legacy 4-7-thinking entry; cover tier metadata ([1fc595f](https://github.com/kaitranntt/ccs/commit/1fc595f10cda9c13fa0afd38c98c9fec1b869ae5))

### Styles

* format ccsxp config override changes ([89475e3](https://github.com/kaitranntt/ccs/commit/89475e39100ed67889943272bedf4e8494c4c06b))
* format codex target persistence changes ([ad47d0f](https://github.com/kaitranntt/ccs/commit/ad47d0f478bb5bf150f524b9ae271e2766c2bb12))
* format email fallback parsing changes ([79379a2](https://github.com/kaitranntt/ccs/commit/79379a25fe258025705088691f01f690040b053c))
* format live catalog default changes ([8261901](https://github.com/kaitranntt/ccs/commit/8261901b89a4baa351a802417ed3a1a83a75e62b))
* format provider alias normalization changes ([0ca3e4b](https://github.com/kaitranntt/ccs/commit/0ca3e4b35a356e0bbeabb3cb8b996f6eb71d70f7))
* format v3 snapshot migration changes ([b3a8ced](https://github.com/kaitranntt/ccs/commit/b3a8ced8feee587db1e3a5587b08fc0340dd140e))

### Code Refactoring

* **pricing:** derive fast-tier cache rates via buildRates helper ([254fc88](https://github.com/kaitranntt/ccs/commit/254fc88f717dd5f649aa6ffa30b1939ac3f9078f)), closes [#3](https://github.com/kaitranntt/ccs/issues/3)
* **pricing:** share Opus fast-tier rate constants ([e8057a7](https://github.com/kaitranntt/ccs/commit/e8057a70734e1d7556dbc53aec1739c73d0cf8cf))

### Tests

* **accounts:** align stale free-tier expectations with current behavior ([5157a92](https://github.com/kaitranntt/ccs/commit/5157a922a5ed0461381741d8a7b624c2dcd6f71d))
* **accounts:** align stale free-tier expectations with current grouping ([28cfc17](https://github.com/kaitranntt/ccs/commit/28cfc175bdbc28c914c171af8b1435a12b26a487))
* cover qoder base settings ([ba853b1](https://github.com/kaitranntt/ccs/commit/ba853b159b231bd97d3479701938846a83d45baa))
* **qoder:** add qoder to provider-capabilities test expectations ([4973f7a](https://github.com/kaitranntt/ccs/commit/4973f7a00f8d3d6e30efb0b59e3ed961216c26c7))
* restrict claudecode CCS_HOME cleanup ([6671423](https://github.com/kaitranntt/ccs/commit/6671423d79d7841cc2414caee252fbc67b426189))
* update proxy resolver coverage ([1f1cc05](https://github.com/kaitranntt/ccs/commit/1f1cc056ef038f491d588e56f2f81f7c0a9acfd1))
2026-06-06 22:23:37 +00:00
semantic-release-bot 5b8923c85e chore(release): 8.1.4 [skip ci]
## [8.1.4](https://github.com/kaitranntt/ccs/compare/v8.1.3...v8.1.4) (2026-05-29)

### Hotfixes

* avoid Docker smoke port collisions ([#1412](https://github.com/kaitranntt/ccs/issues/1412)) ([c3d8dcb](https://github.com/kaitranntt/ccs/commit/c3d8dcbdd929e29b529c40afc965fea14af15ea1))
2026-05-29 15:52:53 +00:00
semantic-release-bot 5e8cd1035f chore(release): 8.1.3 [skip ci]
## [8.1.3](https://github.com/kaitranntt/ccs/compare/v8.1.2...v8.1.3) (2026-05-29)

### Hotfixes

* add integrated Docker healthcheck ([0e3383d](https://github.com/kaitranntt/ccs/commit/0e3383d31da6c8c882760a86890c0dd915af50db)), closes [#1400](https://github.com/kaitranntt/ccs/issues/1400)
2026-05-29 15:19:49 +00:00
semantic-release-bot 2a5c99f624 chore(release): 8.1.2 [skip ci]
## [8.1.2](https://github.com/kaitranntt/ccs/compare/v8.1.1...v8.1.2) (2026-05-29)

### Hotfixes

* repair Docker image size inspection ([731d43e](https://github.com/kaitranntt/ccs/commit/731d43ec9a331fa34b77c9abc18d4608dde27252)), closes [#1400](https://github.com/kaitranntt/ccs/issues/1400)
2026-05-29 14:43:01 +00:00
semantic-release-bot 23c819cabc chore(release): 8.1.1 [skip ci]
## [8.1.1](https://github.com/kaitranntt/ccs/compare/v8.1.0...v8.1.1) (2026-05-29)

### Hotfixes

* repair Docker release publishing ([d49bbda](https://github.com/kaitranntt/ccs/commit/d49bbdaec3a1b391a819653f15985b3b48fdd5d2)), closes [#1400](https://github.com/kaitranntt/ccs/issues/1400)
2026-05-29 14:23:28 +00:00
semantic-release-bot c21f589247 chore(release): 8.1.0 [skip ci]
## [8.1.0](https://github.com/kaitranntt/ccs/compare/v8.0.0...v8.1.0) (2026-05-23)

### Features

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

### Bug Fixes

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

### Code Refactoring

* **cliproxy:** remove orphaned bg keepalive wiring ([#1353](https://github.com/kaitranntt/ccs/issues/1353)) ([5d27f10](https://github.com/kaitranntt/ccs/commit/5d27f10367f2e869079c6850e8b24aa2b98242f1)), closes [#1340](https://github.com/kaitranntt/ccs/issues/1340)
2026-05-23 21:46:07 +00:00
semantic-release-bot 7f904c86bf chore(release): 8.0.0 [skip ci]
## [8.0.0](https://github.com/kaitranntt/ccs/compare/v7.79.1...v8.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](https://github.com/kaitranntt/ccs/commit/1af6625f5c403a15410906f5a0ee459c2699a57c))
* **ci:** sunset legacy dashboard image publishing ([9f6e64f](https://github.com/kaitranntt/ccs/commit/9f6e64fd39e3c1c42280676681120aaaeb5cb439))
* **codex-auth:** add ccsx auth CLI subcommands (create/login/switch/use/show/remove) ([bf92645](https://github.com/kaitranntt/ccs/commit/bf92645b35b48fe844ebe4303dfef5d4312c390a))
* **codex-auth:** add dashboard Auth Profiles tab + GET /api/codex/profiles ([e99c461](https://github.com/kaitranntt/ccs/commit/e99c4612a85c4f8500f52f6d76b5e55d4fe00e55))
* **codex-auth:** add import-default migration + integration tests + docs ([631c799](https://github.com/kaitranntt/ccs/commit/631c7993228c30ba29f326f543462beb9a124294))
* **codex-auth:** add profile registry + storage foundation ([358b703](https://github.com/kaitranntt/ccs/commit/358b703d984cb16f0f7473a2a7bd171f2aa0e43e))
* **codex-auth:** wire ccsx bin router + ccsxp scope notice ([8c604a0](https://github.com/kaitranntt/ccs/commit/8c604a040ff4aab2f00a87c28ec20c62e8191875))
* **dashboard:** add Korean language support ([8ad7653](https://github.com/kaitranntt/ccs/commit/8ad7653a2e4015e19c37bddbaddc44cc5cd348fd)), closes [#1206](https://github.com/kaitranntt/ccs/issues/1206) [#1241](https://github.com/kaitranntt/ccs/issues/1241)
* **docker:** canonical compose.yaml + smoke-test (P2 of [#1251](https://github.com/kaitranntt/ccs/issues/1251)) ([#1258](https://github.com/kaitranntt/ccs/issues/1258)) ([fbaac6a](https://github.com/kaitranntt/ccs/commit/fbaac6a9ba96fb61155248bedd59e2312ad972aa))
* **docker:** publish ccs:latest + ccs:full integrated images (P1 of [#1251](https://github.com/kaitranntt/ccs/issues/1251)) ([#1257](https://github.com/kaitranntt/ccs/issues/1257)) ([d558cd2](https://github.com/kaitranntt/ccs/commit/d558cd2e36c1d4974e35ebc554ac3478c4570ce8))
* **docker:** zero-install Docker UX — ccs:latest, ccs:full, canonical compose, ccs-net contract ([#1251](https://github.com/kaitranntt/ccs/issues/1251)) ([#1261](https://github.com/kaitranntt/ccs/issues/1261)) ([9aa854b](https://github.com/kaitranntt/ccs/commit/9aa854bc59bb3735c4a7eaf60b1451f710f86b5d))
* filter analytics by profile ([f1d655e](https://github.com/kaitranntt/ccs/commit/f1d655e4257a035f1e0910d88d0748002842e0df))
* report permission mode persist receipt status ([3dc1810](https://github.com/kaitranntt/ccs/commit/3dc1810540050abb8c23c48ab827e8d3e9966959))
* share stale Codex translator path scanner ([46d73ae](https://github.com/kaitranntt/ccs/commit/46d73ae79f57f799719d07fc0d4a690db4353cb5))
* support minimal codex effort aliases ([6569eed](https://github.com/kaitranntt/ccs/commit/6569eed15b99f85cf32db15d7a6fbd57b001b326))

### Bug Fixes

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

### Documentation

* **ci:** clarify rc.1 soak and :full removal as intentional design ([#1261](https://github.com/kaitranntt/ccs/issues/1261)) ([#1279](https://github.com/kaitranntt/ccs/issues/1279)) ([d2f7d3f](https://github.com/kaitranntt/ccs/commit/d2f7d3f407b2b3d5944e7ceea90a75c6f87cf93d))
* **docker:** document ccs-net contract for sibling containers ([#1259](https://github.com/kaitranntt/ccs/issues/1259)) ([28f08cb](https://github.com/kaitranntt/ccs/commit/28f08cbb50c70fab5cf8740294ed39a85042f236))
* **docker:** P3 — hoist two-command quickstart, restructure docker/README, add parity CI ([#1260](https://github.com/kaitranntt/ccs/issues/1260)) ([b50c2db](https://github.com/kaitranntt/ccs/commit/b50c2db3ce567885765918fe9344820f5dfbea5a))
* sync agent guide with AGENTS ([b123d41](https://github.com/kaitranntt/ccs/commit/b123d415906d0d37013df497596defefa8715902))

### Code Refactoring

* **docker:** drop Bun from runtime stage; generate npm lockfile in build stage ([#1256](https://github.com/kaitranntt/ccs/issues/1256)) ([775f438](https://github.com/kaitranntt/ccs/commit/775f438d78bd45358a38f5b8d2bfca86e005e2e4))

### Performance Improvements

* **ui:** tighten sensitive-mask decoration scope and reveal selector ([f404e52](https://github.com/kaitranntt/ccs/commit/f404e524392d333f0cba82c4c8c717cd68f2323e)), closes [#1248](https://github.com/kaitranntt/ccs/issues/1248)

### Tests

* avoid fixed image analyzer e2e port ([c81ea20](https://github.com/kaitranntt/ccs/commit/c81ea20e446d641568820d2e878642005832915b))
* cover agents permission-mode passthrough ([e0f43b8](https://github.com/kaitranntt/ccs/commit/e0f43b88c219ba2d08fae8470b69a272012320c5))
2026-05-23 18:57:40 +00:00
semantic-release-bot aba15d8646 chore(release): 7.79.1 [skip ci]
## [7.79.1](https://github.com/kaitranntt/ccs/compare/v7.79.0...v7.79.1) (2026-05-14)

### Hotfixes

* **codex:** tolerate BOM in Codex TOML config ([5b664d2](https://github.com/kaitranntt/ccs/commit/5b664d2105b81ec263c05a37c4549a4a6c409bb3))
2026-05-14 17:24:12 +00:00
semantic-release-bot 1773586d4d chore(release): 7.79.0 [skip ci]
## [7.79.0](https://github.com/kaitranntt/ccs/compare/v7.78.1...v7.79.0) (2026-05-14)

### Features

* **dispatcher:** pass through Claude subcommands without interactive-session args ([c2b00b7](https://github.com/kaitranntt/ccs/commit/c2b00b7ad6f01f5d83db6d19e2ceb4e3d10d741b))

### Bug Fixes

* **ci:** run pull request validation on hosted runners ([e7174d6](https://github.com/kaitranntt/ccs/commit/e7174d63bb2ed8b2cf9f013aa69ad178ebbcee4f))
* clarify CLIProxy setup actions ([ac333dd](https://github.com/kaitranntt/ccs/commit/ac333dd1d50538e8164d921099f8ac85cd914999))
* **cliproxy:** explain headless Codex OAuth recovery ([29da75c](https://github.com/kaitranntt/ccs/commit/29da75c0d42ed473029d1222c7fe4e5e655f5b03)), closes [#1213](https://github.com/kaitranntt/ccs/issues/1213)
* **codex:** require local access for dashboard config routes ([bd588a2](https://github.com/kaitranntt/ccs/commit/bd588a271df8be95149d6e87eb302139cb2b4cb9))
* **codex:** self-heal ccsxp cliproxy provider ([#1243](https://github.com/kaitranntt/ccs/issues/1243)) ([4748c45](https://github.com/kaitranntt/ccs/commit/4748c452bd8bc0c18a0a1267324d5ec015a7a578))
* **config:** bind dashboard to loopback by default ([d61469e](https://github.com/kaitranntt/ccs/commit/d61469edcbdd162d9fce04b0aefe6c0506568974))
* ignore internal instance directories in health scans ([667b1d1](https://github.com/kaitranntt/ccs/commit/667b1d1e1f0db7f56f88bb88feaee9e2ce994f5c)), closes [#1236](https://github.com/kaitranntt/ccs/issues/1236)
* **proxy:** avoid exposing local auth token in daemon argv ([#1230](https://github.com/kaitranntt/ccs/issues/1230)) ([a840793](https://github.com/kaitranntt/ccs/commit/a840793a9b091b911afc7aa6ee91666a1c258366))
* **proxy:** strip stale encoding from upstream error responses ([1932b2c](https://github.com/kaitranntt/ccs/commit/1932b2ca61f084629654941efdd09fd1b971efed))
* **proxy:** strip stale encoding from upstream error responses ([#1239](https://github.com/kaitranntt/ccs/issues/1239)) ([54f1aa7](https://github.com/kaitranntt/ccs/commit/54f1aa70c0f16a965608f935ce4a39128e829688))
* **security:** constrain image fallback hook to workspace ([#1232](https://github.com/kaitranntt/ccs/issues/1232)) ([40300c2](https://github.com/kaitranntt/ccs/commit/40300c286ec9f40e89cb2b040a416cba04680930))
* **security:** protect dashboard WebSocket upgrades ([f09cdfc](https://github.com/kaitranntt/ccs/commit/f09cdfcf2ba0b14ffd20f69a1c0923343f245a39))
* **settings:** confine dashboard settings paths ([#1231](https://github.com/kaitranntt/ccs/issues/1231)) ([349db83](https://github.com/kaitranntt/ccs/commit/349db830dfbc1f91b44f287a2aa40426756338a9))
* support Claude subcommands and background sessions ([35b6210](https://github.com/kaitranntt/ccs/commit/35b6210cd2ef3b79d317cd76926b55a126084b1d))
* **ui:** keep codex toml tokens inline ([#1219](https://github.com/kaitranntt/ccs/issues/1219)) ([5138741](https://github.com/kaitranntt/ccs/commit/5138741b5c0fdc0da87982bd59227fad56f8a046))
* **ui:** render codex config as exact text ([#1215](https://github.com/kaitranntt/ccs/issues/1215)) ([225401c](https://github.com/kaitranntt/ccs/commit/225401ceca433705d11c119b3373913c95129c56))
* **ui:** restore codex config highlighting ([#1216](https://github.com/kaitranntt/ccs/issues/1216)) ([e177724](https://github.com/kaitranntt/ccs/commit/e1777247b371749ac717373f0d4299415990413c))
* **ui:** wrap codex config highlight editor ([#1217](https://github.com/kaitranntt/ccs/issues/1217)) ([ba761a0](https://github.com/kaitranntt/ccs/commit/ba761a0d1e75dac9090f58848bf1f0f10d855519))
* **windows:** pin cmd shell for wrapper launches ([#1229](https://github.com/kaitranntt/ccs/issues/1229)) ([9c5d497](https://github.com/kaitranntt/ccs/commit/9c5d4976c51696a86251c507902ea03e4d78a8b0))
2026-05-14 16:55:30 +00:00
semantic-release-bot 4099dfc3ca chore(release): 7.78.1 [skip ci]
## [7.78.1](https://github.com/kaitranntt/ccs/compare/v7.78.0...v7.78.1) (2026-05-12)

### Bug Fixes

* **ci:** harden self-hosted workflow trust boundaries ([2273757](https://github.com/kaitranntt/ccs/commit/2273757c837254edd2277c785530835d6db2a977))
2026-05-12 16:37:30 +00:00
semantic-release-bot d86032ed0a chore(release): 7.78.0 [skip ci]
## [7.78.0](https://github.com/kaitranntt/ccs/compare/v7.77.1...v7.78.0) (2026-05-11)

### Features

* **auth:** add shared resource controls ([64e1d1f](https://github.com/kaitranntt/ccs/commit/64e1d1f815836802c1f2ed37758a9d4d104d9e14))
* clarify account history sync route ([#1187](https://github.com/kaitranntt/ccs/issues/1187)) ([be9effc](https://github.com/kaitranntt/ccs/commit/be9effcce34a7545943d195b3a5ce5369083e98a))
* **cliproxy:** add OAuth callback traceability across profiles ([641d492](https://github.com/kaitranntt/ccs/commit/641d492cd696fb8ff82c55bf8dc5495abf81e7c9)), closes [#1206](https://github.com/kaitranntt/ccs/issues/1206)
* **dashboard:** add shared resource controls ([2a422b3](https://github.com/kaitranntt/ccs/commit/2a422b3bd32d989e03e8f20efc875b4bb6d35584))
* deprecate GitHub Copilot compatibility surfaces ([#1196](https://github.com/kaitranntt/ccs/issues/1196)) ([19a50a8](https://github.com/kaitranntt/ccs/commit/19a50a8dd86ffcc602165701aa15981a53b822b8))
* support Codex fast service-tier aliases ([74d7374](https://github.com/kaitranntt/ccs/commit/74d73748eef656902d857c8fae7b8e1af7ff5cb4))

### Bug Fixes

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

### Code Refactoring

* **web-server:** modularize shared-routes and Windows-aware symlink status ([a983332](https://github.com/kaitranntt/ccs/commit/a983332016b8f0572cceb8575516ff37178c5c9b))

### Tests

* **ci:** make routing mock complete and websearch trace path env-robust ([9d0690e](https://github.com/kaitranntt/ccs/commit/9d0690e1a86291e93ac775c9ffd06f8e0a0dc974))

### CI

* **ai-review:** move PR-Agent jobs to ubuntu-latest ([c02c66d](https://github.com/kaitranntt/ccs/commit/c02c66dcd116715e7ea7557a0b539920acc24038))
* trigger fresh CI run after claw runner recovery ([15e0e62](https://github.com/kaitranntt/ccs/commit/15e0e62bd884283f8076f137a3ee65a7ed321973))
2026-05-11 02:52:35 +00:00
semantic-release-bot 95ad454ed5 chore(release): 7.77.1 [skip ci]
## [7.77.1](https://github.com/kaitranntt/ccs/compare/v7.77.0...v7.77.1) (2026-05-04)

### Bug Fixes

* harden cursor daemon model fallback ([5f05dea](https://github.com/kaitranntt/ccs/commit/5f05dea5acac9b07aa55b6d66215419cb26320e7))
* preserve arm64 compatibility for CLIProxy assets ([2274cef](https://github.com/kaitranntt/ccs/commit/2274cef6588b01e818b60e042481d31dc2f83dd1))
* preserve CLIProxy platform arch compatibility ([9a687fc](https://github.com/kaitranntt/ccs/commit/9a687fc03cf704a11e804780185ba24153766fd5))
* use aarch64 for CLIProxy arm assets ([190e820](https://github.com/kaitranntt/ccs/commit/190e820f99b100420f987c6669c2d89c0ce51d30))
* use aarch64 for CLIProxy arm assets ([70bf080](https://github.com/kaitranntt/ccs/commit/70bf0806f33bcf33e74dbe7a10b258879dc9f104))

### Styles

* apply prettier formatting ([4acc81c](https://github.com/kaitranntt/ccs/commit/4acc81c08221dbdff79319998ab1e290645ebb45))
2026-05-04 12:14:11 -04:00
semantic-release-bot f1515961c4 chore(release): 7.77.0 [skip ci]
## [7.77.0](https://github.com/kaitranntt/ccs/compare/v7.76.0...v7.77.0) (2026-05-04)

### Features

* **cliproxy:** route plus dashboard to maintained fork ([#1173](https://github.com/kaitranntt/ccs/issues/1173)) ([923683b](https://github.com/kaitranntt/ccs/commit/923683bf303984959f8d5308bfd4c4294651d257))
* support ollama cloud anthropic compatible api ([#1175](https://github.com/kaitranntt/ccs/issues/1175)) ([4e2def6](https://github.com/kaitranntt/ccs/commit/4e2def6769ec71da2063588f867adaea7600df96))

### Bug Fixes

* **analytics:** cache native Codex usage scans ([11b12f1](https://github.com/kaitranntt/ccs/commit/11b12f146d65c32ef6b837b3daddc453d8bca11e))
* **cliproxy:** harden custom local port handling ([3862411](https://github.com/kaitranntt/ccs/commit/3862411bb7ac61fb52a13e53db95ae3b99d49c4b))
* **cliproxy:** refresh upstream model and quota surfaces ([#1158](https://github.com/kaitranntt/ccs/issues/1158)) ([50b0ffb](https://github.com/kaitranntt/ccs/commit/50b0ffba759b7de6fac525e31e5d02bde20b54f3))
* **cliproxy:** respect configured local port instead of hardcoding 8317 ([509bd5d](https://github.com/kaitranntt/ccs/commit/509bd5dbef008e1e0b5cf129744887cee99b9726))
* **config/loader:** break runtime cycle from normalizers to channels-runtime ([b6a49ee](https://github.com/kaitranntt/ccs/commit/b6a49eeab702906f8fb5e81d5022f1348fe4cd17)), closes [#1168](https://github.com/kaitranntt/ccs/issues/1168) [#1135](https://github.com/kaitranntt/ccs/issues/1135)

### Code Refactoring

* **cliproxy/executor:** extract arg-parser from index.ts ([19d2495](https://github.com/kaitranntt/ccs/commit/19d24954be62410b84f0a81f86f05716d5419da5)), closes [#1162](https://github.com/kaitranntt/ccs/issues/1162)
* **cliproxy/executor:** extract auth-coordinator from index.ts ([8b7e7f4](https://github.com/kaitranntt/ccs/commit/8b7e7f4847eec98b39cd1bac883cf4dd5aa30a2d)), closes [#1162](https://github.com/kaitranntt/ccs/issues/1162)
* **cliproxy/executor:** extract browser-setup and account-resolution ([bc48613](https://github.com/kaitranntt/ccs/commit/bc48613bbd06e8ca17d4b8acff466690d152f8ba)), closes [#1162](https://github.com/kaitranntt/ccs/issues/1162)
* **cliproxy/executor:** extract concerns from index.ts ([#1166](https://github.com/kaitranntt/ccs/issues/1166)) ([f7b8540](https://github.com/kaitranntt/ccs/commit/f7b854047e03cb3838fdd0dc4b1f4dc650e1c172)), closes [#1162](https://github.com/kaitranntt/ccs/issues/1162)
* **cliproxy/executor:** extract model-warnings + claude-launcher and polish orchestrator ([09268e7](https://github.com/kaitranntt/ccs/commit/09268e7e3307aea1508505692f83a2131e15f8a9)), closes [#1162](https://github.com/kaitranntt/ccs/issues/1162)
* **cliproxy/executor:** extract proxy-chain-builder from index.ts ([8b39d8a](https://github.com/kaitranntt/ccs/commit/8b39d8a25f3af8e6829b0164932e6a30c71ea20f)), closes [#1162](https://github.com/kaitranntt/ccs/issues/1162)
* **cliproxy/executor:** extract proxy-resolver from index.ts ([968681f](https://github.com/kaitranntt/ccs/commit/968681f261f6d0f00168347f4bdc203a151ef542)), closes [#1162](https://github.com/kaitranntt/ccs/issues/1162)
* **config/loader:** extract defaults-merger, config-getters, polish orchestrator ([f3e79fd](https://github.com/kaitranntt/ccs/commit/f3e79fd4e8c4986eea90fd37ffefac861e8e1598)), closes [#1164](https://github.com/kaitranntt/ccs/issues/1164)
* **config/loader:** extract io-locks, normalizers, yaml-serializer ([315ae19](https://github.com/kaitranntt/ccs/commit/315ae19387e90b55385fe631ca0b3187c8eeacc9)), closes [#1164](https://github.com/kaitranntt/ccs/issues/1164)
* **config/loader:** split unified-config-loader.ts ([#1168](https://github.com/kaitranntt/ccs/issues/1168)) ([2408987](https://github.com/kaitranntt/ccs/commit/240898785942194227b471486f4f05c88114478f)), closes [#1164](https://github.com/kaitranntt/ccs/issues/1164)
* **config:** adopt config-loader-facade across codebase ([#1169](https://github.com/kaitranntt/ccs/issues/1169)) ([df8efc9](https://github.com/kaitranntt/ccs/commit/df8efc985eb9b500b46baabf99a42c7e9aa71b6e)), closes [#1161](https://github.com/kaitranntt/ccs/issues/1161)
* **config:** adopt config-loader-facade across the codebase ([4f6e617](https://github.com/kaitranntt/ccs/commit/4f6e61739c13323484bcb036980e2553e6bb31bd)), closes [#1161](https://github.com/kaitranntt/ccs/issues/1161)
* **dispatcher:** extract bootstrap and pre-dispatch handlers from ccs.ts ([0cf4ad7](https://github.com/kaitranntt/ccs/commit/0cf4ad7b48b644c30d29dbce7fdfd78400320df4)), closes [#1165](https://github.com/kaitranntt/ccs/issues/1165)
* **dispatcher:** extract concerns from ccs.ts ([#1167](https://github.com/kaitranntt/ccs/issues/1167)) ([33de23c](https://github.com/kaitranntt/ccs/commit/33de23c6471b016bd669701bb3512ea900c14a7d)), closes [#1165](https://github.com/kaitranntt/ccs/issues/1165)
* **dispatcher:** extract per-profile flows from ccs.ts ([0910a75](https://github.com/kaitranntt/ccs/commit/0910a75850c149f29493d4a5db0c09486a8ac443)), closes [#1165](https://github.com/kaitranntt/ccs/issues/1165)
* **dispatcher:** extract profile and target detection from ccs.ts ([a807de6](https://github.com/kaitranntt/ccs/commit/a807de6f4cc3d328349075699b5fb27efd3e6e80)), closes [#1165](https://github.com/kaitranntt/ccs/issues/1165)
* **dispatcher:** scaffold src/dispatcher/ and extract pure helpers from ccs.ts ([f759cfe](https://github.com/kaitranntt/ccs/commit/f759cfeaaaef26591060a2746319cc5156287da8)), closes [#1165](https://github.com/kaitranntt/ccs/issues/1165)
* merge facade adoption from [#1169](https://github.com/kaitranntt/ccs/issues/1169) into ccs.ts dispatcher ([70b5dc2](https://github.com/kaitranntt/ccs/commit/70b5dc247f38af45b0cb622ed63dc3a05ae68ce1))
* merge facade adoption from [#1169](https://github.com/kaitranntt/ccs/issues/1169) into executor extraction ([05e1c35](https://github.com/kaitranntt/ccs/commit/05e1c352033afc1c141b60a64d88b6782124b621))
* structural maintainability batch ([#1171](https://github.com/kaitranntt/ccs/issues/1171)) ([b4d55d0](https://github.com/kaitranntt/ccs/commit/b4d55d0fda712f550510b3fc71bfc76b8f9fec40)), closes [#1135](https://github.com/kaitranntt/ccs/issues/1135)
2026-05-03 23:23:53 -04:00
semantic-release-bot 66865127d7 chore(release): 7.76.0 [skip ci]
## [7.76.0](https://github.com/kaitranntt/ccs/compare/v7.75.0...v7.76.0) (2026-05-01)

### Features

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

### Bug Fixes

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

### Documentation

* **config-facade:** clarify cache coherence contract ([2290a1d](https://github.com/kaitranntt/ccs/commit/2290a1dc5a575c0875524571c64ee24968851855)), closes [#1150](https://github.com/kaitranntt/ccs/issues/1150)
* **logging:** add structured contract reference and bump Node engines to 18+ ([c0c856a](https://github.com/kaitranntt/ccs/commit/c0c856af988277d2d79b869e1be98c5261d8c7c0)), closes [#1141](https://github.com/kaitranntt/ccs/issues/1141) [#1138](https://github.com/kaitranntt/ccs/issues/1138)

### Code Refactoring

* **cliproxy:** flatten module structure and colocate tests ([#1135](https://github.com/kaitranntt/ccs/issues/1135)) ([1c72b4b](https://github.com/kaitranntt/ccs/commit/1c72b4b8d5bf783bc3c6306d687065ac8eac9922))
* **config:** add config-loader-facade with memoization ([1e9a7f3](https://github.com/kaitranntt/ccs/commit/1e9a7f3fa01e40ab569932e66ce37f8653bf8c97))
* **config:** reorganize unified-config-types into schemas directory ([51df0ee](https://github.com/kaitranntt/ccs/commit/51df0ee55b52ecc858544ec8d8ff7e7932db0f11))
* **errors:** add RetryableError and retry-strategy utility ([d089ab0](https://github.com/kaitranntt/ccs/commit/d089ab06c2c007e4a46173efcac9ea9ff23f0bb5))
* extract plugin path normalizer ([3330229](https://github.com/kaitranntt/ccs/commit/333022968689a5584347c1fa66cdf18ee0a3a7b4))

### Tests

* include colocated cliproxy tests in buckets ([33a1553](https://github.com/kaitranntt/ccs/commit/33a1553431afdcca1a5c1fca54aff8da8d8bb05e))
* **logging:** add cross-stage requestId correlation integration test in slow bucket ([c0a019b](https://github.com/kaitranntt/ccs/commit/c0a019bf7e83287dddfb333633941d3142541778)), closes [#1141](https://github.com/kaitranntt/ccs/issues/1141) [#1138](https://github.com/kaitranntt/ccs/issues/1138)
* **proxy:** assert tool_result image URLs stay redacted ([2c0f9c4](https://github.com/kaitranntt/ccs/commit/2c0f9c41ff1fff94c35e93535b9a8343ef7ce953))
* **ui:** cover logs page redesign with virtuoso-mocked render ([a10e570](https://github.com/kaitranntt/ccs/commit/a10e570310c2655553cd62dae1bf6d84478f8090)), closes [#1142](https://github.com/kaitranntt/ccs/issues/1142) [#1138](https://github.com/kaitranntt/ccs/issues/1138)
* **ui:** cover trace-coalesce, leaf-coalesce, and stage-hint helpers ([6ada2b2](https://github.com/kaitranntt/ccs/commit/6ada2b243e339067071fe1c00d41a57581c3e403)), closes [#1138](https://github.com/kaitranntt/ccs/issues/1138) [#1151](https://github.com/kaitranntt/ccs/issues/1151)
2026-05-01 01:15:14 -04:00
semantic-release-bot b33277bf93 chore(release): 7.75.0 [skip ci]
## [7.75.0](https://github.com/kaitranntt/ccs/compare/v7.74.0...v7.75.0) (2026-04-29)

### Features

* add extra models support for API profiles ([2915ab0](https://github.com/kaitranntt/ccs/commit/2915ab0c40e8c22027884ff95f14a7df78ee275b))
* add gpt-5.5 to codex model catalogs ([4efd61e](https://github.com/kaitranntt/ccs/commit/4efd61ee3477e2b80e0074c2ef1683d53c8b411c))
* **cliproxy:** add local session affinity controls ([4309db8](https://github.com/kaitranntt/ccs/commit/4309db89c33d7021e6ba1ceb6045a95082c47805))
* **cliproxy:** self-pause exhausted quota accounts ([5013d41](https://github.com/kaitranntt/ccs/commit/5013d411a73af19c37a8e8ac3665e22589857696))
* **codex:** align ccsxp with native cliproxy shortcut ([82c92aa](https://github.com/kaitranntt/ccs/commit/82c92aa940afc0b87a7e57a3aa092b4fdb850e46))
* integrate models.dev pricing metadata ([a38c1a7](https://github.com/kaitranntt/ccs/commit/a38c1a75ba73606c68262a16d2e488c30f939da8))
* **ui/design-system:** codify rail-anchored layout invariants and palette ([5303089](https://github.com/kaitranntt/ccs/commit/53030891c6bae10abe9e8bdf4ef3ed6acc3bb925))
* **ui:** add design system foundations ([64e78f6](https://github.com/kaitranntt/ccs/commit/64e78f6e69e11ea43ce14baa62cd82ef0c9458c4))
* **ui:** migrate cliproxy page to design system Config archetype ([9a2c093](https://github.com/kaitranntt/ccs/commit/9a2c09357a2e728894f672d51b0fc9fdb6e26259))
* **ui:** migrate health page to design system Monitor archetype ([5e3e554](https://github.com/kaitranntt/ccs/commit/5e3e554693195a3f11ca3fc90cdd7020a249c35d))
* **ui:** migrate home page to design system Monitor archetype ([3ae5f20](https://github.com/kaitranntt/ccs/commit/3ae5f20dc8faf9687d5c9da62a4c55cae14486d9))
* **ui:** redesign health page with prioritized layout and premium aesthetics ([36ed091](https://github.com/kaitranntt/ccs/commit/36ed091e4d02d9422474f536fda2fe1b33157723))

### Bug Fixes

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

### Documentation

* **api:** document --extra-models flag in ccs api --help ([a28d544](https://github.com/kaitranntt/ccs/commit/a28d544abbba8f3246a7adea41d97010d22cd6d7))
* **codex:** document ccsxp history root ([5094c23](https://github.com/kaitranntt/ccs/commit/5094c23c43a99e978862e18f1e719f4f9d686c86))
* **ui:** add design system visual preview + screenshots ([e0d2ab0](https://github.com/kaitranntt/ccs/commit/e0d2ab0444b8ade65428db39f3d60f3d00ffc9b3))
* **ui:** add health redesign verification report and screenshots ([63198ab](https://github.com/kaitranntt/ccs/commit/63198ab1ff6e2d8d8a5eec98487114ac0d206171))
* **ui:** add HeroBar and rail-anchored demos to styleguide ([ba4fbcf](https://github.com/kaitranntt/ccs/commit/ba4fbcf75f03a45fe5d7fdfe07e802bb563d40d7))
* **ui:** add phase 2 visual preview with before/after screenshots ([339fcd8](https://github.com/kaitranntt/ccs/commit/339fcd81e687fb8be755bd705101a7fb7fa741e8))
* **ui:** drop redundant home/cliproxy screenshots from phase2 report ([d933290](https://github.com/kaitranntt/ccs/commit/d9332907cca085840ba4395d606630e3d9660381))
* **ui:** sync design system docs with bespoke health redesign ([dd9854b](https://github.com/kaitranntt/ccs/commit/dd9854bfd7bf6306ce90ef02d973f861a962d0d3))

### Styles

* apply prettier formatting to extra-models changes ([f01210f](https://github.com/kaitranntt/ccs/commit/f01210fbf27f1f8c6f75d77c3f0e647576034625))
* **proxy:** format openai bridge launch settings ([328d53e](https://github.com/kaitranntt/ccs/commit/328d53e3834d2f9dba89da1e81d5807e3347edb9))

### Code Refactoring

* **ui:** revert home/cliproxy migrations and restructure design system ([1a2fd84](https://github.com/kaitranntt/ccs/commit/1a2fd848f06ca72a8f36310a20d58411e45efa55))

### Tests

* **cliproxy:** isolate routing HTTP module test ([fe29714](https://github.com/kaitranntt/ccs/commit/fe297142dadeda925ae0bd709ae2d42fa869d808))
* **cliproxy:** replace process-wide mock.module with DI seams ([a787128](https://github.com/kaitranntt/ccs/commit/a7871283d4da52ee4f4dddfed59e60c270407705))
* **cliproxy:** stabilize routing endpoint coverage ([aa7f155](https://github.com/kaitranntt/ccs/commit/aa7f15516157d55ddf40c723bf72cbe1e3e35cc6))
* cover --extra-models parsing and CLIProxy sync dedup ([7f14c56](https://github.com/kaitranntt/ccs/commit/7f14c565df8d629d92ba85e4b430db7ac0b9bbc4))
* **image-analysis:** 隔离 hook e2e 环境变量 ([785f439](https://github.com/kaitranntt/ccs/commit/785f439e9bef7166d5ddc70ae518eb31d59ddfc5))
2026-04-29 02:47:57 +00:00
semantic-release-bot 8ccf193fd4 chore(release): 7.74.0 [skip ci]
## [7.74.0](https://github.com/kaitranntt/ccs/compare/v7.73.1...v7.74.0) (2026-04-24)

### Features

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

### Bug Fixes

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

### Hotfixes

* **cliproxy:** fallback from deleted CLIProxyAPIPlus to original backend ([b8b48a9](https://github.com/kaitranntt/ccs/commit/b8b48a99ba8d9e17398886a005c7c64f011ad6f3)), closes [#1062](https://github.com/kaitranntt/ccs/issues/1062)
* close cliproxy plus fallback gaps ([dd90ea7](https://github.com/kaitranntt/ccs/commit/dd90ea7e2fa4dcac6227009caacc1f76711c79b5))
* preserve plus fallback state and guard variant updates ([3e7ce17](https://github.com/kaitranntt/ccs/commit/3e7ce1743b491a7698b210df05bdc815cc02191b))

### Documentation

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

### Performance Improvements

* **test-bucket:** only serialize slow bucket, parallelize fast ([6b5c74a](https://github.com/kaitranntt/ccs/commit/6b5c74aa4baaac2b43da73250e9e8e30f68aafa5))

### Tests

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

### CI

* add fast test budget warning ([4c67750](https://github.com/kaitranntt/ccs/commit/4c677507d0e568418a79c6c6893f62e2fe560049))
* preserve fast test budget summary on failure ([aa4a05e](https://github.com/kaitranntt/ccs/commit/aa4a05e85922c787cada4dc1111469a1bcfdcfd6))
2026-04-24 04:24:34 +00:00
semantic-release-bot 473c870e8c chore(release): 7.73.1 [skip ci]
## [7.73.1](https://github.com/kaitranntt/ccs/compare/v7.73.0...v7.73.1) (2026-04-22)

### Hotfixes

* **cliproxy:** fallback from deleted CLIProxyAPIPlus to original backend ([60cbdce](https://github.com/kaitranntt/ccs/commit/60cbdce83dd429aeb6df5f1439ba99edd96acc3a)), closes [#1062](https://github.com/kaitranntt/ccs/issues/1062)
* close cliproxy plus fallback gaps ([7b1a7f3](https://github.com/kaitranntt/ccs/commit/7b1a7f3a09b5c6394897b5f95ad32bc9109e6a21))
* preserve plus fallback state and guard variant updates ([5b5f4a5](https://github.com/kaitranntt/ccs/commit/5b5f4a5ef52f91cb6d4bc7fd3413eac714945d4a))
2026-04-22 12:53:35 +00:00
semantic-release-bot 513896b1af chore(release): 7.73.0 [skip ci]
## [7.73.0](https://github.com/kaitranntt/ccs/compare/v7.72.1...v7.73.0) (2026-04-19)

### Features

* **proxy:** enhance Anthropic-to-OpenAI message transformation and schema sanitization ([2672e35](https://github.com/kaitranntt/ccs/commit/2672e35362938b054710de681760bd24c3c39e19))

### Bug Fixes

* **browser:** bootstrap managed attach profile setup ([b525033](https://github.com/kaitranntt/ccs/commit/b52503300b0c434fbb9d88283643d3ceaa673d44))
* **cliproxy:** preserve legacy openai-compat connectors on restart ([16f81fc](https://github.com/kaitranntt/ccs/commit/16f81fc8a595792f1c1a6df060f88cdf28d7afb6))
* **codex:** probe Windows cmd wrappers via cmd shell ([210ec33](https://github.com/kaitranntt/ccs/commit/210ec33c04fe88be2b651c2163f638085b1b6bd2))
* **proxy:** harden Anthropic request transformation semantics ([ebc9219](https://github.com/kaitranntt/ccs/commit/ebc92194bb9bf2810e10f64de1fa6e599c2fa156))
* **proxy:** preserve valid enums during schema normalization ([22ab58b](https://github.com/kaitranntt/ccs/commit/22ab58b02e5dc34f152ecce048c1fbf7d615bdfb))
* **proxy:** restore strict Anthropic message validation ([32d6bfd](https://github.com/kaitranntt/ccs/commit/32d6bfdda7881a42a376d0973c021f0b47eed7e2))
* **repo:** remove tracked plans workspace files ([bc4ab98](https://github.com/kaitranntt/ccs/commit/bc4ab98af41e9c9f049cc5da2e6ff356832ef14b))
* **targets:** use cmd.exe for escaped Windows wrapper launches ([a945b0b](https://github.com/kaitranntt/ccs/commit/a945b0b1047b85a7b343dfe35d8ae9680346e25f))
* **windows:** align escaped wrapper shell handling ([ccdd0b6](https://github.com/kaitranntt/ccs/commit/ccdd0b6e8e4185ec2b01186cfc69e28f171d0906))

### Tests

* **cliproxy:** assert routing persistence via unified config loader ([485fe4b](https://github.com/kaitranntt/ccs/commit/485fe4ba1c5878083c6e2b6a2d98b37208772a1f))
* **cliproxy:** cover legacy connector removal cleanup ([00d902b](https://github.com/kaitranntt/ccs/commit/00d902b6e64839cd6b89446cc5dee540f2a059b8))
* **cliproxy:** isolate routing strategy service state ([5e1e807](https://github.com/kaitranntt/ccs/commit/5e1e8070e821dbe660ea77bc96fec610937ed44a))
* **websearch:** clear CCS_PROFILE_TYPE in SearXNG fallback spawn env ([e25d791](https://github.com/kaitranntt/ccs/commit/e25d791d9bee38e7143757d37c42bd850e471ae8))

### CI

* add concurrency group and split build/test with artifact sharing ([ad54e17](https://github.com/kaitranntt/ccs/commit/ad54e179b6a3921fd26ad3ac585f5ef965b01c1b))
* **pre-push:** skip gate for delete-only pushes ([6236cb7](https://github.com/kaitranntt/ccs/commit/6236cb7feb15e954f7f65ae98e6fd98b323a4adb))
2026-04-19 21:38:12 +00:00
semantic-release-bot eaa37c749e chore(release): 7.72.1 [skip ci]
## [7.72.1](https://github.com/kaitranntt/ccs/compare/v7.72.0...v7.72.1) (2026-04-17)

### Bug Fixes

* **cliproxy:** pin routing config regeneration path ([d3de83e](https://github.com/kaitranntt/ccs/commit/d3de83e157b4d286cc9b684339cccbe501b911a3))

### Hotfixes

* **browser:** avoid aborting launch on missing managed profile ([41bf507](https://github.com/kaitranntt/ccs/commit/41bf5075e0ece90401dfa22fe9ffbed797825387))

### Tests

* **cliproxy:** pin routing strategy test env scope ([bc1606d](https://github.com/kaitranntt/ccs/commit/bc1606da756fdf1552029d3a74add4464caa2377))
2026-04-17 03:43:09 +00:00
semantic-release-bot a0183073b3 chore(release): 7.72.0 [skip ci]
## [7.72.0](https://github.com/kaitranntt/ccs/compare/v7.71.0...v7.72.0) (2026-04-17)

### Features

* add missing i18n keys for analytics chart empty states ([d3ef82c](https://github.com/kaitranntt/ccs/commit/d3ef82cd601732522e1b98d4c9a4035a9ab31941))
* **cli:** add browser automation commands ([4e30c9b](https://github.com/kaitranntt/ccs/commit/4e30c9b080a4e240b1fa17c3b0486dafc28224da))
* **cliproxy:** integrate missing provider support ([2d9f8c9](https://github.com/kaitranntt/ccs/commit/2d9f8c96950d2c13522c088063dd84d20c69d51c))
* **cursor:** split legacy bridge from cliproxy provider ([3b5941c](https://github.com/kaitranntt/ccs/commit/3b5941c60bf5578c49785c001f85612cfec8a7e5))
* **proxy:** add openai-compatible local proxy runtime ([074e900](https://github.com/kaitranntt/ccs/commit/074e90055789bd146d96fd3d1ad917f91e602186))
* **proxy:** complete openai routing scope ([17187c4](https://github.com/kaitranntt/ccs/commit/17187c4abd5d62552e137cd783a92e7dbd356e88))
* **settings:** refine browser automation tab ([06f6f54](https://github.com/kaitranntt/ccs/commit/06f6f5485fdae1790ac50eee3f0bdc4905b340b1))

### Bug Fixes

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

### Documentation

* **proxy:** credit claude-code-router ([b346693](https://github.com/kaitranntt/ccs/commit/b346693c3a70205a3f6cce46e556cd6e1ceaad8b))
* **proxy:** document openai-compatible routing ([7b64852](https://github.com/kaitranntt/ccs/commit/7b6485249530c890d9bf3549221dcbd0f3f6d18f))
* **roadmap:** note private-network startup fix ([3b17bc9](https://github.com/kaitranntt/ccs/commit/3b17bc934a01b93f016e85de4c4a7a162863dcf7))

### Styles

* **ui:** format gitlab auth launch options ([dc94b9c](https://github.com/kaitranntt/ccs/commit/dc94b9c1c938b8d32bc3daf1b0bc6c5bb05b2bf0))

### Code Refactoring

* **accounts:** localize codex identity labels ([cfbc967](https://github.com/kaitranntt/ccs/commit/cfbc9672c3360ed1a5578b1cf715ea58df1b8702))
* **proxy:** internalize sse translation and cleanup handlers ([a340709](https://github.com/kaitranntt/ccs/commit/a3407093d70bef44874cdf26a06436e0d287c1a7))

### Tests

* **ci:** stabilize runner-sensitive isolated tests ([2ba3a0a](https://github.com/kaitranntt/ccs/commit/2ba3a0ab02fc4909681a36cc265e5ff2d1680426))
* **ci:** use runtime-relative isolated child scripts ([2e2ba1c](https://github.com/kaitranntt/ccs/commit/2e2ba1c09b81b5e79b7ec65bbd0979d5ce1a1204))
* **cliproxy:** stabilize routing strategy config scope ([4845b79](https://github.com/kaitranntt/ccs/commit/4845b797de4a1e326e4ebea0109e884319e1bd3e))
* **proxy:** cover proxy lifecycle and routing ([5c66c1f](https://github.com/kaitranntt/ccs/commit/5c66c1f12162306d1039ec2e255ad9894199d1f4))
2026-04-17 02:03:58 +00:00
semantic-release-bot 9f7d1e9867 chore(release): 7.71.0 [skip ci]
## [7.71.0](https://github.com/kaitranntt/ccs/compare/v7.70.1...v7.71.0) (2026-04-14)

### Features

* **accounts:** preserve codex variant detail in dashboard cards ([32c16a3](https://github.com/kaitranntt/ccs/commit/32c16a3739a6edb8f1f36b402f0776e5ae066b48))
* **ci:** make PR-Agent reviews more verbose ([4c63f1a](https://github.com/kaitranntt/ccs/commit/4c63f1a0dbec115ce4c4ede25e6651b456032a44))

### Bug Fixes

* **ci:** restore PR-Agent reviewer bot identity ([4bd16b8](https://github.com/kaitranntt/ccs/commit/4bd16b89ce064b265c0a12535899cd49f13cf00d))

### Tests

* **accounts:** cover codex free-tier identity labels ([d5868e0](https://github.com/kaitranntt/ccs/commit/d5868e06882b302218e60496ada63ba778477434))
2026-04-14 22:20:02 +00:00
semantic-release-bot 71ce077936 chore(release): 7.70.1 [skip ci]
## [7.70.1](https://github.com/kaitranntt/ccs/compare/v7.70.0...v7.70.1) (2026-04-14)

### Bug Fixes

* **ci:** raise PR-Agent custom model budget ([c4ad2ca](https://github.com/kaitranntt/ccs/commit/c4ad2cae108acd691d70f5a0bf91d3d1464e5724))
2026-04-14 19:56:44 +00:00
semantic-release-bot e4bee79715 chore(release): 7.70.0 [skip ci]
## [7.70.0](https://github.com/kaitranntt/ccs/compare/v7.69.1...v7.70.0) (2026-04-14)

### Features

* **ci:** migrate AI review to self-hosted PR-Agent ([25216ea](https://github.com/kaitranntt/ccs/commit/25216eaf334c405ed433f800886ee541161177de))
* **ui:** complete dashboard i18n coverage across 162 files ([c3401f0](https://github.com/kaitranntt/ccs/commit/c3401f0a91135734ea8098f86c08715d90a3021c)), closes [#983](https://github.com/kaitranntt/ccs/issues/983)

### Bug Fixes

* apply api-key updates during token regeneration ([f067f39](https://github.com/kaitranntt/ccs/commit/f067f3924556968b2d0d0304455ce96284b8c74f))
* **browser:** harden browser MCP websocket startup ([d30f580](https://github.com/kaitranntt/ccs/commit/d30f5803a71bf7ab57230a840c1e180b5a8f7959))
* **ci:** allow PR-Agent dispatch bot reruns ([9a91901](https://github.com/kaitranntt/ccs/commit/9a91901a9b1ef6d4f07ce8f82500aa3669abb5e1))
* **ci:** preserve AI review variable contract ([d6ec5ee](https://github.com/kaitranntt/ccs/commit/d6ec5eeebdeebb54ffb3d3b93e395f976a6aef97))
* **ci:** restore trusted PR review dispatch ([0d2ce7d](https://github.com/kaitranntt/ccs/commit/0d2ce7d1b3449033ef61d4d74108cd91914fe077))
* **ci:** restrict self-hosted PR-Agent comment triggers ([e1271e2](https://github.com/kaitranntt/ccs/commit/e1271e2dbf4933d9a5c02ecde36cbf4ce07394bc))
* **ci:** stabilize update-command tests under parallel runners ([b148d1b](https://github.com/kaitranntt/ccs/commit/b148d1ba660774f89be3542e9dcbd62abad79b49))
* **cliproxy:** degrade gracefully on GitHub release 403s ([4e15ec5](https://github.com/kaitranntt/ccs/commit/4e15ec5387ada5f24a29d57bb70e1bc004e5c6fe))
* **ui:** finish dashboard i18n follow-up pass ([87899a4](https://github.com/kaitranntt/ccs/commit/87899a489c6bf4d81e490c8754bad89c78436a11))
* **ui:** use i18n singleton in claude extension status card ([be9a481](https://github.com/kaitranntt/ccs/commit/be9a481e75901cbf7360399b208085f64574cf23))

### Hotfixes

* stop auto-enabling stale Chrome DevTools reuse ([5c799e6](https://github.com/kaitranntt/ccs/commit/5c799e68e98fd671ad85c3665b32d796d022631a))

### Code Refactoring

* **ci:** make ai-review model/endpoint configurable via repository variables ([026ff6c](https://github.com/kaitranntt/ccs/commit/026ff6ceddefae92a2e7caa83a5d51f920d391be))

### Performance Improvements

* **hooks:** shorten feature-branch pre-push gate ([2868dcd](https://github.com/kaitranntt/ccs/commit/2868dcdaaeac719fdcec22e9aee3f4e8f5e3bb09))

### Tests

* **ci:** harden cursor models oversized-body fallback ([66e2969](https://github.com/kaitranntt/ccs/commit/66e29691b03b51910c41c2771d676a6df35da876))
* **ci:** update ai-review workflow runtime assertions ([72d8f36](https://github.com/kaitranntt/ccs/commit/72d8f36b5d1bf12a8db2ede96a058394b5384d5f))
* **hooks:** harden cross-platform MCP coverage ([3103f3f](https://github.com/kaitranntt/ccs/commit/3103f3f293b9b09114e32762e92c75770f6dcaf0))
* **tokens:** isolate auth rotation from mocked handlers ([cb1d78b](https://github.com/kaitranntt/ccs/commit/cb1d78bd9d5c157b3e27ab15631260fa515f527f))
* **update:** isolate current-install command deps ([394d7d9](https://github.com/kaitranntt/ccs/commit/394d7d94fc77144c25cdd84195805fbec2966233))
2026-04-14 18:42:20 +00:00
semantic-release-bot dcc8b16662 chore(release): 7.69.1 [skip ci]
## [7.69.1](https://github.com/kaitranntt/ccs/compare/v7.69.0...v7.69.1) (2026-04-13)

### Hotfixes

* stop auto-enabling stale Chrome DevTools reuse ([33f57d3](https://github.com/kaitranntt/ccs/commit/33f57d3cac19d9978164221f30e42ea39e4f270a))
2026-04-13 16:07:39 +00:00
semantic-release-bot 438ae9930b chore(release): 7.69.0 [skip ci]
## [7.69.0](https://github.com/kaitranntt/ccs/compare/v7.68.2...v7.69.0) (2026-04-13)

### Features

* **browser:** 接入 CCS browser MCP 与最小交互闭环 ([eb8149e](https://github.com/kaitranntt/ccs/commit/eb8149e8fa476f279583136be7286dbaf1ac4361))
* **cli:** add --append-system-prompt-file support ([45c231a](https://github.com/kaitranntt/ccs/commit/45c231a71732c40046a67f1cb46f1a5bcd8e96ee))
* **cliproxy:** add --json flag to catalog command ([dceb6f6](https://github.com/kaitranntt/ccs/commit/dceb6f6d37972322a881d32c4d8b0c420e2f52db))
* **cliproxy:** add thinking config to catalog --json and test false values ([22acd96](https://github.com/kaitranntt/ccs/commit/22acd96ba40dda2c9ed596b2db2643863b3b7e4d))
* **cliproxy:** include model metadata in catalog --json output ([fbfb130](https://github.com/kaitranntt/ccs/commit/fbfb130f4d6313f10a6c757ceccfcfe2d7e69241))
* **cursor:** harden live probe and runtime contracts ([e1049e3](https://github.com/kaitranntt/ccs/commit/e1049e38d409ad32bf0c1ae41eb713f59dbdfe02))
* **ui:** persist paused account toggle state in localStorage ([18e5cd5](https://github.com/kaitranntt/ccs/commit/18e5cd5d94da8335cc01575d96693e197ea56eb0))
* **websearch:** add SearXNG provider support and configuration ([eec8c8b](https://github.com/kaitranntt/ccs/commit/eec8c8b4a3288ec29e246aac58785f642618a48f))
* **websearch:** add url property to WebSearchProviderConfig interface ([36d828f](https://github.com/kaitranntt/ccs/commit/36d828f99c4a8dae40286b72709487ae8cb49f2c))

### Bug Fixes

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

### Hotfixes

* detect bun-owned installs through symlinked ccs path ([898e7a6](https://github.com/kaitranntt/ccs/commit/898e7a632125476f269d4ff34280589404d7c3ae))
* restore bun types for stable release CI ([6cfb171](https://github.com/kaitranntt/ccs/commit/6cfb17151475efbef306c4a3e2265d3212f88ee2))

### Documentation

* **cliproxy:** add catalog --json to --help output ([ea2b16b](https://github.com/kaitranntt/ccs/commit/ea2b16bb6622c7e4d668aa63b735093701313036))
* **cliproxy:** clarify catalog --json output format in JSDoc ([ac92688](https://github.com/kaitranntt/ccs/commit/ac92688cc5f14054f4bd73c15723d521baa9afb1))

### Tests

* **browser:** 修复 default profile browser launch 竞态测试 ([7754c6c](https://github.com/kaitranntt/ccs/commit/7754c6c0ff3aa8f69f17860d283c80b752d5a6cc))
* **ci:** add env isolation comment to persist-command-handler ([79251d7](https://github.com/kaitranntt/ccs/commit/79251d7af8b22a3a7fdb11ac6a357dd245df4590))
* **ci:** improve test isolation readability per review feedback ([1a7fc4a](https://github.com/kaitranntt/ccs/commit/1a7fc4a3f280e647c07c4b1a4e9eeae2d3ae3d3c))
* **ci:** isolate CCS-managed env vars from host session ([2cc92e8](https://github.com/kaitranntt/ccs/commit/2cc92e8bb80ba7239bb66b8cd24e0cb4c6ff0627))
* **cliproxy:** add catalog --json tests and clarify flag priority ([509d2e4](https://github.com/kaitranntt/ccs/commit/509d2e4dd83840775915c7297621da89a7b7fe9c))
* **ui:** 修复彩色输出下的脆弱断言 ([2527889](https://github.com/kaitranntt/ccs/commit/2527889d1d28ee1e7c58581b697e18a220f15cf3))

### Build System

* **types:** 补充 Bun 类型声明配置 ([26059c7](https://github.com/kaitranntt/ccs/commit/26059c78dc4f19e0309e96be42b4238146a34ff5))

### CI

* retrigger validation ([ef564ca](https://github.com/kaitranntt/ccs/commit/ef564cafdf4213d07914f8e2cf9a348a6fb272b3))
2026-04-13 15:19:41 +00:00
semantic-release-bot 10cd32f567 chore(release): 7.68.2 [skip ci]
## [7.68.2](https://github.com/kaitranntt/ccs/compare/v7.68.1...v7.68.2) (2026-04-13)

### Bug Fixes

* **image-analysis:** wrap defaultDeps in arrow functions to fix circular dep capture ([a76265a](https://github.com/kaitranntt/ccs/commit/a76265a7c0edcae7e1b952cacd32e0eca20b6325)), closes [#973](https://github.com/kaitranntt/ccs/issues/973)

### Tests

* **image-analysis:** cover circular dependency regression ([d74b514](https://github.com/kaitranntt/ccs/commit/d74b514dc5b2d741071b13d85ac02da115ae9b9d))
2026-04-13 13:52:53 +00:00
semantic-release-bot d725a3c061 chore(release): 7.68.1 [skip ci]
## [7.68.1](https://github.com/kaitranntt/ccs/compare/v7.68.0...v7.68.1) (2026-04-12)

### Hotfixes

* detect bun-owned installs through symlinked ccs path ([5f8e66e](https://github.com/kaitranntt/ccs/commit/5f8e66ec1e1ef9cceb135c560f9bd44c9269dd6b))
2026-04-12 05:34:46 +00:00
semantic-release-bot 8e413e49f6 chore(release): 7.68.0 [skip ci]
## [7.68.0](https://github.com/kaitranntt/ccs/compare/v7.67.0...v7.68.0) (2026-04-11)

### Features

* **api:** add Hugging Face provider preset ([83255f4](https://github.com/kaitranntt/ccs/commit/83255f477197c9f74b472b36d9a0086030c10713))
* **cliproxy:** add entitlement evidence for gemini and agy ([bb331ff](https://github.com/kaitranntt/ccs/commit/bb331ff5d8a9ff8bc387599a491335ffe89e7a1c))
* **cliproxy:** add pinned model routing prefixes ([4d5e528](https://github.com/kaitranntt/ccs/commit/4d5e52828b9d20759bf20e7b4353192fbecfc868))
* **profiles:** add local runtime readiness checks ([63b67f1](https://github.com/kaitranntt/ccs/commit/63b67f1c1c270f3e4e6c1a676e1c9256f2577d99))
* **ui:** add paused filter to account flow viz ([a169917](https://github.com/kaitranntt/ccs/commit/a169917692016e1a01560c13c95a554da430cd38))
* **ui:** reposition providers around quality and local lanes ([ad70f93](https://github.com/kaitranntt/ccs/commit/ad70f93b1b95edb8d6f029a7613a44f3d2db83ab))

### Bug Fixes

* **api:** constrain preset target defaults ([52ac29e](https://github.com/kaitranntt/ccs/commit/52ac29e7a8a6f7450eb3c1daa357d84d0b03031f))
* **cliproxy:** align AGY preset aliases ([25dd9ab](https://github.com/kaitranntt/ccs/commit/25dd9ab9e14d7c4131c0cace99222346bfb006bc))
* **cliproxy:** attach entitlement evidence to agy failures ([7c4545e](https://github.com/kaitranntt/ccs/commit/7c4545eb1b35914a20762e14fdbd7832828b1324))
* **cliproxy:** cover managed prefix review follow-up ([b6aa6fb](https://github.com/kaitranntt/ccs/commit/b6aa6fb0d4471b68fb795ef4ba2449f2a9f72788))
* **cliproxy:** dedupe variant prefix sync ([eaddfc4](https://github.com/kaitranntt/ccs/commit/eaddfc467fa4380d5c642ad7063442b6edc22efc))
* **cliproxy:** harden pinned routing follow-up ([40c4816](https://github.com/kaitranntt/ccs/commit/40c4816acf36b3b79f13bf32862f7c88ed7debf4))
* **cliproxy:** harden routing prefix sync and UI pinning ([0c10cb6](https://github.com/kaitranntt/ccs/commit/0c10cb6f47d23db33cbce17456d46aee1843b9ae))
* **cliproxy:** keep new live provider models selectable ([34d7044](https://github.com/kaitranntt/ccs/commit/34d70442bf132c6772dc528875377e4d16a221ec))
* **cliproxy:** prefer live entitlement tier in account badges ([7330fdb](https://github.com/kaitranntt/ccs/commit/7330fdbf2830911bcac09826cabf5929cc741be8))
* **cliproxy:** preserve entitlement evidence on agy failures ([b56b58c](https://github.com/kaitranntt/ccs/commit/b56b58c0679d888baa7daa7526f8c06f2a49e16c))
* **cliproxy:** propagate agy entitlement failure metadata ([506b61e](https://github.com/kaitranntt/ccs/commit/506b61eca61381b8717d16b97be94b193e9fcbbf))
* **cliproxy:** refresh non-default gemini quota tokens ([b6fb443](https://github.com/kaitranntt/ccs/commit/b6fb443f572cc5c1bb4e3763abd1aa6fa3ba14e5))
* **cliproxy:** use type-only account provider import ([92a2478](https://github.com/kaitranntt/ccs/commit/92a24786d674ca647caa44db9ee2ce638b843b55))
* **image-analysis:** preserve default runtime deps ([e090c8b](https://github.com/kaitranntt/ccs/commit/e090c8b0d4e65eda3c9b4dcdd4ef0521c96a68b9))
* **image-analysis:** tolerate missing auth init dependency ([2f02ddf](https://github.com/kaitranntt/ccs/commit/2f02ddfb74062aefa4d006ca16bec9a94a2272c7))
* **review:** harden quota retry and tooltip edge cases ([7ac6d0a](https://github.com/kaitranntt/ccs/commit/7ac6d0a4d4a08113b48c008c1850dc6b089b66d1))
* sanitize cliproxy provider model pickers ([0e4677f](https://github.com/kaitranntt/ccs/commit/0e4677f558a2231b7eef7eb3de5c7f0336bbb041))
* **ui:** accept partial raw model records ([42d5724](https://github.com/kaitranntt/ccs/commit/42d5724f34c03c48e1d5d963a85f7cf0a164e9b0)), closes [#941](https://github.com/kaitranntt/ccs/issues/941)
* **ui:** add paused filter locale strings ([3687de0](https://github.com/kaitranntt/ccs/commit/3687de062581b9968b3858b8c51a6cdbb23edcd3))
* **ui:** address provider lane review notes ([5f9bafe](https://github.com/kaitranntt/ccs/commit/5f9bafe9cde488aed26e3c03be8ff84852723e74))
* **ui:** clarify filtered flow viz metrics ([94eda99](https://github.com/kaitranntt/ccs/commit/94eda996e3c0cee8cca50b5cc2c49f7284c7524e))
* **ui:** guard optional raw model fields ([01c1193](https://github.com/kaitranntt/ccs/commit/01c1193a994cc6efc80135590d5bacaf3b78deed)), closes [#941](https://github.com/kaitranntt/ccs/issues/941)
* **ui:** harden provider model alias editing ([92a769d](https://github.com/kaitranntt/ccs/commit/92a769d773a8ec63fd02744aff60d3691df7cf94)), closes [#941](https://github.com/kaitranntt/ccs/issues/941)
* **ui:** preserve requested provider model aliases ([49c4338](https://github.com/kaitranntt/ccs/commit/49c4338f28f5b22ea8834d103582eccd2ad54c62)), closes [#941](https://github.com/kaitranntt/ccs/issues/941)
* **ui:** type shared AGY compatibility lookup ([c078a96](https://github.com/kaitranntt/ccs/commit/c078a9633736faa2b5e45d6a7345d3d2883c6a7b))
* **update:** align no-update dependency injection ([94bcad2](https://github.com/kaitranntt/ccs/commit/94bcad2d1a7c843be5a75aba1140d997f7fcc0bd))
* **update:** harden install verification flow ([a4496ff](https://github.com/kaitranntt/ccs/commit/a4496ff1d944fbe989d1ae18f7f78eb470846731))
* **update:** isolate updater test dependencies ([59e04cb](https://github.com/kaitranntt/ccs/commit/59e04cb56f4d8c8cde6733bc15d3b8d9be94ab9f))
* **update:** target the current CCS installation ([2aaabb2](https://github.com/kaitranntt/ccs/commit/2aaabb2deb03253493a19191690c001113a44040))

### Documentation

* **cliproxy:** clarify gemini and agy tier semantics ([f9c61e0](https://github.com/kaitranntt/ccs/commit/f9c61e0faceae2532798bcfe7ff87d458024c6a3))
* **roadmap:** note cliproxy routing prefix clarity ([b8a8f84](https://github.com/kaitranntt/ccs/commit/b8a8f841536f89386e3452261037f0fdcc389059))
* **roadmap:** record Hugging Face preset support ([414e8c8](https://github.com/kaitranntt/ccs/commit/414e8c80f5ed5f4ed91766de85603abaa195bcbf))

### Code Refactoring

* **ui:** align visible provider flow data ([aedccec](https://github.com/kaitranntt/ccs/commit/aedccec0414fdffac049e4db8130e4f40b2cd744))

### Tests

* **ci:** isolate config env and cli entry fallbacks ([b8aa59a](https://github.com/kaitranntt/ccs/commit/b8aa59a8f0d56e3a2589bf7714d54392a0325dd8))
* **ci:** stop leaking update-command module mocks ([ef75172](https://github.com/kaitranntt/ccs/commit/ef751723f5088ff39184e322cb69aa8186cf2053))
* **cliproxy:** cover managed pinned route hints ([d87a126](https://github.com/kaitranntt/ccs/commit/d87a126938d9d71b3bb0de163e4265111fa09944))
* **cliproxy:** isolate session tracker config env ([4b9fa4e](https://github.com/kaitranntt/ccs/commit/4b9fa4e45787950c73d6b9792d8e1bf2c25a7f5b))
* **ui:** cover paused account flow viz filtering ([7b2743b](https://github.com/kaitranntt/ccs/commit/7b2743b845a822356f18de854ea201c72eb1f542))
2026-04-11 04:07:00 +00:00
semantic-release-bot 04878f0864 chore(release): 7.67.0 [skip ci]
## [7.67.0](https://github.com/kaitranntt/ccs/compare/v7.66.1...v7.67.0) (2026-04-09)

### Features

* **cliproxy:** add routing guidance and strategy controls ([6393249](https://github.com/kaitranntt/ccs/commit/6393249111acb54e1d388411c3349dd8ad35267c))
* **cliproxy:** source model pickers from upstream catalogs ([7bbf32a](https://github.com/kaitranntt/ccs/commit/7bbf32ae9a40b7a38ee7dc09e47feb94527c5ec0))
* **dashboard-auth:** clarify remote dashboard login flow ([d130972](https://github.com/kaitranntt/ccs/commit/d13097291604e51d1248ef7cd86ea9f930b7f103))
* **image-analysis:** make MCP-first provisioning self-healing ([64ecd8b](https://github.com/kaitranntt/ccs/commit/64ecd8b3dcf49d7aff1533721d0cc35dd81ed44d))
* **logging:** unify CCS runtime logs and dashboard viewer ([6c799b2](https://github.com/kaitranntt/ccs/commit/6c799b2e58710149deb25399ad25dcb1bf5600d7)), closes [#926](https://github.com/kaitranntt/ccs/issues/926)
* **logs-ui:** redesign the log viewer workspace ([382aa04](https://github.com/kaitranntt/ccs/commit/382aa04ca086938fac0baf66f1380f73c528df98)), closes [#926](https://github.com/kaitranntt/ccs/issues/926)

### Bug Fixes

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

### Documentation

* **dashboard-auth:** clarify remote setup guidance ([bfb8782](https://github.com/kaitranntt/ccs/commit/bfb8782c155ec5a6200c9778e0d2208e69e9313a))
* **help:** add kiro idc flag guidance ([bf5fcfc](https://github.com/kaitranntt/ccs/commit/bf5fcfc034e3e58d6dace28521adc223965520a3))
* **image-analysis:** update MCP-first behavior docs ([5d1880a](https://github.com/kaitranntt/ccs/commit/5d1880abf545410960c264196aba8939568d8d82))
* **kiro:** document idc and callback auth flows ([bb7dbd1](https://github.com/kaitranntt/ccs/commit/bb7dbd108d63cbd762e2df626ca59519f3645ec7))
* **logging:** document structured logs workspace ([548edda](https://github.com/kaitranntt/ccs/commit/548edda58bd88d47be8bd059abed052b2b152497)), closes [#926](https://github.com/kaitranntt/ccs/issues/926)
* **roadmap:** clarify codex runtime fallback behavior ([3f36c09](https://github.com/kaitranntt/ccs/commit/3f36c09064157f4afe306eef9b61d837fde91d66))
* **roadmap:** record upstream cliproxy picker sync ([002b7fe](https://github.com/kaitranntt/ccs/commit/002b7feb1e129947150aa11dbd10d5b7206c543d))

### Code Refactoring

* **dashboard:** use shared token fingerprinting for auth detection ([d4f434a](https://github.com/kaitranntt/ccs/commit/d4f434a0e7c4986778ba183c3d03e6a744fcb23f))

### Tests

* **dashboard-auth:** cover incomplete setup login copy ([a17b82d](https://github.com/kaitranntt/ccs/commit/a17b82d0c34a2b7e5b5d885fe87d09407aa2ca42))
* **logging:** stabilize log reader cache refresh coverage ([a47cf02](https://github.com/kaitranntt/ccs/commit/a47cf022c6a1afe4a87c712d98fa80f2cf76dd02))
2026-04-09 02:48:00 +00:00
semantic-release-bot 78cbae530a chore(release): 7.66.1 [skip ci]
## [7.66.1](https://github.com/kaitranntt/ccs/compare/v7.66.0...v7.66.1) (2026-04-07)

### Hotfixes

* update ai-review workflow model budget ([f954f0f](https://github.com/kaitranntt/ccs/commit/f954f0f8ab906c7e03ab27b0aa07c653d04e622c)), closes [#922](https://github.com/kaitranntt/ccs/issues/922)
2026-04-07 20:50:09 +00:00
semantic-release-bot 14c00dc665 chore(release): 7.66.0 [skip ci]
## [7.66.0](https://github.com/kaitranntt/ccs/compare/v7.65.3...v7.66.0) (2026-04-05)

### Features

* **accounts:** clarify continuity and resume guidance ([57d6a44](https://github.com/kaitranntt/ccs/commit/57d6a44493d1003970afcf53103475cf1ed84d2e)), closes [#904](https://github.com/kaitranntt/ccs/issues/904)
* **auth:** add resume lane diagnostics and recovery ([2830c2a](https://github.com/kaitranntt/ccs/commit/2830c2ae9e6b57ca228d414fb166c83139c205e2))
* **cliproxy:** enrich gemini quota metadata ([a762d8d](https://github.com/kaitranntt/ccs/commit/a762d8dda0fa1c9c3d0d5f8bfa5eae56a0e2bb69))
* **cli:** refresh help and shell completion UX ([24ba2ab](https://github.com/kaitranntt/ccs/commit/24ba2abe10a59e907978dfb7335554c58a5b12e4))
* **dashboard:** show all provider presets by default in Create API Profile modal ([f61cc87](https://github.com/kaitranntt/ccs/commit/f61cc87aa2c3e9b54e07c32a04f503cdfd336ee4)), closes [#892](https://github.com/kaitranntt/ccs/issues/892)
* **image-analysis:** add provider-backed runtime ([813b2dd](https://github.com/kaitranntt/ccs/commit/813b2dd4d054a5c4cb783cfeb3c7d2d65abc4a0c))
* **ui:** show richer gemini quota details ([4c44042](https://github.com/kaitranntt/ccs/commit/4c440423758814e62169779276dbb02f446df831))

### Bug Fixes

* **auth:** harden delayed oauth token registration ([01313a5](https://github.com/kaitranntt/ccs/commit/01313a5a8e6dcaba2331865cd5999d35f7be6334))
* **auth:** keep resume lane warning non-blocking ([1b3528f](https://github.com/kaitranntt/ccs/commit/1b3528f61a91a877f55e2f29e4a3ed7a924f6acb))
* **auth:** wait for polled oauth token persistence ([e2e5d99](https://github.com/kaitranntt/ccs/commit/e2e5d994658a869f6f1baf17997f78b2aa406c07))
* **ci:** restore cursor image analyzer hook import ([748fde6](https://github.com/kaitranntt/ccs/commit/748fde659982450b86b2fbd7b1eff998830234a2))
* classify DuckDuckGo non-result HTML as failure ([a33d3f4](https://github.com/kaitranntt/ccs/commit/a33d3f4481a94e70351b9bb9600521c562578b06))
* **completion:** close shell completion review gaps ([0da7598](https://github.com/kaitranntt/ccs/commit/0da7598a843b4653f9577497e4fd6cd9e99b98fe))
* **completion:** fail closed on backend errors ([ffe3082](https://github.com/kaitranntt/ccs/commit/ffe3082528779c9fc20822d0a22b4a3753f648fc))
* **cursor:** address review feedback and translator edge cases ([27f6a67](https://github.com/kaitranntt/ccs/commit/27f6a675be6f97d6ae41e2729f2146c9b5c8ad9f))
* **cursor:** harden runtime follow-up regressions ([f7ddad6](https://github.com/kaitranntt/ccs/commit/f7ddad6c19353ae3b32e82541526a2149160ee36))
* **cursor:** make bare cursor command useful and harden tool-result translation ([d7b907e](https://github.com/kaitranntt/ccs/commit/d7b907ed9fb16668694e09cc43ed8eada67a4a2a))
* **cursor:** route bare cursor through runtime profile ([2d67f40](https://github.com/kaitranntt/ccs/commit/2d67f40175705eafba2476256f171413696a89a2))
* **cursor:** tear down oversized daemon model responses ([e3074ae](https://github.com/kaitranntt/ccs/commit/e3074ae60e02786a6fb790f9a42d2dbcf0258866))
* **dashboard:** bootstrap cliproxy control panel session ([5432163](https://github.com/kaitranntt/ccs/commit/5432163c8fd9e4afb731277e18a5d55be4319436))
* **dashboard:** clear control panel bootstrap state ([68417c0](https://github.com/kaitranntt/ccs/commit/68417c05a3693ecfaa627181ab1ed9d04e422743))
* **dashboard:** scope auth monitor summary by provider ([5746e43](https://github.com/kaitranntt/ccs/commit/5746e43a36a40e9332709f6234b5d8dcdef183fa))
* **image-analysis:** handle installer lock contention ([afc8b0b](https://github.com/kaitranntt/ccs/commit/afc8b0bb6ea51dd6432bd0f248a4043ab86e2311))
* **image-analysis:** harden runtime and provisioning ([77b488f](https://github.com/kaitranntt/ccs/commit/77b488f8b185e2427a3777f12bc3ed2d8f8cc522))
* **image-analysis:** stabilize mcp config locking ([0347f5a](https://github.com/kaitranntt/ccs/commit/0347f5a973577c0888d9013babbc1fa98304c459))

### Documentation

* add community projects section and fix header link ([dc56e55](https://github.com/kaitranntt/ccs/commit/dc56e55f5280fa262646e6231938dbc41d8cff55))
* **image-analysis:** document managed runtime flow ([6d1c895](https://github.com/kaitranntt/ccs/commit/6d1c8957212cd0a7412ca0e6a888ce70c9adbdfb))
* **readme:** broaden CCS runtime positioning ([0e37033](https://github.com/kaitranntt/ccs/commit/0e37033f339b79b7294887ae7293b6d12d9fdfdf))
* **readme:** preserve opencode contributor guidance ([217e71f](https://github.com/kaitranntt/ccs/commit/217e71f9f8bfbe07202d799fe74d581963fe0f1a))
* **roadmap:** note CLI help and completion refresh ([86b30eb](https://github.com/kaitranntt/ccs/commit/86b30eb9f50bb6fade97ddca604f5e198416fb4d))

### Code Refactoring

* **accounts:** consolidate continuity guidance layout ([d9f78ad](https://github.com/kaitranntt/ccs/commit/d9f78ad490ccff3bab4138ef9d4dbbadfde88611)), closes [#904](https://github.com/kaitranntt/ccs/issues/904)
* **cli:** slim cursor completion imports ([3dcf879](https://github.com/kaitranntt/ccs/commit/3dcf879c9f2ec681f58f3be7a3c13deda666b511))

### Performance Improvements

* **cliproxy:** overlap gemini quota metadata fetches ([c9bbc58](https://github.com/kaitranntt/ccs/commit/c9bbc58dd4de1c116f862119c8f9278e22ff5081))

### Tests

* **cli:** isolate root router completion coverage ([2d5bda7](https://github.com/kaitranntt/ccs/commit/2d5bda7f769a23db3ac5df5d2a56c19113dd996c))
* **cliproxy:** stabilize tunnel localhost binding check ([71c4b18](https://github.com/kaitranntt/ccs/commit/71c4b184f9fad612f3a133b67cd9d7dec895c855))
* **image-analysis:** cover runtime auth and fallback ([f379a40](https://github.com/kaitranntt/ccs/commit/f379a4001f768cb7885fbffb322e63d678244aec))
2026-04-05 05:44:08 +00:00
semantic-release-bot a4ac4d1092 chore(release): 7.65.3 [skip ci]
## [7.65.3](https://github.com/kaitranntt/ccs/compare/v7.65.2...v7.65.3) (2026-04-02)

### Hotfixes

* **ci:** restore default ai review output ([58a0fc4](https://github.com/kaitranntt/ccs/commit/58a0fc43e6ce89be7288bb14d4a20ac4165320f0))
2026-04-02 18:54:49 +00:00
semantic-release-bot 0ae6f54787 chore(release): 7.65.2 [skip ci]
## [7.65.2](https://github.com/kaitranntt/ccs/compare/v7.65.1...v7.65.2) (2026-04-02)

### Hotfixes

* **ci:** clean up ai review reruns and logging ([f47e7ae](https://github.com/kaitranntt/ccs/commit/f47e7ae5a752f20138d6a06b8760143608e18509))
* **ci:** compact ai review comments and switch to glm-5-turbo ([25dddf4](https://github.com/kaitranntt/ccs/commit/25dddf47073673625e51106ab614f8a49ce3b758))
* **ci:** expand ai review comment layout ([0be4ef7](https://github.com/kaitranntt/ccs/commit/0be4ef7a0d747db28f0db029f10a25ca18a6182d))
* **ci:** improve ai review comment formatting ([164a8af](https://github.com/kaitranntt/ccs/commit/164a8af82a9661d2aa3bcd8e2aeca862f343c547))
* **ci:** preserve literal snippet indentation in ai review comments ([f6779a5](https://github.com/kaitranntt/ccs/commit/f6779a503aa13e616d7d642f7c2cc3d769e97efb))
* **ci:** render fenced evidence snippets in ai review comments ([07b4275](https://github.com/kaitranntt/ccs/commit/07b4275543f7431cad349fabccce9d4149089b90))
* **ci:** restore reliable structured ai review comments ([5b9427f](https://github.com/kaitranntt/ccs/commit/5b9427f8a02b583222be0772d2e1b45a5eb43ba7))
* **ci:** separate ai review evidence blocks ([80e2251](https://github.com/kaitranntt/ccs/commit/80e22515b016c4661ed1cdbdd432e5c0068afc03))
2026-04-02 15:06:24 +00:00
semantic-release-bot 737462ac1a chore(release): 7.65.1 [skip ci]
## [7.65.1](https://github.com/kaitranntt/ccs/compare/v7.65.0...v7.65.1) (2026-04-02)

### Hotfixes

* **ci:** keep ai review feedback fast and deterministic ([4e05488](https://github.com/kaitranntt/ccs/commit/4e05488c195161792cdc0e74cbd21ed032697a3a))
2026-04-02 02:42:34 +00:00
semantic-release-bot bbf86155bc chore(release): 7.65.0 [skip ci]
## [7.65.0](https://github.com/kaitranntt/ccs/compare/v7.64.0...v7.65.0) (2026-04-02)

### Features

* **ci:** bound ai review runtime for large PRs ([7396179](https://github.com/kaitranntt/ccs/commit/7396179c72f6df24e9348b929cd96093e873ce7e)), closes [#880](https://github.com/kaitranntt/ccs/issues/880)
* **codex-dashboard:** add manual long-context controls ([3246c40](https://github.com/kaitranntt/ccs/commit/3246c40319b0f9329c375ae3fe73ee02261579bb))
* **codex-dashboard:** refine control center boundary card ([c1ab210](https://github.com/kaitranntt/ccs/commit/c1ab210095c723b8ae5c6cb88cf5f62867a6e84e))
* **image-analysis:** add dedicated dashboard settings ([9d1d281](https://github.com/kaitranntt/ccs/commit/9d1d281e34392b55f04565c62fa01ee4362c92ff))
* **image-analysis:** resolve backend status per profile ([ae459fc](https://github.com/kaitranntt/ccs/commit/ae459fc3d7ee85bffc43494e7a4d7b06263e6982))
* **image:** add native-read controls and autosave settings ([982ffc5](https://github.com/kaitranntt/ccs/commit/982ffc5895102f03de718cb31f87edc23cfc09e8))
* **ui:** clarify image-analysis target status ([0246e32](https://github.com/kaitranntt/ccs/commit/0246e327feea99f2c2f5e089caa05faddabeb7fb))

### Bug Fixes

* **account-flow:** restore grouped quota hover details ([e852013](https://github.com/kaitranntt/ccs/commit/e8520133f98c58a254e0581de0efd83dd67fec23))
* **ci:** degrade timed-out ai reviews gracefully ([3935574](https://github.com/kaitranntt/ccs/commit/393557449455386b76c48092b125d43eafe37b0b))
* **ci:** repair ai review fallback scope script ([0927651](https://github.com/kaitranntt/ccs/commit/09276518a76d2d42988de4ff31104e4d3d77bc67))
* **ci:** resolve self-hosted Claude path dynamically ([44e2a49](https://github.com/kaitranntt/ccs/commit/44e2a4965017db670a54de3ab1572d7cd47d7b49))
* **ci:** restore prepack script and stabilize cursor timeout ([037ed63](https://github.com/kaitranntt/ccs/commit/037ed632fddec7d92af85001a8e09aa89ba9051c))
* **ci:** use self-hosted Claude binary for ai review ([0883b9a](https://github.com/kaitranntt/ccs/commit/0883b9a8fe3fbda912b136fd8b4577554d263dea))
* **cliproxy:** preserve image-analysis runtime readiness ([3b61673](https://github.com/kaitranntt/ccs/commit/3b61673ad2753e67928e000daa6c396dde72fe80))
* **image-analysis:** preview backend status safely ([d394772](https://github.com/kaitranntt/ccs/commit/d394772f7cf8acd2fb2051bda5aec8bd2622c141))
* **image-analysis:** reject unknown backend mappings ([6656685](https://github.com/kaitranntt/ccs/commit/665668579d39ab5d092ec6aaabca73dec9b9e856))
* **image-analysis:** surface runtime readiness ([1a01c6f](https://github.com/kaitranntt/ccs/commit/1a01c6fc685f105d35bdd59b0647841b3b44c792))
* **packaging:** remove duplicate prepack script ([2844704](https://github.com/kaitranntt/ccs/commit/2844704b5d79b91970e948de24b28ff6be9745dd))
* **packaging:** restore prepack contract ([7dd0edb](https://github.com/kaitranntt/ccs/commit/7dd0edb8cd8e9bd33a692f5b8dffb5f6b64595d0))
* **settings:** restore image tab scrolling and dev websocket routing ([7a783d0](https://github.com/kaitranntt/ccs/commit/7a783d07145443b941f31a767ba0f8abb8fb304f))

### Documentation

* **codex-dashboard:** streamline Codex guidance copy ([7fd2aca](https://github.com/kaitranntt/ccs/commit/7fd2acadbe727a839e44f99081d42687322ee791))
* **readme:** document image-analysis backend visibility ([d40cc60](https://github.com/kaitranntt/ccs/commit/d40cc60a1da520e9591803e07f26864013ada730))
* **roadmap:** note codex long-context controls ([0af38c8](https://github.com/kaitranntt/ccs/commit/0af38c85913f987c9bd6d78a0712fd99965a1ff7))

### Tests

* **image-analysis:** cover resolver and dashboard status ([9277b4a](https://github.com/kaitranntt/ccs/commit/9277b4a087db20e067b163341b3add43c9c49c29))
2026-04-02 01:17:02 +00:00
semantic-release-bot 5e754dee55 chore(release): 7.64.0 [skip ci]
## [7.64.0](https://github.com/kaitranntt/ccs/compare/v7.63.1...v7.64.0) (2026-04-01)

### Features

* add first-class CCS WebSearch runtime ([e260df7](https://github.com/kaitranntt/ccs/commit/e260df7178dd030efe3d490b4cd9421b386c43c2))
* **cliproxy:** support duplicate-email codex accounts ([c73f338](https://github.com/kaitranntt/ccs/commit/c73f33872abc165aaaba8a240c06cc4ccbb6f5b4))
* **ui:** unify duplicate-email account surfaces ([80341f1](https://github.com/kaitranntt/ccs/commit/80341f18c3c93dd4cdca92f6965136cff90be6f7))
* **websearch:** add managed mcp runtime and provider cooldowns ([7f83e04](https://github.com/kaitranntt/ccs/commit/7f83e041b7fa8907a5d9484acd21ea88edac67e7))
* **websearch:** finish managed third-party rollout ([de7171d](https://github.com/kaitranntt/ccs/commit/de7171d81076ecfd4e5e6474ce062c44a4c8be9a)), closes [#862](https://github.com/kaitranntt/ccs/issues/862)

### Bug Fixes

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

### Hotfixes

* restore prepack packaging contract ([78f6c5d](https://github.com/kaitranntt/ccs/commit/78f6c5d7156e1fb447e523b355c302a45d5b71bd))

### Documentation

* **architecture:** document codex duplicate-email identity ([be0c597](https://github.com/kaitranntt/ccs/commit/be0c597d255a21a7e935f033dfcc4de4e19c8c8e))

### Code Refactoring

* remove duplicate copilot websearch sync ([2c15304](https://github.com/kaitranntt/ccs/commit/2c153045f33e02cc821a623f6594fb4a6bebb321))

### Tests

* **dashboard:** add regression tests for connection timeline event generation ([4ab5194](https://github.com/kaitranntt/ccs/commit/4ab51945a412321e3e56d0c6860d0121761dcbfa))
2026-04-01 20:46:51 +00:00
semantic-release-bot ff98ea6852 chore(release): 7.63.1 [skip ci]
## [7.63.1](https://github.com/kaitranntt/ccs/compare/v7.63.0...v7.63.1) (2026-04-01)

### Hotfixes

* **ci:** harden ai review workflow for release PRs ([0b72ecd](https://github.com/kaitranntt/ccs/commit/0b72ecd36f0277f1c5407ff4bbe442305477a60e))
2026-04-01 18:05:28 +00:00
semantic-release-bot 5160e1d454 chore(release): 7.63.0 [skip ci]
## [7.63.0](https://github.com/kaitranntt/ccs/compare/v7.62.2...v7.63.0) (2026-03-30)

### Features

* add codex dashboard parity ([8c5da9f](https://github.com/kaitranntt/ccs/commit/8c5da9f9e878196356e33a799b921b67e3396252))
* **codex-ui:** surface cliproxy setup guidance ([0ffde4f](https://github.com/kaitranntt/ccs/commit/0ffde4f3a2688ea1864fab3c94d3d020d4b33a93))
* **codex:** add ccsxp runtime shortcut ([deb1e9d](https://github.com/kaitranntt/ccs/commit/deb1e9d71eaa226494ec2f60a52cab20b4b0a546))
* **codex:** add dashboard control center ([b47aa0d](https://github.com/kaitranntt/ccs/commit/b47aa0d28d55260e0db6d0e12791ea4a57fcd54b))
* **codex:** harden runtime targeting and dashboard editing ([9e43bee](https://github.com/kaitranntt/ccs/commit/9e43beec40608f178e502d1751723465189528a9))
* **profiles:** expose codex runtime across surfaces ([f9c1238](https://github.com/kaitranntt/ccs/commit/f9c1238483b0c91d701547c9ad330261a2b51fbb)), closes [#773](https://github.com/kaitranntt/ccs/issues/773)
* **targets:** add native codex runtime target ([8f60820](https://github.com/kaitranntt/ccs/commit/8f60820f3358d878e0f4b9cd448b00690d9b4406)), closes [#773](https://github.com/kaitranntt/ccs/issues/773)

### Bug Fixes

* **ai-review:** increase max-turns to 40 and add hotfix commitlint type ([04c4d61](https://github.com/kaitranntt/ccs/commit/04c4d61018ec7b108d8b93d0d11a549a0cd52c71))
* **ai-review:** revert to single-job review with enhanced prompt ([f98530b](https://github.com/kaitranntt/ccs/commit/f98530bc73866f57cd0ba4b51d0515eda707e039))
* **cliproxy:** narrow legacy gemini alias cleanup ([c4428e4](https://github.com/kaitranntt/ccs/commit/c4428e4176bb7244d597b5f75240aa39bf536bbf))
* **cliproxy:** preserve manual high-minor alias clusters ([6707b7d](https://github.com/kaitranntt/ccs/commit/6707b7d5b470375c3068950894fb7b96b8fa4bf4))
* **cliproxy:** prune stale control panel alias clusters ([061cd96](https://github.com/kaitranntt/ccs/commit/061cd9679fc56a8a0711877f57eebcd998df10b6))
* **codex:** align cliproxy guidance with runtime behavior ([bd1ff02](https://github.com/kaitranntt/ccs/commit/bd1ff02521ac75d6e06b336bc9030da084d6a8df))
* **codex:** align runtime compatibility and dashboard types ([3c52b1a](https://github.com/kaitranntt/ccs/commit/3c52b1ab6d0ef8fccff14113c40c287320d5b547))
* **codex:** harden dashboard config editing ([ebc9acf](https://github.com/kaitranntt/ccs/commit/ebc9acf8e41fccc9ae968d40be75f1f7e4382929))
* **codex:** harden native alias launches ([f47ab48](https://github.com/kaitranntt/ccs/commit/f47ab484f3d8abd12a6d771a21beb9d50403a014))
* **codex:** restore version context for override failures ([643bd2a](https://github.com/kaitranntt/ccs/commit/643bd2a5ac10e63c7ca4e0e91a856145f1935455))

### Documentation

* **codex:** clarify ccsxp and cliproxy setup ([318b57b](https://github.com/kaitranntt/ccs/commit/318b57bedc12f5c3602916418b8ce08bb46d4218))
* **codex:** document control center behavior ([ca98184](https://github.com/kaitranntt/ccs/commit/ca981847b2ee889b350c78c0e691aec56cd7787d))
* **codex:** document runtime target support ([da4bb29](https://github.com/kaitranntt/ccs/commit/da4bb29fd71434f2e9179a34c37257c2c5e9df30)), closes [#773](https://github.com/kaitranntt/ccs/issues/773)

### Styles

* **codex:** use monochrome sidebar icon ([09b7f66](https://github.com/kaitranntt/ccs/commit/09b7f66c0b69b31d2662f102fe2fb2f928cb24cd))

### Tests

* **codex:** cover alias passthrough gaps ([c0f0f17](https://github.com/kaitranntt/ccs/commit/c0f0f173e07124c0875940e0d430dacadf38704c))
2026-03-30 01:56:03 +00:00
semantic-release-bot 2a46e0b0c2 chore(release): 7.62.2 [skip ci]
## [7.62.2](https://github.com/kaitranntt/ccs/compare/v7.62.1...v7.62.2) (2026-03-29)

### Bug Fixes

* **ai-review:** increase max-turns to 40 and add hotfix commitlint type ([bcbf8a2](https://github.com/kaitranntt/ccs/commit/bcbf8a236d0f90b3f7b85348e01bde95da03f42b))
* **ai-review:** revert to single-job review with enhanced prompt ([fb8b26c](https://github.com/kaitranntt/ccs/commit/fb8b26c6947c5c0359cdc6898a5a6f17fdfef703))
2026-03-29 17:10:39 +00:00
semantic-release-bot fa0b393def chore(release): 7.62.1 [skip ci]
## [7.62.1](https://github.com/kaitranntt/ccs/compare/v7.62.0...v7.62.1) (2026-03-29)

### Bug Fixes

* **ai-review:** bump orchestrator max-turns 20→25 for large PR merges ([106067f](https://github.com/kaitranntt/ccs/commit/106067fefb99844a0ee83b79cccc803fe660e664))
* **ai-review:** increase turn budget and improve fallback extraction ([1c4fc96](https://github.com/kaitranntt/ccs/commit/1c4fc96d33413efdae0223a3b7db0cab2a14bcec))
2026-03-29 16:41:38 +00:00
semantic-release-bot c1c17b3f0d chore(release): 7.62.0 [skip ci]
## [7.62.0](https://github.com/kaitranntt/ccs/compare/v7.61.1...v7.62.0) (2026-03-29)

### Features

* **ai-review:** parallel subagent review pipeline ([ce023aa](https://github.com/kaitranntt/ccs/commit/ce023aa8f40bad7b6851779700bf59b8739cfb5c)), closes [#837](https://github.com/kaitranntt/ccs/issues/837)
* **ai-review:** workflow-level parallel review jobs ([8c371e7](https://github.com/kaitranntt/ccs/commit/8c371e73a38389b579fb2ecbfea20c1f4b8d630a)), closes [#843](https://github.com/kaitranntt/ccs/issues/843)

### Bug Fixes

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

### Documentation

* **docker:** add post-deployment guide for auth, token migration, and verification ([c26efae](https://github.com/kaitranntt/ccs/commit/c26efae72ad664f9c8b5a85168704bc7fee7533f)), closes [#841](https://github.com/kaitranntt/ccs/issues/841)
* **docker:** use docker cp for token migration and fix bcrypt command ([f8c43a3](https://github.com/kaitranntt/ccs/commit/f8c43a374d68b1e8bd1c4fd18b1ab1a903116a60))

### Styles

* **ai-review:** add emojis to orchestrator output format sections ([86f45c2](https://github.com/kaitranntt/ccs/commit/86f45c22741841db64937bc98b9a5d211340f2e4))

### Code Refactoring

* **ai-review:** matrix strategy + orchestrator AI merge ([97f07c2](https://github.com/kaitranntt/ccs/commit/97f07c2b121b85ad05a931b16fe2f348755a5e55))
* **ai-review:** remove redundant allowedTools, enforce subagent dispatch ([d67fa35](https://github.com/kaitranntt/ccs/commit/d67fa350b8bd1c2ada0577c22a70908284adcb1c))
* **ai-review:** switch --allowedTools to --tools for actual restriction ([53ad283](https://github.com/kaitranntt/ccs/commit/53ad2836c4cedca8dcc819f003f1526b2cc0a31c))

### Tests

* **auth:** verify effectiveAuthRequired logic for remote vs local access ([a23caf0](https://github.com/kaitranntt/ccs/commit/a23caf00513411132a7d28b12f40a51476a69790))
* **docker:** add regression test for bundled asset availability ([13254f2](https://github.com/kaitranntt/ccs/commit/13254f28a6d6170fe0a46ed2ed2326441cc2d717))
* **docker:** add tests for health check port detection and ETXTBSY guard ([a517c50](https://github.com/kaitranntt/ccs/commit/a517c506cbcb7e6993f458b24048c9ccccb9faf5))
* **docker:** update executor tests for export syntax and build timeout ([cbe93d4](https://github.com/kaitranntt/ccs/commit/cbe93d4f7643091fbdc1c0073c5e05bef4b2eac5))
2026-03-29 15:46:52 +00:00
semantic-release-bot 91b800003b chore(release): 7.61.1 [skip ci]
## [7.61.1](https://github.com/kaitranntt/ccs/compare/v7.61.0...v7.61.1) (2026-03-28)

### Bug Fixes

* **ci:** require explicit /review command for AI review reruns ([3ebf17f](https://github.com/kaitranntt/ccs/commit/3ebf17f1701f9d7fd60aade0ec6bd8147b91e761))
2026-03-28 14:14:56 +00:00
semantic-release-bot fcc5fad601 chore(release): 7.61.0 [skip ci]
## [7.61.0](https://github.com/kaitranntt/ccs/compare/v7.60.1...v7.61.0) (2026-03-27)

### Features

* **docker:** add integrated deployment commands ([23f767b](https://github.com/kaitranntt/ccs/commit/23f767b0c557affd2cdaaf20226a530db252b558)), closes [#812](https://github.com/kaitranntt/ccs/issues/812)

### Bug Fixes

* **docker:** bound blocking command execution ([5ad4303](https://github.com/kaitranntt/ccs/commit/5ad430334539356b2a5805ee02d7178d3ee0aa16))
* **websearch:** align provider validation metadata ([dff40b5](https://github.com/kaitranntt/ccs/commit/dff40b5e24bd26cb103fae53e7746456bf38d996))
* **websearch:** restrict dashboard secrets routes ([4ccc3ed](https://github.com/kaitranntt/ccs/commit/4ccc3edcbbfeb5d148c9ff505f9cad26c80f441b))

### Documentation

* **docker:** document integrated deployment flow ([6ac8f59](https://github.com/kaitranntt/ccs/commit/6ac8f59a78675c35dd6be3cd76365ce16101716c)), closes [#812](https://github.com/kaitranntt/ccs/issues/812) [#812](https://github.com/kaitranntt/ccs/issues/812)

### Tests

* **docker:** cover docker subcommand rendering paths ([5b9954c](https://github.com/kaitranntt/ccs/commit/5b9954cfad2dfdb8c7857083252ff6eb512db4c1))
* **websearch:** assert parser-layer null body errors ([1fd7f81](https://github.com/kaitranntt/ccs/commit/1fd7f8122181f84eb585f7809e75325462729b8b))
2026-03-27 19:31:19 +00:00
semantic-release-bot f0375c5294 chore(release): 7.60.1 [skip ci]
## [7.60.1](https://github.com/kaitranntt/ccs/compare/v7.60.0...v7.60.1) (2026-03-27)

### Hotfixes

* add hotfix commit type to semantic-release config ([0473f63](https://github.com/kaitranntt/ccs/commit/0473f636237a4e7e808a576eb75525d7ed8d929b))
* **ci:** fix AI review performance — bypass permissions, cap turns, reduce thinking ([0a7fef0](https://github.com/kaitranntt/ccs/commit/0a7fef0368b10701737d0f54f50fd1b4ed5d46f6)), closes [#818](https://github.com/kaitranntt/ccs/issues/818)
* **ci:** increase max-turns to 30 and enforce Write tool for review output ([179fa33](https://github.com/kaitranntt/ccs/commit/179fa338b8da2b62853931218df8ce1ed34836dd)), closes [#818](https://github.com/kaitranntt/ccs/issues/818)
2026-03-27 19:28:40 +00:00
semantic-release-bot aaed6f39e0 chore(release): 7.60.0 [skip ci]
## [7.60.0](https://github.com/kaitranntt/ccs/compare/v7.59.0...v7.60.0) (2026-03-27)

### Features

* **websearch:** manage provider API keys in dashboard ([20c48c6](https://github.com/kaitranntt/ccs/commit/20c48c61050c9c15b07df1a996ec1d3b73328217))

### Bug Fixes

* **settings:** prevent config panel flash on refresh ([5782edf](https://github.com/kaitranntt/ccs/commit/5782edf62706427c985d03f115726ca765c369ac))
* **websearch:** narrow provider key handlers for build ([a3ca496](https://github.com/kaitranntt/ccs/commit/a3ca496fa814e7c711b610ced79694e9489dfa4f))
* **websearch:** narrow provider key summary access ([d883951](https://github.com/kaitranntt/ccs/commit/d883951c9e4738b33bc057fe9230727a9bf5c25f))

### Documentation

* **websearch:** document inline provider key flow ([f462b9f](https://github.com/kaitranntt/ccs/commit/f462b9fed107e506488356dc7384fa22485e40cf))

### Styles

* **ui:** format files for enforced prettier rules ([1c8246a](https://github.com/kaitranntt/ccs/commit/1c8246a60edfff8ca9ea03793505bb8d9e4a6b23))

### CI

* **ai-review:** enable show_full_output for review visibility ([6dca069](https://github.com/kaitranntt/ccs/commit/6dca069c7d4642b24c2270cd51e0f0c0d2c900d8))
* **ai-review:** remove custom Claude CLI path to prevent version drift ([0334f70](https://github.com/kaitranntt/ccs/commit/0334f70991a926dfff5b097284f12bf2aa04e3d1)), closes [#810](https://github.com/kaitranntt/ccs/issues/810)
* **ai-review:** upgrade model, add fallback extraction, preserve logs ([bb5862f](https://github.com/kaitranntt/ccs/commit/bb5862f0a01772f975cc95bc2b6581c8b1bb454a))
2026-03-27 17:56:24 +00:00
semantic-release-bot f70d149c0b chore(release): 7.59.0 [skip ci]
## [7.59.0](https://github.com/kaitranntt/ccs/compare/v7.58.0...v7.59.0) (2026-03-26)

### Features

* **auth:** let power user mode skip Gemini auth gate ([ce4401e](https://github.com/kaitranntt/ccs/commit/ce4401e84ea11a0b5518b9eca4d4a44a304e8878))

### Bug Fixes

* **ci:** resolve flaky api-command module resolution and migrate to self-hosted runner ([41a31c8](https://github.com/kaitranntt/ccs/commit/41a31c8a4ffb49c6cf046de0b437961f4422a4e1))
* **cliproxy:** harden gemini quota error fallbacks ([31b7d45](https://github.com/kaitranntt/ccs/commit/31b7d45b58a6929f168a25f724c56ccbd1dcc9fa))
* **cliproxy:** preserve auth-file source fallback ([63c8ec5](https://github.com/kaitranntt/ccs/commit/63c8ec5d7c8d5830bd514f812081fb31804564a8))
* **cliproxy:** preserve explicit Claude long-context intent ([c05189b](https://github.com/kaitranntt/ccs/commit/c05189b4b1e2d90ee6bb88a4024feef1f8dbe1b1)), closes [#789](https://github.com/kaitranntt/ccs/issues/789)
* **cliproxy:** restore live monitor provider attribution ([368a625](https://github.com/kaitranntt/ccs/commit/368a625d925a176a42e426d363aeb355a4f0657b))
* **cliproxy:** scope account stats by provider ([75ccbb3](https://github.com/kaitranntt/ccs/commit/75ccbb3ad13ee6d8b84ad7ef3aacb6b8994256c5))
* **cliproxy:** surface gemini quota failure details ([99f78f1](https://github.com/kaitranntt/ccs/commit/99f78f156a8bc329ee6524f2113a5fc643c0e131))
* **cliproxy:** surface quota metadata in CLI ([19f6b3c](https://github.com/kaitranntt/ccs/commit/19f6b3c4e65c514b42b331380065f34db9dc5405))
* **tests:** stabilize command help CI validation ([be4ba13](https://github.com/kaitranntt/ccs/commit/be4ba13e9654f177a417a7956228653efe1a6210))
* **ui:** clarify antigravity and gemini power mode copy ([4d49d13](https://github.com/kaitranntt/ccs/commit/4d49d13931537ad32a5588880e09212696354609))
* **ui:** constrain bounded code editor scroll viewports ([aeab284](https://github.com/kaitranntt/ccs/commit/aeab2840de0c69122c49dba1b6f286597e4d606a))
* **ui:** harden power user mode auth checks ([604f9fc](https://github.com/kaitranntt/ccs/commit/604f9fc78a72b6ee76cf0ecc44ea91a372c4a114))
* **ui:** resolve cliproxy account stats by provider ([1edc103](https://github.com/kaitranntt/ccs/commit/1edc10362adf1be3a6f06041929e2548614c73a6))
* **ui:** restore scrolling in bounded code editors ([44d4df1](https://github.com/kaitranntt/ccs/commit/44d4df12544a02572e5c1c68f70f73c80795fb29))

### Tests

* **cliproxy:** cover Claude long-context parity flows ([5e11bba](https://github.com/kaitranntt/ccs/commit/5e11bba5149d061879002ad88ca91f404c09522a)), closes [#789](https://github.com/kaitranntt/ccs/issues/789)
* **ui:** cover bounded code editor scroll mode ([823cf96](https://github.com/kaitranntt/ccs/commit/823cf96e7788cc9f69d65b97688c56df84e6b632))
* **ui:** cover bounded editor height contracts ([92d067d](https://github.com/kaitranntt/ccs/commit/92d067d0622c9a02c11b4b20b7416901a0929b4f))
* **ui:** cover Gemini power user auth bypass ([a15c729](https://github.com/kaitranntt/ccs/commit/a15c729079643344d130d4d522de3e874b6d0d03))

### CI

* **ai-review:** add --bare flag to prevent CLAUDE.md pollution in reviews ([57019c1](https://github.com/kaitranntt/ccs/commit/57019c1105e92f74ca4e556c7a3a03f7468b853e))
2026-03-26 22:24:05 +00:00
semantic-release-bot a94a529201 chore(release): 7.58.0 [skip ci]
## [7.58.0](https://github.com/kaitranntt/ccs/compare/v7.57.2...v7.58.0) (2026-03-26)

### Features

* **channels:** auto-enable official Claude channels ([a97fc42](https://github.com/kaitranntt/ccs/commit/a97fc42b10d3ce783b2bf84bce499b7bb9dca141))
* **channels:** auto-enable official discord plugin ([4bce155](https://github.com/kaitranntt/ccs/commit/4bce1559dd96971c3ad34a5fab4ab22d7663fc1e)), closes [#783](https://github.com/kaitranntt/ccs/issues/783)
* **channels:** support telegram and imessage ([6f1f032](https://github.com/kaitranntt/ccs/commit/6f1f032c6393f2dbb61452f56b331bbc05c1f051)), closes [#783](https://github.com/kaitranntt/ccs/issues/783)

### Bug Fixes

* **channels:** reject oversized official channel tokens ([ec1417a](https://github.com/kaitranntt/ccs/commit/ec1417ab7c1144491a277c3248d947e30ab02dc3))
* **cliproxy:** harden corrupted registry recovery ([313e244](https://github.com/kaitranntt/ccs/commit/313e244302c174fb9fa84706d6e1ab0003bf2fc5))
* **cliproxy:** log clean registry recovery and harden email fallback ([63f4862](https://github.com/kaitranntt/ccs/commit/63f48622e54bb84fd320982f2fe0930ad80ff6f1))
* **cliproxy:** recover corrupted account registries from token files ([d53873b](https://github.com/kaitranntt/ccs/commit/d53873bddd358e89121166c89e4f95d2cfcf8ac3))
* **docker:** add index annotations to link GHCR package to repository ([9c0dd34](https://github.com/kaitranntt/ccs/commit/9c0dd3489629014f2fa716a7854ac7dc39a7bb56))
* **settings:** stabilize websearch and quota checks ([3ea9d2f](https://github.com/kaitranntt/ccs/commit/3ea9d2fc346ca7c3cd64785b067aeeefbe2145b5))

### Documentation

* **channels:** document official Claude channel support ([58891d3](https://github.com/kaitranntt/ccs/commit/58891d368d95ca6a48aed6e2de00257462b89de4))

### Styles

* **channels:** format official token guard for ci parity ([3c638b0](https://github.com/kaitranntt/ccs/commit/3c638b02bacd325c793d35d929d3565f34c08692))
* format official channel files ([0e2f478](https://github.com/kaitranntt/ccs/commit/0e2f47802bf112e925f1cf8ce9156b1ce0602de7))

### Tests

* isolate shared-state test suites for CI stability ([3af5542](https://github.com/kaitranntt/ccs/commit/3af554275e2829669dfb82bd30f94575302928f1))
2026-03-26 18:09:19 +00:00
semantic-release-bot 7596e463c5 chore(release): 7.57.2 [skip ci]
## [7.57.2](https://github.com/kaitranntt/ccs/compare/v7.57.1...v7.57.2) (2026-03-25)

### Bug Fixes

* **ci:** reuse runner bun for AI review ([0e2a2a0](https://github.com/kaitranntt/ccs/commit/0e2a2a01521f18a7206c291a3c8cb815da17e6a8))
* **config:** close dashboard secret redaction gaps ([e983bed](https://github.com/kaitranntt/ccs/commit/e983bed1da27d0b2eeca29f4d9a7980b7d0ebc91))
* **config:** harden dashboard config and rollback paths ([37251cd](https://github.com/kaitranntt/ccs/commit/37251cd1f855f0f6235db952e429a0cde8fcc11d))
* **config:** preserve hidden auth secrets and block scalars ([6ccf53e](https://github.com/kaitranntt/ccs/commit/6ccf53ec7dc88a1297bfbb9518a937cdf2b6348d))
* **shared-manager:** allow external claude symlink chains ([05dea22](https://github.com/kaitranntt/ccs/commit/05dea222382c06f6bc2d1ee229b0854e7a708c07))
* **shared-manager:** guard inverse shared symlink loops ([c923f51](https://github.com/kaitranntt/ccs/commit/c923f51cf5e29df77b3af54dbfbc95893ee67fb5))
2026-03-25 20:25:48 +00:00
semantic-release-bot 2ba68a7c41 chore(release): 7.57.1 [skip ci]
## [7.57.1](https://github.com/kaitranntt/ccs/compare/v7.57.0...v7.57.1) (2026-03-24)

### Bug Fixes

* **ci:** dedupe AI review comments ([d24efd2](https://github.com/kaitranntt/ccs/commit/d24efd2863e71a7663de8e046e41982b20c7eb27))
* **ci:** export review runtime paths at run time ([ba41008](https://github.com/kaitranntt/ccs/commit/ba4100878c7d6a268cfc2fec422f01f9dd4aa460))
2026-03-24 16:07:00 +00:00
semantic-release-bot 3e8f49ba4e chore(release): 7.57.0 [skip ci]
## [7.57.0](https://github.com/kaitranntt/ccs/compare/v7.56.0...v7.57.0) (2026-03-24)

### Features

* add explicit droid runtime alias surface ([160be31](https://github.com/kaitranntt/ccs/commit/160be319d0b1982c05dc2984673a81aa6ec245b5))
* **cliproxy:** allow optional provider nicknames ([bdb7ac2](https://github.com/kaitranntt/ccs/commit/bdb7ac2937d144dc2564d09b01e717e8a4bc44eb))
* make cliproxy provider nicknames optional by default ([4df08f6](https://github.com/kaitranntt/ccs/commit/4df08f6d99e3006107a0431609b7651f13ebc083))
* **websearch:** add real provider chain ([6c7d215](https://github.com/kaitranntt/ccs/commit/6c7d215ecc7d2a986e922400eb6787f1b402931d))

### Bug Fixes

* **auth:** verify polled oauth account persistence ([09eb01f](https://github.com/kaitranntt/ccs/commit/09eb01f16e0a374198031079d22eeae2a3135810))
* **ci:** close release automation edge cases ([e06e13a](https://github.com/kaitranntt/ccs/commit/e06e13ad0db514ef6b3ef3af2062cc2ee28a2170))
* **ci:** harden release automation workflows ([5616c68](https://github.com/kaitranntt/ccs/commit/5616c68471c052e68e65578ac3a48c8998036c86))
* **ci:** publish docker image from releases ([5c1553e](https://github.com/kaitranntt/ccs/commit/5c1553e6f5722e5f61780a389d4729428529fdc3))
* **dashboard:** refine api profile quick start state ([aef58d6](https://github.com/kaitranntt/ccs/commit/aef58d66ce69777cf8aba6f43f615560ef820b62))
* **dashboard:** remove the unnecessary blank on api config page ([3a7e778](https://github.com/kaitranntt/ccs/commit/3a7e778bec13869bf03d3c4c39d2934473eb9fce))
* harden droid runtime alias resolution ([1f667b5](https://github.com/kaitranntt/ccs/commit/1f667b5953297189dfe8e88112088b11641ba676))
* **ui:** guard auth success on registered account ([a3478ac](https://github.com/kaitranntt/ccs/commit/a3478ace447d0a9c99c8266e3c0723c0ae29d5f5))
* **ui:** remove stale dashboard footer gap ([0d59c7a](https://github.com/kaitranntt/ccs/commit/0d59c7a3af35ff5af6768d5d4083abf1ab29d8af))

### Documentation

* **repo:** add security reporting and issue routing ([#769](https://github.com/kaitranntt/ccs/issues/769)) ([185f7f4](https://github.com/kaitranntt/ccs/commit/185f7f469e62a0a86aebf1d9fe98aaa101a3a19b))

### Styles

* **auth:** format cliproxy auth route ([06d098a](https://github.com/kaitranntt/ccs/commit/06d098ae0e981abd9b0dd15397cdac297e7bfc22))
* **websearch:** format routes after rebase ([83dab7f](https://github.com/kaitranntt/ccs/commit/83dab7fea7ed906da93ea4946fb41c1cec829547))

### Tests

* **cliproxy:** cover optional nickname auth flows ([8347049](https://github.com/kaitranntt/ccs/commit/834704938db14635b87e3a2e337a9d75e3f43d6b))
* **dashboard:** cover api profile quick start states ([10f2845](https://github.com/kaitranntt/ccs/commit/10f284585f1473f3198288bc0419c58b058442b3))
2026-03-24 15:50:14 +00:00
semantic-release-bot 8e90404774 chore(release): 7.56.0 [skip ci]
## [7.56.0](https://github.com/kaitranntt/ccs/compare/v7.55.0...v7.56.0) (2026-03-22)

### Features

* **cliproxy:** add dedicated ai providers workspace ([50c55bb](https://github.com/kaitranntt/ccs/commit/50c55bb108dd03e7e9443a7abea9e2c48b7f3e64))
* **cliproxy:** redesign ai providers configuration ([77fcd45](https://github.com/kaitranntt/ccs/commit/77fcd45173d4f6074503da33af15c986843b1f91)), closes [#649](https://github.com/kaitranntt/ccs/issues/649)
* **profiles:** add cliproxy api profile bridge ([287691f](https://github.com/kaitranntt/ccs/commit/287691fa04d3aba136650c55fa13644fe31ef76c)), closes [#649](https://github.com/kaitranntt/ccs/issues/649)

### Bug Fixes

* **cliproxy:** remove control panel setup notice ([e2ca9c2](https://github.com/kaitranntt/ccs/commit/e2ca9c240727893a6ec10fa25c00c0e8ada88623)), closes [#649](https://github.com/kaitranntt/ccs/issues/649)
* **codex:** recover unsupported live model switches ([9fac214](https://github.com/kaitranntt/ccs/commit/9fac214051a2e30fd58ea7341ebd7f9de112f426))
* **management:** harden marketplace state transitions ([fc02c4b](https://github.com/kaitranntt/ccs/commit/fc02c4b9682af6205735bdfd221dfb668f1821ae))
* **management:** localize marketplace registry per instance ([54ea36f](https://github.com/kaitranntt/ccs/commit/54ea36fd18955778a8c15bd825df22618593d9ed))
* **management:** serialize lifecycle maintenance paths ([36e8ed5](https://github.com/kaitranntt/ccs/commit/36e8ed5d878be13b1dfd7ea1a6e890d575a09360))
* **management:** serialize marketplace registry reconciliation ([68a5d17](https://github.com/kaitranntt/ccs/commit/68a5d17327e4fc5e3bd5c9fcb48e1bcd96dd92c4))
* restore parallel-safe validate pipeline ([04fd8ff](https://github.com/kaitranntt/ccs/commit/04fd8ff01997c7475cab0247f8e2ab86e9f0588c))
* stabilize validate pipeline and cliproxy route tests ([0d90f04](https://github.com/kaitranntt/ccs/commit/0d90f04f3e45c3bc90a74bb8b48677c4d0dd0376))
* **ui:** reflect cliproxy preset plan tiers ([ef36ad4](https://github.com/kaitranntt/ccs/commit/ef36ad4600282aae7680316a084ec1eb2d74ab63))
* **ui:** sync codex model catalog defaults ([2114a4b](https://github.com/kaitranntt/ccs/commit/2114a4b96e1b78e8e4f5a00bd29a866cd147348e))

### Documentation

* **architecture:** document marketplace registry ownership ([242a095](https://github.com/kaitranntt/ccs/commit/242a095edb9e32a51fa3f487e9c1fd98dc127e1f))
* **cliproxy:** document api profile bridge flow ([7d87cfa](https://github.com/kaitranntt/ccs/commit/7d87cfa4482de239a3c2a23257885a882ef53192)), closes [#649](https://github.com/kaitranntt/ccs/issues/649) [#649](https://github.com/kaitranntt/ccs/issues/649)

### Tests

* **management:** cover plugin layout sync lock ([fab0501](https://github.com/kaitranntt/ccs/commit/fab05011f19f5059a09292d2fbb09e8b5cc62f24))
2026-03-22 19:44:32 +00:00
semantic-release-bot 88f9532eb1 chore(release): 7.55.0 [skip ci]
## [7.55.0](https://github.com/kaitranntt/ccs/compare/v7.54.0...v7.55.0) (2026-03-17)

### Features

* add dashboard host binding option ([553f8ac](https://github.com/kaitranntt/ccs/commit/553f8ac1e51cd128bb8605cce68447a5fe015817))
* **cursor:** add Anthropic daemon endpoint ([daad5d1](https://github.com/kaitranntt/ccs/commit/daad5d1f50c20ffa9a7bd886c0ddcf25e00e84f3))
* deprecate GLMT user-facing surfaces ([5525098](https://github.com/kaitranntt/ccs/commit/55250984002a0021890f47097a540b5bc6122f26))
* **novita:** add Novita AI provider preset ([a1a8cad](https://github.com/kaitranntt/ccs/commit/a1a8cad2b3e7a0129c5972be70775961f6777f36))
* **ui:** add searchable model comboboxes ([d056878](https://github.com/kaitranntt/ccs/commit/d05687853990dd5c4f3474195bcad8cd46481d82))
* **ui:** improve API profile provider selector UX ([0337a32](https://github.com/kaitranntt/ccs/commit/0337a32d991ae2099447e43f67f6d14bf4267e25))

### Bug Fixes

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

### Documentation

* **community:** add GitHub contribution templates ([462d382](https://github.com/kaitranntt/ccs/commit/462d382c9391a17677095c9646954bf57668c802))
* **community:** soften contributor requirements ([f0f5a9c](https://github.com/kaitranntt/ccs/commit/f0f5a9cf98ca5bc342f2ab2b47c35ebd8e4abee9))
* **contributing:** refresh contributor workflow ([5f97316](https://github.com/kaitranntt/ccs/commit/5f973162f4a24af8dd6cea120c7e5bb126b6d205))
* **readme:** highlight hosted docs hub ([9a44f53](https://github.com/kaitranntt/ccs/commit/9a44f53c15014499ebc132ffde8619b4be92df91))
* **roadmap:** mention llama.cpp icon polish ([ea15e5e](https://github.com/kaitranntt/ccs/commit/ea15e5eb50528fa241e76e34630838c1e3e049a1))
* **roadmap:** record issue 744 provider selector update ([0819de2](https://github.com/kaitranntt/ccs/commit/0819de2f9f2cbf7f369c8c05647893191610e506))
* **roadmap:** record issue 748 chooser follow-up ([098416a](https://github.com/kaitranntt/ccs/commit/098416aefd7659b9afbd212f864b3443dbb4e265))

### Code Refactoring

* **commands:** split CLI command routing ([2044756](https://github.com/kaitranntt/ccs/commit/204475627a950e677c7c4d15e6219d6ede5299c9))

### Tests

* **cliproxy:** cover codex plan fallback edge cases ([ce600a7](https://github.com/kaitranntt/ccs/commit/ce600a7f229ee06418e1cff37648e74ed74f4a8f))
* cover invalid novita preset ids ([334f369](https://github.com/kaitranntt/ccs/commit/334f3697f939f81032965f31007ece2cedb33018))
* **cursor:** reclassify daemon lifecycle smoke coverage ([67290e8](https://github.com/kaitranntt/ccs/commit/67290e85c0c513f31f8f648a33817d1f71dcd835))
* restore config command host mock ([a4c1031](https://github.com/kaitranntt/ccs/commit/a4c10313243f531e943850339fd1f98ca96a289d))
2026-03-17 20:37:17 +00:00
semantic-release-bot 3783ddab38 chore(release): 7.54.0 [skip ci]
## [7.54.0](https://github.com/kaitranntt/ccs/compare/v7.53.0...v7.54.0) (2026-03-16)

### Features

* add proxy setup using undici and update undici version ([c542606](https://github.com/kaitranntt/ccs/commit/c54260658232215ccc6c23fc1df29db62c591ab6))
* **ci:** harden AI review with adversarial red-team prompt ([19f7091](https://github.com/kaitranntt/ccs/commit/19f70914a987bef9278d5e5e2dc77d31ef00c0b7)), closes [#731](https://github.com/kaitranntt/ccs/issues/731)
* **claude-extension:** add binding workflow ([a2f5310](https://github.com/kaitranntt/ccs/commit/a2f531016d29093c957c1000860fc83e2dc55cb4))
* **config:** add Claude IDE extension setup flow ([b82f10e](https://github.com/kaitranntt/ccs/commit/b82f10e63952db82ebe2e66fc584c5da231efb1d))
* **docker:** publish release images on stable tags ([25bb806](https://github.com/kaitranntt/ccs/commit/25bb806ecdbf7e7b3b68e20b3f0557f9503edefa))
* **i18n:** add Japanese dashboard locale ([8b5158b](https://github.com/kaitranntt/ccs/commit/8b5158bec5574c884c2937ac804bc9cb2f977538))

### Bug Fixes

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

### Documentation

* **readme:** clarify copilot config save behavior ([298b591](https://github.com/kaitranntt/ccs/commit/298b591d1499ff0da16c00decbddb1e74cb5a0b2))
* **readme:** document Claude IDE extension setup ([56db603](https://github.com/kaitranntt/ccs/commit/56db6035f51058a6ff7e3e245448b8e6fbf35f91))

### Styles

* **claude-extension:** apply formatter output ([6724ea5](https://github.com/kaitranntt/ccs/commit/6724ea52c2cb41ca3d71e663fafce00e040b5425))
2026-03-16 12:55:00 +00:00
semantic-release-bot 59a2eaf1c6 chore(release): 7.53.0 [skip ci]
## [7.53.0](https://github.com/kaitranntt/ccs/compare/v7.52.2...v7.53.0) (2026-03-11)

### Features

* add API profile lifecycle discover/copy/export/import parity ([02c8174](https://github.com/kaitranntt/ccs/commit/02c81743a09cc54447f953e5b4d4f95ad85f1ad9))
* **api:** add Anthropic direct API key support ([fedb4d4](https://github.com/kaitranntt/ccs/commit/fedb4d4cde4c9027f95364e66daa77b700a5c470)), closes [#688](https://github.com/kaitranntt/ccs/issues/688)
* **api:** add llama.cpp support as local model provider ([0ca6428](https://github.com/kaitranntt/ccs/commit/0ca6428554be9057926988ef4af0b95a958ca17e)), closes [#690](https://github.com/kaitranntt/ccs/issues/690)
* **auth:** add --bare flag and MCP server sync for profiles ([bc9b044](https://github.com/kaitranntt/ccs/commit/bc9b04444e0dbeb3db72b4814ca6694595abf0cd)), closes [#691](https://github.com/kaitranntt/ccs/issues/691) [#692](https://github.com/kaitranntt/ccs/issues/692)

### Bug Fixes

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

### Tests

* cover llama.cpp help parity ([9bcb195](https://github.com/kaitranntt/ccs/commit/9bcb195e7c82a85e94e9de39530f185efad60ecd))
* **hooks:** add image analyzer regression coverage ([5097375](https://github.com/kaitranntt/ccs/commit/50973752bac0eabea57e76e5d0c64b460fd525a7))

### CI

* harden AI review for external PRs ([becfc57](https://github.com/kaitranntt/ccs/commit/becfc573c9a63b7b53153882973aca8be9b3b4cf))
2026-03-11 03:53:39 +00:00
semantic-release-bot 4c4d00d835 chore(release): 7.52.2 [skip ci]
## [7.52.2](https://github.com/kaitranntt/ccs/compare/v7.52.1...v7.52.2) (2026-03-04)

### Bug Fixes

* **ci:** remove LOC count from maintainability gate ([619c47d](https://github.com/kaitranntt/ccs/commit/619c47d89ae405690cddc849dcf15e8cc3240ab5))
* **ci:** strip ANSI codes before detecting published release ([a8d7f7c](https://github.com/kaitranntt/ccs/commit/a8d7f7caafb361e961aa2f17e0084d551b4674f7))
* **cliproxy:** reduce gemini alias model bloat ([276649f](https://github.com/kaitranntt/ccs/commit/276649f05d8da2948b10db5ab1d7a78c60e1e654))
* **copilot:** harden daemon lifecycle and validate config updates ([1fd128e](https://github.com/kaitranntt/ccs/commit/1fd128e50feb3fe779ac30e8706c722024e77543))
* **copilot:** improve daemon liveness and flag aliases ([4b1cda2](https://github.com/kaitranntt/ccs/commit/4b1cda25d945e6482be68804907177a8ad38489e))
* **copilot:** refine ownership checks and command error handling ([930d66f](https://github.com/kaitranntt/ccs/commit/930d66fc0d31468ecc53fc50bd6db81aaed1fb7b))
* **copilot:** sync alias UX and harden daemon stop safety ([f4678d6](https://github.com/kaitranntt/ccs/commit/f4678d639772699d9f3504dcd05bc9e311f67527))

### Code Refactoring

* **daemon:** share process ownership guard for safe shutdown ([5ad2416](https://github.com/kaitranntt/ccs/commit/5ad2416a863e8190351a1ee42e00646093e3e70f))

### Tests

* **cliproxy:** strengthen alias non-enrichment assertions ([e28d9c8](https://github.com/kaitranntt/ccs/commit/e28d9c8abcea772b8fff7e6587582aac692a2726))

### CI

* **release:** use PAT_TOKEN for semantic-release branch protection bypass ([91280e3](https://github.com/kaitranntt/ccs/commit/91280e3043bd981b86b187fbfbead5ca6f31139d))
2026-03-04 12:52:34 +00:00
semantic-release-bot 58731eb9ea chore(release): 7.52.1 [skip ci]
## [7.52.1](https://github.com/kaitranntt/ccs/compare/v7.52.0...v7.52.1) (2026-03-03)

### Bug Fixes

* **ci:** strip ANSI codes before detecting published release ([6e16f1c](https://github.com/kaitranntt/ccs/commit/6e16f1cf3e2a3d43fa600a6fbadd35a513bf5db7))
2026-03-03 19:28:12 +00:00
semantic-release-bot aa36abbe5e chore(release): 7.52.0 [skip ci]
## [7.52.0](https://github.com/kaitranntt/ccs/compare/v7.51.0...v7.52.0) (2026-03-03)

### Features

* **analytics:** integrate CLIProxy multi-provider usage into dashboard ([c5124a9](https://github.com/kaitranntt/ccs/commit/c5124a9cee7e37caaef811051852946467ee97e1))
* **api:** add Alibaba Coding Plan preset and providers promotion ([8811e53](https://github.com/kaitranntt/ccs/commit/8811e5320fe6d5340ad2bcdca24fd98599ceb716))
* **continuity:** support cross-profile continuity inheritance from account profiles ([0b9f982](https://github.com/kaitranntt/ccs/commit/0b9f9826e2c838e19c4bf9bc406ab14a5456fbcc))
* **i18n:** add comprehensive Vietnamese dashboard locale ([7893436](https://github.com/kaitranntt/ccs/commit/789343603803cd6fc90b5e162df969b25ad858da))
* **i18n:** Added support for Chinese language pack ([7ffb8a4](https://github.com/kaitranntt/ccs/commit/7ffb8a42340abc7e36282b2d67665c226203c5af))
* **pricing:** fix claude sonnet 4.6 and claude opus 4.6 pricing ([9a7ca3f](https://github.com/kaitranntt/ccs/commit/9a7ca3f1c0f6e5518d8f130d9d061599d3c27ad0))

### Bug Fixes

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

### Documentation

* **i18n:** add dashboard localization guide and links ([2dddf02](https://github.com/kaitranntt/ccs/commit/2dddf02a216d14c53af6d5bcb585aa2ce346f36f))

### Code Refactoring

* **routes:** resolve DRY violations, config race, and error leaks ([e255855](https://github.com/kaitranntt/ccs/commit/e255855775c59dab3ad5b39a97d8176c77e0e889))

### Tests

* **auth:** cover legacy alias isolation for continuity ([26f4fb3](https://github.com/kaitranntt/ccs/commit/26f4fb3a99035dff9ef5e012b2e169bee9a9587b))
* **pricing:** cover Claude 4.6 cache token cost rates ([91050bf](https://github.com/kaitranntt/ccs/commit/91050bfebf15fa39eefdc819af3cd0450c79889e))
* **usage:** add cliproxy sync and integration coverage ([383ac94](https://github.com/kaitranntt/ccs/commit/383ac94623f69fc024e12008c6d40f059ae12491))

### CI

* **release:** use PAT_TOKEN for semantic-release branch protection bypass ([343c36f](https://github.com/kaitranntt/ccs/commit/343c36f97d949dfb85ee92a7161c60197413cf11))
2026-03-03 18:56:39 +00:00
semantic-release-bot bd389fda44 chore(release): 7.51.0 [skip ci]
## [7.51.0](https://github.com/kaitranntt/ccs/compare/v7.50.0...v7.51.0) (2026-02-26)

### Features

* **accounts-ui:** add history sync learning visualization ([6cfc8d4](https://github.com/kaitranntt/ccs/commit/6cfc8d4a45fcaf80f413dd1b397e5f7f46f889d0))
* **accounts-ui:** redesign accounts dashboard to column layout ([12c7a21](https://github.com/kaitranntt/ccs/commit/12c7a218b709cd1a93709b6f36c6afa0afdb2697))
* **accounts:** add advanced deeper continuity mode and claude pool discoverability ([b6475ba](https://github.com/kaitranntt/ccs/commit/b6475baab3380328da9293905572d2b1274d6dfa))
* **agy:** add power-user bypass for responsibility acknowledgement ([d3c271a](https://github.com/kaitranntt/ccs/commit/d3c271ab2c6bcf85e14faffb16e7f976c86c0312))
* **api:** add --target to api command ([3dacb39](https://github.com/kaitranntt/ccs/commit/3dacb39deb5cf88978c7d98e3cd95c5a12dca455))
* **api:** persist profile target metadata ([461236e](https://github.com/kaitranntt/ccs/commit/461236e5decc88e3488781cd94528d2ef99a3e9d))
* **api:** support profile target in routes ([e833054](https://github.com/kaitranntt/ccs/commit/e8330546429803a1a94cc508e3dc6a1572ecef9c))
* **cliproxy:** accept target in variant routes ([5b60784](https://github.com/kaitranntt/ccs/commit/5b60784eb82e51c0356cf416ba6323094e04d19c))
* **cliproxy:** add target support to subcommands ([d2d1d59](https://github.com/kaitranntt/ccs/commit/d2d1d599cd220fb1e2c1eae9a501148b97f0770b))
* **cliproxy:** persist target on variants ([f4a6927](https://github.com/kaitranntt/ccs/commit/f4a692729300d0ec7894b985c57a9d3a5cfc5a52))
* **config:** support legacy profile target overrides ([9a63f9b](https://github.com/kaitranntt/ccs/commit/9a63f9bd36d6c53131b1a7681c7c7658516cce46))
* **dashboard:** add dedicated Factory Droid diagnostics page ([bc079bc](https://github.com/kaitranntt/ccs/commit/bc079bc88656435da1d5b4b2329f89c90c910d1b))
* **dashboard:** enrich droid docs and quick settings controls ([031dcd9](https://github.com/kaitranntt/ccs/commit/031dcd99c3978ca6d00a402a2cb2ce5e9d2306a2))
* **droid:** align BYOK provider mapping for ccsd ([60b1c04](https://github.com/kaitranntt/ccs/commit/60b1c043c7e721ca576f9b4f4188468a3ddea846)), closes [#632](https://github.com/kaitranntt/ccs/issues/632)
* **droid:** sync reasoning effort across CLI and dashboard ([eedb53b](https://github.com/kaitranntt/ccs/commit/eedb53b49e41b044f570a7273c6b6a9231cd75d2))
* **pricing:** add MiniMax M2.5/M2.5-lightning and Qwen3 series (max/plus/flash/coder) model pricing ([089aa08](https://github.com/kaitranntt/ccs/commit/089aa081361f8375a951579ee4f80230efcac904))
* **runtime:** run cliproxy profiles on droid ([8a2a7c3](https://github.com/kaitranntt/ccs/commit/8a2a7c3eb0c86aa1207099d9f67fb57840860673))
* **ui:** add target controls to cliproxy variants ([543ec5f](https://github.com/kaitranntt/ccs/commit/543ec5f0502e6c9cb24e0837b72e6c4d82f15c4d))
* **ui:** add target support to API profile dashboard ([ca78e63](https://github.com/kaitranntt/ccs/commit/ca78e63205aeb7cbd6c059c7f70fffcc509f860d))
* **ui:** add updates center with support matrix ([e9d2515](https://github.com/kaitranntt/ccs/commit/e9d2515a7fdb6864d00a97d90e3cd55c18fc1e4b))
* **ui:** redesign updates center into action inbox ([78eac7d](https://github.com/kaitranntt/ccs/commit/78eac7d500669fbba43ff4e17e84d9ca9fc52961))
* **ui:** support editing profile default target ([db38ccc](https://github.com/kaitranntt/ccs/commit/db38ccc117e59fdc9f70c584aaa569b7f70cbe4a))
* **ui:** surface cliproxy target in provider editor ([6aae3ba](https://github.com/kaitranntt/ccs/commit/6aae3ba998c8463f5cda6b216c15dec3f1c6a443))
* **ui:** surface updates center across dashboard ([c7c4c87](https://github.com/kaitranntt/ccs/commit/c7c4c87fb43c631564ba25900fef43e1768a1a06))

### Bug Fixes

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

### Documentation

* **cli:** document target defaults and ccsd cliproxy usage ([172e599](https://github.com/kaitranntt/ccs/commit/172e5995747c31acce3da4ab395e5581d7130e65))
* **readme:** document dashboard updates center ([0a5b12b](https://github.com/kaitranntt/ccs/commit/0a5b12b46bd587d0651524da4ea6eb5f8d787201))

### Code Refactoring

* **dashboard:** reuse compatible CLI settings editor stack ([e9eab71](https://github.com/kaitranntt/ccs/commit/e9eab712b3f60d1dcf45746df69dabac29beb299))
* **dashboard:** switch droid settings I/O to async fs ([20e48b3](https://github.com/kaitranntt/ccs/commit/20e48b3dc0e91fd0984ff1d059169aa6b64a84ce))
* **ui:** remove unused last-route restore helpers ([766cc1b](https://github.com/kaitranntt/ccs/commit/766cc1b43e251db2f166073d2a173ebd2d2cbd5f))

### Tests

* **web-server:** cover profile and variant target parsing ([2e8c7a3](https://github.com/kaitranntt/ccs/commit/2e8c7a36915e86e697b358db68aa029a200627da))
2026-02-26 17:13:44 +00:00
semantic-release-bot 3b7395b229 chore(release): 7.50.0 [skip ci]
## [7.50.0](https://github.com/kaitranntt/ccs/compare/v7.49.1...v7.50.0) (2026-02-24)

### Features

* **auth:** add opt-in shared context groups across accounts ([4fed74c](https://github.com/kaitranntt/ccs/commit/4fed74c64b302ea70772894d52c6f3fad1e60c67))

### Bug Fixes

* **cliproxy:** prevent agy model reset and add sonnet 4.6 models ([bebb758](https://github.com/kaitranntt/ccs/commit/bebb7582cf4e168628e171b48954bd1d982a129e))
2026-02-24 18:33:24 +00:00
semantic-release-bot 1dae52014b chore(release): 7.49.1 [skip ci]
## [7.49.1](https://github.com/kaitranntt/ccs/compare/v7.49.0...v7.49.1) (2026-02-24)

### Bug Fixes

* **cliproxy:** prevent blank page in remote mode ([4eb2be7](https://github.com/kaitranntt/ccs/commit/4eb2be79fcf8c8e04007cc33a83c2e693fb0072f))
* **cliproxy:** strengthen account safety warning and redesign alert UI ([00495b6](https://github.com/kaitranntt/ccs/commit/00495b667533a4a1fbb3560a3391c2547bc228f9))
2026-02-24 05:22:14 +00:00
semantic-release-bot a6e1455f38 chore(release): 7.49.0 [skip ci]
## [7.49.0](https://github.com/kaitranntt/ccs/compare/v7.48.1...v7.49.0) (2026-02-23)

### Features

* **memory:** share project memory across account instances ([e2623e6](https://github.com/kaitranntt/ccs/commit/e2623e632c057dc88f7ee1061864b44efbe2e03a))

### Bug Fixes

* **ci:** auto-close released issues in stable release workflow ([b6f2d5d](https://github.com/kaitranntt/ccs/commit/b6f2d5d249dde80a3288a79e9dc783756296e79c))
* **codex:** canonicalize dashboard presets and migrate suffixed settings ([be96b84](https://github.com/kaitranntt/ccs/commit/be96b84e613ac4be217ea05c8090318df1114469))
* **codex:** preserve codex tier efforts in auto thinking ([db80f85](https://github.com/kaitranntt/ccs/commit/db80f85e38abe7ace0c25b774cdf65ed4913b8df))
* **codex:** validate tier thinking values before suffixing ([57e14cf](https://github.com/kaitranntt/ccs/commit/57e14cf3a69e5106a0a29ffda77f8aa134aa435d))
* **memory:** use async fs APIs to satisfy maintainability gate ([c6c44d0](https://github.com/kaitranntt/ccs/commit/c6c44d03411a85034ab452ac8fc82b35b50c3c27))
* resolve package.json version conflict from main merge ([6840523](https://github.com/kaitranntt/ccs/commit/68405239cdc848b934a185139226cd286f43ea9d))
* **web-server:** detect symlinked shared entries ([e3dbc67](https://github.com/kaitranntt/ccs/commit/e3dbc6763436e97b6ae2ec6687174fb6c6904dc7))
* **web-server:** harden shared route symlink scanning ([498b66d](https://github.com/kaitranntt/ccs/commit/498b66d9cceaf34a36e81403fa15b73093eda2c9))
2026-02-23 17:23:50 +00:00
semantic-release-bot 2b7c992d50 chore(release): 7.48.1 [skip ci]
## [7.48.1](https://github.com/kaitranntt/ccs/compare/v7.48.0...v7.48.1) (2026-02-23)

### Bug Fixes

* **ci:** enforce parity gate and stabilize test execution ([0aed60f](https://github.com/kaitranntt/ccs/commit/0aed60febb1752fab3b3f765fc2233f013af971f))
2026-02-23 16:55:44 +00:00
semantic-release-bot 105abcb535 chore(release): 7.48.0 [skip ci]
## [7.48.0](https://github.com/kaitranntt/ccs/compare/v7.47.0...v7.48.0) (2026-02-22)

### Features

* **cliproxy:** add Claude quota windows and account failover ([2385d90](https://github.com/kaitranntt/ccs/commit/2385d9028ae37d00200516c9728cb29b9c45fd21))

### Bug Fixes

* **cliproxy:** add gemini 3.1 preview alias compatibility ([653f809](https://github.com/kaitranntt/ccs/commit/653f8092aea7e9b0d0e3f7ca7d6fd2a42f87e4a5))
* **cliproxy:** close remaining quota edge-case gaps ([8c790f4](https://github.com/kaitranntt/ccs/commit/8c790f41ffba9a09467899b8b641dcbe2b692ae3))
* **cliproxy:** harden antigravity alias generation ([63619cb](https://github.com/kaitranntt/ccs/commit/63619cb9dc7b4eb35b4904322b5fe02d36278638))
* **cliproxy:** harden quota guards and review follow-ups ([ca58cb5](https://github.com/kaitranntt/ccs/commit/ca58cb5a088d0f4e714d0936d5b339de8f5ad053))
* **cliproxy:** keep canonical codex model ids in settings ([a81176d](https://github.com/kaitranntt/ccs/commit/a81176da79568189a686f748d3f76b2c3e1a4240))
* **cliproxy:** keep remote-proxy client under maintainability limit ([88be99f](https://github.com/kaitranntt/ccs/commit/88be99f8a071c8f5786800a958218948286cbba0))
* **cliproxy:** normalize codex effort aliases without reasoning proxy ([742b5ed](https://github.com/kaitranntt/ccs/commit/742b5ed5803dc7937547fc5cf78c8b23c6b3d10f))
* **cliproxy:** normalize provider-aware Claude model IDs ([6429781](https://github.com/kaitranntt/ccs/commit/6429781e8fc7ec5d72aedb7b2409f26f0c739e00))
* **cliproxy:** prevent false remote timeout on reachable proxy ([34292ca](https://github.com/kaitranntt/ccs/commit/34292ca7f8d1cb51b7aaa5a59383e8ff2a381bd4))
* **cliproxy:** split claude quota fetcher for maintainability gate ([9371a72](https://github.com/kaitranntt/ccs/commit/9371a72c1638d72f2a3e1fcb3fe9416c79f7cd1a))
* **core:** resolve edge cases and hardcoded drift ([343ec95](https://github.com/kaitranntt/ccs/commit/343ec959fc8ea26c3e2b75d88613627cdad3b223))
* **persist:** add auto-approve permission flags ([e3255e5](https://github.com/kaitranntt/ccs/commit/e3255e5615df121831f626300510c934518d2cca))
* **persist:** harden persist restore safety and edge cases ([29cceb3](https://github.com/kaitranntt/ccs/commit/29cceb3a881600d70511bcc6d11b63f5b809f04b))
* **persist:** resolve CI gate and review test gaps ([61bcd4d](https://github.com/kaitranntt/ccs/commit/61bcd4df5e343a34c3089c939ee23ce9a815c029))
* **refactor:** address PR review follow-up findings ([6074fcb](https://github.com/kaitranntt/ccs/commit/6074fcb0b628c801b3a579c2673f79e829270dc1))
* **types:** use type-only import for composite tier config ([af6aa2d](https://github.com/kaitranntt/ccs/commit/af6aa2d7b2b40f144b7e53b3f69a63e92cbb10c6))

### Documentation

* **cliproxy:** add normalizer API usage examples ([187c6f7](https://github.com/kaitranntt/ccs/commit/187c6f7f130d6f425dfcdd00c1a760b63c83afb4))

### Code Refactoring

* **core:** centralize claude paths and command parsing ([8d2ec86](https://github.com/kaitranntt/ccs/commit/8d2ec861551a68d30442a2e548e08578d511cb49))
2026-02-22 17:22:28 +00:00
semantic-release-bot 6a9abd2a48 chore(release): 7.47.0 [skip ci]
## [7.47.0](https://github.com/kaitranntt/ccs/compare/v7.46.0...v7.47.0) (2026-02-20)

### Features

* **quota:** add GitHub Copilot quota checks for ghcp and copilot ([8d9d498](https://github.com/kaitranntt/ccs/commit/8d9d4987dc42415ebe53760e1ac06c9c024ce17f))
* **thinking:** complete thinking UX/DX for all providers ([c48ed2e](https://github.com/kaitranntt/ccs/commit/c48ed2ea7fe7fcf0725805274233bd5760f284d8)), closes [#583](https://github.com/kaitranntt/ccs/issues/583)

### Bug Fixes

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

### Documentation

* **spawn:** document claudecode env sanitization behavior ([f2ffb81](https://github.com/kaitranntt/ccs/commit/f2ffb815ab059e8f48b309ab4af05b2cde8b3215)), closes [#588](https://github.com/kaitranntt/ccs/issues/588)

### Code Refactoring

* **cliproxy:** address review feedback on parity and refresh flow ([39593c1](https://github.com/kaitranntt/ccs/commit/39593c161b4cbbfc6a5a125f6ef100922b73ef9b))
* **cliproxy:** centralize provider auth capability metadata ([bd8daac](https://github.com/kaitranntt/ccs/commit/bd8daac094404bf834d77f5c4bebd9470d88c55f))
* **cliproxy:** resolve remaining review parity and cleanup nits ([7e527af](https://github.com/kaitranntt/ccs/commit/7e527af777f1ca8ea36570f97aada469c77299ee))
* **cliproxy:** use shared default port in management paths ([90b8d04](https://github.com/kaitranntt/ccs/commit/90b8d04d71c78b8a120ac8cd091ea0936ba5bb6f))
* **commands:** share cliproxy default port for setup and help ([688f3e3](https://github.com/kaitranntt/ccs/commit/688f3e3889843931cde2e34fd56ec51df454b0a6))
* **presets:** centralize shared provider preset catalog ([21d6754](https://github.com/kaitranntt/ccs/commit/21d6754ec6ae59002c2d393d41515dd105de692a))
* **ui:** centralize default ports and add parity test ([63f4221](https://github.com/kaitranntt/ccs/commit/63f422179ed34678a8abc0f763a2a3e3525bac16))
* **ui:** centralize provider metadata and fallbacks ([9ad8e64](https://github.com/kaitranntt/ccs/commit/9ad8e64e85458a0154c1cac7bac2e3f082f9c7ac))
* **ui:** centralize provider metadata for setup wizard ([a53e6cb](https://github.com/kaitranntt/ccs/commit/a53e6cbd2505c2dab5c5e8fd940b75af5584d600))
* **ui:** replace remaining hardcoded port defaults ([70116cb](https://github.com/kaitranntt/ccs/commit/70116cb3a15694532e57d370245176b905c8f375))
* **ui:** unify api base path for cursor and copilot hooks ([feb556d](https://github.com/kaitranntt/ccs/commit/feb556dc90dab593e79aaf6145dd5b9a38eb6831))
* **ui:** use shared default proxy port in settings cards ([5788ddc](https://github.com/kaitranntt/ccs/commit/5788ddc3b7747df898571470318d5df774603b95))

### Tests

* **delegation:** add regression coverage for claudecode stripping ([80a84ed](https://github.com/kaitranntt/ccs/commit/80a84edf1f7a7514dfb3fbd8c3786b0571b528bf)), closes [#588](https://github.com/kaitranntt/ccs/issues/588)
2026-02-20 17:01:39 +00:00
semantic-release-bot 2ce5bb4ee3 chore(release): 7.46.0 [skip ci]
## [7.46.0](https://github.com/kaitranntt/ccs/compare/v7.45.0...v7.46.0) (2026-02-17)

### Features

* **cliproxy:** add Kimi as OAuth CLIProxy provider ([08b2a67](https://github.com/kaitranntt/ccs/commit/08b2a6791398912ff5ea6b3cce18b37552c1ef10)), closes [#574](https://github.com/kaitranntt/ccs/issues/574)
* **cliproxy:** expose codex weekly reset schedule in quota views ([4fc19c4](https://github.com/kaitranntt/ccs/commit/4fc19c43902330da31b49b6296082fb13e22bebf))
* **cliproxy:** rename kimi API preset to km, add kimi to UI ([f451f4e](https://github.com/kaitranntt/ccs/commit/f451f4e4214396f59c0e8482be0be2f7376d5388))
* **cursor:** harden daemon integration and model discovery ([c639cef](https://github.com/kaitranntt/ccs/commit/c639cefa7bd33807e96d96fd566c64a89166f22f))
* **targets:** add multi-target CLI adapter system (Droid support) ([7d7054e](https://github.com/kaitranntt/ccs/commit/7d7054e2c096768c42fa4be1db5d111bb8e56b8a))
* **targets:** support CCS_DROID_ALIASES argv0 mapping ([025218a](https://github.com/kaitranntt/ccs/commit/025218a706d30ca75163153293ce0920d9c3917d))
* **ui:** add Kimi provider logo with dark background ([6961fb0](https://github.com/kaitranntt/ccs/commit/6961fb0ec35b326bb77ffea9f8828708d2a40cb7))

### Bug Fixes

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

### Documentation

* **provider:** clarify kimi base profile endpoint ([e33164f](https://github.com/kaitranntt/ccs/commit/e33164f42e96ec6826728c47b615286bb13bfdd6))
* **targets:** document built-in and env droid aliases ([91edc95](https://github.com/kaitranntt/ccs/commit/91edc9565bbd6bf4fe6992b0c7e2457a90a87949))

### Styles

* format source and test files ([539afea](https://github.com/kaitranntt/ccs/commit/539afea7374f2c931ab5cbb1e04e0845c57729b5))

### Code Refactoring

* **cliproxy:** DRY provider lists into single source of truth ([94b03c7](https://github.com/kaitranntt/ccs/commit/94b03c7f75fd398282a0737c497f882aeb708724))

### CI

* **ai-review:** switch from CLIProxy to GLM API for code reviews ([55ecbce](https://github.com/kaitranntt/ccs/commit/55ecbce3f523c034a854bc741c4c3a5b5e7851d4))
* **ai-review:** switch from CLIProxy to GLM API for code reviews ([f81c562](https://github.com/kaitranntt/ccs/commit/f81c56204cd981e265b1ed072b887ac80114f5c3))
2026-02-17 19:40:15 +00:00
semantic-release-bot a1f879d7cd chore(release): 7.45.0 [skip ci]
## [7.45.0](https://github.com/kaitranntt/ccs/compare/v7.44.0...v7.45.0) (2026-02-14)

### Features

* **cursor-ui:** restore Cursor dashboard UX and icon assets ([7ab7a15](https://github.com/kaitranntt/ccs/commit/7ab7a156ebfb696e1d2f275b58c32115800283c2)), closes [#555](https://github.com/kaitranntt/ccs/issues/555)
* **cursor:** sync model mapping across config and raw settings ([7b73658](https://github.com/kaitranntt/ccs/commit/7b73658f8700c7d6f3804f00df29de4c14243028)), closes [#555](https://github.com/kaitranntt/ccs/issues/555)

### Bug Fixes

* **cursor-settings:** remove sync fs calls in settings sync ([4f086aa](https://github.com/kaitranntt/ccs/commit/4f086aa34adb32be42527e0f3a77c4369e88df72))
* **cursor-ui:** label cursor dashboard as beta ([b40fe86](https://github.com/kaitranntt/ccs/commit/b40fe866ec293fc08dbb877a000a87addd3ab16d))
* **cursor-ui:** restore info card order and list scrolling ([decdffe](https://github.com/kaitranntt/ccs/commit/decdffea61f543beca508ce209b543bbeee81a4c))
2026-02-14 22:45:07 +00:00
semantic-release-bot 98f1dd965f chore(release): 7.44.0 [skip ci]
## [7.44.0](https://github.com/kaitranntt/ccs/compare/v7.43.0...v7.44.0) (2026-02-14)

### Features

* **cliproxy:** add CLI edit command for composite variants ([43e73f3](https://github.com/kaitranntt/ccs/commit/43e73f335f85f051b7294b0d9f4bdae405780a26))
* **cliproxy:** add composite variant CLI wizard ([4926c20](https://github.com/kaitranntt/ccs/commit/4926c200f2601655e0a93f73c9dd8d03c44e12da)), closes [#506](https://github.com/kaitranntt/ccs/issues/506)
* **cliproxy:** add composite variant runtime execution ([44b30b8](https://github.com/kaitranntt/ccs/commit/44b30b875328bf795dfc5783948f81da018c2f2e)), closes [#506](https://github.com/kaitranntt/ccs/issues/506)
* **cliproxy:** add composite variant type definitions ([3d207fa](https://github.com/kaitranntt/ccs/commit/3d207faac5ca3389572b88eb0881b2dca040c6fb)), closes [#506](https://github.com/kaitranntt/ccs/issues/506)
* **cliproxy:** add dashboard CRUD for composite variants ([1ebd9f4](https://github.com/kaitranntt/ccs/commit/1ebd9f43d6e5fe76f50be31458955b1a53312b25))
* **cliproxy:** add explicit start and restart commands ([8395364](https://github.com/kaitranntt/ccs/commit/83953649704c5957a2522e3b8cf041fd2725510e))
* **cliproxy:** add per-tier thinking config for composite variants ([ed22c1a](https://github.com/kaitranntt/ccs/commit/ed22c1aa1ec9d3c3bf6e161b31326e603e299620))
* **cliproxy:** add provider error detection for composite fallback ([478e9e8](https://github.com/kaitranntt/ccs/commit/478e9e8f7342300ec5368c606bc7619ed497c481))
* **cliproxy:** clarify codex effort mapping and preset UX ([945db1d](https://github.com/kaitranntt/ccs/commit/945db1d6909e546fef988f7823d60e03adcffd44))
* **cliproxy:** extend composite schema with fallback and thinking fields ([20d6079](https://github.com/kaitranntt/ccs/commit/20d60791ffc5c805a2d2d88fc95c5e734dbcbc67)), closes [#506](https://github.com/kaitranntt/ccs/issues/506)
* **cliproxy:** implement composite variant CRUD and settings ([c58fdc9](https://github.com/kaitranntt/ccs/commit/c58fdc931e40026322419d6353535e95308e9a8e)), closes [#506](https://github.com/kaitranntt/ccs/issues/506)
* **cliproxy:** wire composite variant into main execution flow ([07bef9f](https://github.com/kaitranntt/ccs/commit/07bef9f50eeb3a8fe4beace38de04784f6bdda1e)), closes [#506](https://github.com/kaitranntt/ccs/issues/506)
* **codex:** add gpt-5.3 preset defaults ([7fddb63](https://github.com/kaitranntt/ccs/commit/7fddb63ab9ffb826eee514e791ac923067938a04))
* **codex:** keep gpt-5.2 catalog entry ([d6aa1d9](https://github.com/kaitranntt/ccs/commit/d6aa1d90a6d7722829f5cdb0d9208a22fc4ae7e3))
* **cursor:** add auth module with SQLite auto-detect and types ([56270d9](https://github.com/kaitranntt/ccs/commit/56270d99f3511058bb71390df4c0b85f4a0e54e0)), closes [#519](https://github.com/kaitranntt/ccs/issues/519) [#517](https://github.com/kaitranntt/ccs/issues/517)
* **cursor:** add config integration and dashboard routes ([93dafa0](https://github.com/kaitranntt/ccs/commit/93dafa04d53367653aadb6d32c59d85a0502865e))
* **cursor:** add core protobuf encoder/decoder and executor ([9daf943](https://github.com/kaitranntt/ccs/commit/9daf9430bb76f175e34a9aa05c6060b4a959312e))
* **cursor:** add daemon lifecycle, models catalog, and CLI commands ([aaa31c6](https://github.com/kaitranntt/ccs/commit/aaa31c64270d0e718ad82d584c8c76692e39dbf4)), closes [#520](https://github.com/kaitranntt/ccs/issues/520) [#521](https://github.com/kaitranntt/ccs/issues/521) [#522](https://github.com/kaitranntt/ccs/issues/522)
* **cursor:** complete daemon wiring and add dedicated dashboard page ([be9d7cf](https://github.com/kaitranntt/ccs/commit/be9d7cf73e10ede766affe932881969788eadfb7))
* **cursor:** namespace FIELD constants and implement true streaming SSE ([#531](https://github.com/kaitranntt/ccs/issues/531), [#535](https://github.com/kaitranntt/ccs/issues/535)) ([4e5b502](https://github.com/kaitranntt/ccs/commit/4e5b502fc9b2b8e576105dddb5c9d068db5b73d2))

### Bug Fixes

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

### Documentation

* **guidelines:** add AGENTS symlink and neutral wording ([fca5ca2](https://github.com/kaitranntt/ccs/commit/fca5ca203f03d918ae3557754715a535a9ea85c4))
* **kiro:** document method-aware auth behavior ([14dd341](https://github.com/kaitranntt/ccs/commit/14dd34187d94fc07419175c17cd893e3f0081537)), closes [#552](https://github.com/kaitranntt/ccs/issues/552) [#233](https://github.com/kaitranntt/ccs/issues/233)

### Code Refactoring

* **cliproxy:** centralize provider capability registry ([924e368](https://github.com/kaitranntt/ccs/commit/924e3686c8741986def8474d079cc60ea13eee29))
* **commands:** add command contract and migrate shell completion ([fc4b77b](https://github.com/kaitranntt/ccs/commit/fc4b77bc520da688af6e26add33fc7b25ff4d5c0))

### Tests

* **cliproxy:** add composite variant v2 unit tests ([e0ae5f2](https://github.com/kaitranntt/ccs/commit/e0ae5f20ff60fb8c94788a04b9c63ddb4b01b884))
* **cliproxy:** add regression coverage for update consistency ([7dd4ce5](https://github.com/kaitranntt/ccs/commit/7dd4ce5453b7e22ff1d378f396e4f8d61300a543))
* **cliproxy:** add thinking suffix test and document exit 0 behavior ([c35de7e](https://github.com/kaitranntt/ccs/commit/c35de7ec9ab1eac166fc1a74bb9da3be61975ee8))
* **cliproxy:** stabilize path-sensitive CI test assertions ([c9faf6c](https://github.com/kaitranntt/ccs/commit/c9faf6cdc9d5e34b1e69ed055b4e845657444c87))
* **cliproxy:** stabilize thinking override assertion ([d28fb2c](https://github.com/kaitranntt/ccs/commit/d28fb2cdbd9d585f2d045fb0a64f9ec41ab5776b))
* use getCcsDir() instead of os.homedir() for test isolation ([ca7bb23](https://github.com/kaitranntt/ccs/commit/ca7bb23970ba66c9b5f7ce68e96700bca8303656))
2026-02-14 08:44:57 +00:00
semantic-release-bot f3e7e2ad3c chore(release): 7.43.0 [skip ci]
## [7.43.0](https://github.com/kaitranntt/ccs/compare/v7.42.0...v7.43.0) (2026-02-11)

### Features

* **cliproxy:** add account safety guards to prevent Google account bans ([#516](https://github.com/kaitranntt/ccs/issues/516)) ([e055dac](https://github.com/kaitranntt/ccs/commit/e055dac1996bd3cd3c4e5ee0f11dad22d8d2a838)), closes [#509](https://github.com/kaitranntt/ccs/issues/509) [#512](https://github.com/kaitranntt/ccs/issues/512)
* **cliproxy:** runtime quota monitoring during active sessions ([#529](https://github.com/kaitranntt/ccs/issues/529)) ([c6c94a0](https://github.com/kaitranntt/ccs/commit/c6c94a0c1e7bf82dd56295a76d833d7d52694718)), closes [#524](https://github.com/kaitranntt/ccs/issues/524)
* **glm:** update default model to GLM-5 and fix all GLM pricing ([3e26dee](https://github.com/kaitranntt/ccs/commit/3e26dee0134fa576a57f216f232a0215084e74a3)), closes [#532](https://github.com/kaitranntt/ccs/issues/532)

### Bug Fixes

* **cliproxy:** add fork:true for Claude model aliases in config generator ([#523](https://github.com/kaitranntt/ccs/issues/523)) ([4065399](https://github.com/kaitranntt/ccs/commit/4065399d8aa46ccdb115081e461c5651d0afaa2e)), closes [#522](https://github.com/kaitranntt/ccs/issues/522)
* **cliproxy:** address all review feedback (Low + informational) ([7d049d8](https://github.com/kaitranntt/ccs/commit/7d049d8f1e8655856a1a9636d21f6eb3992752a0))
* **cliproxy:** mask email in ban detection and fix JSDoc default ([fcc605b](https://github.com/kaitranntt/ccs/commit/fcc605bc1f02af4da518d21c10f8c77b38a793ad))
* **cliproxy:** migrate deprecated gemini-claude-* model names to upstream claude-* names ([#515](https://github.com/kaitranntt/ccs/issues/515)) ([6afbb72](https://github.com/kaitranntt/ccs/commit/6afbb72b472029358fc3d9b2fed488fd4779695b)), closes [#513](https://github.com/kaitranntt/ccs/issues/513)
* **glm:** fix missed help text reference and glm-4.5-air pricing ([7d9c538](https://github.com/kaitranntt/ccs/commit/7d9c538248f93089ae6483af4ea1d01e555e2e20))
* **hooks:** isolate image type check before error-prone processing ([#514](https://github.com/kaitranntt/ccs/issues/514)) ([19de427](https://github.com/kaitranntt/ccs/commit/19de42704f683a29134982dfb643e97c3123bf7c)), closes [#511](https://github.com/kaitranntt/ccs/issues/511)
2026-02-11 19:24:41 +00:00
semantic-release-bot f62f732249 chore(release): 7.42.0 [skip ci]
## [7.42.0](https://github.com/kaitranntt/ccs/compare/v7.41.0...v7.42.0) (2026-02-11)

### Features

* account safety, quota monitoring, and stability fixes ([#530](https://github.com/kaitranntt/ccs/issues/530)) ([0518050](https://github.com/kaitranntt/ccs/commit/051805074eb80db839a4deb8ab1dcb89f29766de)), closes [#515](https://github.com/kaitranntt/ccs/issues/515) [#513](https://github.com/kaitranntt/ccs/issues/513) [#514](https://github.com/kaitranntt/ccs/issues/514) [#511](https://github.com/kaitranntt/ccs/issues/511) [#523](https://github.com/kaitranntt/ccs/issues/523) [#522](https://github.com/kaitranntt/ccs/issues/522) [#516](https://github.com/kaitranntt/ccs/issues/516) [#509](https://github.com/kaitranntt/ccs/issues/509) [#512](https://github.com/kaitranntt/ccs/issues/512) [#529](https://github.com/kaitranntt/ccs/issues/529) [#524](https://github.com/kaitranntt/ccs/issues/524)
2026-02-11 17:57:36 +00:00
semantic-release-bot 59e3e0286e chore(release): 7.41.0 [skip ci]
## [7.41.0](https://github.com/kaitranntt/ccs/compare/v7.40.0...v7.41.0) (2026-02-11)

### Features

* **config:** add CCS_DIR env var and --config-dir flag for config directory override ([7a0e6a4](https://github.com/kaitranntt/ccs/commit/7a0e6a4112b50dad14bf48004b07a77d1a5fd4d8)), closes [#507](https://github.com/kaitranntt/ccs/issues/507)
* **env:** add ccs env command for third-party tool integration ([2e85064](https://github.com/kaitranntt/ccs/commit/2e85064b8a6a3eed694abb56bef70bf889f648d3)), closes [#503](https://github.com/kaitranntt/ccs/issues/503)
* update cliproxy, config loader, glmt transformer, and provider routes ([8c6afe2](https://github.com/kaitranntt/ccs/commit/8c6afe2e73049ecfbb12cb29a894e83eb2576354))

### Bug Fixes

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

### Documentation

* update local docs for ccs env command ([38bd562](https://github.com/kaitranntt/ccs/commit/38bd562687865c2cb523734509143390f83a5dcc))

### Code Refactoring

* **config:** DRY precedence logic, dynamic recovery messages, CCS_HOME cloud warning ([9699e01](https://github.com/kaitranntt/ccs/commit/9699e01725c3b33ca1bf24a4eeea7ec7f7e9c220))
* **utils:** extract killWithEscalation to shared process-utils ([90b4627](https://github.com/kaitranntt/ccs/commit/90b4627740ae90374b06e0013c09bd583e1ddb39))

### Tests

* **cliproxy:** add edge case coverage for Gemini schema sanitizer ([917f0bb](https://github.com/kaitranntt/ccs/commit/917f0bbef7b7132dca0c37e474a82a9bb07f0df1))
* **utils:** add unit tests for killWithEscalation ([dc9b276](https://github.com/kaitranntt/ccs/commit/dc9b27623bd3cd92dd1b556329d20fd62043b37b))
2026-02-11 07:13:59 +00:00
semantic-release-bot 7ceb019bb7 chore(release): 7.40.0 [skip ci]
## [7.40.0](https://github.com/kaitranntt/ccs/compare/v7.39.0...v7.40.0) (2026-02-07)

### Features

* **cliproxy:** add hybrid catalog sync with CLIProxyAPI ([#485](https://github.com/kaitranntt/ccs/issues/485)) ([c8a0995](https://github.com/kaitranntt/ccs/commit/c8a099509a878f24a211f01ee0000f01020c4d6b)), closes [#477](https://github.com/kaitranntt/ccs/issues/477)
* **cliproxy:** delegate kiro/ghcp token refresh to CLIProxyAPIPlus ([#488](https://github.com/kaitranntt/ccs/issues/488)) ([215c00e](https://github.com/kaitranntt/ccs/commit/215c00e9830e4a604231dd64c01154c91574ace9)), closes [#487](https://github.com/kaitranntt/ccs/issues/487)

### Bug Fixes

* **cliproxy:** disable 1M extended context for opus 4.6 (256k limit) ([#492](https://github.com/kaitranntt/ccs/issues/492)) ([43cd19a](https://github.com/kaitranntt/ccs/commit/43cd19a52b128363c7202590869fb4bd9349b859)), closes [#490](https://github.com/kaitranntt/ccs/issues/490)
* **cliproxy:** guard against empty upstream SSE responses in agy profile ([#489](https://github.com/kaitranntt/ccs/issues/489)) ([545c8b9](https://github.com/kaitranntt/ccs/commit/545c8b9515d5afeda17976f418e22037cc9acef9)), closes [#350](https://github.com/kaitranntt/ccs/issues/350)
* **hooks:** add image analysis env vars for settings-based profiles ([#484](https://github.com/kaitranntt/ccs/issues/484)) ([b0dff7a](https://github.com/kaitranntt/ccs/commit/b0dff7a148c795994c2e3f871db9f60dd1cc737a)), closes [#440](https://github.com/kaitranntt/ccs/issues/440)
* **teams:** propagate CLAUDE_CONFIG_DIR to tmux session for agent teammates ([db88290](https://github.com/kaitranntt/ccs/commit/db88290b9110ba78f484d707ae3e64521db4e622))

### Code Refactoring

* **cliproxy:** check lifecycle events in remaining SSE buffer ([42a3eb1](https://github.com/kaitranntt/ccs/commit/42a3eb150630b3a466b7ec9063a2256ecc38c60e))
* **cliproxy:** deduplicate message_delta/message_stop in synthetic SSE response ([152f543](https://github.com/kaitranntt/ccs/commit/152f5432ae26e42e07ea422b882298033ed66c7f)), closes [#491](https://github.com/kaitranntt/ccs/issues/491)
* **cliproxy:** extract SSE lifecycle tracker and add backpressure handling ([1b3440b](https://github.com/kaitranntt/ccs/commit/1b3440b93962e347797105b9bf92c2aaeb954a27))
* **teams:** use spawnSync array args instead of execSync string ([0f7d5f9](https://github.com/kaitranntt/ccs/commit/0f7d5f97576d68b9c73ea952a4ea5853b0993467))
2026-02-07 10:46:43 +00:00
semantic-release-bot 5ed6fd9fa3 chore(release): 7.39.0 [skip ci]
## [7.39.0](https://github.com/kaitranntt/ccs/compare/v7.38.0...v7.39.0) (2026-02-07)

### Features

* hybrid CLIProxy catalog sync + agent teams env fix ([#486](https://github.com/kaitranntt/ccs/issues/486)) ([0b39493](https://github.com/kaitranntt/ccs/commit/0b394933aec723f77a552b7d951afaf065399a92)), closes [#485](https://github.com/kaitranntt/ccs/issues/485) [#477](https://github.com/kaitranntt/ccs/issues/477)
2026-02-07 05:05:37 +00:00
semantic-release-bot e24d8d89e3 chore(release): 7.38.0 [skip ci]
## [7.38.0](https://github.com/kaitranntt/ccs/compare/v7.37.1...v7.38.0) (2026-02-07)

### Features

* **release:** v7.38.0 - Extended Context, Qwen Models, Bug Fixes ([#480](https://github.com/kaitranntt/ccs/issues/480)) ([b454834](https://github.com/kaitranntt/ccs/commit/b4548341750804339c87c48259dd8741425d2acf)), closes [#472](https://github.com/kaitranntt/ccs/issues/472) [#474](https://github.com/kaitranntt/ccs/issues/474) [#103](https://github.com/kaitranntt/ccs/issues/103) [#478](https://github.com/kaitranntt/ccs/issues/478) [#482](https://github.com/kaitranntt/ccs/issues/482)
2026-02-07 01:31:41 +00:00
semantic-release-bot 3e8957af8b chore(release): 7.37.1 [skip ci]
## [7.37.1](https://github.com/kaitranntt/ccs/compare/v7.37.0...v7.37.1) (2026-02-05)

### Bug Fixes

* **cliproxy:** fix discoverExistingAccounts test failures ([759f289](https://github.com/kaitranntt/ccs/commit/759f28911958689ff2b56f03409545b6fec81dec))
* **ui:** display device code for GitHub Copilot OAuth in Dashboard ([13f6c3f](https://github.com/kaitranntt/ccs/commit/13f6c3f14bd0d1c920e339b2486dcd6e37ce50f4)), closes [#460](https://github.com/kaitranntt/ccs/issues/460)

### Code Refactoring

* **cliproxy:** modularize top 4 giant files ([b149e25](https://github.com/kaitranntt/ccs/commit/b149e252ebe3fc355e3e47772de4820810b8000f))
* **ui:** address PR review feedback for device code auth ([a08d0cf](https://github.com/kaitranntt/ccs/commit/a08d0cfece85ebb8c5960ad66ee48131af6ded05))
2026-02-05 22:54:56 +00:00
semantic-release-bot 237f91ff69 chore(release): 7.37.0 [skip ci]
## [7.37.0](https://github.com/kaitranntt/ccs/compare/v7.36.0...v7.37.0) (2026-02-05)

### Features

* **oauth:** add interactive mode prompt for VPS/headless environments ([7a1b4d6](https://github.com/kaitranntt/ccs/commit/7a1b4d6f20176957892e217979062ba542e90343)), closes [#461](https://github.com/kaitranntt/ccs/issues/461)
* **oauth:** add interactive mode prompt for VPS/headless environments ([#462](https://github.com/kaitranntt/ccs/issues/462)) ([2777202](https://github.com/kaitranntt/ccs/commit/2777202caa37db8c48f116ad256a3c183bb7eb1c)), closes [#461](https://github.com/kaitranntt/ccs/issues/461)

### Bug Fixes

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

### Tests

* **cliproxy:** add comprehensive proxy support unit tests ([713ee93](https://github.com/kaitranntt/ccs/commit/713ee936065d6b1f7f61a9aa07282c5f82d81774))
* **shell:** add unit tests for escapeShellArg ([48aa3cc](https://github.com/kaitranntt/ccs/commit/48aa3cca30b2c5e7ff0b5faff865918759b048d1))
2026-02-05 16:32:33 +00:00
semantic-release-bot bfb5eefe49 chore(release): 7.36.0 [skip ci]
## [7.36.0](https://github.com/kaitranntt/ccs/compare/v7.35.1...v7.36.0) (2026-02-04)

### Features

* **detector:** add Windows native installer fallback detection ([3336736](https://github.com/kaitranntt/ccs/commit/333673615465727d2b25fef7a35203424859584d)), closes [#447](https://github.com/kaitranntt/ccs/issues/447)

### Bug Fixes

* **detector:** use expandPath helper and add tests ([7f83a7d](https://github.com/kaitranntt/ccs/commit/7f83a7d43574e12ae3685caa0f6cf682ea9631ca)), closes [#449](https://github.com/kaitranntt/ccs/issues/449) [#447](https://github.com/kaitranntt/ccs/issues/447)
* **hooks:** deduplicate WebSearch hooks when saving via Dashboard ([57d4b04](https://github.com/kaitranntt/ccs/commit/57d4b04c682aac6246d2678a8104ed64e3bbd39a)), closes [#450](https://github.com/kaitranntt/ccs/issues/450)
* **ui:** prevent settings tab truncation with grid layout ([bfb2a06](https://github.com/kaitranntt/ccs/commit/bfb2a062682be3bfb4a03d3a2e0b534829a37899))

### Tests

* add stress test and PostToolUse preservation tests ([2fe6c33](https://github.com/kaitranntt/ccs/commit/2fe6c336d71cd36e7983603491601307a5f674e7)), closes [#452](https://github.com/kaitranntt/ccs/issues/452)
* **glmt:** increase timeout for retry-logic tests on CI ([aa83b4d](https://github.com/kaitranntt/ccs/commit/aa83b4db4e00296bd02ff1699ee7782d291f012a))
* **uploader:** fix flaky timeout test with 5ms tolerance ([36c5605](https://github.com/kaitranntt/ccs/commit/36c560532331a6d12ec0d52e7f559004f241beea))
2026-02-04 18:45:41 +00:00
semantic-release-bot 2b84322249 chore(release): 7.35.1 [skip ci]
## [7.35.1](https://github.com/kaitranntt/ccs/compare/v7.35.0...v7.35.1) (2026-02-04)

### Bug Fixes

* **cliproxy:** use os.homedir() for cross-platform path expansion ([39f77bd](https://github.com/kaitranntt/ccs/commit/39f77bd9efffd97fb76fbb7bb550bfe25c58e6a7)), closes [#445](https://github.com/kaitranntt/ccs/issues/445)
2026-02-04 15:33:32 +00:00
semantic-release-bot b40aa69459 chore(release): 7.35.0 [skip ci]
## [7.35.0](https://github.com/kaitranntt/ccs/compare/v7.34.1...v7.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](https://github.com/kaitranntt/ccs/commit/ae3eb282b4a6a0754f90be27e259af45d0d09d9b))
* **hooks:** add block-image-read hook to prevent context overflow ([38eb740](https://github.com/kaitranntt/ccs/commit/38eb74043c7f9e613e308392b2c159ebfc2a05c1)), closes [#426](https://github.com/kaitranntt/ccs/issues/426)
* **hooks:** add image/PDF analysis via CLIProxy transformer ([d5f2aca](https://github.com/kaitranntt/ccs/commit/d5f2acaa6e9ee5d12a6035c2da1f975551b6a989)), closes [#426](https://github.com/kaitranntt/ccs/issues/426)
* **hooks:** add UX improvements for image analysis hook ([2b0717e](https://github.com/kaitranntt/ccs/commit/2b0717ed53011dcb67cc03ad09a00cfabb682f1e))
* **hooks:** extend image analyzer to all CLIProxy providers ([3252228](https://github.com/kaitranntt/ccs/commit/3252228e5c230d291fc705fb5f1f4b3f58cb2d99))
* **hooks:** inject image analyzer hooks into all profile types ([a8ddf8b](https://github.com/kaitranntt/ccs/commit/a8ddf8bd565ac82131dc4ca02ecadd3b04a61197))
* **hooks:** skip image analyzer for Claude Sub accounts ([26f4021](https://github.com/kaitranntt/ccs/commit/26f40217703800cb412af74195e350090d39e435))
* **ui:** improve settings page UX and responsiveness ([4d87a64](https://github.com/kaitranntt/ccs/commit/4d87a649de3873786926dad0f598d4f481b1b563))

### Bug Fixes

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

### Documentation

* update documentation for v7.34 release ([c6be09b](https://github.com/kaitranntt/ccs/commit/c6be09b55b9df21be551f4844b4fba3dfd9a6b3f))

### Code Refactoring

* **hooks:** consolidate getCcsHooksDir to config-manager ([b014c4e](https://github.com/kaitranntt/ccs/commit/b014c4e8725c484d37827ea6f2a2e5df59464ce8))
* **hooks:** deprecate block-image-read, add CLIProxy fallback ([51b719e](https://github.com/kaitranntt/ccs/commit/51b719ef3463950983244d708f1b9bca45774976)), closes [#442](https://github.com/kaitranntt/ccs/issues/442) [#426](https://github.com/kaitranntt/ccs/issues/426)
* **hooks:** use provider_models mapping for image analysis ([40caff1](https://github.com/kaitranntt/ccs/commit/40caff13ad5e8eaca71bddb05368d2218ce94453))

### Performance Improvements

* **config:** replace busy-wait with Atomics.wait in lock retry ([ec4e1ae](https://github.com/kaitranntt/ccs/commit/ec4e1ae31c882e8422e8defca6c10a9c79addc5d))
2026-02-04 13:21:52 +00:00
semantic-release-bot d39e24ba16 chore(release): 7.34.1 [skip ci]
## [7.34.1](https://github.com/kaitranntt/ccs/compare/v7.34.0...v7.34.1) (2026-02-03)

### Bug Fixes

* **dashboard:** cross-browser OAuth with manual callback fallback ([#417](https://github.com/kaitranntt/ccs/issues/417)) ([#423](https://github.com/kaitranntt/ccs/issues/423)) ([24b0312](https://github.com/kaitranntt/ccs/commit/24b03121fd43121f229bd4c07cbd7e3ee5a0234a))
* **dashboard:** detect popup blocked during OAuth flow ([441870d](https://github.com/kaitranntt/ccs/commit/441870d38e5e7d8069df5f4695cb28275f0d48b6))
* **jsonl:** add explicit UTF-8 BOM stripping ([09b5239](https://github.com/kaitranntt/ccs/commit/09b5239f58213b24f2e13116cb2384748bf8913f))
* **quota:** add explicit 429 rate limit handling ([e596ab4](https://github.com/kaitranntt/ccs/commit/e596ab487d9782e4cd9633be081dc42e4a176668))
* **quota:** improve 403 error messaging for forbidden accounts ([5a308db](https://github.com/kaitranntt/ccs/commit/5a308db409392d88e637ee66b9c693b8b7557198))
* **websearch:** add type guards and deduplication for global settings ([847aad0](https://github.com/kaitranntt/ccs/commit/847aad00fee1fd920ddf8ea3a4b0e85aa1f3dfa4))
* **websearch:** normalize double-slash paths in hook detection ([66f5fe6](https://github.com/kaitranntt/ccs/commit/66f5fe6b2c2a955b4b616c38042ab3c9ead199a1))
* **websearch:** normalize Windows path separators in hook detection ([d61c940](https://github.com/kaitranntt/ccs/commit/d61c940a087d4e9134fa0a9ae32dc8d79d42648d))
* **websocket:** add maxPayload limit to prevent DoS attacks ([4fd2f60](https://github.com/kaitranntt/ccs/commit/4fd2f601f676c0710b078960ad1d6c45fba8a6ca))

### Code Refactoring

* **oauth:** align box chars with CCS standard and add JSDoc ([258220b](https://github.com/kaitranntt/ccs/commit/258220b7e8ec833efe772bf32b61800e20439ddb))
* **websearch:** extract shared hook utils to DRY module ([1f8d9b8](https://github.com/kaitranntt/ccs/commit/1f8d9b82d5ad89cefe73966e9c1ef57692dd9284)), closes [#420](https://github.com/kaitranntt/ccs/issues/420)

### Tests

* **websearch:** add unit tests for hook-utils module ([deb6249](https://github.com/kaitranntt/ccs/commit/deb62490dbe797369460ac07ad42a0790463a460))
2026-02-03 04:50:13 +00:00
semantic-release-bot be63056d11 chore(release): 7.34.0 [skip ci]
## [7.34.0](https://github.com/kaitranntt/ccs/compare/v7.33.0...v7.34.0) (2026-02-01)

### Features

* **glmt:** add rate limit resilience with exponential backoff retry ([3afdcea](https://github.com/kaitranntt/ccs/commit/3afdcea379a6527657ba326895f328c219ad6a88)), closes [#402](https://github.com/kaitranntt/ccs/issues/402)

### Bug Fixes

* **claude:** update base config to Claude 4.5 model IDs ([09dd701](https://github.com/kaitranntt/ccs/commit/09dd7016eb2570ef9946f9e7be0bbc300f75337a))
* **cliproxy:** load WebSearch hooks via --settings flag ([7aaf568](https://github.com/kaitranntt/ccs/commit/7aaf568c3f15ae0a5c9dcab14f3e61d811515c9a)), closes [#412](https://github.com/kaitranntt/ccs/issues/412)
* **glmt:** add env var validation and max delay cap ([67a8e2c](https://github.com/kaitranntt/ccs/commit/67a8e2cefcedad2f5a26f0d43952219379be5cc0))
* **glmt:** extract Retry-After from HTTP headers and cap maxRetries ([62ac3e2](https://github.com/kaitranntt/ccs/commit/62ac3e2ae9b941adaa35cc3962c4de54f917e065))
* **sync:** prevent duplicate backup folders on Windows ([a8b0547](https://github.com/kaitranntt/ccs/commit/a8b054781f9c18165e985de801500f31d87a88a8)), closes [#409](https://github.com/kaitranntt/ccs/issues/409)
* **update:** add line-buffering and unit tests for stderr filter ([b39726f](https://github.com/kaitranntt/ccs/commit/b39726fc0713451679b26d3467e70e835c784851))
* **update:** filter npm cleanup warnings on Windows ([c9f8ed1](https://github.com/kaitranntt/ccs/commit/c9f8ed1a04faa95af68650dca4371804391daef8)), closes [#405](https://github.com/kaitranntt/ccs/issues/405)
2026-02-01 07:52:36 +00:00
semantic-release-bot 3673b9d771 chore(release): 7.33.0 [skip ci]
## [7.33.0](https://github.com/kaitranntt/ccs/compare/v7.32.0...v7.33.0) (2026-01-30)

### Features

* **cliproxy:** add backend caching and reauth indicator for quota endpoints ([7947a7a](https://github.com/kaitranntt/ccs/commit/7947a7ac89b977a34adc9ab72b89b38a61fb5200))
* **cliproxy:** add Codex/Gemini quota API routes ([2f5a50b](https://github.com/kaitranntt/ccs/commit/2f5a50b801a48314b76f102ccdd4f71c4d1cf87d))
* **cliproxy:** add proactive token refresh for Gemini quota (match AGY pattern) ([606bb72](https://github.com/kaitranntt/ccs/commit/606bb7272318bea9f294d9b563369d595b336cf4))
* **ui:** add Codex/Gemini quota API client and hooks ([19a57c3](https://github.com/kaitranntt/ccs/commit/19a57c395c29beb83661edb28286e01211b80261))
* **ui:** display Codex/Gemini quota in dashboard ([387c010](https://github.com/kaitranntt/ccs/commit/387c01026731d251459420d70830df418fd1311f))

### Code Refactoring

* **ui:** address code review feedback ([32ef233](https://github.com/kaitranntt/ccs/commit/32ef23314a517bcda1816ce0c55691b3dd2616de))
* **ui:** extract duplicated quota helpers to shared utils ([8ce7495](https://github.com/kaitranntt/ccs/commit/8ce749581ef7667bec29bdfe17d02f824e06bed4)), closes [#400](https://github.com/kaitranntt/ccs/issues/400)
* **ui:** extract shared QuotaTooltipContent component ([eeb0dde](https://github.com/kaitranntt/ccs/commit/eeb0dde8cabf0db5eea758d50ca7fd0b126a6404))

### Tests

* **quota:** add extensive test suite for quota caching system ([3df2619](https://github.com/kaitranntt/ccs/commit/3df2619023abee095901636310818a676e02d639))
* **ui:** add comprehensive tests for quota utility functions ([0b8635d](https://github.com/kaitranntt/ccs/commit/0b8635d3ba47cf954ad9cc5fe4d30c64ec77779c))
2026-01-30 04:35:04 +00:00
semantic-release-bot 1d5c72a860 chore(release): 7.32.0 [skip ci]
## [7.32.0](https://github.com/kaitranntt/ccs/compare/v7.31.1...v7.32.0) (2026-01-30)

### Features

* **cliproxy:** add ToolSanitizationProxy for Gemini 64-char limit ([6363350](https://github.com/kaitranntt/ccs/commit/63633507d2eeeff7c76b73481894dd9f1148ba93)), closes [#219](https://github.com/kaitranntt/ccs/issues/219)

### Bug Fixes

* **cliproxy:** address PR [#399](https://github.com/kaitranntt/ccs/issues/399) review suggestions ([98b7f6f](https://github.com/kaitranntt/ccs/commit/98b7f6f4545daca18b3c76619bd7c6a6496cc1ed))
* **cliproxy:** route proxy logs to file instead of stderr ([4d292c6](https://github.com/kaitranntt/ccs/commit/4d292c62e46497411b8e151fe96e3e335a5be1c3))

### Code Refactoring

* **cliproxy:** address PR review suggestions ([d86c531](https://github.com/kaitranntt/ccs/commit/d86c53146ad7302600ad803faf0649391fa8f4e1))

### Tests

* **cliproxy:** add integration tests for ToolSanitizationProxy ([bf19002](https://github.com/kaitranntt/ccs/commit/bf190024f6d3b322ff945655fe65af665181a779))
2026-01-30 00:41:01 +00:00
semantic-release-bot 7f7dcb21f9 chore(release): 7.31.1 [skip ci]
## [7.31.1](https://github.com/kaitranntt/ccs/compare/v7.31.0...v7.31.1) (2026-01-29)

### Bug Fixes

* **cliproxy:** read Gemini tokens from CLIProxy auth directory ([9d96535](https://github.com/kaitranntt/ccs/commit/9d96535d28bf7070e8eccde6af16ef79262a65cf)), closes [#368](https://github.com/kaitranntt/ccs/issues/368)

### Code Refactoring

* **cliproxy:** address code review feedback for token handling ([cddf931](https://github.com/kaitranntt/ccs/commit/cddf931fe6fb8b4c2b6b9edeb9d4e41a25e29535)), closes [#396](https://github.com/kaitranntt/ccs/issues/396)
2026-01-29 20:21:01 +00:00
semantic-release-bot 2084ee3e85 chore(release): 7.31.0 [skip ci]
## [7.31.0](https://github.com/kaitranntt/ccs/compare/v7.30.1...v7.31.0) (2026-01-29)

### Features

* **cliproxy:** add multi-provider quota display for Codex and Gemini CLI ([30e611f](https://github.com/kaitranntt/ccs/commit/30e611fc28e10f89d6aabb2cdbf9450d6ce748a1))

### Bug Fixes

* **cliproxy:** resolve regex escape bug and complete DRY refactor ([38ba6a9](https://github.com/kaitranntt/ccs/commit/38ba6a9fea564d3c48a083e6594c2c6e5cc82b20)), closes [#395](https://github.com/kaitranntt/ccs/issues/395)
* **config:** add missing base-claude.settings.json ([643232f](https://github.com/kaitranntt/ccs/commit/643232f58e4a1954553f761cbad9863dab3133fa))

### Code Refactoring

* **cliproxy:** extract shared auth utils and remove unused parameter ([e31d00f](https://github.com/kaitranntt/ccs/commit/e31d00f0b99f51bd8768d351b2b38604d221935b)), closes [#395](https://github.com/kaitranntt/ccs/issues/395)

### Tests

* **cliproxy:** add unit tests for quota fetchers and auth utilities ([ad8327d](https://github.com/kaitranntt/ccs/commit/ad8327d17e8182d71f0c784e2ef6db30cb3877bb)), closes [#395](https://github.com/kaitranntt/ccs/issues/395)
2026-01-29 20:06:31 +00:00
semantic-release-bot 2b1d000759 chore(release): 7.30.1 [skip ci]
## [7.30.1](https://github.com/kaitranntt/ccs/compare/v7.30.0...v7.30.1) (2026-01-29)

### Bug Fixes

* **cliproxy:** update Claude model catalog to latest CLIProxy models ([d238a5d](https://github.com/kaitranntt/ccs/commit/d238a5d43aa50e0629609349c6eb053170f2b586)), closes [#392](https://github.com/kaitranntt/ccs/issues/392)
* **copilot:** update fallback model ID to match catalog default ([2501843](https://github.com/kaitranntt/ccs/commit/25018431a50fae1a45121b28a0d16fa1731deace))
2026-01-29 06:34:31 +00:00
semantic-release-bot a46ac1115e chore(release): 7.30.0 [skip ci]
## [7.30.0](https://github.com/kaitranntt/ccs/compare/v7.29.0...v7.30.0) (2026-01-28)

### Features

* **cliproxy:** add auto_sync config option ([fc23afd](https://github.com/kaitranntt/ccs/commit/fc23afdfc78a955fc0a1ce7f55d2e2bd098fc6c4))
* **cliproxy:** add granular account tier prioritization (ultra/pro/free) ([aeb9abc](https://github.com/kaitranntt/ccs/commit/aeb9abc998a5114007e34c478cf5c79213ea1fe7)), closes [#387](https://github.com/kaitranntt/ccs/issues/387)
* **cliproxy:** add local config sync module ([9de2682](https://github.com/kaitranntt/ccs/commit/9de26820629f5e95a487028a64c1a8a782674448))
* **cliproxy:** add Management API client for CLIProxy ([4cc89ea](https://github.com/kaitranntt/ccs/commit/4cc89eaf8745d67548f032408cd284fd23c3bd5e))
* **cliproxy:** add sync and alias CLI commands ([cb6c212](https://github.com/kaitranntt/ccs/commit/cb6c21216dcaf0536530f110af75dc20ee7c7738))
* **cliproxy:** add sync API routes ([56500fe](https://github.com/kaitranntt/ccs/commit/56500fee98042fb333bd723818d2a3881cd28481))
* **cliproxy:** auto-sync on profile create ([b2ba402](https://github.com/kaitranntt/ccs/commit/b2ba402d0fb4204457ae1f09016cb21bd9b5a6e2))
* **cliproxy:** enable auto_sync by default ([28b0e89](https://github.com/kaitranntt/ccs/commit/28b0e89b34787f42d63e2dd1a036b75a761bcf6b))
* **ui:** add CLIProxy sync components ([75a4e68](https://github.com/kaitranntt/ccs/commit/75a4e68f95ba5f8c7c8b647b8d5cf0d013dc425a))
* **ui:** add granular account tier types (pro/ultra/free) ([890fd14](https://github.com/kaitranntt/ccs/commit/890fd140f2ede728f212ed0bfc77bc8609b3a09b))
* **ui:** add tier badges to account cards ([31a91f6](https://github.com/kaitranntt/ccs/commit/31a91f609fad4af17f0e4bd3b0f0dbabe8bf2b77))
* **ui:** add toast feedback for sync actions ([f972a4e](https://github.com/kaitranntt/ccs/commit/f972a4ee80ebdec7b0a645d29eba4d65ca847caf))
* **ui:** allow custom model names in Quick Setup wizard ([ab9bbed](https://github.com/kaitranntt/ccs/commit/ab9bbedfa92555d0502b064145c0cfd5bf24065c))
* **ui:** mount SyncStatusCard to CLIProxy page ([afa3bda](https://github.com/kaitranntt/ccs/commit/afa3bdafceb1829e0fef2994bcb51c731797657f))

### Bug Fixes

* **cliproxy:** address edge cases in sync module ([9924b2f](https://github.com/kaitranntt/ccs/commit/9924b2fb25650803c34d26eae151c53a007fa0bb))
* **cliproxy:** address PR review feedback ([4967693](https://github.com/kaitranntt/ccs/commit/496769383979fb0b08bb03a57acd4ad2c10221c6))
* **cliproxy:** address sync review feedback ([e80d2d2](https://github.com/kaitranntt/ccs/commit/e80d2d2d05c00522cdaac03e6f55ecf10a938fc7))
* **cliproxy:** correct sync terminology and add unit tests ([c3f85bc](https://github.com/kaitranntt/ccs/commit/c3f85bc4a8c1351b09d463bd1687e17fa8a989d5))
* **cliproxy:** harden sync against edge cases ([bbad73b](https://github.com/kaitranntt/ccs/commit/bbad73b55450d04902b90a4fc4c006a8c7a3c5c1))
* **cliproxy:** improve sync robustness and consistency ([4124780](https://github.com/kaitranntt/ccs/commit/4124780ce07201f166971216fd48e5b072ec9dd5))
* **cliproxy:** preserve config comments during sync ([68a63a7](https://github.com/kaitranntt/ccs/commit/68a63a776812c7026a38f7dc7d5bb6996bc30190))
* **cliproxy:** use paidTier for account tier detection instead of allowedTiers ([de23029](https://github.com/kaitranntt/ccs/commit/de23029b572c9e1db1c8a004ec214ce5a465570a))
* **ui:** add scroll boundary for account list in Quick Setup ([85aa747](https://github.com/kaitranntt/ccs/commit/85aa747aebccbde21111730f6eb63e047ac0b91d))
* **ui:** fix account card layout overflow ([87cced8](https://github.com/kaitranntt/ccs/commit/87cced81952c168eaa4c6fd98059f089d765bcb3))
* **ui:** update sync card for local sync design ([e2b9c46](https://github.com/kaitranntt/ccs/commit/e2b9c465e4485c13086b82d282d9c67ae640dc77))

### Code Refactoring

* **cliproxy:** remove model alias functionality ([32dbd5e](https://github.com/kaitranntt/ccs/commit/32dbd5e174338d7627637667c63162ea4b9ffe7f))
* **ui:** merge sync into ProxyStatusWidget ([3761634](https://github.com/kaitranntt/ccs/commit/37616348f8e0edf934e68854faf6c783d4ff7aca))

### Tests

* **cliproxy:** add management-api-client unit tests ([6611142](https://github.com/kaitranntt/ccs/commit/6611142dcc60180dbaa4b987c3fb801ce753ffb1))
2026-01-28 22:01:02 +00:00
semantic-release-bot ae11603de7 chore(release): 7.29.0 [skip ci]
## [7.29.0](https://github.com/kaitranntt/ccs/compare/v7.28.2...v7.29.0) (2026-01-28)

### Features

* **cliproxy:** add Claude (Anthropic) OAuth provider support ([28d8bd8](https://github.com/kaitranntt/ccs/commit/28d8bd84a5ac912b79416aeced95f74fd71876bb)), closes [#380](https://github.com/kaitranntt/ccs/issues/380)
* skip local OAuth when using remote proxy with auth token ([1f5d119](https://github.com/kaitranntt/ccs/commit/1f5d11930ee19c0f00b46d7994ea99c7be8e55c6))

### Bug Fixes

* add claude provider to statsProviderMap, UI types, and provider arrays ([4a2abc7](https://github.com/kaitranntt/ccs/commit/4a2abc74cac93e17ee12fab3fcf8fc0693552347))
* **cliproxy:** add Claude to all provider lists for sidebar display ([d212995](https://github.com/kaitranntt/ccs/commit/d2129957d7e954701be973725545f475711d0468))
* **cliproxy:** address PR review feedback ([2091a90](https://github.com/kaitranntt/ccs/commit/2091a90b7710e7cb0b565577a5e659473126a541)), closes [#D97757](https://github.com/kaitranntt/ccs/issues/D97757)
* **cliproxy:** improve skip-local-auth edge case handling ([21e819b](https://github.com/kaitranntt/ccs/commit/21e819b59062b77c2686ecc5f24e9c3436e42f84))
* **cliproxy:** use correct --claude-login flag for Claude OAuth ([8017ce8](https://github.com/kaitranntt/ccs/commit/8017ce8f8639ffc282203d6809091df83e0c8f18)), closes [#382](https://github.com/kaitranntt/ccs/issues/382)
* replace hardcoded provider validation arrays with CLIPROXY_PROFILES import ([9cd9c42](https://github.com/kaitranntt/ccs/commit/9cd9c423e929579c86da3f409d74927c3c7dedc1)), closes [#382](https://github.com/kaitranntt/ccs/issues/382)
* **test:** use correct provider name 'ghcp' instead of 'copilot' ([838cd1d](https://github.com/kaitranntt/ccs/commit/838cd1d460de68acb571bb44bc12f91bd0636ff7))
* **ui:** add iFlow to PROVIDER_ASSETS + sync validation test ([5c62e06](https://github.com/kaitranntt/ccs/commit/5c62e06d0236b5080ccfb3ca2ff55407cbb414e1)), closes [#384](https://github.com/kaitranntt/ccs/issues/384)
* **ui:** truncate long account emails in provider editor ([a9c5520](https://github.com/kaitranntt/ccs/commit/a9c5520b8b4b7d49d1afe0e63b4facab3142db1b))

### Code Refactoring

* **cliproxy:** reorder providers - Antigravity first, then Claude ([b385ab1](https://github.com/kaitranntt/ccs/commit/b385ab131d2b179c7b7bd014859f9118afd6ce5c))
* **cliproxy:** use CLIPROXY_PROFILES for provider arrays (DRY) ([9fd9395](https://github.com/kaitranntt/ccs/commit/9fd93955880fd1b90d15f45d9738d413d04769ca)), closes [#384](https://github.com/kaitranntt/ccs/issues/384)
* **oauth:** derive auth-code providers from OAUTH_FLOW_TYPES (DRY) ([c713d48](https://github.com/kaitranntt/ccs/commit/c713d48d08af5044cb0fab4505365fd98e31b9d6)), closes [#384](https://github.com/kaitranntt/ccs/issues/384)
* **ui:** centralize provider list in provider-config.ts (DRY) ([5a4c8e0](https://github.com/kaitranntt/ccs/commit/5a4c8e009ce1cc355d6fa2f05001cab6c9b684c4))
2026-01-28 03:28:46 +00:00
semantic-release-bot 441dd0b513 chore(release): 7.28.2 [skip ci]
## [7.28.2](https://github.com/kaitranntt/ccs/compare/v7.28.1...v7.28.2) (2026-01-27)

### Bug Fixes

* **websearch:** add shell option for Windows spawnSync compatibility ([3c534f4](https://github.com/kaitranntt/ccs/commit/3c534f48cb60448875c02bc0a8444277ca7c89eb)), closes [#378](https://github.com/kaitranntt/ccs/issues/378)
2026-01-27 20:12:47 +00:00
semantic-release-bot 7fbe6b2b54 chore(release): 7.28.1 [skip ci]
## [7.28.1](https://github.com/kaitranntt/ccs/compare/v7.28.0...v7.28.1) (2026-01-26)

### Bug Fixes

* **cliproxy:** pin version to 6.7.25, add disable-cooling ([fb77d72](https://github.com/kaitranntt/ccs/commit/fb77d72a3080d0fa096247c71a9cc1336445aa38))
* **websearch:** stop polluting global ~/.claude/settings.json with hooks ([0216341](https://github.com/kaitranntt/ccs/commit/0216341b2c45e0b0387947f30213d277e1893584))
2026-01-26 20:02:10 +00:00
semantic-release-bot 808be31024 chore(release): 7.28.0 [skip ci]
## [7.28.0](https://github.com/kaitranntt/ccs/compare/v7.27.0...v7.28.0) (2026-01-26)

### Features

* **cli:** implement --uninstall handler ([c44a5c2](https://github.com/kaitranntt/ccs/commit/c44a5c221f2046b84e6a556f0ffed706964dac6f))
* **cli:** inject hooks into profile settings on launch ([0099ab5](https://github.com/kaitranntt/ccs/commit/0099ab5a1c6d3201850b44bc51b06ceb8847f1d2))
* **npm:** add postuninstall script ([4f28de9](https://github.com/kaitranntt/ccs/commit/4f28de9c90cbd8b6bacbd6cf73b3f664db64eee3))
* **websearch:** add per-profile hook injection module ([242ab76](https://github.com/kaitranntt/ccs/commit/242ab7645384516db0c05c7139ae652733acf271))
* **websearch:** add removeHookConfig function ([9159aa5](https://github.com/kaitranntt/ccs/commit/9159aa52cbe99c0820c30a19843043ea141c1106)), closes [#317](https://github.com/kaitranntt/ccs/issues/317)
* **websearch:** call removeHookConfig on uninstall ([fc4d987](https://github.com/kaitranntt/ccs/commit/fc4d987d205bb2bd86d2cf2698858f052a740cce))
* **websearch:** inject hooks on profile creation ([fca8dbd](https://github.com/kaitranntt/ccs/commit/fca8dbd6cfdcb8a229051b840733b0769e61368a))

### Bug Fixes

* address PR [#373](https://github.com/kaitranntt/ccs/issues/373) review feedback ([e98a92f](https://github.com/kaitranntt/ccs/commit/e98a92fded2eeb32cd74ee25279b59e51237c67a))
* address PR review feedback ([cd7a112](https://github.com/kaitranntt/ccs/commit/cd7a1121d4f0072a4b15dc11b4864ec3aad26758))
* **config:** persist setup_completed flag to YAML file ([a8c46cc](https://github.com/kaitranntt/ccs/commit/a8c46cc8ed6743f3cfb07bbe621b644c9b2d6830))
* **isolation:** add getCcsDir/getCcsHome to more files ([6a2c829](https://github.com/kaitranntt/ccs/commit/6a2c82917dea1fb7c5c7a9e4e134ac3227e0edaa))
* **isolation:** use getCcsDir() for test isolation ([9b61f53](https://github.com/kaitranntt/ccs/commit/9b61f5318eedfd1f1a25ec5f3f3a39619174567b))
* **setup:** persist setup_completed flag to prevent repeated first-time notice ([85e41a5](https://github.com/kaitranntt/ccs/commit/85e41a56e94e17ab7aeb729f50404eb6c0708df9))
* **websearch:** use getCcsDir() for test isolation ([b33674b](https://github.com/kaitranntt/ccs/commit/b33674b3b225dd8d07fa48f916c3400cd0685dec))

### Code Refactoring

* **uninstall:** stop modifying global settings.json ([ba1fb7e](https://github.com/kaitranntt/ccs/commit/ba1fb7eeb3855db50eff5cfb5999d77ffd66f17f))
* **websearch:** address PR review recommendations ([21b18d0](https://github.com/kaitranntt/ccs/commit/21b18d0c4e7dbdf9e7070458ec5c5fb54ac6a410))

### Tests

* **setup:** add unit tests for setup_completed flag detection ([596a9c6](https://github.com/kaitranntt/ccs/commit/596a9c68439a2c668a7c6243594a5fd2e57e8b04))
* **uninstall:** add hook cleanup tests ([6838ac0](https://github.com/kaitranntt/ccs/commit/6838ac0fa1ae0578cf84a451ed628cd8ded31562))
* **uninstall:** update tests for per-profile hook behavior ([ce59eb6](https://github.com/kaitranntt/ccs/commit/ce59eb6269ad65efb27e373b592596355f9dc313))
2026-01-26 03:09:52 +00:00