Skip to content

Releases: loocor/codmate

0.5.8

31 Dec 09:15
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

CleanShot 2025-12-31 at 17 12 48

🚀 Major New Features

AI-Powered Content Generation

  • Session title and comment generation using LLM with intelligent material building
    • Automatic summarization from conversation turns with deduplication and code/log trimming
    • Configurable prompt templates (payload/prompts/title-and-comment.md)
    • Available via context menu and Edit Session dialog with sparkles icon
    • Background processing to prevent UI blocking
  • 🎯 Task title and description generation based on session metadata
    • Two generation strategies: session metadata aggregation and content-based inference
    • Prompt templates for both strategies (payload/prompts/task-title-and-description.md, task-title-only.md)
    • Integrated into task edit dialog with overwrite confirmation
  • 📝 Enhanced commit message generation with external prompt templates
    • Support for payload/prompts/commit-message.md template
    • Configurable max tokens and system prompt
    • Preserves user-edited commit messages when restoring panel state

Extensions Import System

  • 🔌 MCP Servers import with Home and project-level scanning
    • Import from ~/.config/mcp and project directories
    • Conflict resolution with Skip/Overwrite/Rename strategies
    • Unified import UI with preview and confirmation
  • 🧩 Skills import with metadata parsing from SKILL.md
    • Scan Home and project-level skills directories
    • Automatic metadata extraction and validation
  • ⌨️ Commands import with Markdown/TOML parsing support
    • Import from Home and project command folders
    • Unified import workflow across all extension types
  • 📁 Project-level import buttons in Project Editor
    • Scan project-local extensions (MCP, Skills, Commands)
    • Integrated into Settings › Extensions tabs

Search Enhancements

  • 🔍 Tasks search capability added to global search
    • New task result type with checklist icon
    • Search scope filter for Tasks
    • Auto-navigation to task workspace on selection
    • Metadata root path configuration (~/.codmate/tasks/metadata)

🎨 UI/UX Improvements

Context Menus

  • 🎯 Icons added to Review mode menus (Diff/History tree, Explorer mode)
    • Stage, unstage, copy, reveal, discard actions with system icons
  • 📋 Icons added to Projects List context menus
    • New project and auto assign actions with visual indicators
  • 🎨 Improved UI consistency across all context menus

Session List

  • ✂️ Text truncation for session titles to prevent overflow
  • 📐 Improved spacing with right padding (32pt) and icon spacing (8pt left padding)
  • 🎯 Better visual separation between title text and trailing icons

Task List

  • 🔄 Unified task creation/editing by removing separate NewTaskSheet
  • 📏 Enhanced EditTaskSheet layout (520px width, improved spacing, focus management)
  • 🎨 Improved task row UI with collapse/expand chevron button replacing ellipsis

Embedded Terminal

  • 🔗 Unified embedded new entrypoint across project menus
  • 🔔 Centralized embedded new session notifications

🛠️ Development Tools

Makefile Enhancements

  • 🐛 Debug targets for enhanced development workflow
    • make debug: Build and run with terminal output (stdout/stderr)
    • make debug-logs: Stream live logs from running CodMate app
    • make debug-app: Build, launch app in background, and stream logs in foreground
    • Improved development experience with real-time log monitoring

🔧 Technical Improvements

Architecture

  • 🧠 SessionSummaryMaterialBuilder for intelligent summarization
    • Consecutive message deduplication (O(n) complexity)
    • Code block trimming (first 5 + last 3 lines)
    • Error log trimming (first 10 + last 5 lines)
    • Middle message removal to fit length constraints
    • Fast filtering with early exit optimization
  • 📦 ExtensionsImportModels and shared ExtensionsImportSheets UI
  • 🔄 Import services for MCP (MCPImportService), Skills (SkillsImportService), and Commands (CommandsImportService)
  • 📝 ConversationTurn helper methods for message extraction

Provider/API Enhancements

  • 💳 Enhanced plan type detection with rate limit tier mapping
  • 🍎 Apple billing support in Claude usage API client

Code Quality

  • 📝 Improved code organization with better separation of concerns
  • 🔍 Enhanced error handling in generation workflows
  • 📊 Comprehensive OSLog logging for debugging

📊 Change Statistics

  • Files Changed: 48 files
  • Code Changes: +3,536 / -256 lines (net: +3,280 lines)
  • Major Additions:
    • AI generation infrastructure (SessionSummaryMaterialBuilder, generation extensions)
    • Extensions import system (3 import services, unified UI)
    • Tasks search integration
    • Debug build targets
  • Major Improvements:
    • Context menu consistency
    • Session list visual polish
    • Task editing workflow

Upgrade Recommendation: This release introduces AI-powered content generation for sessions and tasks, significantly reducing manual metadata entry. The new extensions import system simplifies onboarding of MCP servers, skills, and commands from Home and project directories. Enhanced search capabilities now include tasks, and improved UI consistency makes the application more polished. Developers will appreciate the new debug targets for easier troubleshooting.

0.5.7

28 Dec 16:56
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

