# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.1.1] - 2026-03-09
### Added
- **CI/CD**: GitHub Actions workflow with 80% code coverage threshold
- **Property-based testing**: 18 proptest cases
- **Performance benchmarks**: Criterion benchmarks suite
- **Documentation**: ARCHITECTURE.md, CONTRIBUTING.md, SECURITY.md, etc.
- **Editor configuration**: .editorconfig, rustfmt.toml
### Changed
- **API improvements**: `Args::value()` now returns `Result` for explicit error handling
- **Error types**: Added `PipelineEmpty`, `PipelineStdinError`, `PipelineStdoutError`
## [0.1.0] - 2024-XX-XX
### Added
- **Core command execution framework**
- Sync API: `sync::CommandBuilder` using `std::process::Command`
- Async API: `proc::CommandBuilder` using `tokio::process::Command`
- **Type-safe argument parsing**
- `Args` builder for validated CLI arguments
- Support for flags, options, and positional arguments
- Validation at build time
- **Pipeline support**
- Sync pipeline: `sync::Pipeline`
- Async pipeline: `proc::Pipeline`
- Command chaining with pipes
- **Cross-platform compatibility**
- Windows: cmd.exe execution
- Unix: shell execution
- Platform-specific configuration
- **Environment management**
- Set environment variables
- Remove environment variables
- Clear all environment variables
- **Output handling**
- Capture stdout and stderr
- Exit code extraction
- Success/failure checking
- **Working directory**
- Execute in specific directory
- **Timeout support**
- Execute with timeout
- Kill process on timeout
- **Shell integration helpers**
- `which()` - Find executable in PATH
- `command_exists()` - Check if command exists
- `eval()` - Execute shell command
- `default_shell()` - Get platform default shell
- **Configuration**
- Stdio configuration (stdin, stdout, stderr)
- Config builder pattern
### Testing
- Unit tests for all modules
- Integration tests (sync and async)
- Edge case tests
- Property-based tests
- Platform detection tests
- Documentation tests
### Documentation
- Comprehensive README
- API documentation
- Usage examples
### Development
- Strict clippy linting
- Zero panic policy (#![forbid(unsafe_code)])
- Code coverage tracking
- Benchmark suite
## [Unreleased]
### Planned
- Release to crates.io
- Additional shell helpers
- Signal handling improvements
- Process group management