Releases: bdmorin/eyelet
Releases Β· bdmorin/eyelet
Release v0.3.5: TUI Exit Fix & Enhanced Features
Release v0.3.5
π Critical Fix
- FIXED: TUI now properly responds to exit commands (q, Ctrl+C, Ctrl+Q, Escape)
- Users can now exit the TUI without being trapped!
β¨ Features from Recent Updates
- Auto-update support:
--autoupdateflag for install-all command - Version detection: Doctor command warns about unpinned versions
- Enhanced doctor: Clear guidance on enabling auto-updates
- Recall Feature: Search Claude Code conversation history
- TUI Framework: Complete Textual-based UI
π Bug Fixes
- Fixed missing TUI module in PyPI package
- Fixed execute command to support both hook_type and hook_event_name
- Resolved all ruff linting and formatting issues for CI/CD
π Documentation
- Added mise integration guide
- Created comprehensive UPDATE_GUIDE.md
- Added PUBLISHING_GUIDE.md for release process
- Corrected update instructions (removed incorrect --force flag)
Installation
# Install with uvx (recommended)
uvx eyelet@latest
# Or with pipx
pipx install eyelet==0.3.5Quick Start
# Install universal logging for ALL hooks with auto-updates
uvx eyelet configure install-all --autoupdate
# Enable SQLite logging
uvx eyelet configure logging --format sqlite
# Check configuration health
uvx eyelet doctorFull documentation: https://github.com/bdmorin/eyelet#readme
v0.3.4 - Auto-update Support & Critical Execute Fix
π Auto-update Support
This release adds automatic version update support and fixes critical execute command issues.
β¨ New Features
- Auto-update support: Use
--autoupdateflag withconfigure install-allto enable automatic updates - Version detection:
eyelet doctornow detects and warns about unpinned versions - Enhanced guidance: Clear instructions for enabling auto-updates in doctor output
π Critical Fixes
- Execute command: Now supports both
hook_typeandhook_event_namefields - Pydantic validation: Fixed errors when Claude Code sends hook_event_name
π Usage
Enable auto-updates (recommended):
uvx eyelet configure install-all --autoupdateCheck version pinning:
uvx eyelet doctorManual update if needed:
uvx --reinstall eyelet@latestπ Documentation
- Comprehensive version update section added to README
- Three options for managing eyelet versions documented
- Clear guidance on uvx caching behavior
β οΈ Important
Users experiencing ModuleNotFoundError or validation errors should upgrade immediately:
uvx --reinstall eyelet@latest
# or
pipx upgrade eyeletv0.3.3 - CRITICAL HOTFIX: Fix missing TUI module
π¨ Critical Hotfix
This release fixes a critical issue where the TUI module was missing from the PyPI package, causing ModuleNotFoundError: No module named 'eyelet.tui' errors.
π Fixed
- CRITICAL: Fixed missing TUI module in PyPI package
- Added .tcss file to package data to ensure TUI styles are included
- Updated MANIFEST.in to include TUI resources
β οΈ Important
Users who installed v0.3.2 should upgrade immediately:
uvx eyelet@latest
# or
pipx upgrade eyeletπ Full v0.3.2 Features
- Recall Feature: Search Claude Code conversation history
- TUI Framework: Complete Textual-based UI (experimental)
- Test Improvements: Better test coverage and pytest-asyncio support
Known Issues
- TUI exit functionality needs fixing (Ctrl+C doesn't work properly)
- Recall screen not accessible from main TUI menu
v0.3.2 - Recall Feature & TUI Framework
π What's New
Recall Feature
- New
eyelet recallcommand to search Claude Code conversation history - Full-text search across all conversations
- Filter by date range, tool usage, or conversation ID
- CLI and TUI modes available
TUI Framework (Experimental)
- Complete Textual-based TUI implementation
- Multiple screens: Configure, Templates, Logs, Settings, Help
- Theme support (Mocha/Latte)
- Note: TUI has known issues and is experimental
Testing Improvements
- Added pytest-asyncio and pytest-textual-snapshot
- Fixed test suite compatibility with new schema format
- Improved test coverage
π¦ Installation
uvx eyelet
# or
pipx install eyeletπ Known Issues
- TUI exit functionality needs fixing (Ctrl+C doesn't work properly)
- Recall screen not accessible from main TUI menu
π Full Changelog
- feat: Add recall command for searching Claude Code conversations
- feat: Complete TUI implementation with Textual
- test: Fix test suite and add missing dependencies
- fix: Update validate tests for new schema format
- docs: Add conversation search design documentation
v0.3.0 - SQLite Logging Integration
[0.3.0] - 2024-07-29
Added
- SQLite Database Logging: Real-time hook data logging to SQLite databases
- Process-safe with WAL mode for concurrent access
- Automatic retry logic with exponential backoff
- Hybrid schema design with indexed JSON fields
- Migration system for future schema updates
- Query Commands: New
eyelet querycommand suite for log analysissearch: Filter logs by hook type, tool, session, time range, etc.summary: View activity statistics and breakdownserrors: List recent errors with detailssession: Show timeline for specific sessiongrep: Full-text search across all log data
- Doctor Command: New
eyelet doctorfor configuration health checks- Validates Claude Code integration
- Checks configuration files
- Tests logging setup
- Verifies database health
- Auto-fix capability with
--fixflag
- Flexible Logging Formats: Support for multiple logging formats
- JSON file logging (existing)
- SQLite database logging (new)
- Comma-separated format specification (e.g.,
--format json,sqlite)
- Git Metadata Collection: Automatic Git information in logs
- Branch, commit, repository info
- Dirty state detection
- User information
Changed
- Refactored logging system to support multiple backends
- Updated configurator with new
loggingsubcommand - Improved error handling and retry logic
- Consolidated linting/formatting to use only ruff
Fixed
- Hook format compatibility with new Claude Code object structure
- GitHub Actions workflows for all platforms
- Linting and formatting issues across codebase
Full changelog: https://github.com/bdmorin/eyelet/blob/main/CHANGELOG.md
v0.2.0 - Eyelet Rebrand
π Eyelet v0.2.0
Complete rebrand from Rigging to Eyelet!
π What's New
- Complete Rebrand: Rigging is now Eyelet - "Thread through the eyelet!"
- Package Name: Install with
uvx eyelet(PyPI: eyelet) - Hook Testing Infrastructure: Comprehensive testing tools for Claude Code hooks
- Test all tools with unique identifiers
- 100% hook coverage achieved
- mise integration for easy testing
π§ͺ Testing Tools
# Run interactive hook test
mise run test-hooks
# Verify results
mise run test-hooks-verify zebra-1234-flamingo-5678
# View statistics
mise run hook-statsπ§ Fixes
- Updated to new Claude Code hook format (nested object structure)
- Fixed settings.json generation
- Backwards compatibility for old settings
π¦ Installation
# Install with uvx
uvx eyelet
# Install universal logging
uvx eyelet configure install-allSee CHANGELOG.md for full details.