Skip to content

Releases: bdmorin/eyelet

Release v0.3.5: TUI Exit Fix & Enhanced Features

06 Sep 20:02

Choose a tag to compare

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: --autoupdate flag 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.5

Quick 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 doctor

Full documentation: https://github.com/bdmorin/eyelet#readme

v0.3.4 - Auto-update Support & Critical Execute Fix

06 Sep 19:04

Choose a tag to compare

πŸš€ Auto-update Support

This release adds automatic version update support and fixes critical execute command issues.

✨ New Features

  • Auto-update support: Use --autoupdate flag with configure install-all to enable automatic updates
  • Version detection: eyelet doctor now 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_type and hook_event_name fields
  • Pydantic validation: Fixed errors when Claude Code sends hook_event_name

πŸ“ Usage

Enable auto-updates (recommended):

uvx eyelet configure install-all --autoupdate

Check version pinning:

uvx eyelet doctor

Manual 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 eyelet

v0.3.3 - CRITICAL HOTFIX: Fix missing TUI module

06 Sep 18:53

Choose a tag to compare

🚨 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

06 Sep 18:36

Choose a tag to compare

πŸŽ‰ What's New

Recall Feature

  • New eyelet recall command 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

29 Jul 21:51

Choose a tag to compare

[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 query command suite for log analysis
    • search: Filter logs by hook type, tool, session, time range, etc.
    • summary: View activity statistics and breakdowns
    • errors: List recent errors with details
    • session: Show timeline for specific session
    • grep: Full-text search across all log data
  • Doctor Command: New eyelet doctor for configuration health checks
    • Validates Claude Code integration
    • Checks configuration files
    • Tests logging setup
    • Verifies database health
    • Auto-fix capability with --fix flag
  • 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 logging subcommand
  • 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

29 Jul 04:48

Choose a tag to compare

πŸŽ‰ 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-all

See CHANGELOG.md for full details.