Skip to content

v3.1.0

Choose a tag to compare

@snonux snonux released this 12 Jul 10:48
· 579 commits to master since this release

Release v3.1.0

Release Notes

This release modernizes DTail's architecture with improved signal handling, enhanced regex support, and streamlined command-line interfaces. Key improvements include better connection management, more robust error handling, and simplified deployment workflows.

Breaking Changes

⚠️ Important: The drun command has been removed in this release. Users should migrate to alternative remote execution tools or use DTail's other commands for log analysis workflows.

New Features

Enhanced Regex Support

  • New regex package: Completely rewritten regular expression handling with better performance and reliability
  • Regex inversion: Added --invert flag to grep and dtail commands for negative matching (show lines that DON'T match the pattern)
  • Improved pattern serialization: Better handling of complex regex patterns across client-server communication

Improved Signal Handling

  • Graceful shutdowns: Enhanced interrupt signal handling provides cleaner connection termination
  • Better process management: Server now properly kills subprocesses when operations are cancelled
  • Connection stats on demand: Press Ctrl+C once to see connection statistics without terminating

Improvements

Command-Line Interface

  • Simplified flag parsing: Consolidated argument handling across all commands reduces complexity
  • Alias support: Added --grep as an alias for --regex for more intuitive usage
  • Better error messages: More descriptive error output helps troubleshoot connection and configuration issues

Performance & Reliability

  • Connection throttling fixes: Resolved race conditions in connection management for better stability
  • Memory optimization: Reduced memory usage in mapreduce operations and file handling
  • Enhanced SSH authentication: Added relaxed auth mode for development environments (use --relaxedAuth flag)

Server Management

  • Improved logging: Better debug output and more informative log messages
  • Protocol updates: Enhanced client-server communication protocol for better reliability
  • Background job management: More robust handling of long-running operations

Bug Fixes

  • Fixed silent logging issues that could cause missed log entries
  • Resolved connection throttling race conditions
  • Improved process termination to prevent orphaned subprocesses
  • Better handling of SSH key authentication edge cases
  • Fixed regex compilation errors that could crash the client

Developer Experience

Code Organization

  • Structured packages: Moved internal dependencies to internal/ directory following Go best practices
  • Command separation: All CLI commands now properly organized in cmd/ directory
  • Better testing: Added comprehensive unit tests for the new regex package

Configuration

  • SSH key support: Enhanced support for custom SSH private keys via --key flag
  • Flexible discovery: Improved server discovery mechanisms for dynamic environments
  • Timeout controls: Better timeout handling for various operations

Migration Guide

If you were using drun for remote command execution:

  1. Consider using standard SSH tools for simple command execution
  2. Use dmap for log analysis and aggregation tasks
  3. Leverage dtail with the new regex features for real-time log monitoring

All other commands maintain backward compatibility with existing configurations and scripts.


This release focuses on stability, performance, and user experience improvements while maintaining DTail's core functionality for distributed log analysis and monitoring.