Skip to content

v2.0.0

Choose a tag to compare

@snonux snonux released this 12 Jul 10:47
· 674 commits to master since this release

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 drun command: 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 to internal/io/logger/, and line processing to internal/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 get instructions for easier setup
  • Added comprehensive drun usage examples and documentation
  • Improved quick start guide with clearer SSH setup instructions
  • Enhanced project structure documentation

⚠️ Breaking Changes

CLI Interface Changes

  • Removed --pingTimeout flag: Connection timeouts are now handled automatically
  • Changed parameter naming: The --files parameter is now internally handled as --what for 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 --pingTimeout flags from scripts - connections now use intelligent timeout handling
  • Update any custom scripts to use the new drun command 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.