Repository navigation
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
1.0.0 - 2025-11-26
Added
- ✨ Full cross-platform support (Linux, macOS, BSD, Windows)
- 🎨 Colored terminal output using owo-colors
- 🔧 Shell completion generation for bash, zsh, fish, powershell, elvish
- 🆕
--statusflag for custom timeout exit codes - 🆕
--no-notifyflag to skip initial signal (Unix) - 🆕
--generate-completionsflag for shell completion generation - 📊 JSON metrics output via
TIMEOUT_METRICSenvironment variable - 🛡️ PR_SET_PDEATHSIG for orphan prevention on Linux
- ⚡ Event-driven architecture with SIGCHLD (zero polling)
- 🪟 Native Windows implementation using tokio async processes
- 🧪 Comprehensive test suite with 14 tests
- 📚 Extensive documentation (16 markdown files)
- 🔧 Shell completion installation script
- 🎬 Feature demonstration script
Changed
- Refactored codebase into modular platform architecture
- Split Unix and Windows implementations into separate modules
- Improved error handling with colored output
- Enhanced command-line parsing with platform-specific guards
- Updated argument parsing to support
--separator for complex commands
Fixed
- macOS killpg() ESRCH error with automatic fallback to kill()
- Test script arithmetic operations causing premature exit with set -e
- Command argument parsing for commands with dash-prefixed arguments
- Signal propagation on macOS process groups
Technical Details
- Performance: 99.9% reduction in system calls (event-driven vs polling)
- Binary Size: 1.1 MB (release, stripped)
- Dependencies: Added owo-colors, clap_complete, windows-sys
- Compatibility: 100% backward compatible with GNU timeout
[Unreleased]
Planned
- Real-time signal support (SIGRTMIN/SIGRTMAX)
- Async I/O redirection and capture
- Configuration file support (~/.timeoutrc)
- Multiple process monitoring
- Windows Job Objects integration
- Package manager distributions (Homebrew, Chocolatey, etc.)