- Version bump from 0.8.2 to 0.8.3 released 🚀
- Read-only mode now disabled during AutoRun execution 🔒
- Added locked tooltip explaining read-only restrictions during AutoRun 💬
- Read-only toggle shows warning styling when AutoRun active ⚠️
- Fixed layout alignment for session stats display area 📐
- Added comprehensive tests for AutoRun read-only interactions 🧪
- Improved user feedback for mode restrictions during automation 💡
- Enhanced UI consistency with minimum width constraints applied 📏
- Better visual indicators for locked functionality states added 🎨
- Test coverage expanded for new AutoRun safety features ✅
- Removed PWA icon generation scripts for cleaner codebase 🧹
- Deleted Maestro icon generator script with conductor silhouette 🎭
- Removed GitHub community analytics scripts for stargazers/forkers 📊
- Added keyboard shortcuts support to tour overlay component ⌨️
- Enhanced quick actions modal with shortcut key display 🚀
- Added dynamic shortcut placeholder replacement in tour steps 🔄
- Improved tour descriptions with keyboard shortcut references 💡
- Added helper function for formatting shortcuts in tour text ✨
- Cleaned up package.json by removing unused script commands 📦
- Streamlined build process by removing icon generation dependencies 🏗️
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES
- Upgraded to version 0.8.1 with performance boost! 🚀
- Added @tanstack/react-virtual for blazing fast file trees 🌳
- Implemented virtualized rendering for massive file lists ⚡
- Added show/hide dotfiles toggle with eye icon 👁️
- Enhanced date display showing full dates for older logs 📅
- Optimized file tree with flattened structure for speed 🏎️
- Added depth-based indent guides for better hierarchy 📏
- Improved memory usage with virtualized row rendering 💾
- Added showHiddenFiles setting that persists between sessions 💾
- Fixed performance issues when browsing large directories 🎯
- Add ghPath setting to specify custom path to gh binary (e.g., /opt/homebrew/bin/gh)
- Update git:checkGhCli and git:createPR IPC handlers to accept optional ghPath
- Add UI in Settings > General for configuring the gh path
- Pass ghPath through BatchRunnerModal and useBatchProcessor for PR creation
- Include test infrastructure setup (vitest) and misc updates
Claude ID: 295a322c-974c-4b49-b31d-f7be18819332
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
- Remove LOOP history entry type, consolidate to AUTO and USER only
- Add custom agent path support in NewInstanceModal for non-PATH installations
- Fix context usage calculation to count only input-related tokens (input + cache)
- Add demo mode (npm run dev:demo) for isolated testing environment
- Remove unused tab context menu from TabBar component
- Fix badge acknowledgment variable reference in useSettings
Claude ID: dbbd387e-ae3c-49a6-9961-d8317774f0a4
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
Could you please share the changelog, commit history, or description of what has changed in your project since the last release? This could include:
- Git commit messages
- Pull request descriptions
- A changelog file
- A summary of new features, bug fixes, and improvements
- Any other relevant information about the changes
Once you provide this information, I'll create an exciting CHANGES section with clean, 10-word bullets and relevant emojis for each update! 🚀
Migrate from @yao-pkg/pkg (standalone binaries) to esbuild (bundled JS).
This removes ~46 packages from the dependency tree and produces a 174KB
bundle instead of ~50MB per-platform binaries.
Users of the CLI already have Node.js installed (required for Claude Code),
so standalone binaries are unnecessary overhead.
Changes:
- Remove @yao-pkg/pkg, add esbuild
- Add scripts/build-cli.mjs for esbuild bundling
- Update package.json build scripts and extraResources config
- Update README with new installation instructions
- Include batch-processor improvements from linter
Session: 472b48d8-4774-4955-8c98-2c5b6294beb5
CLI Tool (maestro-playbook):
- New standalone binary for running playbooks from command line
- Supports list groups, list agents, list playbooks, run playbook
- JSONL output format for easy parsing and piping
- Dry-run mode and no-history options
- Documentation added to README.md
Process Monitor Enhancements:
- Show only running processes (hide idle/inactive)
- Display human-readable runtime (e.g., "2m 30s", "1h 5m")
- Show Claude session ID with click-to-navigate
- Improved column layout with less spacing
- Default to expanded view
- Visual feedback on refresh (500ms spinner)
- Kill process functionality with confirmation
Process Tracking:
- Added startTime to ManagedProcess interface
- Expose startTime via getActiveProcesses IPC
Claude ID: c7e537b9-c2a7-4cc7-b49b-e7ea0ca1d4cb
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
- Add "Made with Maestro" SVG badge to README
- Update app icons with darker purple color scheme (#2d1f4e)
- Add canvas dev dependency for icon generation
- Fix AchievementCard badge visibility with consistent dark bg
- Move code block copy button to bottom-right for better UX
- Add vertical margin to pre blocks for better spacing
- Improve batch synopsis prompt to be more concise
Claude ID: 97a10f0d-145d-4352-babd-6d9caed0f9dc
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
- Replace custom CSS confetti with canvas-confetti library for massive
Raycast-style explosions (850+ initial particles with continuous bursts)
- Add circular progress ring around Maestro icon showing 11 badge segments
- Add share button to AchievementCard with copy-to-clipboard and download
- Fire confetti immediately on Standing Ovation mount and on dismiss
- Fix infinite loop error in PlaygroundPanel layer registration
- Fix badge tooltip positioning and click-to-toggle behavior
- Improve empty badge cell visibility with dashed borders
Claude ID: 97a10f0d-145d-4352-babd-6d9caed0f9dc
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
- Add scripts/set-version.mjs for cross-platform VITE_APP_VERSION setting
(replaces bash-specific env var syntax that failed on Windows)
- Extract magic numbers into CLAUDE_SESSION_PARSE_LIMITS and CLAUDE_PRICING
constants for better maintainability
- Remove legacy session format migration code - sessions now require aiTabs
- Fix session ID regex patterns to properly parse -ai-{tabId} format
- Remove deprecated aiLogs fallbacks - logs are exclusively in aiTabs now
Claude ID: bfd92ffb-a375-47be-94c5-fe4186325092
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
Modified package.json to set VITE_APP_VERSION="LOCAL <8-char-git-hash>"
for all local packaging commands (package, package:mac, package:win,
package:linux). This makes it easy to identify local builds in the
About modal by showing version like "LOCAL 53452967" instead of the
package.json version.
Major architectural improvement to ensure web interface operations go through
the same code paths as desktop, eliminating duplicate logic and race conditions.
Key changes:
- Fix AgentDetector running 20+ times at startup via promise deduplication
- Web commands now forward to renderer's processInput instead of spawning directly
- Mode switching forwards to desktop instead of just acknowledging requests
- Interrupt forwards to desktop to properly update session state to idle
- Add IPC channels: remote:executeCommand, remote:switchMode, remote:interrupt
- Add mobile MessageHistory component for viewing session AI/shell logs
Architecture now ensures single source of truth:
Web → IPC → Renderer (same code path as desktop)
Redesign the web server architecture for simplified mobile remote control:
- Replace per-session web servers with single server using random port and
auto-generated security token for secure access
- Add "Live Session" toggle to enable/disable individual sessions for remote access
- Add QR code component for easy mobile connection scanning
- Remove tunnel settings and complex authentication management
- Add network utilities for IP address detection
Mobile web interface improvements:
- Device color scheme preference support (light/dark mode)
- Connection status indicator with automatic reconnection
- Offline queue for commands typed while disconnected
- Swipe gestures for common actions
- Quick actions menu for the send button
Update documentation to reflect new mobile-first remote access approach.
Claude ID: 3dd3573f-bed1-4a0e-984c-10081124092a
Maestro ID: 5a166b38-b7e9-47f0-a8ff-0113c65f2682
- Create manifest.json with app metadata, icons, and shortcuts
- Add PWA icon generation script (scripts/generate-pwa-icons.mjs)
- Configure Vite public directory for static PWA assets
- Add apple-touch-icon links for iOS home screen
- Add favicon links for browser tabs
- Include npm script for regenerating PWA icons
- Install @fastify/static for serving static files
- Add resolveWebAssetsPath method to find web assets in dist/web
- Register @fastify/static plugin to serve assets at /web/assets/
- Add serveIndexHtml helper that transforms asset paths for SPA
- Update /web/desktop and /web/mobile routes to serve index.html
- Transform relative ./assets/ paths to /web/assets/ for proper routing
- Add build:web step to main build script chain
- Add dev:web script for standalone web development server
- Web assets now built automatically during npm run build
- Packaged app will include dist/web/* via existing files glob
- Install @fastify/rate-limit package
- Configure rate limiting with sensible defaults:
- 100 requests/minute for GET endpoints
- 30 requests/minute for POST endpoints (more restrictive)
- Add RateLimitConfig interface for configuration
- Apply rate limiting to all /web/* routes
- Add /web/api/rate-limit endpoint to check current limits
- Skip rate limiting for /health endpoint
- Custom error response with retry-after information
- Support for X-Forwarded-For header for proxied requests
- Add user-defined session names stored with Claude session origins
- Display session names in AgentSessionsBrowser with tag icon
- Add "Named only" filter to quickly find named sessions
- Include session names in search across title and content modes
- Sync session names when renaming sessions in the sidebar
- Fix macOS code signing with ad-hoc signatures in release workflow
- Fix electron-builder CLI syntax (--config.extraMetadata)
- Improve lightbox navigation with context-aware image arrays
- Fix GitLogViewer search input focus handling
- Improve AI command prompt display with multi-line clamp
Claude ID: 24a6cdd6-27a7-41e0-af30-679cc2ffe66b
Maestro ID: 5a166b38-b7e9-47f0-a8ff-0113c65f2682
- Use Python 3.11 for macOS builds (Python 3.12+ removed distutils module needed by node-gyp)
- Add author email to package.json (required for Linux .deb package maintainer field)
Integrated the mermaid package to render diagrams in fenced code blocks
marked as `mermaid`. Both FilePreview and Scratchpad components now
support Mermaid diagrams with proper theme detection and DOMPurify
sanitization for security.
- Add react-virtuoso for virtualized log scrolling in TerminalOutput
- Fix shell spawning by removing -i flag to avoid zle/readline errors
- Filter iTerm2/VSCode shell integration sequences from output
- Simplify runCommand session ID handling (no -terminal suffix)
- Add delete command functionality for shell command history
- Enhance FilePreview search with match navigation and count display
- Narrow GitStatusWidget tooltip for better UX
- Memoize LogItem component for render performance
- Add GitDiffViewer component with tabbed interface for multi-file diffs
- Integrate react-diff-view for proper diff parsing and rendering
- Add keyboard shortcuts: Cmd+Shift+D to open diff, Cmd+Shift+[/] to navigate tabs
- Display addition/deletion statistics per file and overall
- Theme-aware diff colors with proper syntax highlighting
- Parse git diff output into separate file sections with gitDiffParser utility
- Update default shortcuts: Cmd+B → Opt+Cmd+← for sidebar, Cmd+\ → Opt+Cmd+→ for right panel
- Add hover tooltips showing file changes and diff stats in GitStatusWidget
- Improve modal z-index to ensure diff viewer appears above other elements
Dependencies:
- diff@8.0.2 - Core diff parsing and manipulation
- react-diff-view@3.3.2 - React components for rendering diffs
Major architectural improvement where each session now runs two processes
simultaneously (AI agent + terminal), enabling seamless mode switching
without process restarts.
Changes:
- Dual-process model: each session spawns both AI agent and terminal processes
- Session type updated: replaced single `pid` with `aiPid` and `terminalPid`
- Process routing: sessionIds now use `-ai` and `-terminal` suffixes
- Input routing: directs input to correct process based on `inputMode`
- ANSI rendering: terminal output now displays ANSI escape codes with theme-aware colors
- Terminal filtering: bash prompts automatically filtered for cleaner output
- Session restoration: detects and fixes corrupted sessions with mismatched inputMode/toolType
- Agent serialization: strips non-serializable `argBuilder` functions before IPC
- Dependencies: added ansi-to-html and dompurify for secure ANSI rendering
Documentation updates:
- Updated README.md and CLAUDE.md to reflect dual-process architecture
- Added new features to Recent Features section
- Updated tech stack with new dependencies