Skip to content

Commit 8941497

Browse files
chore(release): 8.2.0 [skip ci]
## [8.2.0](v8.1.4...v8.2.0) (2026-06-06) ### Features * **catalog:** add Claude Opus 4.8 to Anthropic model registry ([357ce8b](357ce8b)) * **cliproxy:** add Qoder as a CLIProxy provider channel ([43c8304](43c8304)) * **cliproxy:** add qoder base config template ([85e7674](85e7674)) * **cliproxy:** add Qoder to channel catalog, model routing, and UI ([1e60fe1](1e60fe1)) * **pricing:** support per-service-tier rates; wire Opus fast mode ([878775f](878775f)), closes [#1](#1) * **qoder:** add model catalog entries for backend and UI ([b52c062](b52c062)) * **qoder:** add provider logo asset and dashboard mapping ([d82cc13](d82cc13)) * **qoder:** Change default models in base-qoder settings ([de5b545](de5b545)) ### Bug Fixes * add CLIProxy account reauthentication ([5f1976f](5f1976f)) * **analytics:** collapse profile-scope disclaimer into tooltip icon ([9130c7d](9130c7d)), closes [#1390](#1390) * **analytics:** price Claude Opus 4.7 thinking ([062e77e](062e77e)) * **analytics:** tighten top-bar layout (single-line trigger, grouped cluster, compact timestamp) ([bfa4c70](bfa4c70)) * avoid relative completion backend execution ([4f2dd70](4f2dd70)) * **browser:** avoid implicit explicit devtools port for config attach ([#1369](#1369)) ([f985cec](f985cec)) * **browser:** cap click and key repeat counts in MCP ([#1367](#1367)) ([c322829](c322829)) * **browser:** handle DevTools close endpoint response ([9225218](9225218)) * **browser:** log only matched intercepted requests ([#1366](#1366)) ([8b3ba55](8b3ba55)) * **browser:** track explicit devtools_port from config ([#1383](#1383)) ([b63943e](b63943e)), closes [#1369](#1369) * **channels:** avoid secrets in --set-token argv ([#1389](#1389)) ([88fbac3](88fbac3)) * **ci:** add always-reporting CI Gate so fork PRs stop deadlocking ([7dba36f](7dba36f)), closes [#1461](#1461) * **ci:** close dev-released issues on stable release ([#1396](#1396)) ([52a427a](52a427a)) * **ci:** constrain PR-Agent GitHub App token permissions ([#1370](#1370)) ([37fdf90](37fdf90)) * **ci:** narrow issue reference parsing ([2a3bc68](2a3bc68)) * **ci:** qualify docker release checkout refs ([#1374](#1374)) ([cba1414](cba1414)) * **claude-extension:** enforce private permissions for settings writes ([#1378](#1378)) ([0db9705](0db9705)) * **cliproxy:** clean up upstream proxy on response disconnect ([#1361](#1361)) ([2188cdc](2188cdc)) * **cliproxy:** fall back from invalid Codex feature labels ([a0870aa](a0870aa)) * **cliproxy:** ignore stale executor exit code ([bcc6899](bcc6899)) * **cliproxy:** infer emails from alternate token prefixes ([c0cd44e](c0cd44e)) * **cliproxy:** prefer explicit Codex free fallbacks ([27e1694](27e1694)) * **cliproxy:** preserve manual quota pauses ([6ecca9b](6ecca9b)) * **cliproxy:** prevent management key leak on runtime proxy overrides ([#1386](#1386)) ([4cf840e](4cf840e)) * **cliproxy:** redact generic token query params in oauth trace ([#1364](#1364)) ([9357f4d](9357f4d)) * **cliproxy:** revert to qoder/auto prefixed model in base config ([c5308de](c5308de)) * **cliproxy:** sanitize Codex quota labels ([4574122](4574122)) * **cliproxy:** scrub GitLab PAT env after token-login auth ([#1360](#1360)) ([e658e83](e658e83)) * **cliproxy:** use unprefixed auto model for qoder base config ([9a8430f](9a8430f)) * **codex-auth:** narrow running Codex detection ([9eb0201](9eb0201)) * **codex-auth:** restrict symlink fallback and harden copy path ([#1365](#1365)) ([0bd2e57](0bd2e57)) * **codex:** cap buffered upstream error response size ([#1375](#1375)) ([b0a7541](b0a7541)) * **codex:** gate ccsxp config overrides ([e09e930](e09e930)) * compare cliproxy fork release suffixes ([#1419](#1419)) ([aee322e](aee322e)) * **config:** Update Kiro model settings in default configuration ([39656b9](39656b9)) * **config:** use valid Kiro default model ([a06eff6](a06eff6)) * correct claude image analysis default model ([8842102](8842102)) * create explicit CODEX_HOME with secure permissions ([#1380](#1380)) ([55cd78b](55cd78b)) * **cursor-daemon:** auto-generate token + expose for callers ([#1384](#1384)) ([b7d5ce1](b7d5ce1)), closes [1373/#1377](https://github.com/1373/ccs/issues/1377) * **cursor-daemon:** widen safeResolve type for daemonToken ([#1385](#1385)) ([ba887e0](ba887e0)), closes [1373/#1377](https://github.com/1373/ccs/issues/1377) * **cursor:** authenticate local daemon health/runtime traffic ([#1373](#1373)) ([03a3011](03a3011)) * **cursor:** block cross-origin runtime probe requests ([#1371](#1371)) ([e6f764c](e6f764c)) * **cursor:** enforce auth token for anthropic daemon route ([#1377](#1377)) ([210ab76](210ab76)) * **dashboard:** clear local control-panel management key ([#1372](#1372)) ([6c0f7ac](6c0f7ac)) * **dashboard:** respect account last-used timeline base ([70601e6](70601e6)) * disable docker legacy API key auth by default ([#1355](#1355)) ([ab379e9](ab379e9)) * **docker:** pin runtime deps to committed bun lockfile ([#1358](#1358)) ([aef331d](aef331d)) * forward bare Claude subcommands through the default profile ([3fbf850](3fbf850)), closes [#1218](#1218) [#1404](#1404) * gate auth monitor stats polling ([#1421](#1421)) ([c12174d](c12174d)) * guard self-signed routing request setup ([5807328](5807328)) * handle system messages in OpenAI proxy ([#1403](#1403)) ([f42aee9](f42aee9)) * harden cliproxy usage cache ([6bba193](6bba193)) * harden provider alias normalization ([480f3ba](480f3ba)) * honor browser eval env override in attach config ([#1368](#1368)) ([4e7894a](4e7894a)) * keep live catalog defaults visible ([f9dec01](f9dec01)) * **management:** skip broken shared plugin entries ([f44b651](f44b651)) * narrow legacy GLMT base URL normalization ([#1376](#1376)) ([781c84b](781c84b)) * normalize cliproxy v3 usage snapshots ([65adab5](65adab5)) * normalize Codex provider requests ([0f0ad4e](0f0ad4e)), closes [#1399](#1399) [#1406](#1406) * persist codex target selections ([04dc97a](04dc97a)) * **persist:** bound Codex translator receipt scan ([5da6334](5da6334)) * **pricing:** restore opus version order; cover 4.6/4.7 fast-tier rates ([5a79b47](5a79b47)) * **proxy:** honor backpressure in cliproxy local streaming ([#1379](#1379)) ([90d5ca2](90d5ca2)) * **proxy:** load pid-only profile daemon state ([216fae7](216fae7)) * **proxy:** support opt-in OpenAI reasoning shaping ([8282ff6](8282ff6)) * redact OAuth trace error messages ([14da76a](14da76a)) * reject symlinked cleanup directories ([920fba7](920fba7)) * reject unsupported image analysis backends ([#1387](#1387)) ([b35a23a](b35a23a)) * restrict Codex usage cache permissions ([c630ce8](c630ce8)) * restrict local runtime readiness probes ([9a7b26e](9a7b26e)) * **sse:** make CRLF normalization chunk-boundary safe ([#1359](#1359)) ([2ec23c6](2ec23c6)) * stop ccsxp model alias parsing at option terminator ([5776e9c](5776e9c)) * surface cleanup directory read errors ([f93cb36](f93cb36)) * **test:** add qoder to PLUS_EXTRA_CLIPROXY_PROVIDERS test expectation ([dea4de4](dea4de4)) * time out stalled CLIProxy response streams ([d7d5ad2](d7d5ad2)) * tolerate null retryable check ([54f3b68](54f3b68)) * **ui:** blur account identity badges in privacy mode ([dd62027](dd62027)) * **ui:** guard invalid log detail timestamps ([4ce6669](4ce6669)) * **ui:** preserve distinct log detail rows ([c0f5413](c0f5413)) * **ui:** preserve Gemini tier fallback without entitlement ([1f7ed65](1f7ed65)) * **ui:** show dashboard audit logs by default ([2b59e04](2b59e04)) * **ui:** suppress privacy mode account title leaks ([f592260](f592260)) * validate browser flags before proxy side effects ([8114ff0](8114ff0)) * validate usage profile query type ([901bad2](901bad2)) * **web-server:** stop startup local prefix sync secret leak ([#1362](#1362)) ([d961644](d961644)) * **web:** avoid runtime proxy probes on public masked settings route ([#1388](#1388)) ([fec8441](fec8441)) * **web:** harden localhost guard against DNS rebinding ([#1357](#1357)) ([21764d5](21764d5)) ### Hotfixes * sync Docker release publishing fix to dev ([6ed9e09](6ed9e09)), closes [#1400](#1400) ### Documentation * **docker:** avoid exposing dashboard password in examples ([#1382](#1382)) ([e59ee6d](e59ee6d)) * **docker:** harden remote token migration staging ([#1381](#1381)) ([7ccea95](7ccea95)) * **pricing:** document legacy 4-7-thinking entry; cover tier metadata ([1fc595f](1fc595f)) ### Styles * format ccsxp config override changes ([89475e3](89475e3)) * format codex target persistence changes ([ad47d0f](ad47d0f)) * format email fallback parsing changes ([79379a2](79379a2)) * format live catalog default changes ([8261901](8261901)) * format provider alias normalization changes ([0ca3e4b](0ca3e4b)) * format v3 snapshot migration changes ([b3a8ced](b3a8ced)) ### Code Refactoring * **pricing:** derive fast-tier cache rates via buildRates helper ([254fc88](254fc88)), closes [#3](#3) * **pricing:** share Opus fast-tier rate constants ([e8057a7](e8057a7)) ### Tests * **accounts:** align stale free-tier expectations with current behavior ([5157a92](5157a92)) * **accounts:** align stale free-tier expectations with current grouping ([28cfc17](28cfc17)) * cover qoder base settings ([ba853b1](ba853b1)) * **qoder:** add qoder to provider-capabilities test expectations ([4973f7a](4973f7a)) * restrict claudecode CCS_HOME cleanup ([6671423](6671423)) * update proxy resolver coverage ([1f1cc05](1f1cc05))
1 parent 9b77436 commit 8941497

