• v1.2.1 d478597c11

    cron-sanity-checker v1.2.1
    Some checks failed
    tests / test (3.14) (push) Has been cancelled
    tests / test (3.8) (push) Has been cancelled
    release / release (push) Successful in 14s
    Stable

    Ghost released this 2026-10-17 01:50:00 -07:00 | 11 commits to main since this release

    • Day-of-month/day-of-week matching now follows Vixie cron/cronie exactly: a day field that starts with * (e.g. */2) makes cron AND the two fields, so 0 0 */2 * 1 runs only on odd-dated Mondays. Next-run times, the OR warning, never-fires detection and descriptions were wrong for these schedules.
    • Overlap detection follows the same day rule, so 0 0 1 * 1 (the 1st OR any Monday) now overlaps 0 0 2 * *; it used to be missed.
    • 0-30/15 is described as "At minute 0, 15 and 30", not "Every 15 minutes".
    • Field errors from --file name their crontab line (line 7: minute: value 60 out of range ...).
    • Tests: accuracy suite (known-bad and real-world known-good schedules, 300-expression differential corpus against croniter's parser + Vixie's day rule), mutation testing (nightly), claims ledger.

    Install

    pipx install git+https://git.canutethegreat.com/CanuteTheGreat/cron-sanity-checker.git@v1.2.1
    # or the wheel attached to this release:
    pipx install https://git.canutethegreat.com/CanuteTheGreat/cron-sanity-checker/releases/download/v1.2.1/cron_sanity_checker-1.2.1-py3-none-any.whl
    # or the single file (stdlib-only Python 3):
    curl -fsSLO https://git.canutethegreat.com/CanuteTheGreat/cron-sanity-checker/releases/download/v1.2.1/cron_sanity_checker.py
    

    SHA-256

    4291f191c4d3d23dd7b74c9a5d248e62aa891d7c0f825a62d8e736743b40a3a8  cron_sanity_checker.py
    2d2e9c47c54353f875c1152107a0ae7e0c136f39f06612fbafca44a0028959db  cron_sanity_checker-1.2.1-py3-none-any.whl
    07c805a89ff2f403c029494e49f2fe1f70fb11e8dad3e6e024a6ebd4899452d4  cron_sanity_checker-1.2.1.tar.gz
    
    Downloads