All notable changes to CodeLooper will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
This release represents a complete reimplementation of the menu bar interface, transitioning from SwiftUI's MenuBarExtra to a native AppKit implementation for superior control and visual refinement.
- Custom Status Bar Implementation: Created
StatusBarControlleras a singleton managing NSStatusItem directly - Visual Status Indicators: New
StatusIndicatorsandStatusBadgeSwiftUI components showing:- π’ Green play icons with counts for running/generating instances
- π΄ Red stop icons with counts for stopped/errored instances
- Gray idle indicator when no instances are active
- Dynamic Icon Rendering: Uses ImageRenderer to convert SwiftUI views to NSImage for menu bar display
- Adaptive Tinting: Menu bar icon adapts to effective appearance (light/dark backgrounds)
- Custom Menu Window: Implemented
CustomMenuWindowusing NSPanel for precise control - Visual Effects: NSVisualEffectView with
.popovermaterial for authentic macOS appearance - Rounded Corners: Proper 10pt corner radius with masksToBounds for clean edges
- Native Borders: Uses NSColor.separatorColor for adaptive border styling
- Click-Outside Dismissal: Event monitoring for proper popover behavior
- Highlight State: NSStatusBarButton shows pressed state when popover is active
- DSIconButton: New design system component for icon-only buttons
- WindowScreenshotPopover: Functional screenshot viewer for debugging window states
- Refined Color Palette: Toned down status badge colors for professional appearance:
- Green: RGB(0.3, 0.65, 0.3) - more subtle than before
- Red: RGB(0.7, 0.35, 0.35) - less harsh on the eyes
- Removed MenuBarExtra: Eliminated SwiftUI's MenuBarExtra in favor of direct NSStatusItem control
- Singleton Pattern: StatusBarController manages all menu bar interactions as a centralized singleton
- State Preservation: Menu bar highlight state properly maintained during icon updates
- Async Dispatch: Used DispatchQueue for proper timing of UI updates
- Single Implementation: Removed duplicate settings window implementations
- NativeToolbarSettingsWindow: Kept only the native toolbar-based settings window
- WindowGroup Removal: Eliminated SwiftUI WindowGroup for settings in CodeLooperApp
- Rounded Corners: Fixed missing rounded corners on popover window
- Highlight State: Menu bar button now properly shows highlighted background when active
- Color Intensity: Reduced overly bright colors in status badges
- Popover Positioning: Window appears correctly below menu bar item, not in screen center
- Settings Duplication: Resolved issue where two settings windows would appear
- Build Errors: Fixed "ambiguous use of logger" and other Swift 6 compilation issues
- Thread Safety: All UI updates now properly dispatched to main thread
- Memory Management: Proper cleanup of event monitors and observers
- StatusBarController.swift: Main controller managing NSStatusItem lifecycle
- CustomMenuWindow.swift: NSPanel subclass with visual effects and event handling
- StatusIndicators.swift: Reusable SwiftUI components for status display
- MenuBarStatusView.swift: Container view for menu bar content composition
- NSStatusItem & NSStatusBarButton for menu bar integration
- NSVisualEffectView for native macOS materials
- ImageRenderer for SwiftUI β NSImage conversion
- NSPanel with borderless style mask for custom windows
- Event monitors for click-outside detection
- Effective appearance detection for adaptive UI
- Removed unnecessary comments explaining temporary code
- Consistent use of design system components
- Proper Swift 6 concurrency patterns throughout
- Clear separation of concerns between UI layers
- Screenshot popover for visual debugging
- Comprehensive logging for status bar operations
- State tracking for menu visibility
- Clear error messages for common issues
This is the first stable production release of CodeLooper with full notarization and auto-update support.
- β Complete Sparkle Integration: Fully working auto-update system from v0.9.0 β v1.0.0
- π Full App Notarization: Complete hardened runtime with deep signing of all components
- ποΈ Production Build Pipeline: Automated build, sign, and release workflow
- π¦ Professional DMG Distribution: Clean installer with no security warnings
- π Seamless Updates: One-click update installation via Sparkle framework
- π Cursor Monitoring: Robust AI-assisted coding session supervision
- π€ AI-Powered Diagnostics: Intelligent intervention and error recovery
- βοΈ Advanced Settings: Comprehensive configuration and preferences
- π Session Analytics: Detailed monitoring and reporting capabilities
- Swift 6 strict concurrency throughout entire codebase
- Complete XPC services signing for Sparkle framework
- Hardened runtime with proper entitlements configuration
- Professional code signing with Developer ID certificates
- Apple notarization with zero Gatekeeper warnings
- Cryptographic EdDSA signing for all updates
- Secure update delivery via HTTPS
- Tamper-proof update verification
Beta release for testing Sparkle auto-update functionality and notarization workflow.
- π¬ Update Testing: Release specifically for testing v0.9.0 β v1.0.0 updates
- π Notarization Validation: Confirms complete notarization pipeline works
- π Release Notes Testing: Validates Sparkle UI and release note display
- β Resolved all notarization errors and Gatekeeper warnings
- β Complete signing of Sparkle framework components
- β Proper hardened runtime configuration
- π GitHub Releases Integration: Complete setup for automated releases via GitHub
- π Sparkle Auto-Updates: Integrated Sparkle framework for automatic app updates
- π¦ Release Automation: Added scripts for building, signing, and publishing releases
- π EdDSA Signing: Secure update verification with cryptographic signatures
- π‘ Appcast Generation: Automated appcast.xml generation for update feeds
- π¨ Modern Updates UI: Redesigned settings with Obsidian-inspired update interface
- π Changelog: Added this changelog to track all releases
- π§ Build System: Improved Tuist configuration with proper Swift 6 support
- π Documentation: Enhanced setup guides and architectural documentation
- π οΈ Development Workflow: Streamlined build and release processes
- Swift 6 strict concurrency compliance throughout the project
- Sparkle 2.0+ integration with modern security features
- GitHub Actions ready for CI/CD (scripts prepared)
- Automated DMG creation and notarization support
- EdDSA cryptographic signing for all updates
- Secure key management with gitignore protection
- Hardened Runtime enabled for App Store distribution readiness
- Initial development versions
- Core monitoring and intervention features
- Basic UI and accessibility integration
For future releases, include:
- New features and capabilities
- Changes to existing functionality
- Features that will be removed in future versions
- Features that have been removed
- Bug fixes and corrections
- Security improvements and vulnerability fixes
When contributing to CodeLooper:
- Update this changelog with your changes
- Follow the existing format and categorization
- Include relevant issue/PR numbers where applicable
- Ensure version numbers follow semantic versioning