2 files changed

Lines changed: 137 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,139 @@
1+
## [8.2.0](https://github.com/kaitranntt/ccs/compare/v8.1.4...v8.2.0) (2026-06-06)
2+
3+
### Features
4+
5+
* **catalog:** add Claude Opus 4.8 to Anthropic model registry ([357ce8b](https://github.com/kaitranntt/ccs/commit/357ce8b07ad1eb12879f24d4a4b0eeb90d66bbd4))
6+
* **cliproxy:** add Qoder as a CLIProxy provider channel ([43c8304](https://github.com/kaitranntt/ccs/commit/43c830469ad836d56db32a603b8536b26ec3a4fe))
7+
* **cliproxy:** add qoder base config template ([85e7674](https://github.com/kaitranntt/ccs/commit/85e76742fe322ec5205c66a42c500dd768c90d28))
8+
* **cliproxy:** add Qoder to channel catalog, model routing, and UI ([1e60fe1](https://github.com/kaitranntt/ccs/commit/1e60fe186e700ab00bd739b29085635053cba822))
9+
* **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)
10+
* **qoder:** add model catalog entries for backend and UI ([b52c062](https://github.com/kaitranntt/ccs/commit/b52c0627ca7fa72365161b655cfaa12ba4f2fbc6))
11+
* **qoder:** add provider logo asset and dashboard mapping ([d82cc13](https://github.com/kaitranntt/ccs/commit/d82cc13afc68603befee85f8c886d06722fc44d3))
12+
* **qoder:** Change default models in base-qoder settings ([de5b545](https://github.com/kaitranntt/ccs/commit/de5b545ac35389c8e8878107dd70ff6e89ba6c5f))
13+
14+
### Bug Fixes
15+
16+
* add CLIProxy account reauthentication ([5f1976f](https://github.com/kaitranntt/ccs/commit/5f1976f69c447dac6b3141bc7ee2a962a355a8af))
17+
* **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)
18+
* **analytics:** price Claude Opus 4.7 thinking ([062e77e](https://github.com/kaitranntt/ccs/commit/062e77e55f05b821ff8c6c2b0380a57b5d8594f2))
19+
* **analytics:** tighten top-bar layout (single-line trigger, grouped cluster, compact timestamp) ([bfa4c70](https://github.com/kaitranntt/ccs/commit/bfa4c704eb04b0b9b389c26dc77ba84fc2e832e8))
20+
* avoid relative completion backend execution ([4f2dd70](https://github.com/kaitranntt/ccs/commit/4f2dd70b8c77d878c01fb3da9e0fae305cff2cf3))
21+
* **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))
22+
* **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))
23+
* **browser:** handle DevTools close endpoint response ([9225218](https://github.com/kaitranntt/ccs/commit/92252189b1c2b70b71c104a9ce87d6b2fe293a7d))
24+
* **browser:** log only matched intercepted requests ([#1366](https://github.com/kaitranntt/ccs/issues/1366)) ([8b3ba55](https://github.com/kaitranntt/ccs/commit/8b3ba5532e07af52f89cf012be63eafe2046e7b8))
25+
* **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)
26+
* **channels:** avoid secrets in --set-token argv ([#1389](https://github.com/kaitranntt/ccs/issues/1389)) ([88fbac3](https://github.com/kaitranntt/ccs/commit/88fbac3a324e409a26bcbe7cf44810b94ef134e2))
27+
* **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)
28+
* **ci:** close dev-released issues on stable release ([#1396](https://github.com/kaitranntt/ccs/issues/1396)) ([52a427a](https://github.com/kaitranntt/ccs/commit/52a427a7a34faecb078af407725f9c50fc641103))
29+
* **ci:** constrain PR-Agent GitHub App token permissions ([#1370](https://github.com/kaitranntt/ccs/issues/1370)) ([37fdf90](https://github.com/kaitranntt/ccs/commit/37fdf90e304507a3fc4e3e0066bb1856a05e74bc))
30+
* **ci:** narrow issue reference parsing ([2a3bc68](https://github.com/kaitranntt/ccs/commit/2a3bc6807fc354ed2a55a386d5012a7536aa765e))
31+
* **ci:** qualify docker release checkout refs ([#1374](https://github.com/kaitranntt/ccs/issues/1374)) ([cba1414](https://github.com/kaitranntt/ccs/commit/cba1414b7e5c038741f0e4a401280d0999afdf61))
32+
* **claude-extension:** enforce private permissions for settings writes ([#1378](https://github.com/kaitranntt/ccs/issues/1378)) ([0db9705](https://github.com/kaitranntt/ccs/commit/0db9705d7509302f13816607ca055b9c387111b3))
33+
* **cliproxy:** clean up upstream proxy on response disconnect ([#1361](https://github.com/kaitranntt/ccs/issues/1361)) ([2188cdc](https://github.com/kaitranntt/ccs/commit/2188cdc9907cf0934f074a9503501edd68f708e8))
34+
* **cliproxy:** fall back from invalid Codex feature labels ([a0870aa](https://github.com/kaitranntt/ccs/commit/a0870aa40455ae0d1475041d533e909629e9d906))
35+
* **cliproxy:** ignore stale executor exit code ([bcc6899](https://github.com/kaitranntt/ccs/commit/bcc68992fad7786a54ffadff5283e343a5e73084))
36+
* **cliproxy:** infer emails from alternate token prefixes ([c0cd44e](https://github.com/kaitranntt/ccs/commit/c0cd44ecaa0546b9ca9f2ce55840c539c8bba676))
37+
* **cliproxy:** prefer explicit Codex free fallbacks ([27e1694](https://github.com/kaitranntt/ccs/commit/27e16944808cf43210d4505993c9846fdd7309e4))
38+
* **cliproxy:** preserve manual quota pauses ([6ecca9b](https://github.com/kaitranntt/ccs/commit/6ecca9b16fbd77cd3fe130cdd131fa90af68ae32))
39+
* **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))
40+
* **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))
41+
* **cliproxy:** revert to qoder/auto prefixed model in base config ([c5308de](https://github.com/kaitranntt/ccs/commit/c5308ded3b08493036cfc279b04432576f76094e))
42+
* **cliproxy:** sanitize Codex quota labels ([4574122](https://github.com/kaitranntt/ccs/commit/457412277b1311decb660620ecdd0cdd78a90e1c))
43+
* **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))
44+
* **cliproxy:** use unprefixed auto model for qoder base config ([9a8430f](https://github.com/kaitranntt/ccs/commit/9a8430f68beef326bf43aa3686952875a0e818fa))
45+
* **codex-auth:** narrow running Codex detection ([9eb0201](https://github.com/kaitranntt/ccs/commit/9eb0201b794d2c231416865e28b991c93982db43))
46+
* **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))
47+
* **codex:** cap buffered upstream error response size ([#1375](https://github.com/kaitranntt/ccs/issues/1375)) ([b0a7541](https://github.com/kaitranntt/ccs/commit/b0a754179ca7bc0c0d4b70ef119fca1eef827dfc))
48+
* **codex:** gate ccsxp config overrides ([e09e930](https://github.com/kaitranntt/ccs/commit/e09e930c38ef17dfecf000804504ab6ed4f38367))
49+
* compare cliproxy fork release suffixes ([#1419](https://github.com/kaitranntt/ccs/issues/1419)) ([aee322e](https://github.com/kaitranntt/ccs/commit/aee322ea88e39ffb57a3b427016f5cd1339141cf))
50+
* **config:** Update Kiro model settings in default configuration ([39656b9](https://github.com/kaitranntt/ccs/commit/39656b98262e7f1d7b3e3c29e67fed7b9cae9c95))
51+
* **config:** use valid Kiro default model ([a06eff6](https://github.com/kaitranntt/ccs/commit/a06eff61f03678f60fb055735375f53b29cc621a))
52+
* correct claude image analysis default model ([8842102](https://github.com/kaitranntt/ccs/commit/88421026c64b0dc86c183f6d71b38ec9e5d89920))
53+
* create explicit CODEX_HOME with secure permissions ([#1380](https://github.com/kaitranntt/ccs/issues/1380)) ([55cd78b](https://github.com/kaitranntt/ccs/commit/55cd78bce47f219d03c7b8b7a43963f5eae182b0))
54+
* **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)
55+
* **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)
56+
* **cursor:** authenticate local daemon health/runtime traffic ([#1373](https://github.com/kaitranntt/ccs/issues/1373)) ([03a3011](https://github.com/kaitranntt/ccs/commit/03a30119d99753e52f4726f2f0a2078118690f3e))
57+
* **cursor:** block cross-origin runtime probe requests ([#1371](https://github.com/kaitranntt/ccs/issues/1371)) ([e6f764c](https://github.com/kaitranntt/ccs/commit/e6f764c79b94209bcbeaabfd8ee94ae364f821e1))
58+
* **cursor:** enforce auth token for anthropic daemon route ([#1377](https://github.com/kaitranntt/ccs/issues/1377)) ([210ab76](https://github.com/kaitranntt/ccs/commit/210ab761e2cbfcaf8d1e75757a517889479c6335))
59+
* **dashboard:** clear local control-panel management key ([#1372](https://github.com/kaitranntt/ccs/issues/1372)) ([6c0f7ac](https://github.com/kaitranntt/ccs/commit/6c0f7ac39c17b99bd4259eb4eca35792aea31dff))
60+
* **dashboard:** respect account last-used timeline base ([70601e6](https://github.com/kaitranntt/ccs/commit/70601e6364fd1fd0e4cce2fec922ebf33f5ca61f))
61+
* disable docker legacy API key auth by default ([#1355](https://github.com/kaitranntt/ccs/issues/1355)) ([ab379e9](https://github.com/kaitranntt/ccs/commit/ab379e9e1387d73f2672d92c5438f6421c94f4f5))
62+
* **docker:** pin runtime deps to committed bun lockfile ([#1358](https://github.com/kaitranntt/ccs/issues/1358)) ([aef331d](https://github.com/kaitranntt/ccs/commit/aef331d8efde63f9d9393f3d3a0d0adc16918dcb))
63+
* 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)
64+
* gate auth monitor stats polling ([#1421](https://github.com/kaitranntt/ccs/issues/1421)) ([c12174d](https://github.com/kaitranntt/ccs/commit/c12174db125ea69631a8ab530098d24040b31a3f))
65+
* guard self-signed routing request setup ([5807328](https://github.com/kaitranntt/ccs/commit/5807328cb58e6a60637a797b046afa06262043bf))
66+
* handle system messages in OpenAI proxy ([#1403](https://github.com/kaitranntt/ccs/issues/1403)) ([f42aee9](https://github.com/kaitranntt/ccs/commit/f42aee9a20afb7a305dc4d2d2026063d62d5e4ce))
67+
* harden cliproxy usage cache ([6bba193](https://github.com/kaitranntt/ccs/commit/6bba193cdd742a56f3d495a3de5d478df636f444))
68+
* harden provider alias normalization ([480f3ba](https://github.com/kaitranntt/ccs/commit/480f3ba46949b4d44b1a36fa5a6dcc2699a311d5))
69+
* honor browser eval env override in attach config ([#1368](https://github.com/kaitranntt/ccs/issues/1368)) ([4e7894a](https://github.com/kaitranntt/ccs/commit/4e7894a3daa5105d2b9c32d456748b1e485d78b7))
70+
* keep live catalog defaults visible ([f9dec01](https://github.com/kaitranntt/ccs/commit/f9dec01cfdc976442eddb60bd092abadf443d1b4))
71+
* **management:** skip broken shared plugin entries ([f44b651](https://github.com/kaitranntt/ccs/commit/f44b651cd6752053e175301c8c8f911b1be882fc))
72+
* narrow legacy GLMT base URL normalization ([#1376](https://github.com/kaitranntt/ccs/issues/1376)) ([781c84b](https://github.com/kaitranntt/ccs/commit/781c84b04b184cbb57853fa2d0cc892e45c980f2))
73+
* normalize cliproxy v3 usage snapshots ([65adab5](https://github.com/kaitranntt/ccs/commit/65adab5bec2814a2f7deb681067892def77b03ad))
74+
* 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)
75+
* persist codex target selections ([04dc97a](https://github.com/kaitranntt/ccs/commit/04dc97aaa4690433e1ee0409cf3edc225eaab02c))
76+
* **persist:** bound Codex translator receipt scan ([5da6334](https://github.com/kaitranntt/ccs/commit/5da63347367564104b2cc514c94d1f1fc1519996))
77+
* **pricing:** restore opus version order; cover 4.6/4.7 fast-tier rates ([5a79b47](https://github.com/kaitranntt/ccs/commit/5a79b475063a3451b14e8805f9b0dc05397930cb))
78+
* **proxy:** honor backpressure in cliproxy local streaming ([#1379](https://github.com/kaitranntt/ccs/issues/1379)) ([90d5ca2](https://github.com/kaitranntt/ccs/commit/90d5ca2cbb07e46364d05e3558f177355ceed975))
79+
* **proxy:** load pid-only profile daemon state ([216fae7](https://github.com/kaitranntt/ccs/commit/216fae7d577423e6fa13c49efe836df23dbb8af4))
80+
* **proxy:** support opt-in OpenAI reasoning shaping ([8282ff6](https://github.com/kaitranntt/ccs/commit/8282ff68a1667efba68e23400eb7e7ec3f1af9bb))
81+
* redact OAuth trace error messages ([14da76a](https://github.com/kaitranntt/ccs/commit/14da76abae511f020bfa67d9b2b57342ebdc27fa))
82+
* reject symlinked cleanup directories ([920fba7](https://github.com/kaitranntt/ccs/commit/920fba7e1333ff53b7826981bf61b238091dbcf6))
83+
* reject unsupported image analysis backends ([#1387](https://github.com/kaitranntt/ccs/issues/1387)) ([b35a23a](https://github.com/kaitranntt/ccs/commit/b35a23a6e4a1d59ae3d1a3fb754d3a31db1e5855))
84+
* restrict Codex usage cache permissions ([c630ce8](https://github.com/kaitranntt/ccs/commit/c630ce878ea4ad22d0bfa07d71dd352392db728a))
85+
* restrict local runtime readiness probes ([9a7b26e](https://github.com/kaitranntt/ccs/commit/9a7b26eab745f5099d57685c9a14845a4adb985e))
86+
* **sse:** make CRLF normalization chunk-boundary safe ([#1359](https://github.com/kaitranntt/ccs/issues/1359)) ([2ec23c6](https://github.com/kaitranntt/ccs/commit/2ec23c6c3a277c9e901cbee588683f4ca7662837))
87+
* stop ccsxp model alias parsing at option terminator ([5776e9c](https://github.com/kaitranntt/ccs/commit/5776e9c3b1ac584eebcd01c6332196acc6ff7aa4))
88+
* surface cleanup directory read errors ([f93cb36](https://github.com/kaitranntt/ccs/commit/f93cb36da68495015428123d4407a9337740aeee))
89+
* **test:** add qoder to PLUS_EXTRA_CLIPROXY_PROVIDERS test expectation ([dea4de4](https://github.com/kaitranntt/ccs/commit/dea4de45fd4d06f3f2c79d2fedcef18caa8fb045))
90+
* time out stalled CLIProxy response streams ([d7d5ad2](https://github.com/kaitranntt/ccs/commit/d7d5ad2ad2170dc95b35984968dfe2362f4c7454))
91+
* tolerate null retryable check ([54f3b68](https://github.com/kaitranntt/ccs/commit/54f3b6860a8e81b11c705bf0cbe05eeb8728e668))
92+
* **ui:** blur account identity badges in privacy mode ([dd62027](https://github.com/kaitranntt/ccs/commit/dd62027d3f4e11274e4ada2872d942a20c4ef0ea))
93+
* **ui:** guard invalid log detail timestamps ([4ce6669](https://github.com/kaitranntt/ccs/commit/4ce6669e26ba4c55e8ca3bc3a9590e128eee2f30))
94+
* **ui:** preserve distinct log detail rows ([c0f5413](https://github.com/kaitranntt/ccs/commit/c0f5413523c8ae0f7cff25ea4de97c4427c5f989))
95+
* **ui:** preserve Gemini tier fallback without entitlement ([1f7ed65](https://github.com/kaitranntt/ccs/commit/1f7ed656b2b99ed8c25909bf6a66c1dde744855e))
96+
* **ui:** show dashboard audit logs by default ([2b59e04](https://github.com/kaitranntt/ccs/commit/2b59e040c4481d29809798b273ba3cd57915a4b6))
97+
* **ui:** suppress privacy mode account title leaks ([f592260](https://github.com/kaitranntt/ccs/commit/f592260049a6e7345a3457d990fa952e8fb09ff3))
98+
* validate browser flags before proxy side effects ([8114ff0](https://github.com/kaitranntt/ccs/commit/8114ff016e5c29c869692a9812b3187f2842ccae))
99+
* validate usage profile query type ([901bad2](https://github.com/kaitranntt/ccs/commit/901bad2ec7faab8d5725a65c96a1de8cb9945b3d))
100+
* **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))
101+
* **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))
102+
* **web:** harden localhost guard against DNS rebinding ([#1357](https://github.com/kaitranntt/ccs/issues/1357)) ([21764d5](https://github.com/kaitranntt/ccs/commit/21764d5b90c8db06f5c52a1747e2e41f65da478b))
103+
104+
### Hotfixes
105+
106+
* sync Docker release publishing fix to dev ([6ed9e09](https://github.com/kaitranntt/ccs/commit/6ed9e097e7e72c25bfe2e17f37fa248f2d0e9c0a)), closes [#1400](https://github.com/kaitranntt/ccs/issues/1400)
107+
108+
### Documentation
109+
110+
* **docker:** avoid exposing dashboard password in examples ([#1382](https://github.com/kaitranntt/ccs/issues/1382)) ([e59ee6d](https://github.com/kaitranntt/ccs/commit/e59ee6df7974964056f48759a3e68d130c580c0a))
111+
* **docker:** harden remote token migration staging ([#1381](https://github.com/kaitranntt/ccs/issues/1381)) ([7ccea95](https://github.com/kaitranntt/ccs/commit/7ccea955ad1fcef8b880fafccac2b1a04cad564e))
112+
* **pricing:** document legacy 4-7-thinking entry; cover tier metadata ([1fc595f](https://github.com/kaitranntt/ccs/commit/1fc595f10cda9c13fa0afd38c98c9fec1b869ae5))
113+
114+
### Styles
115+
116+
* format ccsxp config override changes ([89475e3](https://github.com/kaitranntt/ccs/commit/89475e39100ed67889943272bedf4e8494c4c06b))
117+
* format codex target persistence changes ([ad47d0f](https://github.com/kaitranntt/ccs/commit/ad47d0f478bb5bf150f524b9ae271e2766c2bb12))
118+
* format email fallback parsing changes ([79379a2](https://github.com/kaitranntt/ccs/commit/79379a25fe258025705088691f01f690040b053c))
119+
* format live catalog default changes ([8261901](https://github.com/kaitranntt/ccs/commit/8261901b89a4baa351a802417ed3a1a83a75e62b))
120+
* format provider alias normalization changes ([0ca3e4b](https://github.com/kaitranntt/ccs/commit/0ca3e4b35a356e0bbeabb3cb8b996f6eb71d70f7))
121+
* format v3 snapshot migration changes ([b3a8ced](https://github.com/kaitranntt/ccs/commit/b3a8ced8feee587db1e3a5587b08fc0340dd140e))
122+
123+
### Code Refactoring
124+
125+
* **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)
126+
* **pricing:** share Opus fast-tier rate constants ([e8057a7](https://github.com/kaitranntt/ccs/commit/e8057a70734e1d7556dbc53aec1739c73d0cf8cf))
127+
128+
### Tests
129+
130+
* **accounts:** align stale free-tier expectations with current behavior ([5157a92](https://github.com/kaitranntt/ccs/commit/5157a922a5ed0461381741d8a7b624c2dcd6f71d))
131+
* **accounts:** align stale free-tier expectations with current grouping ([28cfc17](https://github.com/kaitranntt/ccs/commit/28cfc175bdbc28c914c171af8b1435a12b26a487))
132+
* cover qoder base settings ([ba853b1](https://github.com/kaitranntt/ccs/commit/ba853b159b231bd97d3479701938846a83d45baa))
133+
* **qoder:** add qoder to provider-capabilities test expectations ([4973f7a](https://github.com/kaitranntt/ccs/commit/4973f7a00f8d3d6e30efb0b59e3ed961216c26c7))
134+
* restrict claudecode CCS_HOME cleanup ([6671423](https://github.com/kaitranntt/ccs/commit/6671423d79d7841cc2414caee252fbc67b426189))
135+
* update proxy resolver coverage ([1f1cc05](https://github.com/kaitranntt/ccs/commit/1f1cc056ef038f491d588e56f2f81f7c0a9acfd1))
136+
1137
## [8.1.4](https://github.com/kaitranntt/ccs/compare/v8.1.3...v8.1.4) (2026-05-29)
2138

3139
### Hotfixes

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kaitranntt/ccs",
3-
"version": "8.1.4-dev.8",
3+
"version": "8.2.0",
44
"description": "Claude Code Switch - Instant profile switching between Claude, GLM, Kimi, and more",
55
"keywords": [
66
"cli",

0 commit comments

Comments
 (0)