github umputun/cronn v1.2.0
Version 1.2.0

latest releases: v1.13.0, v1.12.4, v1.12.3...
7 months ago

What's Changed

  • Add YAML configuration support with schema validation by @umputun in #38
  • Add conditional job execution based on system resources by @umputun in #39
  • refactor: improve conditions validation and error messages by @umputun in #40

Major Features

Conditional Job Execution

  • Added system resource-based conditional execution for jobs
  • Jobs can now be configured to run only when certain conditions are met:
    • CPU usage below threshold
    • Memory usage below threshold
    • Load average below threshold
    • Disk free space above threshold
    • Custom check scripts
  • Support for job postponement with configurable deadlines when conditions aren't met
  • Concurrent condition checks with configurable limits (--max-concurrent-checks)

YAML Configuration Support

  • Added support for YAML configuration files (auto-detected by .yml/.yaml extension)
  • Structured scheduling with separate fields (minute, hour, day, month, weekday)
  • Per-job repeater configuration in YAML
  • JSON Schema validation for YAML configurations
  • Optional job names for better organization

Enhanced Features

  • Support for inline comments in traditional crontab format
  • Improved error messages with standardized format for better log parsing
  • Comprehensive validation for all configuration fields

Improvements

  • Refactored validation logic for better maintainability
  • Reduced cyclomatic complexity in condition checking
  • Added comprehensive test coverage for all new features
  • Improved documentation with examples for all new features

Bug Fixes

  • Fixed whitespace formatting issues
  • Addressed various code review feedback items

Backward Compatibility

All changes are fully backward compatible. Existing crontab configurations will continue to work without modification.

Documentation

  • Updated README with comprehensive examples for:
    • YAML configuration format
    • Conditional execution
    • Per-job repeater settings
    • Custom check scripts with timeouts

Full Changelog: v1.1.1...v1.2.0

Don't miss a new cronn release

NewReleases is sending notifications on new releases.