CleanShot 2025-12-29 at 00 49 52

🚀 Major New Features

Command Management System

  • Unified command management with a new Commands tab in Settings › Extensions
  • 📝 Command editor UI for creating and editing slash commands with metadata (argument hints, models, allowed tools)
  • 🔄 Multi-provider sync to Codex CLI (~/.codex/prompts/), Claude Code (~/.claude/commands/), and Gemini CLI (~/.gemini/commands/)
  • 🎯 Provider targeting to selectively enable commands for specific AI CLI providers
  • 📦 Markdown-based storage with YAML frontmatter, following the same pattern as Skills
  • 🗂️ Command library stored in ~/.codmate/commands/library/ with index tracking
  • 🧪 Test script (scripts/test-commands-sync.sh) for validating command sync functionality

Menu Bar Commands Integration

  • 📋 Commands submenu in the status menu with toggle items for quick access
  • 🔄 Automatic sync of command toggles to provider directories
  • 💾 Cached command loading for fast menu bar updates
  • 🔗 Markdown metadata sync when updating command records

Skills Template Creation

  • 🎨 Template-based skill creation with validation and source metadata tracking
  • 📝 Source type tracking (sourceType: "template") in skill summaries and marker files
  • 🗑️ Trash-only uninstall for template-created skills (removed reinstall controls from explorer)
  • 🔍 Template identification via isTemplateCreated computed property

Standardized Editor Menus

  • 🎯 Shared Open in menu builder (EditorMenuHelpers.swift) with editor icons
  • 🔄 Consistent menu appearance across Projects, Skills, Commands, and Git Review lists
  • 📂 Editor picker integration for opening commands by markdown path
  • 🎨 Editor icons displayed in menu items for better visual identification

Task Management Enhancements

  • Create task from Add-to-Task search with "+" action for non-existent task names
  • 🔗 Automatic session assignment when creating a task from search
  • 🎨 Improved sheet UX with aligned cancel button placement

🔧 Technical Improvements

Architecture

  • 🏗️ SessionCommandGenerator for streamlined command creation for embedded sessions
  • 🔄 Refactored command building methods to utilize the new generator for improved clarity
  • 📦 CommandsStore actor for thread-safe command management with Markdown file persistence
  • 🔄 CommandsSyncService for syncing commands to provider-specific formats (Markdown for Codex/Claude, TOML for Gemini)
  • 🎛️ CommandsViewModel for managing command state, loading, and UI updates

Code Quality

  • 🧹 Improved command generation structure for embedded and external terminal contexts
  • 📝 Enhanced separation of concerns between command storage, sync, and UI layers
  • 🔍 Better error handling in command sync operations with warning collection

📊 Change Statistics

  • Files Changed: 30 files
  • Code Changes: +2,811 / -346 lines (net: +2,465 lines)
  • Major Additions: Command management system (CommandRecord, CommandsViewModel, CommandsStore, CommandsSyncService, CommandsSettingsView)
  • New Services: SessionCommandGenerator for unified command generation

Upgrade Recommendation: This release introduces a comprehensive command management system that allows users to create, edit, and sync slash commands across multiple AI CLI providers. The new Commands tab in Settings › Extensions provides a unified interface for managing commands, while the menu bar integration offers quick access to command toggles. Skills can now be created from templates, and editor menus have been standardized across the application for a more consistent user experience.

0.5.6

28 Dec 09:03
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

CleanShot 2025-12-28 at 17 03 13

🚀 Major New Features

Terminal Session Management Overhaul

  • Decoupled terminal sessions architecture with new HeadlessTerminalSession class
  • 🎯 Fast session switching by decoupling terminal sessions from views for improved performance
  • 📊 Active terminal sessions control with toolbar button and popover showing running session count
  • 🔄 Enhanced session lifecycle management with proper start/stop tracking and state synchronization
  • 🛡️ Race condition prevention with recentlyStopped mechanism to avoid session resurrection issues
  • 📈 Improved scrollback management with dynamic pin/unpin support and aggressive memory optimization for background sessions
  • 💾 Optimized data flushing with chunked processing and typing-aware flush windows for better responsiveness

Dock File Handling

  • 📁 Folder drag-and-drop support - drop folders onto Dock icon to create new projects
  • 🎯 DockOpenCoordinator for managing new project requests from Dock operations
  • 📋 Enhanced Info.plist with CFBundleDocumentTypes support for folder document types
  • 🔗 Improved session resumption logic to accommodate embedded terminal preferences from Dock launches

Menu Icon System Infrastructure

  • 🎨 Core menu icon support with asset images and system images
  • 🌓 Dark mode inversion support for ChatGPTIcon and other provider icons
  • 📐 Standardized 14x14pt icon size for consistent menu item appearance
  • 🔧 Extended SplitMenuItem.Kind to accept systemImage and assetImage parameters
  • 🎯 Provider icons in menus - ChatGPT, Claude, and Gemini icons now appear in menu items

