Repository navigation
v2.0.0
Release v2.0.0
Release Notes
This major release introduces drun - a new distributed command execution tool, alongside significant architectural improvements and enhanced error handling. The release modernizes the codebase with Go context support, streamlines the CLI interface, and provides better reliability for distributed operations.
🚀 New Features
Distributed Command Execution
- New
druncommand: Execute commands across multiple remote servers simultaneously - Provides unified command execution with the same server discovery and authentication as other DTail tools
- Supports all existing connection options including SSH key authentication and host verification
🔧 Major Improvements
Enhanced Architecture
- Go context support: All operations now use proper context handling for better cancellation and timeout management
- Improved error handling: More reliable connection management with proper status code propagation
- Streamlined CLI: Removed ping timeout configuration as connections now handle timeouts more intelligently
Better Project Structure
- Reorganized internal packages: Moved file system operations to
internal/io/fs/, logging tointernal/io/logger/, and line processing tointernal/io/line/ - Cleaner separation: Better organized code with dedicated packages for specific functionality
- Enhanced modularity: Improved code reusability across different DTail components
Connection Management
- Automatic reconnection: More robust connection handling with improved retry logic
- Better resource cleanup: Proper connection lifecycle management prevents resource leaks
- Enhanced SSH integration: Improved SSH authentication and host key management
🐛 Bug Fixes
- Fixed connection stability issues during network interruptions
- Improved handler cleanup to prevent goroutine leaks
- Better error reporting for failed server connections
- Enhanced regex compilation error messages
📚 Documentation Updates
- Updated installation guide with
go getinstructions for easier setup - Added comprehensive
drunusage examples and documentation - Improved quick start guide with clearer SSH setup instructions
- Enhanced project structure documentation
⚠️ Breaking Changes
CLI Interface Changes
- Removed
--pingTimeoutflag: Connection timeouts are now handled automatically - Changed parameter naming: The
--filesparameter is now internally handled as--whatfor consistency across commands
Package Reorganization
- Internal package structure has been reorganized - this affects anyone importing DTail as a library
- Moved
internal/fs/→internal/io/fs/ - Moved
internal/logger/→internal/io/logger/ - Some internal APIs have changed for better context support
🔄 Migration Guide
For most users, this release requires no migration steps. The CLI interface remains largely compatible:
- Remove any
--pingTimeoutflags from scripts - connections now use intelligent timeout handling - Update any custom scripts to use the new
druncommand for remote command execution - If you were importing DTail as a Go library, update import paths for moved packages
🎯 What's Next
This release establishes a solid foundation for future enhancements including webhook support, additional platform integrations, and improved conflict resolution strategies for distributed operations.