Skip to content

Commit b8e40bd

Browse files
committed
chore(release): merge release/v0.4.x into main
2 parents 09eaff8 + b252af2 commit b8e40bd

File tree

4 files changed

+95
-2
lines changed

4 files changed

+95
-2
lines changed

CHANGELOG.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,99 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
---
99

1010

11+
### [0.4.1](https://github.com/antonbelev/claude-owl/compare/v0.1.3...v0.4.1) (2025-12-09)
12+
13+
14+
### ⚠ BREAKING CHANGES
15+
16+
* PathService methods now enforce explicit projectPath when
17+
location='project'. This prevents reliance on process.cwd() which returns
18+
incorrect paths when Claude Owl is launched from Start Menu on Windows.
19+
20+
Core Implementation:
21+
- Platform-aware CLI detection (where vs which)
22+
- Windows PATH handling with semicolon separator
23+
- MCP cmd /c wrapper for npx commands on Windows
24+
- Managed settings path refactoring with path.join()
25+
- Debug logs path validation for Windows
26+
- Removed process.cwd() fallback per design constraint
27+
28+
Windows-Specific Changes:
29+
- ClaudeService: Uses 'where' command on Windows, handles multiple paths
30+
- ClaudeService: Adds Windows paths (Program Files, AppData/npm, System32)
31+
- ClaudeService: Wraps npx stdio commands with 'cmd /c' on Windows
32+
- SettingsService: Uses ProgramData env var for managed settings
33+
- PathService: Validates APPDATA env var, logs Windows debug path
34+
- PathService: Enforces projectPath requirement with TypeScript overloads
35+
36+
Testing:
37+
- Added 34+ Windows-specific unit tests
38+
- All existing tests passing (324 total)
39+
- TypeScript strict mode compliance
40+
- Production build verified
41+
42+
Files Modified:
43+
- src/main/services/ClaudeService.ts
44+
- src/main/services/SettingsService.ts
45+
- src/main/services/core/PathService.ts
46+
- tests/unit/services/*.windows.test.ts (new)
47+
48+
References: ADR-007, Claude Code docs (mcp, settings)
49+
Phase 1-2 Complete. Phase 3-4 (hooks, CI/CD) pending user testing.
50+
51+
### ♻️ Code Refactoring
52+
53+
* **gh-pages:** Extract header navigation into shared component ([7778a47](https://github.com/antonbelev/claude-owl/commit/7778a474fb928f76fda4efa3b8c1af44bd5ce209))
54+
55+
56+
### 📚 Documentation
57+
58+
* add ADR-008 for native usage metrics and analytics system ([ee66448](https://github.com/antonbelev/claude-owl/commit/ee6644848f70fc25fa31307af8f8832257eeb3a0))
59+
* add Anthropic disclaimer to README and homepage ([1060a0d](https://github.com/antonbelev/claude-owl/commit/1060a0ddb2cbfe39736b04417005bbda59cefc4e))
60+
* add macOS installation workaround and BETA indicators ([d85c8c5](https://github.com/antonbelev/claude-owl/commit/d85c8c5fa02e631bea6a59166134b3203d79ecf5))
61+
* add Usage Metrics dashboard section to screenshots page ([72e49c3](https://github.com/antonbelev/claude-owl/commit/72e49c3b6d25088f312a70ed316c1bfe177c9ae2))
62+
* add Windows support to website and installation guide ([2691d16](https://github.com/antonbelev/claude-owl/commit/2691d16594b785fb89d400482d765d891f5690bc))
63+
* **adr-008:** refocus Phase 0 as MVP with live charts ([895b826](https://github.com/antonbelev/claude-owl/commit/895b8268f68032c5dab1eab088168b3c55a44a67))
64+
* **adr:** add ADR-007 comprehensive Windows support gaps analysis and remediation strategy ([f9896d0](https://github.com/antonbelev/claude-owl/commit/f9896d0c89bc3beb0e0d2f959ef276a1191d01d5))
65+
* consolidate Windows statusline ADR, remove duplicate ([3903121](https://github.com/antonbelev/claude-owl/commit/3903121a869533bf09aa4b9edff27a23052e6f29))
66+
* **security:** update security assessment to reflect resolved critical issues ([42d4762](https://github.com/antonbelev/claude-owl/commit/42d476211e7e0bdc39912e48dcca92bb9c6c124a))
67+
* simplify security.html for end users ([f182e6b](https://github.com/antonbelev/claude-owl/commit/f182e6b5a0e70c396437699e030c42ab9741b948))
68+
* update Anthropic legal entity name (PBC → Inc) ([6abd3b0](https://github.com/antonbelev/claude-owl/commit/6abd3b03739f29fc929153ac811b6ff6170378a8))
69+
70+
71+
### ✨ Features
72+
73+
* **docs:** Add comprehensive security and risk assessment ([f39bc90](https://github.com/antonbelev/claude-owl/commit/f39bc9086a52748230645270341de03d01004001))
74+
* **gh-pages:** Add Google Analytics 4 tracking to all pages ([4ca0b0f](https://github.com/antonbelev/claude-owl/commit/4ca0b0fa160f857d2198500a28e645af5d5ec099))
75+
* **gh-pages:** Configure Google Analytics with Measurement ID ([2e962b2](https://github.com/antonbelev/claude-owl/commit/2e962b277110668e752bc33ae80e5aff9728bab1))
76+
* implement 2025 Year in Review feature ([b640301](https://github.com/antonbelev/claude-owl/commit/b640301d501c6df860ca474ab2ecfc5c25fa1193))
77+
* implement Windows platform support (ADR-007 Phase 1-2) ([878e51e](https://github.com/antonbelev/claude-owl/commit/878e51e2483934b5245ea1c25f6c691b5df9b400))
78+
* implement Windows-aware statusline platform detection and execution ([0ee46c7](https://github.com/antonbelev/claude-owl/commit/0ee46c7f1d60e3aed3a4186c074f92fe2b628dac))
79+
* **metrics:** implement comprehensive metrics dashboard with token analysis ([ebaa51b](https://github.com/antonbelev/claude-owl/commit/ebaa51be355b7974ae767b15914acc8e02aa161e))
80+
* use official Claude Code model aliases for all model selection ([33ca49a](https://github.com/antonbelev/claude-owl/commit/33ca49a1fd493472535d528fa4272b67e1487dcb))
81+
82+
83+
### 🐛 Bug Fixes
84+
85+
* add version badge to all pages and load version script ([0a92ac7](https://github.com/antonbelev/claude-owl/commit/0a92ac781bddfd7116f27791dcf31da098b0fc8d))
86+
* **build:** disable Windows code signing to fix packaging errors ([412ea4c](https://github.com/antonbelev/claude-owl/commit/412ea4c96cc58af55b6bc6a8cc8c81230cf7bcdb))
87+
* **ci:** disable auto code signing discovery for unsigned macOS builds ([5faa180](https://github.com/antonbelev/claude-owl/commit/5faa1806be6d359e172e6ef182c877946ee0892a))
88+
* **deps:** revert glob to v10.5.0 for Node.js 18 compatibility ([922429c](https://github.com/antonbelev/claude-owl/commit/922429cfdf82a429d6f25d4b10f1813ad972cd9e))
89+
* **gh-pages:** Embed header HTML inline to support local file:// testing ([d90683a](https://github.com/antonbelev/claude-owl/commit/d90683a173aecc265bc0c3850d0a21d5c27e3651))
90+
* **gh-pages:** Fix version badge and console errors on non-home pages ([a7fc618](https://github.com/antonbelev/claude-owl/commit/a7fc6188c54483a7f585a0459d81aed8712304e9))
91+
* include cache creation tokens in cached token display ([1dc56d6](https://github.com/antonbelev/claude-owl/commit/1dc56d65bad5789575a5e068d7e5003a422fa40a))
92+
* **mac:** use identity null to completely disable code signing ([cad049a](https://github.com/antonbelev/claude-owl/commit/cad049a5027d210f9ac5e06b0c85a9faad0e03c3))
93+
* **metrics:** improve ModelBreakdownChart Y-axis formatting ([25b3275](https://github.com/antonbelev/claude-owl/commit/25b3275eb28d07f1449642f316eb9cba187a67da))
94+
* **metrics:** increase Y-axis label padding ([1ff5c7a](https://github.com/antonbelev/claude-owl/commit/1ff5c7a5311146eb0d9b73a5c189b954f30f7b2a))
95+
* remove unnecessary escape characters in regex patterns ([4a681c2](https://github.com/antonbelev/claude-owl/commit/4a681c29b9e785b6d5e00f8edd960f2cd2117578))
96+
* **security:** implement critical security fixes for Electron configuration and URL validation ([e00a8c0](https://github.com/antonbelev/claude-owl/commit/e00a8c0e7838bb3a587140b66d7f7e48392d372d))
97+
* **security:** update glob to patched version 10.5.0/11.1.0 to address CVE-2025-64756 ([37e4d8e](https://github.com/antonbelev/claude-owl/commit/37e4d8e2bb8c5e6d3f89ec4e9be04f555983aa4e))
98+
* show only model label in dropdown trigger, description in menu ([1a839a4](https://github.com/antonbelev/claude-owl/commit/1a839a492b06ec9ba4f426faacdbf1c456e2ac42))
99+
* simplify Windows platform tests to focus on cross-platform logic ([f091f27](https://github.com/antonbelev/claude-owl/commit/f091f27823a7385f34100bdf22d6f4b7686823fd))
100+
* **types:** use conditional spread for optional icon property ([a0fb77f](https://github.com/antonbelev/claude-owl/commit/a0fb77fc107120f7bb0d47b7e40a0955c580cf12))
101+
* **windows:** detect Claude in .local\bin and add installer icons ([c884a0d](https://github.com/antonbelev/claude-owl/commit/c884a0d474426105b08d6f5161a94a9d6a9f215d))
102+
* **windows:** embed icon into executable using afterPack hook ([aba7d38](https://github.com/antonbelev/claude-owl/commit/aba7d38459cf86528867da8d318e481814c64fcf))
103+
11104
## [0.4.0](https://github.com/antonbelev/claude-owl/compare/v0.1.3...v0.4.0) (2025-12-09)
12105

13106

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "claude-owl",
3-
"version": "0.4.0",
3+
"version": "0.4.1",
44
"description": "Open-source UI for managing Claude Code configurations, settings, and features",
55
"main": "dist/main/index.js",
66
"author": "Claude Owl Contributors",
427 KB
Loading

src/renderer/components/year-review/cards/TokensCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const TokensCard: React.FC<ReviewCardProps> = ({ data }) => {
3636
</div>
3737
<div className="bg-white/5 rounded-lg p-4">
3838
<div className="text-2xl font-bold text-purple-400">
39-
{formatNumber(summary.totalCacheReadTokens)}
39+
{formatNumber(summary.totalCacheCreationTokens + summary.totalCacheReadTokens)}
4040
</div>
4141
<div className="text-xs text-white/60 mt-1">Cached</div>
4242
</div>

0 commit comments

Comments
 (0)