Terminal Selection Enhancements

  • 🔄 Menu-based terminal selection for Resume operations (embedded vs external terminal profiles)
  • 🎯 Embedded terminal integration in Resume and New Session menus when available
  • ⚙️ Terminal profile support for task context session launches
  • 📋 Enhanced menu items with terminal selection options in TaskListView and SessionListColumnView

🎨 UI/UX Improvements

Menu Bar Enhancements

  • 🎨 Dynamic icon updates based on usage data and menu state
  • 🌓 Appearance observation to regenerate menu bar icon when system appearance changes (including wallpaper-based tinting)
  • 🔄 Real-time menu updates when menu is open to reflect current usage data
  • 🎯 Improved icon rendering with adaptive colors (white/black) based on menu bar button appearance
  • 📈 Enhanced Retina rendering with 4x/6x scale for better anti-aliasing
  • 🔄 Refreshable usage items with clickable refresh action in menu

Conversation Timeline

  • 🎯 Improved sticky header interaction by moving gesture handlers to inner content
  • 📐 Better tap area and visual indication for expand/collapse state
  • 🖱️ Enhanced hover effects with proper content shape for better interaction

Task List View

  • 🎨 Enhanced context menus with icons and improved organization
  • 🔄 Menu-based session creation with terminal selection options
  • 📋 Improved "Collaborate with" menu with provider icons and terminal profile selection
  • 🎯 Better menu item labels with system icons for consistency

Active Terminal Sessions Control

  • 📊 Toolbar button displaying active session count with badge
  • 🔍 Popover interface for quick access to running terminal sessions
  • 🔄 Real-time updates via notifications and polling (1.5s interval)
  • 🎯 Session list showing terminal keys and start times

Split Controls

  • 🎨 Enhanced menu rendering with icon support
  • 🔧 Improved menu item consistency across the application

🔧 Technical Improvements

Architecture

  • 🏗️ HeadlessTerminalSession for decoupled terminal session management
  • 🎛️ TerminalSessionManager refactoring from view-based to session-based architecture
  • 📦 DockOpenCoordinator for centralized Dock file/folder handling
  • 🔄 Notification-based state synchronization for terminal sessions updates
  • 📊 Active sessions query API with getActiveSessions() and getActiveSessionsCount() methods

Performance Optimizations

  • Optimized scrollback management with dynamic size adjustment (1,000 lines minimum for background, restored to target when attached)
  • 💾 Memory optimization by aggressively shrinking scrollback for background sessions
  • 🔄 Improved data flushing with chunked processing (8KB max drain, 12 chunks max)
  • ⏱️ Typing-aware flush windows (80ms) for better responsiveness during user input
  • 🚀 Faster session switching by keeping sessions alive when not visible

Code Quality

  • 🧹 Removed view dependencies from TerminalSessionManager
  • 📝 Improved error handling and state management
  • 🔍 Enhanced logging for terminal session lifecycle events
  • 🛡️ Thread safety improvements with @MainActor annotations for Dock handlers

🐛 Bug Fixes

Terminal Session Management

  • 🔧 Fixed session resurrection race condition preventing immediate restart of stopped sessions
  • 🎯 Improved terminal display priority to show focused session's terminal first
  • 🔄 Fixed visibleTerminalKeyInDetail() to correctly identify active terminal
  • 🛡️ Enhanced stopEmbedded() to support both session ID and terminal key

UI Fixes

  • 🎯 Fixed sticky header gesture handling in ConversationTimelineView
  • 🖱️ Improved hover interaction with proper content shape
  • 🌓 Fixed dark mode visibility for menu bar icons with appearance-based color adaptation

Thread Safety

  • 🛡️ Added @mainactor to dock folder drop handlers for thread safety when handling drag-and-drop operations

📊 Change Statistics

  • Files Changed: 25 files
  • Code Changes: +2,083 / -573 lines (net: +1,510 lines)
  • New Files:
    • services/DockOpenCoordinator.swift (60 lines)
    • services/HeadlessTerminalSession.swift (365 lines)
    • views/ActiveTerminalSessionsControl.swift (291 lines)
  • Major Refactoring: TerminalSessionManager architecture overhaul
  • Major Additions: Terminal session decoupling, Dock file handling, menu icon system

Upgrade Recommendation: This release introduces a major terminal session management overhaul that significantly improves performance and user experience. The new decoupled architecture enables faster session switching and better resource management. Users will benefit from the new active terminal sessions control, improved menu icons, and Dock file handling capabilities. The scrollback optimization reduces memory usage for background sessions while maintaining full history when sessions are active.

0.5.5

26 Dec 08:21
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

CleanShot 2025-12-26 at 00 21 24

🚀 Major New Features

Usage Health State Evaluation

  • Health state calculation for usage metrics based on time progress vs usage progress comparison
  • 🎯 Visual health indicators with color-coded feedback (healthy/warning/unknown states)
  • 📊 Smart health evaluation for time-based metrics (5-hour and weekly windows)
  • 🎨 Enhanced usage ring visualization with health-aware color rendering
  • Improved usage status control with health state integration in progress bars and rings

