Skip to content

v2.2.0

Choose a tag to compare

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

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 --background flag
  • 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 --silent with the more intuitive --quiet across 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 --silent flag has been renamed to --quiet across 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:

  1. Replace --silent with --quiet in all DTail command invocations
  2. Test your scripts to ensure expected behavior is maintained
  3. Update any documentation or runbooks that reference the old flag

This release maintains backward compatibility for all other features and configurations.