Repository navigation
v2.2.0
Release v2.2.0
Release Notes
This release introduces powerful new background job execution capabilities, enhanced command-line interfaces, and improved logging throughout the DTail ecosystem. Users can now run long-running commands independently of SSH sessions and benefit from a more robust, user-friendly experience.
🚀 New Features
Background Job Management
- Execute commands in background: Run long-running operations without maintaining an active SSH connection using the new
--backgroundflag - Job lifecycle control: Start, cancel, and list background jobs with granular control over execution
- Named job management: Assign custom names to background jobs for easier identification and management
Enhanced Command Execution
- Script upload and execution: Upload and run complex shell scripts directly through
drun, enabling sophisticated remote automation - Flexible argument passing: Pass outer arguments to scripts for dynamic execution scenarios
- Improved timeout handling: Set execution timeouts to prevent runaway processes
Advanced MapReduce Capabilities
- Generic log line processing: Analyze any log format, not just structured logs, enabling broader data analysis use cases
- Cumulative result modes: Choose between additive and fresh results depending on your analysis needs
- Enhanced field support: Access new built-in fields like
$line,$empty, and improved hostname handling
🛠 Improvements
User Experience
- Simplified flag naming: Replaced
--silentwith the more intuitive--quietacross all commands for consistency - Better error reporting: More descriptive error messages help troubleshoot issues faster
- Improved process management: Enhanced subprocess termination ensures clean resource cleanup
Performance & Reliability
- Optimized logging system: Redesigned logging architecture reduces overhead and improves performance
- Better connection handling: More robust SSH connection management with improved retry logic
- Enhanced process group management: Proper process group handling prevents orphaned processes
Developer Experience
- Performance profiling support: Optional pprof integration for performance analysis and debugging
- Structured configuration: Improved configuration handling with better validation and error messages
🐛 Bug Fixes
- Silent logging issues: Resolved problems where important log messages weren't being displayed (mimecast#5)
- Process termination: Fixed race conditions in command cancellation and process cleanup
- Exit status handling: Improved exit code propagation for better error detection
- Connection stability: Enhanced SSH connection reliability under various network conditions
🔧 Technical Improvements
Logging System Overhaul
- Replaced complex mode system with cleaner, more maintainable logging architecture
- Improved log rotation and file handling
- Better separation between client and server logging modes
Code Organization
- Enhanced error handling throughout the codebase
- Improved context usage for better cancellation support
- Cleaner separation of concerns in command handling
📋 Breaking Changes
- Flag rename: The
--silentflag has been renamed to--quietacross all commands. Update your scripts and automation accordingly. - Logging behavior: Some logging output may appear differently due to the logging system improvements, though functionality remains the same.
🔄 Migration Notes
If you're using the --silent flag in scripts or automation:
- Replace
--silentwith--quietin all DTail command invocations - Test your scripts to ensure expected behavior is maintained
- Update any documentation or runbooks that reference the old flag
This release maintains backward compatibility for all other features and configurations.