Conversation Timeline Enhancements

  • 🎨 Improved timeline rendering with consistent row spacing and better visual structure
  • 📐 Refactored vertical line rendering using multiple segments for accurate layout
  • 🔧 Enhanced timeline gap calculation for better visual representation of event relationships
  • Better layout accuracy with dedicated functions for timeline line segments and gaps

🎨 UI/UX Improvements

Usage Metrics Visualization

  • 🎨 Health-aware color system that adapts based on usage health state
  • 📊 Consistent stroke widths in TripleUsageDonutView for better visual balance
  • 🔄 Enhanced ring state integration with health state in menu bar controller
  • Improved progress bar rendering with health state awareness in UsageStatusControl

Window Management

  • 🪟 Improved URL scheme handling to prevent unwanted window creation
  • 🎯 Enhanced window activation logic prioritizing main window visibility
  • 🔄 Better window visibility management for existing windows during URL scheme events
  • 🛡️ Prevented duplicate window issues when handling external events

📚 Documentation

Feature Inventory

  • 📖 Comprehensive feature inventory (docs/feature-inventory.md) documenting all CodMate capabilities
  • 🗺️ Structured feature mapping with code evidence for traceability
  • 📋 Organized by categories: Session Sources, Indexing, UI Structure, Search, Projects, etc.
  • 🎯 Value/advantage mapping foundation for future feature synthesis and marketing
  • 📊 Coverage methodology documenting how features are tracked and organized

📊 Change Statistics

  • Files Changed: 7 files
  • Code Changes: +525 / -69 lines (net: +456 lines)
  • Major Additions: Feature inventory documentation, health state evaluation system, enhanced timeline rendering
  • Major Improvements: Usage metrics visualization, window handling, conversation timeline UX

Upgrade Recommendation: This release focuses on improving usage visibility and conversation timeline clarity. The new health state evaluation provides users with better insights into their usage patterns, helping them make informed decisions about quota management. Enhanced timeline rendering improves readability of conversation history. The comprehensive feature inventory documentation serves as a valuable reference for developers and stakeholders. Window handling improvements ensure a more consistent experience when handling URL scheme events.

0.5.4

25 Dec 14:18
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

🚀 Major New Features

Gemini Notification Bridge Integration

  • 🔔 Complete notification system for Gemini CLI permission prompts
  • 🎯 Settings tab integration with toggle and self-test functionality
  • 🔗 codmate://notify URL scheme support for Gemini events (permission, test)
  • 📝 Automatic hook management in ~/.gemini/settings.json
  • 🛡️ Sandbox-aware authorization for directory access when needed
  • Debounced persistence to prevent excessive file writes during settings changes

Claude Web API Support

  • 🌐 Browser cookie authentication as primary method for Claude usage data
  • 🍪 Safari cookie extraction from Cookies.binarycookies file
  • 🌍 Chrome cookie extraction from SQLite database
  • 🔄 Automatic fallback to OAuth API when Web API fails
  • 📊 Direct claude.ai API integration for more reliable usage tracking
  • 🔐 Full Disk Access requirement clearly documented for cookie reading
  • 🎯 Plan type detection from organization membership data

Dynamic Usage Donut Icon

  • 🎨 Triple-ring donut visualization in menu bar showing Codex/Claude/Gemini usage
  • 📊 Real-time usage status with color-coded progress indicators
  • 🔄 Automatic icon updates when usage snapshots change
  • 🎯 Smart visibility - shows only when usage data is available
  • 🎨 Consistent styling with track colors and disabled states

Gemini API Client Enhancements

  • 🔄 Automatic token refresh with 5-minute early refresh window
  • 🔑 OAuth2 refresh token flow support
  • 📝 Flexible token format support (camelCase and snake_case)
  • 🎯 Plan type detection from storage and model configurations
  • 🛡️ Expiration detection to prevent API failures
  • 📦 Legacy oauth_creds.json compatibility

Usage Urgency Algorithm Improvements

  • 🎯 Three-stage filtering system for better metric prioritization
  • 📊 Depleted limit detection (≤0.1%) with longest reset time priority
  • ⏱️ Significant metric filtering (excludes metrics resetting in <5 minutes)
  • 📈 Urgency scoring algorithm using consumption × log(1 + reset hours)
  • 🔄 Improved metric selection for menu bar and popover display

🎨 UI/UX Improvements

Usage Status Enhancements

  • 🔄 Silent refresh mode for background updates without UI disruption
  • ⏱️ Throttled refresh with 15-second minimum interval
  • 🔔 System notifications for silent refresh failures instead of UI placeholders
  • 🎯 Auto-refresh on popover open to ensure latest data visibility
  • 📊 Subscription plan type badges displayed in usage menus
  • 🎨 Title badge support for plan type indicators (Pro, Max, Team, Enterprise, AI Pro, AI Ultra)

Notification UX Improvements

  • 🪟 Window activation suppression when handling codmate://notify URLs
  • ⏱️ 1-second delay before resetting activation suppression flag
  • 🔄 Non-intrusive notifications that don't interrupt user workflow

