Skip to content

Commit 09eaff8

Browse files
committed
chore(release): merge release/v0.4.x into main
2 parents 434736c + 3e47348 commit 09eaff8

36 files changed

+5437
-7
lines changed

β€ŽCHANGELOG.mdβ€Ž

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

1010

11+
## [0.4.0](https://github.com/antonbelev/claude-owl/compare/v0.1.3...v0.4.0) (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+
### πŸ› Bug Fixes
57+
58+
* add version badge to all pages and load version script ([0a92ac7](https://github.com/antonbelev/claude-owl/commit/0a92ac781bddfd7116f27791dcf31da098b0fc8d))
59+
* **build:** disable Windows code signing to fix packaging errors ([412ea4c](https://github.com/antonbelev/claude-owl/commit/412ea4c96cc58af55b6bc6a8cc8c81230cf7bcdb))
60+
* **ci:** disable auto code signing discovery for unsigned macOS builds ([5faa180](https://github.com/antonbelev/claude-owl/commit/5faa1806be6d359e172e6ef182c877946ee0892a))
61+
* **deps:** revert glob to v10.5.0 for Node.js 18 compatibility ([922429c](https://github.com/antonbelev/claude-owl/commit/922429cfdf82a429d6f25d4b10f1813ad972cd9e))
62+
* **gh-pages:** Embed header HTML inline to support local file:// testing ([d90683a](https://github.com/antonbelev/claude-owl/commit/d90683a173aecc265bc0c3850d0a21d5c27e3651))
63+
* **gh-pages:** Fix version badge and console errors on non-home pages ([a7fc618](https://github.com/antonbelev/claude-owl/commit/a7fc6188c54483a7f585a0459d81aed8712304e9))
64+
* **mac:** use identity null to completely disable code signing ([cad049a](https://github.com/antonbelev/claude-owl/commit/cad049a5027d210f9ac5e06b0c85a9faad0e03c3))
65+
* **metrics:** improve ModelBreakdownChart Y-axis formatting ([25b3275](https://github.com/antonbelev/claude-owl/commit/25b3275eb28d07f1449642f316eb9cba187a67da))
66+
* **metrics:** increase Y-axis label padding ([1ff5c7a](https://github.com/antonbelev/claude-owl/commit/1ff5c7a5311146eb0d9b73a5c189b954f30f7b2a))
67+
* remove unnecessary escape characters in regex patterns ([4a681c2](https://github.com/antonbelev/claude-owl/commit/4a681c29b9e785b6d5e00f8edd960f2cd2117578))
68+
* **security:** implement critical security fixes for Electron configuration and URL validation ([e00a8c0](https://github.com/antonbelev/claude-owl/commit/e00a8c0e7838bb3a587140b66d7f7e48392d372d))
69+
* **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))
70+
* show only model label in dropdown trigger, description in menu ([1a839a4](https://github.com/antonbelev/claude-owl/commit/1a839a492b06ec9ba4f426faacdbf1c456e2ac42))
71+
* simplify Windows platform tests to focus on cross-platform logic ([f091f27](https://github.com/antonbelev/claude-owl/commit/f091f27823a7385f34100bdf22d6f4b7686823fd))
72+
* **types:** use conditional spread for optional icon property ([a0fb77f](https://github.com/antonbelev/claude-owl/commit/a0fb77fc107120f7bb0d47b7e40a0955c580cf12))
73+
* **windows:** detect Claude in .local\bin and add installer icons ([c884a0d](https://github.com/antonbelev/claude-owl/commit/c884a0d474426105b08d6f5161a94a9d6a9f215d))
74+
* **windows:** embed icon into executable using afterPack hook ([aba7d38](https://github.com/antonbelev/claude-owl/commit/aba7d38459cf86528867da8d318e481814c64fcf))
75+
76+
77+
### πŸ“š Documentation
78+
79+
* add ADR-008 for native usage metrics and analytics system ([ee66448](https://github.com/antonbelev/claude-owl/commit/ee6644848f70fc25fa31307af8f8832257eeb3a0))
80+
* add Anthropic disclaimer to README and homepage ([1060a0d](https://github.com/antonbelev/claude-owl/commit/1060a0ddb2cbfe39736b04417005bbda59cefc4e))
81+
* add macOS installation workaround and BETA indicators ([d85c8c5](https://github.com/antonbelev/claude-owl/commit/d85c8c5fa02e631bea6a59166134b3203d79ecf5))
82+
* add Usage Metrics dashboard section to screenshots page ([72e49c3](https://github.com/antonbelev/claude-owl/commit/72e49c3b6d25088f312a70ed316c1bfe177c9ae2))
83+
* add Windows support to website and installation guide ([2691d16](https://github.com/antonbelev/claude-owl/commit/2691d16594b785fb89d400482d765d891f5690bc))
84+
* **adr-008:** refocus Phase 0 as MVP with live charts ([895b826](https://github.com/antonbelev/claude-owl/commit/895b8268f68032c5dab1eab088168b3c55a44a67))
85+
* **adr:** add ADR-007 comprehensive Windows support gaps analysis and remediation strategy ([f9896d0](https://github.com/antonbelev/claude-owl/commit/f9896d0c89bc3beb0e0d2f959ef276a1191d01d5))
86+
* consolidate Windows statusline ADR, remove duplicate ([3903121](https://github.com/antonbelev/claude-owl/commit/3903121a869533bf09aa4b9edff27a23052e6f29))
87+
* **security:** update security assessment to reflect resolved critical issues ([42d4762](https://github.com/antonbelev/claude-owl/commit/42d476211e7e0bdc39912e48dcca92bb9c6c124a))
88+
* simplify security.html for end users ([f182e6b](https://github.com/antonbelev/claude-owl/commit/f182e6b5a0e70c396437699e030c42ab9741b948))
89+
* update Anthropic legal entity name (PBC β†’ Inc) ([6abd3b0](https://github.com/antonbelev/claude-owl/commit/6abd3b03739f29fc929153ac811b6ff6170378a8))
90+
91+
92+
### ✨ Features
93+
94+
* **docs:** Add comprehensive security and risk assessment ([f39bc90](https://github.com/antonbelev/claude-owl/commit/f39bc9086a52748230645270341de03d01004001))
95+
* **gh-pages:** Add Google Analytics 4 tracking to all pages ([4ca0b0f](https://github.com/antonbelev/claude-owl/commit/4ca0b0fa160f857d2198500a28e645af5d5ec099))
96+
* **gh-pages:** Configure Google Analytics with Measurement ID ([2e962b2](https://github.com/antonbelev/claude-owl/commit/2e962b277110668e752bc33ae80e5aff9728bab1))
97+
* implement 2025 Year in Review feature ([b640301](https://github.com/antonbelev/claude-owl/commit/b640301d501c6df860ca474ab2ecfc5c25fa1193))
98+
* implement Windows platform support (ADR-007 Phase 1-2) ([878e51e](https://github.com/antonbelev/claude-owl/commit/878e51e2483934b5245ea1c25f6c691b5df9b400))
99+
* implement Windows-aware statusline platform detection and execution ([0ee46c7](https://github.com/antonbelev/claude-owl/commit/0ee46c7f1d60e3aed3a4186c074f92fe2b628dac))
100+
* **metrics:** implement comprehensive metrics dashboard with token analysis ([ebaa51b](https://github.com/antonbelev/claude-owl/commit/ebaa51be355b7974ae767b15914acc8e02aa161e))
101+
* use official Claude Code model aliases for all model selection ([33ca49a](https://github.com/antonbelev/claude-owl/commit/33ca49a1fd493472535d528fa4272b67e1487dcb))
102+
11103
## [0.3.0](https://github.com/antonbelev/claude-owl/compare/v0.1.3...v0.3.0) (2025-12-07)
12104

13105

β€ŽREADME.mdβ€Ž

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,20 @@ For a complete list of features, see [SCREENSHOTS.md](SCREENSHOTS.md) and [CHANG
2121

2222
![Claude Owl Dashboard](screenshots/claude-owl-dashboard.png)
2323

24+
### πŸŽ„ 2025 Year in Review
25+
26+
Celebrate your year of AI-powered development! Claude Owl now includes a festive Year in Review feature that showcases your 2025 coding journey with Claude Code:
27+
28+
- **πŸ“Š Beautiful Stats**: Token usage, costs, sessions, and activity patterns
29+
- **πŸ† Achievement Badges**: Earn badges for milestones and coding habits
30+
- **🎯 Model Insights**: See your favorite Claude models and usage breakdown
31+
- **πŸ“ˆ Activity Analytics**: Peak coding months, longest streaks, and daily patterns
32+
- **🎁 Social Sharing**: Share your year with customizable stats for Twitter/X
33+
34+
![Year in Review 2025](screenshots/year-in-review-2025-total-tokens.png)
35+
36+
Available now through January 1, 2026!
37+
2438
## Installation
2539

2640
### Prerequisites

β€Ždocs/index.htmlβ€Ž

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,79 @@ <h4 class="text-yellow-300 font-semibold mb-2">Windows SmartScreen Warning</h4>
170170
</div>
171171
</section>
172172

173+
<!-- Year in Review Highlight Section -->
174+
<section class="py-20 px-6 bg-gradient-to-br from-amber-900/20 via-red-900/20 to-slate-800/50">
175+
<div class="container mx-auto max-w-6xl">
176+
<div class="text-center mb-12">
177+
<div class="inline-block bg-amber-500/20 border border-amber-500/50 rounded-full px-4 py-1 text-amber-300 text-sm font-semibold mb-4">
178+
πŸŽ„ NEW FEATURE β€’ Available through Jan 1, 2026
179+
</div>
180+
<h2 class="text-4xl md:text-5xl font-bold mb-4 bg-gradient-to-r from-amber-400 to-red-400 bg-clip-text text-transparent">
181+
2025 Year in Review
182+
</h2>
183+
<p class="text-xl text-slate-300 max-w-2xl mx-auto">
184+
Celebrate your year of AI-powered development with beautiful stats, achievement badges, and social sharing
185+
</p>
186+
</div>
187+
188+
<!-- Screenshot -->
189+
<div class="rounded-2xl overflow-hidden border-2 border-amber-500/30 shadow-2xl mb-8">
190+
<img
191+
src="../screenshots/year-in-review-2025-total-tokens.png"
192+
alt="Claude Owl Year in Review 2025"
193+
class="w-full"
194+
/>
195+
</div>
196+
197+
<!-- Features Grid -->
198+
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-4 mb-8">
199+
<div class="bg-slate-900/60 p-4 rounded-lg border border-amber-500/20">
200+
<div class="text-2xl mb-2">πŸ“Š</div>
201+
<h4 class="font-semibold text-amber-300 mb-1">Beautiful Stats</h4>
202+
<p class="text-sm text-slate-400">Token usage, costs, sessions, and activity patterns</p>
203+
</div>
204+
<div class="bg-slate-900/60 p-4 rounded-lg border border-amber-500/20">
205+
<div class="text-2xl mb-2">πŸ†</div>
206+
<h4 class="font-semibold text-amber-300 mb-1">Achievement Badges</h4>
207+
<p class="text-sm text-slate-400">Earn 10 badges for coding milestones and habits</p>
208+
</div>
209+
<div class="bg-slate-900/60 p-4 rounded-lg border border-amber-500/20">
210+
<div class="text-2xl mb-2">πŸ“ˆ</div>
211+
<h4 class="font-semibold text-amber-300 mb-1">Activity Analytics</h4>
212+
<p class="text-sm text-slate-400">Peak months, longest streaks, daily patterns</p>
213+
</div>
214+
<div class="bg-slate-900/60 p-4 rounded-lg border border-amber-500/20">
215+
<div class="text-2xl mb-2">🎁</div>
216+
<h4 class="font-semibold text-amber-300 mb-1">Social Sharing</h4>
217+
<p class="text-sm text-slate-400">Share your year on Twitter/X with one click</p>
218+
</div>
219+
</div>
220+
221+
<div class="text-center">
222+
<a href="#download-section" class="inline-block bg-gradient-to-r from-amber-500 to-red-500 hover:from-amber-600 hover:to-red-600 text-white font-semibold py-3 px-8 rounded-lg transition transform hover:scale-105">
223+
Download Claude Owl to See Your 2025 Year in Review
224+
</a>
225+
</div>
226+
</div>
227+
</section>
228+
173229
<!-- Features Section -->
174230
<section id="features" class="py-20 px-6 bg-slate-800/50">
175231
<div class="container mx-auto">
176232
<h2 class="text-4xl font-bold text-center mb-4">Features</h2>
177233
<p class="text-center text-slate-400 mb-12">Everything you need to manage Claude Code visually</p>
178234

179235
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6 max-w-6xl mx-auto">
236+
<!-- Feature: Year in Review -->
237+
<div class="bg-gradient-to-br from-amber-900/40 to-red-900/40 p-6 rounded-xl border-2 border-amber-500/50 hover:border-amber-400 transition relative overflow-hidden">
238+
<div class="absolute top-0 right-0 text-xs bg-amber-500 text-white px-2 py-1 rounded-bl-lg font-semibold">NEW</div>
239+
<div class="text-4xl mb-4">πŸŽ„</div>
240+
<h3 class="text-xl font-semibold mb-2">2025 Year in Review</h3>
241+
<p class="text-slate-400 text-sm">
242+
Celebrate your AI-powered development year! View stats, earn badges, analyze activity patterns, and share your journey on social media. Available through Jan 1, 2026.
243+
</p>
244+
</div>
245+
180246
<!-- Feature 1 -->
181247
<div class="bg-slate-900 p-6 rounded-xl border border-slate-700 hover:border-blue-500 transition">
182248
<div class="text-4xl mb-4">βš™οΈ</div>

β€Ždocs/screenshots.htmlβ€Ž

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ <h1 class="text-4xl md:text-5xl font-bold mb-4 bg-gradient-to-r from-blue-400 to
103103
<div class="bg-slate-800 rounded-xl p-6 border border-slate-700">
104104
<h2 class="text-xl font-semibold mb-4">Jump to Section</h2>
105105
<div class="grid md:grid-cols-3 gap-3 text-sm">
106+
<a href="#year-review" class="text-amber-400 hover:underline font-semibold">πŸŽ„ 2025 Year in Review</a>
106107
<a href="#dashboard" class="text-blue-400 hover:underline">🏠 Dashboard</a>
107108
<a href="#settings" class="text-blue-400 hover:underline">βš™οΈ Settings</a>
108109
<a href="#subagents" class="text-blue-400 hover:underline">πŸ€– Subagents</a>
@@ -118,6 +119,44 @@ <h2 class="text-xl font-semibold mb-4">Jump to Section</h2>
118119
</div>
119120
</section>
120121

122+
<!-- Year in Review -->
123+
<section id="year-review" class="py-12 px-6 bg-gradient-to-br from-amber-900/20 to-red-900/20">
124+
<div class="container mx-auto max-w-5xl">
125+
<div class="flex items-center justify-between mb-2">
126+
<h2 class="text-3xl font-bold flex items-center">
127+
<span class="text-4xl mr-3">πŸŽ„</span> 2025 Year in Review
128+
</h2>
129+
<span class="bg-amber-500 text-white text-xs font-semibold px-3 py-1 rounded-full">NEW</span>
130+
</div>
131+
<p class="text-slate-400 mb-6">Celebrate your year of AI-powered development with beautiful stats, badges, and social sharing</p>
132+
133+
<div class="space-y-6">
134+
<div>
135+
<h3 class="text-xl font-semibold mb-3 text-amber-300">Year in Review Dashboard</h3>
136+
<img src="https://raw.githubusercontent.com/antonbelev/claude-owl/main/screenshots/year-in-review-2025-total-tokens.png"
137+
alt="2025 Year in Review"
138+
class="screenshot-img w-full"
139+
onclick="openModal(this.src, this.alt)">
140+
<p class="text-sm text-slate-400 mt-2">
141+
View your 2025 coding journey: token usage stats, AI spending, achievement badges, model insights, activity patterns, and social sharing. Features 9 interactive cards with snowfall animations. Available through January 1, 2026.
142+
</p>
143+
</div>
144+
145+
<div class="bg-amber-900/30 border border-amber-500/50 rounded-xl p-6">
146+
<h4 class="font-semibold text-amber-300 mb-3">Key Features</h4>
147+
<ul class="space-y-2 text-sm text-slate-300">
148+
<li>πŸ“Š <strong>Beautiful Stats:</strong> Total tokens, costs, sessions, and daily activity patterns</li>
149+
<li>πŸ† <strong>10 Achievement Badges:</strong> Early Bird, Night Owl, Cache Master, Hot Streak, Million Club, and more</li>
150+
<li>🎯 <strong>Model Insights:</strong> Favorite Claude model with personality, usage breakdown by tokens</li>
151+
<li>πŸ“ˆ <strong>Activity Analytics:</strong> Peak month, peak day, longest coding streak, monthly charts</li>
152+
<li>🎁 <strong>Social Sharing:</strong> Copy stats or tweet your year with one click (opens in default browser)</li>
153+
<li>❄️ <strong>Festive UI:</strong> Animated snowflakes with accessibility support (respects prefers-reduced-motion)</li>
154+
</ul>
155+
</div>
156+
</div>
157+
</div>
158+
</section>
159+
121160
<!-- Dashboard -->
122161
<section id="dashboard" class="py-12 px-6 bg-slate-800/30">
123162
<div class="container mx-auto max-w-5xl">

β€Žpackage-lock.jsonβ€Ž

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€Ž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.3.0",
3+
"version": "0.4.0",
44
"description": "Open-source UI for managing Claude Code configurations, settings, and features",
55
"main": "dist/main/index.js",
66
"author": "Claude Owl Contributors",

0 commit comments

Comments
Β (0)