Skip to content

v0.21.0

Choose a tag to compare

@airut-app airut-app released this 05 Apr 03:04
· 102 commits to main since this release
7b0be81

Highlights

Scheduled tasks — Airut can now run tasks on a cron schedule without any external trigger. Define a schedule in your server config with a cron expression, a prompt or trigger script, and an email recipient — Airut handles the rest. Two modes are supported: prompt mode runs Claude with a fixed prompt on each fire, and script mode runs a command first and only invokes Claude when there's output to analyze or a failure to investigate. Results are delivered via email with full reply-back support, so you can respond to a scheduled task's output and continue the conversation. (#466, #467, #468, #472, #475, #476)

As an example, the repo includes a CI trigger script (scripts/ci_trigger.py) that runs local CI checks on a schedule — on failure it generates a prompt for Claude to diagnose the issue and open a fix PR, on success it exits silently. (#469)

Bug Fixes

  • Config editor nested field diffs — Fixed _expand_item_fields() using leaf.name instead of leaf.path for keyed collection items with nested dataclass fields (e.g. signing credentials). Diff output now shows the correct full path and values. (#465)

Security

  • Pygments upgrade — Upgraded Pygments 2.19.2 → 2.20.0 to fix GHSA-5239-wwwm-4pmq (low-severity ReDoS in ADL lexer). (#470)

Other Changes

  • Reduced polling intervals in integration test helpers for faster test runs. (#473, #474)