Codex Configuration Sync

  • 🔄 Automatic preference sync with Codex CLI config.toml
  • 📝 TOML parser for reading sandbox_mode and approval_policy defaults
  • 🎯 Codex CLI as source of truth - CodMate preferences respect Codex settings
  • 🔧 Reduced configuration confusion by keeping settings in sync

Navigation Improvements

  • 🎯 Respect .tasks mode when navigating to project settings
  • 🛡️ Prevent automatic mode switches when user explicitly navigates to tasks view
  • 🔄 Improved navigation consistency and user control

📊 Change Statistics

  • Files Changed: 25 files
  • Code Changes: +2,316 / -264 lines (net: +2,052 lines)
  • Major Additions:
    • Browser cookie infrastructure (Safari/Chrome importers)
    • Claude Web API client
    • Gemini notification bridge system
    • Dynamic usage donut icon component
    • Usage urgency algorithm improvements
  • Major Improvements:
    • Usage status refresh with throttling and silent mode
    • Codex configuration synchronization
    • Gemini API client with auto-refresh
    • Menu bar icon with real-time updates

🔐 Security & Privacy

  • 🔒 Sandbox-aware cookie access with proper authorization requests
  • 🛡️ Full Disk Access requirement clearly documented for Safari cookie reading
  • 🔐 Secure token storage with OAuth2 refresh token support
  • 📝 Privacy-conscious cookie extraction (only reads specific domains)

🐛 Bug Fixes

  • 🎯 Fixed navigation mode switching - respects explicit .tasks mode navigation
  • 🔄 Improved usage refresh timing - prevents excessive API calls
  • 🪟 Fixed window activation - notification URLs no longer interrupt workflow

Upgrade Recommendation: This release significantly enhances usage tracking reliability with Claude Web API support and browser cookie authentication. The new Gemini notification bridge provides seamless macOS notifications for CLI permission prompts. Dynamic usage donut icons in the menu bar offer at-a-glance status for all providers. Automatic token refresh and configuration sync reduce manual maintenance. Users will benefit from improved usage urgency detection and throttled refresh to prevent API rate limiting.

0.5.3

24 Dec 11:17
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

🚀 Major New Features

Auto-Assign Enhancement

  • Flexible scope selection for auto-assigning sessions to projects
  • 📅 Custom date range support for targeted historical session organization
  • 🎯 Today/All/Custom options with intuitive picker interface
  • 📊 Real-time progress feedback during batch assignment operations
  • 🎨 Modal sheet interface replacing simple button trigger for better UX

Local Development Support

  • 🛠️ New make run target for quick local debug builds (native arch, inferred version)
  • 🔧 Enhanced Makefile with VER variable for version specification
  • ⚙️ SWIFT_CONFIG variable support to control build configuration
  • 🔐 SIGN_ADHOC option for ad-hoc signing during local runs without Developer ID certificates
  • 📦 Separate entitlements file (CodMate-Notify.entitlements) for fine-grained permission control

Window Management Improvements

  • 🪟 Single window enforcement by replacing WindowGroup with Window singleton
  • 🎯 Unified window activation logic centralized in MenuBarController
  • 🔄 Optimized window restoration with visibility and identifier-based detection
  • 🛡️ Prevented duplicate windows and inconsistent behavior
  • 🎨 Unified toolbar style to prevent KVO issues with Window singleton

🎨 UI/UX Improvements

Project Overview Enhancements

  • 📊 Loading state tracking with isLoading and hasLoadedOnce flags
  • 🔄 Fallback filtering logic when scope filters yield empty results but counts indicate data
  • 🎨 OverviewChartPlaceholder for better loading UX during initial data fetch
  • 📐 Improved empty state layout in OverviewActivityChart
  • Better state synchronization to prevent empty states during initial load

Usage Status Auto-Refresh

  • 🔄 Automatic usage refresh on view appearance for Codex and third-party providers
  • Auto-refresh on snapshot changes to ensure up-to-date usage information
  • 🎯 Smart refresh logic that only triggers when snapshot is not ready
  • 📊 Usage status control improvements with better refresh timing

Visual Fixes

  • 🌓 Fixed Codex icon dark mode inversion to only apply when icon has no white background
  • 🎨 Consistent icon appearance for running sessions in dark mode
  • 🔧 Improved visibility by preventing incorrect inversion logic

🔧 Technical Improvements

Code Quality & Robustness

  • 🐛 Fixed loading state race condition in ProjectOverviewViewModel
  • 🛡️ Removed unsafe force unwrap on Calendar.date(byAdding:to:) operations
  • 🔄 Early state synchronization by setting hasLoadedOnce before snapshot completion
  • 📝 Improved code formatting with better line breaks, parameter alignment, and consistent spacing
  • 🧹 Enhanced error handling with defensive fallbacks for calendar operations

Build System

  • 📦 Added 'artifacts' to Package.swift exclude list to prevent unnecessary package scans
  • 📚 Documented 'make run' command in README.md for local development
  • 🔧 Improved build script flexibility with better configuration options

