Skip to content

v2.1.0

Choose a tag to compare

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

Release v2.1.0

Release Notes

This release introduces scheduled job capabilities and improves regex handling, enabling automated background processing and more flexible pattern matching for log analysis.

✨ New Features

Scheduled Jobs

  • Automated background processing: Configure recurring MapReduce jobs that run automatically at specified time intervals
  • Smart execution logic: Jobs only run when output files don't already exist, preventing duplicate processing
  • Dynamic date substitution: Use variables like $today, $yesterday, $tomorrow in file paths for date-based log processing
  • Flexible scheduling: Set time ranges to control when jobs execute (e.g., only during business hours)
  • Secure authentication: Scheduled jobs use automatically generated secure credentials

This enables use cases like:

  • Daily log aggregation and analysis
  • Automated report generation
  • Batch processing of historical data
  • Scheduled maintenance tasks

Enhanced Regex Support

  • Multi-word regex patterns: Regular expressions can now contain whitespace, making complex pattern matching more intuitive
  • Improved pattern flexibility: Better support for natural language-style search patterns

🔧 Improvements

Architecture Enhancements

  • Modular SSH callbacks: Refactored host key validation system for better extensibility and maintainability
  • Improved error messaging: More descriptive error messages for version compatibility issues
  • Code organization: Moved prompt functionality to dedicated I/O package for better structure

User Experience

  • Better debugging: Enhanced debug output for regex processing
  • Clearer permissions: Scheduled users automatically receive appropriate file access permissions

🛠️ Technical Changes

  • Updated version to 2.1.0
  • Refactored SSH authentication system to support multiple callback types
  • Added new configuration options for scheduled job management
  • Improved code modularity with better separation of concerns

📋 Configuration

To use scheduled jobs, add a Schedule section to your server configuration:

{
  "Schedule": [
    {
      "Name": "daily-logs",
      "Enable": true,
      "Files": "/var/log/app-$yesterday.log",
      "Query": "your-mapreduce-query",
      "Outfile": "/reports/daily-$today.txt",
      "TimeRange": [9, 17]
    }
  ]
}

This release maintains full backward compatibility with existing configurations and usage patterns.