Skip to content

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 00:08
8095305

Write cron-union output to gitignored .compailed.cron while preserving schedule.cron as the pure human-edited source.

Update cron-union to 1.0.3 so compiled routine cron generation natively accepts POSIX zero-based day-of-week ranges.

Keep valid cron schedules active when cron-union cannot simplify an expression, falling back to the validated schedule lines instead of panicking during crontab sync.

Time out hung crontab - installs so daemon startup and routine sync report a clear error instead of wedging.

Enable clippy::struct_excessive_bools, scope-allowed on RoutineResponse.

Drop broken intra-doc links so cargo doc passes on main.

Expose multi-schedule routines across REST, MCP, CLI, UI, derived next-run fields, and calendar projections while keeping the legacy schedule field as the primary schedule for backward compatibility.

Added

Opt-in failure circuit-breaker for routines (#521): set a routine's new failure_threshold to
auto-disable it (and stop scheduling further runs) after that many consecutive failed-or-unknown
runs, instead of retrying forever. consecutive_failures and auto_disabled_reason are tracked
per routine and surfaced on GET /routines; manually re-enabling a routine resets the counter and
clears the reason. Leaving failure_threshold unset (or 0) keeps today's unlimited-retry
behavior. UI surfacing is left as a follow-up.

Write cron-union output to schedule.compailed.cron instead of the legacy hidden .compailed.cron sidecar.

Added

UI: surface the failure circuit-breaker (#521) on the Routines and Overview pages. A routine
auto-disabled by repeated failures now shows a distinct AUTO-DISABLED health badge (tooltip
carries the daemon's actual auto_disabled_reason) instead of being indistinguishable from a
routine someone paused on purpose, gets its own filter facet and Routines-page stat tile, and
now appears in the Overview's NEEDS ATTENTION panel — previously auto-disabled routines were
silently excluded there along with intentionally-paused ones. An enabled routine nearing its
failure_threshold also gets an inline "N/M failures" chip (amber, red on the failure that would
trip the breaker) as an early warning before it auto-disables.