📊 Change Statistics

  • Files Changed: 15 files
  • Code Changes: +654 / -227 lines (net: +427 lines)
  • Major Additions: AutoAssignSheet component, Makefile run target, loading state management
  • Major Improvements: Window management, usage auto-refresh, project overview UX

Upgrade Recommendation: This release focuses on improving developer experience with better local development support and enhanced auto-assign functionality. The new make run target simplifies local testing workflows. Window management improvements ensure a more consistent single-window experience. Users will benefit from automatic usage status refresh and better loading states in project overview.

0.5.2

24 Dec 02:55
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

🚀 Major New Features

Build System Modernization

  • Migrated to SwiftPM-only build system, removing Xcode project dependencies
  • 🛠️ Simplified build process with new Makefile targets (make app, make dmg)
  • 📦 Enhanced project structure with centralized assets and improved organization
  • 🧹 Code cleanup: Removed legacy build scripts and experimental documentation

Menu Bar Enhancements

  • 🎯 Improved menu bar UX with better window activation and management
  • 📋 Expanded recent projects list from 5 to 10 items, sorted by session time
  • 🔄 Redesigned project menu as "New with [Provider]" using default terminal
  • 🎨 Enhanced menu bar icon with fossil.shell.fill (rotated and scaled)
  • 🌓 Fixed dark mode visibility for OpenAI/Codex icons via color inversion
  • 🪟 Prevented duplicate settings windows by using Window instead of WindowGroup

Project-Level Configuration

  • 🔗 Symlink management for project-level CODEX_HOME to prevent data fragmentation
  • 📁 Automatic symlink creation for non-config files/directories to global ~/.codex
  • ⚙️ Maintains data centralization while allowing project-specific configurations

Provider Support

  • 🌐 OpenRouter provider support for Claude Code connector
  • 🤖 Configured Claude model aliases (default: anthropic/claude-4.5-sonnet, haiku, opus)
  • 📚 Extended catalog with Anthropic Claude models through OpenRouter

🎨 UI/UX Improvements

Git Review Settings

  • Enhanced Git Review settings UI with improved alignment and spacing
  • 📝 Better commit message prompt template with improved text editor height
  • 🔧 Improved feature flag handling in CodexVM

Conversation Timeline

  • 🎯 Enhanced button interaction with chevron icon for expand/collapse state
  • 📐 Improved layout for better tap area and visual indication

Title Prompt

  • ⌨️ Improved focus handling in WarpTitlePrompt with initial first responder

📚 Documentation & Compliance

Third-Party Notices

  • 📄 Automated third-party notices generation with new make notices command
  • 🐍 Python script (gen-third-party-notices.py) for automated generation
  • 📋 Enhanced THIRD-PARTY-NOTICES.md with detailed license information
  • 📖 Updated documentation in README.md and BUILD.md

🔧 Technical Improvements

Architecture

  • 🏗️ MainWindowCoordinator for centralized window lifecycle management
  • 🎛️ SystemMenuVisibility enum for menu display modes
  • 🔄 Provider selection and binding management for Codex/Claude/Gemini
  • 📦 SessionPreferencesStore enhancements

Code Quality

  • 🧹 Removed experimental code and outdated documentation
  • 📝 Improved code organization with better separation of concerns
  • 🔍 Enhanced error handling and state management

📊 Change Statistics

  • Files Changed: 68 files
  • Code Changes: +3,632 / -5,249 lines (net: -1,617 lines)
  • Major Removals: Xcode project files, legacy build scripts, experimental docs
  • Major Additions: Menu bar controller, window coordinator, notices generator

Upgrade Recommendation: This release introduces a major build system modernization and significant menu bar improvements. The migration to SwiftPM-only build simplifies the development workflow. Users should rebuild the app using the new make app command. The enhanced menu bar provides better access to recent projects and improved window management.

0.5.0

22 Dec 18:52
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

CleanShot 2025-12-23 at 02 35 16

🚀 Major New Features

Extensions Management

  • ✨ Introduced unified Extensions settings page, consolidating MCP Servers and Skills management
  • 🎯 Support for project-level extensions configuration in Edit Project dialog
  • 🔄 Automatic synchronization of selected extensions to project directories

Skills Management

  • 📦 Implemented Skills library system with installation from folder, Zip, or URL
  • 🔄 Automatic Skills synchronization to project directories
  • ⚙️ Support for configuring target platforms per Skill (currently Codex and Claude Code only)

MCP Server Configuration

  • ✨ MCP servers now support global and project-level configuration for all three CLIs (Codex, Claude, Gemini)
  • 📁 Automatic creation and management of .codex/config.toml, .claude/.mcp.json, and .gemini/settings.json

📊 Change Statistics

  • Files Changed: 25 files
  • Code Changes: +3,186 / -163 lines

Upgrade Recommendation: This release introduces Extensions management system and Skills support. The settings interface has been reorganized. It is recommended to review your MCP server configurations after upgrading.

0.4.4

21 Dec 16:02
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

CleanShot 2025-12-21 at 23 58 56

