Version 2.0.1
October 19, 2026
Changed
- Plugin Store metadata: developer URL, changelog URL, authors and an icon.
- Licence file renamed to
LICENSE.txt(MIT).
Version 2.0.0
October 2, 2026
- Renamed from
webdna/scheduler(handlescheduler) towebdna/schedule-it(handleschedule-it). The Plugin Store already lists Verbb's Scheduler under the handlescheduler, and Craft's update check matches plugins by handle, so every install was offered that plugin's updates in the control panel. - The schedule moves to
config/schedule-it.php, the commands toschedule-it/runandschedule-it/list, the namespace towebdna\\scheduleit, and the default log file tostorage/logs/schedule-it.log. The plugin keeps nothing in the database, so moving is uninstall the old, install the new — see the README. schedule-it/runandschedule-it/listrefuse to start while the schedule is still inconfig/scheduler.phpandconfig/schedule-it.phpdoes not exist, rather than running nothing.craft scheduler/runfails with a pointer toschedule-it/runonce the old plugin is gone.
Version 1.0.1
September 30, 2026
craft schedule/runnow fails with a pointer toscheduler/run. The underlying library registersschedule/runon every console app through Yii's extension bootstrap, where it ran an empty schedule and exited 0 — so a cron entry left on the old command reported success every minute while running nothing. Aschedulecommand a project configured itself is left alone.
Version 1.0.0
September 30, 2026
- Initial release: the schedule in
config/scheduler.php, run by onescheduler/runcron entry. - Jobs can be written in words —
Job::command('gc/run')->dailyAt('03:00'),->weekdays()->at('08:30')— or as cron expressions, side by side. - Jobs default to UTC, a cross-server lock, stdout and stderr in the log file, and replay of that output to the runner's stdout.
scheduler/runreports each job's exit code and exits non-zero if any failed, and refuses to start on a file or null mutex unlesssingleServeris set.scheduler/listshows every job and its next due time.- A misspelt key, bad expression or unknown timezone in the schedule is an error, never a job that silently does not run.