Tam Nhu Tran
4d0ded339f
fix(ui): update copilot default claude model
2026-03-07 15:43:44 +07:00
Tam Nhu Tran
bea3084d5e
fix(config): align claude defaults across catalogs
2026-03-07 15:41:26 +07:00
Tam Nhu Tran
3d183fe0e8
fix(cliproxy): sync claude 4.6 selector defaults
2026-03-07 15:35:12 +07:00
Brian Le
09aeec5763
fix(config): update claude base models to latest
...
- ANTHROPIC_MODEL: claude-sonnet-4-5-20250929 -> claude-sonnet-4-6
- ANTHROPIC_DEFAULT_SONNET_MODEL: claude-sonnet-4-5-20250929 -> claude-sonnet-4-6
- ANTHROPIC_DEFAULT_OPUS_MODEL: claude-opus-4-5-20251101 -> claude-opus-4-6
- ANTHROPIC_DEFAULT_HAIKU_MODEL: unchanged (claude-haiku-4-5-20251001, still latest)
2026-03-04 01:18:43 -05: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
Tam Nhu Tran
6e16f1cf3e
fix(ci): strip ANSI codes before detecting published release
...
semantic-release outputs ANSI color codes that break the grep pattern
for detecting "Published GitHub release", causing Discord notifications
to be skipped even on successful releases.
2026-03-04 02:24:15 +07: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
Kai (Tam Nhu) Tran and GitHub
dc5eb5fcdf
Merge pull request #675 from kaitranntt/kai/hotfix-release-token
...
ci(release): use PAT_TOKEN for semantic-release branch protection bypass
2026-03-03 13:48:52 -05:00
Tam Nhu Tran
343c36f97d
ci(release): use PAT_TOKEN for semantic-release branch protection bypass
...
semantic-release needs to push version bump + CHANGELOG commits directly
to main. GITHUB_TOKEN cannot bypass branch protection rules, causing
@semantic-release/git to fail with "push declined due to repository rule
violations". PAT_TOKEN has admin bypass and resolves the issue.
2026-03-04 01:42:29 +07:00
Kai (Tam Nhu) Tran and GitHub
d7d9eb0891
Merge pull request #674 from kaitranntt/dev
...
chore(release): sync dev to main v7.51.0
2026-03-03 13:36:25 -05:00
github-actions[bot]
1f52998d56
chore(release): 7.51.0-dev.14 [skip ci]
2026-03-03 18:35:38 +00:00
Tam Nhu Tran
aeb2553173
chore: update maintainability baseline for v7.51 security hardening
2026-03-04 01:32:59 +07:00
Tam Nhu Tran
e255855775
refactor(routes): resolve DRY violations, config race, and error leaks
...
- Extract generic shouldCacheQuotaResult replacing 4 identical functions
- Move parseTarget to route-helpers.ts (was duplicated in profile/variant routes)
- Add createRouteErrorHelpers factory (was duplicated in auth/settings routes)
- Fix config read-then-write race in proxy-routes.ts and misc-routes.ts
using mutateUnifiedConfig for atomic read-modify-write
- Replace raw error messages in 500 responses with generic messages +
server-side logging across all cliproxy-stats-routes handlers
- Convert extractErrorLogMetadata from sync fs to async fs.promises
2026-03-04 01:30:46 +07:00
Tam Nhu Tran
a4c5bb7421
fix(security): harden API endpoints and resolve PR #674 review findings
...
- Fix X-Forwarded-For header spoofing in requireSensitiveLocalAccess (use socket-level address only)
- Add model ID length validation (max 256 chars) in PUT /models/:provider
- Add provider name validation (alphanumeric, max 64 chars) to prevent path traversal
- Add stale entry eviction for unbounded quotaRateLimits Map (>1000 entries)
- Fix concurrent refresh race in usage aggregator (wait for in-flight before forced refresh)
- Sanitize internal URLs/paths from OAuth failure diagnostics
- Add ValidationError class for denylist violations (distinct from system errors)
- Make CLIProxy sync interval configurable via CCS_CLIPROXY_SYNC_INTERVAL env var
- Improve legacy continuity config error logging (unconditional warn)
- Add CACHE_VERSION history comments
2026-03-04 01:30:46 +07:00
github-actions[bot]
2651e17412
chore(release): 7.51.0-dev.13 [skip ci]
2026-03-03 17:46:29 +00:00
Kai (Tam Nhu) Tran and GitHub
740bc6d569
Merge pull request #673 from kaitranntt/kai/feat/issue-665-alibaba-coding-plan-integration
...
feat: add Alibaba Coding Plan integration and providers promotion
2026-03-03 12:44:40 -05:00
Tam Nhu Tran
3b38f1ac90
fix(ui): improve providers badge readability and albb preset
2026-03-04 00:39:02 +07:00
Tam Nhu Tran
8811e5320f
feat(api): add Alibaba Coding Plan preset and providers promotion
2026-03-04 00:39:02 +07:00
github-actions[bot]
08eb46a5de
chore(release): 7.51.0-dev.12 [skip ci]
2026-03-03 17:25:28 +00:00
Kai (Tam Nhu) Tran and GitHub
ec9f3d19ce
Merge pull request #672 from kaitranntt/kai/fix/issue-669-ghcp-oauth-failure
...
fix(ghcp): improve OAuth failure diagnostics after device auth
2026-03-03 12:24:09 -05:00
Tam Nhu Tran
c2f564ac66
fix(ghcp): improve oauth failure diagnostics in device flow
2026-03-04 00:19:11 +07:00
github-actions[bot]
a066654613
chore(release): 7.51.0-dev.11 [skip ci]
2026-03-03 16:51:59 +00:00
Kai (Tam Nhu) Tran and GitHub
9ec7f5af96
Merge pull request #671 from kaitranntt/kai/fix/664-agy-legacy-model-lookup-compat
...
fix(cliproxy): restore AGY legacy model lookup compatibility
2026-03-03 11:49:47 -05:00
Kai (Tam Nhu) Tran and GitHub
10b50225d4
Merge pull request #670 from kaitranntt/kai/fix/663-kimi-k25-provider-routing
...
fix: resolve iflow unknown-provider error for kimi-k2.5
2026-03-03 11:49:18 -05:00
Tam Nhu Tran
ed05cfc5a7
fix(cliproxy): restore agy legacy 4.5 lookup compatibility
2026-03-03 23:44:27 +07:00
Tam Nhu Tran
27101390fe
fix(api-profiles): keep AGY denylist when droid provider is set
2026-03-03 23:41:11 +07:00
Tam Nhu Tran
7e471e663c
fix(cliproxy): normalize iflow aliases for explicit routing
2026-03-03 23:34:38 +07:00
Tam Nhu Tran
546c4ee4ee
fix(cliproxy): normalize stale iflow model aliases
2026-03-03 23:26:07 +07:00
github-actions[bot]
34971c8be4
chore(release): 7.51.0-dev.10 [skip ci]
2026-03-03 16:18:07 +00:00
Kai (Tam Nhu) Tran and GitHub
947ba3dfb6
Merge pull request #666 from theoDep/fix/claude-4-6-models-pricing
...
feat(pricing): fix claude sonnet 4.6 and claude opus 4.6 pricing
2026-03-03 11:16:47 -05:00
github-actions[bot]
11ceaffbeb
chore(release): 7.51.0-dev.9 [skip ci]
2026-03-03 16:14:59 +00:00
Kai (Tam Nhu) Tran and GitHub
b4563a0176
Merge pull request #668 from kaitranntt/kai/wip/post-merge-pr660-260303-211636
...
fix(usage): harden cliproxy refresh lifecycle
2026-03-03 11:13:34 -05:00
Tam Nhu Tran
91050bfebf
test(pricing): cover Claude 4.6 cache token cost rates
2026-03-03 23:09:51 +07:00
Tam Nhu Tran
d31f85b0d4
fix(pricing): handle date-stamped 4.6 thinking model IDs
2026-03-03 23:08:04 +07:00
Tam Nhu Tran
383ac94623
test(usage): add cliproxy sync and integration coverage
...
- add transformer unit tests for flattening and daily/hourly/monthly rollups
- add syncer tests for snapshot persistence and idempotent interval start
- add aggregator integration test for JSONL + CLIProxy merge behavior
2026-03-03 23:05:24 +07:00
Tam Nhu Tran
09ce1a9379
fix(usage): coalesce refresh and force live sync on refresh
...
- share one full-refresh promise across usage loaders to avoid duplicate work
- sync CLIProxy snapshot before source refresh and start sync lazily
- make refresh handler execute full refresh with proper error response
- reset pending cache state and guard sync interval double-start
2026-03-03 23:05:24 +07:00
Tam Nhu Tran
e8519b6ac3
fix(web-server): run usage cleanup during dashboard shutdown
...
- pass server cleanup callback into graceful shutdown wiring
- stop usage aggregator background sync when config server exits
- prevent orphaned sync intervals across dashboard restarts
2026-03-03 23:05:24 +07:00
theodep
9a7ca3f1c0
feat(pricing): fix claude sonnet 4.6 and claude opus 4.6 pricing
2026-03-03 16:27:06 +01:00
github-actions[bot]
d1b4c5fbdf
chore(release): 7.51.0-dev.8 [skip ci]
2026-03-03 14:15:59 +00:00
Kai (Tam Nhu) Tran and GitHub
a73d9a4c82
Merge pull request #660 from kaitranntt/kai/feat/cliproxy-multi-provider-analytics
...
fix(agy): remove deprecated 4.5 selector options
2026-03-03 09:14:43 -05:00
github-actions[bot]
6aceb6b27a
chore(release): 7.51.0-dev.7 [skip ci]
2026-03-03 14:14:29 +00:00
Kai (Tam Nhu) Tran and GitHub
6810adf41f
Merge pull request #662 from kaitranntt/kai/feat/657-cross-profile-continuity-inheritance
...
feat(continuity): support cross-profile continuity inheritance from account profiles
2026-03-03 09:13:11 -05:00
Tam Nhu Tran
f63e2cd5a3
fix(cliproxy): denylist deprecated agy 4.5 models
2026-03-03 03:10:53 +07:00
Tam Nhu Tran
5913f730ac
fix(agy): remove deprecated 4.5 selector options
2026-03-03 03:10:53 +07:00
Tam Nhu Tran
26f4fb3a99
test(auth): cover legacy alias isolation for continuity
...
- add legacy-mode regression for km mapping not leaking into kimi cliproxy
2026-03-03 03:03:06 +07:00
Tam Nhu Tran
d827c3ab0b
fix(auth): scope km alias mapping to settings profiles
...
- prevent km continuity mappings from affecting kimi cliproxy executions
- apply canonical alias fallback only for settings profile lookups
- add regression test for cross-type alias isolation
2026-03-03 02:58:49 +07:00
Tam Nhu Tran
1eb41cc4e2
fix(config): merge legacy and unified continuity maps
...
- combine continuity.inherit_from_account with legacy continuity_inherit_from_account
- prefer unified continuity entries on key collisions
- add regression coverage for mixed-key merge behavior
2026-03-03 02:49:18 +07:00
Tam Nhu Tran
8a45727b31
fix(auth): harden continuity inheritance resolution
...
- resolve mappings with alias/canonical profile candidates
- fail open when source account initialization errors
- remove metadata touch side effects from inheritance preflight
2026-03-03 02:49:17 +07:00
Tam Nhu Tran
0b9f9826e2
feat(continuity): support cross-profile continuity inheritance from account profiles
2026-03-03 02:49:17 +07:00
github-actions[bot]
dbe8f6f68c
chore(release): 7.51.0-dev.6 [skip ci]
2026-03-02 19:38:32 +00:00