🚀 Major New Features

Timeline UI Enhancements

  • ✨ Implemented sticky timeline markers that remain fixed at the top while scrolling, showing position number and timestamp
  • ✨ Added vertical connection lines between timeline markers with dynamic height calculation for better visual hierarchy
  • 🖼️ Created full-screen image preview overlay with zoom, pan, keyboard navigation, and multi-image support
  • 📎 Added AttachmentStripView to display clickable attachment buttons in message cards
  • 🎨 Implemented marker opacity fade effect when scrolling past the top
  • 🔄 Enhanced scroll behavior tracking to distinguish user-initiated scrolling from programmatic scrolling
  • ⚡ Improved Now Mode detection with user activity window to prevent false toggles

Image Attachment Support

  • 🖼️ Extended Claude session parsing to support image content blocks and extract data URLs
  • 📦 Added TimelineAttachmentDecoder service to decode data URLs and extract image data with MIME type detection
  • 🔓 Created TimelineAttachmentOpener service to resolve and open attachments in external applications
  • 💾 Implemented temporary file caching for data URL attachments via TimelineAttachmentResolver
  • 🎨 Support for multiple image formats (PNG, JPEG, GIF, WebP, HEIC, TIFF, BMP, SVG)
  • 📝 Extended data models (EventMessagePayload, TimelineAttachment) to support both embedded and file-based attachments

Message Deduplication & Parsing Improvements

  • 🔍 Added UUID-based deduplication to prevent processing duplicate JSONL records with identical UUIDs
  • 🔄 Improved user message deduplication using timestamp+content hash for messages without message.id
  • 🔗 Implemented mergeConsecutiveUserMessages in SessionTimelineLoader to merge user messages with identical timestamps
  • 🚫 Added filtering logic to skip auto-generated image description messages (starting with "[Image:")
  • 📊 Enhanced SessionTimelineLoader to convert images from payloads into TimelineAttachment objects

Session Management Enhancements

  • 🎯 Enhanced session project assignment with automatic matching based on directory paths after editing
  • 👁️ Added methods to manage timeline visibility kinds for sessions, allowing for overrides and clearing of visibility settings
  • 🔄 Refactored project assignment logic in ProjectsListView to utilize the new project matching method
  • 📋 Normalized conversation message types and visibility management across the application

Compatibility & Stability

  • 🍎 Backported macOS 13.5 UI compatibility with availability fallbacks for SwiftUI APIs
  • 🔧 Unified empty-state UI on older macOS versions
  • 🔄 Restored onChange(initial:) behavior for macOS 13.x
  • 🛠️ Aligned build target derivation from Xcode build settings in DMG script
  • 🔗 Fixed timeline sync loop between message and marker lists using suppression flags
  • ⏱️ Deferred marker scroll to allow layout updates for accordion effect
  • 🖱️ Improved sticky header hit testing by replacing tap gesture with Button

⚡ Performance Optimizations

  • 🚀 Optimized timeline refresh token mechanism and local activity state tracking
  • 💨 Improved scroll state management to prevent unintended Now Mode toggles during user interaction
  • 📦 Enhanced attachment resolution and caching for better performance

🐛 Bug Fixes

  • 🔄 Fixed timeline sync and interaction issues between message and marker lists
  • 🖱️ Improved sticky header interaction by replacing tap gesture with proper Button implementation
  • ⏱️ Fixed marker scroll timing to properly support accordion layout effects
  • 🍎 Resolved macOS 13.5 compatibility issues with SwiftUI API availability
  • 🔧 Fixed build target derivation in DMG packaging script

🎨 UI/UX Improvements

  • 🎯 Enhanced timeline navigation with persistent context (sticky marker) during scrolling
  • 🔗 Improved visual hierarchy with connection lines showing relationships between timeline events
  • 🖼️ Enabled rich image preview experience directly within the conversation timeline
  • 📎 Added seamless attachment browsing and preview workflow
  • 🎨 Improved scroll state management and user interaction feedback
  • 🔄 Enhanced project assignment workflow with automatic directory matching

📊 Change Statistics

  • Files Changed: 65 files
  • Code Changes: +3,782 / -1,198 lines
  • Major Commits: 8 feature and fix commits

📝 Technical Details

Data Model Extensions

  • Added images field to EventMessagePayload in SessionEvent.swift
  • Extended TimelineAttachment with id, dataURL, and url properties
  • Implemented Hashable conformance for TimelineAttachment using id as unique identifier

Service Layer Enhancements

  • Created TimelineAttachmentDecoder for data URL decoding and MIME type detection
  • Created TimelineAttachmentOpener for external application integration
  • Enhanced ClaudeSessionParser with image content block parsing
  • Improved SessionTimelineLoader with message merging and attachment conversion logic

View Layer Improvements

  • Major refactoring of ConversationTimelineView with sticky markers and connection lines
  • Enhanced SessionDetailView with timeline refresh token mechanism
  • Improved ProjectsListView with automatic project matching
  • Added AttachmentStripView for attachment display in message cards

Upgrade Recommendation: This release focuses on timeline UI enhancements and image attachment support. The sticky markers and connection lines significantly improve navigation in long conversations. Image preview functionality provides a seamless experience for reviewing visual content in Claude sessions. macOS 13.5 compatibility ensures the app runs smoothly on older systems. It is recommended to test the new timeline features with your existing sessions to familiarize yourself with the improved navigation.

0.4.3

19 Dec 18:16
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

🚀 Major New Features

External Terminal Management

  • 🖥️ Introduced configurable external terminal profiles with support for Terminal, iTerm2, and Warp
  • 🎨 Implemented dynamic terminal profile selection based on installed applications
  • 📦 Added terminal profile store supporting bundled and user-defined configurations
  • 🔍 Enhanced bundle identifier management and app availability checks
  • 🎯 Unified terminal menus across different session types

Advanced Settings & CLI Management

  • ⚙️ Added new Advanced Settings page with tabbed interface (Path and Dialectics)
  • 🔧 Implemented CLI command path management for Codex, Claude, and Gemini with optional user overrides
  • 📊 Enhanced CLI environment detection and PATH resolution
  • 🔍 Added CLI version detection and display in settings
  • 🛡️ Improved sandbox-aware PATH handling for better CLI resolution

Codex Usage & Account Management

  • ✨ Implemented Codex usage probing via app-server to fetch rate limits and account plan information
  • 🎯 Added account plan badge display (Plus/Pro) in Codex usage status control
  • 🔄 Enhanced usage status with app-server data merged with session token count fallback
  • 🔍 Added refresh action for Codex empty state to manually trigger usage probe

Model Updates

  • 🎯 Updated default Codex model to gpt-5.2-codex across the application
  • 📋 Reordered builtin models to prioritize gpt-5.2-codex as the first/default option
  • 🔄 Updated model alias mapping to point gpt-5-codex to gpt-5.2-codex for backward compatibility

Gemini Integration Enhancements

  • 🔍 Enhanced Gemini session diagnostics with presence detection and version checking
  • 🎯 Improved Gemini CLI session filtering to match official CLI behavior
  • 🔧 Stabilized resume working directory resolution for Gemini sessions
  • 📊 Integrated Gemini diagnostics into Dialectics pane UI
  • 🐛 Fixed session parsing to skip info-only sessions and prevent cache purging on unknown parse failures

Session Management Improvements

  • ⚡ Optimized session handling with scoped project IDs and directories based on date dimension
  • 🔄 Enhanced caching logic for better session merging and note application
  • 📋 Improved refresh logic to conditionally trigger based on selected date dimension
  • 🎯 Refined session indexing for better date range and cached data retrieval
  • 💾 Enhanced cached summary completeness status in Gemini session provider

Command Copying Enhancements

  • 📋 Enhanced command copying functionality with conditional clipboard operations
  • 🔔 Improved command copying notifications respecting user preferences
  • 🎯 Unified command copying behavior across different session types and terminal profiles
  • 🔧 Simplified command copying checks across multiple views for better maintainability

⚡ Performance Optimizations

  • 🚀 Optimized session handling and project filtering logic with scoped data processing
  • 💨 Improved caching strategy for session merging and note application
  • 🛡️ Enhanced refresh debouncing based on date dimension selection
  • ⚙️ Better handling of cached summaries with completeness status tracking

🐛 Bug Fixes

  • 🎯 Fixed usage hover timing to gate until collapse animation completes
  • 🔄 Stabilized Gemini resume working directory resolution
  • 📁 Improved Gemini session filtering to match CLI behavior
  • 💾 Enhanced cached data retrieval and completeness tracking
  • 🔧 Fixed command copying flow for external terminals

🎨 UI/UX Improvements

  • 🎨 Enhanced usage status control with account plan badge display
  • 📊 Improved diagnostics UI for Gemini sessions
  • 🔧 Unified terminal menu experience across different contexts
  • 📝 Enhanced command copying notifications and user feedback
  • 🎯 Improved settings organization with new Advanced Settings page

🔧 Technical Improvements

  • 📦 Downgraded minimum macOS deployment target from 15.0 to 13.5 for broader compatibility
  • 🏗️ Refactored terminal management from enum-based to profile-based architecture
  • 🔍 Enhanced CLI environment utilities with better PATH resolution
  • 📊 Improved diagnostics service with Gemini session support
  • 🛡️ Better sandbox-aware file system access handling

📊 Change Statistics

  • Files Changed: 43 files
  • Code Changes: +3,206 / -1,177 lines
  • Major Commits: 13 feature and refactoring commits

📝 Documentation

  • 📖 Updated AGENTS.md to reflect CLI integration and advanced settings changes
  • 🔧 Documented external terminal profile management system
  • 📋 Updated CLI command path management guidelines

Upgrade Recommendation: This release includes significant improvements to terminal management, CLI path handling, and Codex usage tracking. The macOS deployment target has been lowered to 13.5, making the app compatible with older macOS versions. External terminal profiles are now fully configurable, providing better flexibility for different terminal preferences.