Highlights
v2.21 adds a ClickHouse step, lets browser steps choose when the model is called, and makes headless runs behave like headed Chrome. Distributed runs can pick workers per run and wait for workers that scale from zero. Schedulers on a shared volume now see DAG edits made on other hosts.
- ClickHouse: new
clickhouse.querystep over the HTTP interface (#3160). - Browser steps:
- Distributed execution: a per-run
workerSelectoron start and enqueue (#3197). The coordinator holds a dispatch until a matching worker registers, up tocoordinator.worker_wait_timeout(default 2m) (#3198). - Shared volumes: a scheduler on NFS, EFS or CephFS picks up DAG changes made through another host's UI or API within seconds (#3170, #3225).
- Security: Dagu's credential settings (auth secrets,
DAGU_ENCRYPTION_KEY,DAGU_SECRETS_VAULT_TOKEN, ...) no longer reach step environments. A DAG that needs one must request it throughsecretswithprovider: env(#3222). - CLI:
dagu dry --format json(#3190). XLSX commands read from stdin (#3184). - First run: a startup banner and a getting-started checklist.
dagu serveranddagu start-allnow exit when the web UI port is taken or the TLS certificate cannot be loaded (#3227).
Added
- feat(clickhouse): add clickhouse.query over the HTTP interface (#3160) @SCcagg5
- feat(browser): choose how much ai decides for acts and uploads (#3186) @yohamta0
- feat(browser): make headless browsers look and behave like headed Chrome (#3188) @yohamta0
Changed
- browser: test the via of operation events (#3158) @SCcagg5
- Publish the npm main package once its platforms install (#3181) @yohamta0
- Add dagu dry --format json for machine-readable step checks. (#3190) @kriyanshii
- docs: use start in the step outputs execution example (#3191) @dajiaohuang
- Allow creating Wiki pages from the all view (#3194) @yohamta0
- api: add per-run workerSelector to start and enqueue (#3197) @yohamta0
- coordinator: hold dispatch until a matching worker arrives (#3198) @yohamta0
- api: skip the symlink artifact tests where symlinks cannot be made (#3200) @yohamta0
- Resolve unquoted non-ASCII foreach item fields (#3203) @yohamta0
- computer: wait for the screen to be unlocked before a desktop step (#3221) @yohamta0
Fixed
- filedag: let the scheduler see DAG changes made on another host (#3170) @SCcagg5
- runtime: retry partially succeeded steps (#3183) @Ehsan-hash
- cli: read XLSX workbooks from standard input (#3184) @Ehsan-hash
- dirlock: let only one contender take over a stale lock (#3185) @RyoKusnadi
- Route loopback certificate destinations through the certificate proxy. (#3189) @kriyanshii
- Stop API reference styles leaking into the app (#3192) @yohamta0
- Keep panel shortcuts out of dialogs inside them (#3195) @yohamta0
- fix(browser): pass Chrome's own TLS through the certificate guard (#3196) @yohamta0
- desktop: report disconnected sessions as session_disconnected (#3199) @yohamta0
- Stop start-all as a whole on SIGHUP and SIGQUIT (#3201) @yohamta0
- Rename this server in Dagu Console from Dagu (#3202) @yohamta0
- Draw Activity runs as duration bars (#3219) @RyoKusnadi
- Keep Dagu's credentials out of step environments (#3222) @yohamta0
- filedag: shorten the marker refresh gap to 15s (#3225) @yohamta0
- Guide new installs to a first monitored workflow (#3227) @yohamta0
- Start monitoring as soon as a server connects (#3228) @yohamta0
- fix: keep npm and npx shims working for symlinked tool binaries (#3230) @RyoKusnadi
Contributors
Thanks to our contributors for this release:
| Contribution | Contributor |
|---|---|
| runtime: retry partially succeeded steps (#3183), cli: read XLSX workbooks from standard input (#3184) | @Ehsan-hash |
| dirlock: let only one contender take over a stale lock (#3185), Draw Activity runs as duration bars (#3219), fix: keep npm and npx shims working for symlinked tool binaries (#3230) | @RyoKusnadi |
| browser: test the via of operation events (#3158), feat(clickhouse): add clickhouse.query over the HTTP interface (#3160), filedag: let the scheduler see DAG changes made on another host (#3170) | @SCcagg5 |
| docs: use start in the step outputs execution example (#3191) | @dajiaohuang |
| bug: npm and npx commands not found when installing nodejs (#3229) | @gnaegle (report) |
| Route loopback certificate destinations through the certificate proxy. (#3189), Add dagu dry --format json for machine-readable step checks. (#3190) | @kriyanshii |
| bug: New Activity view not reflecting actual workflow duration (#3218) | @pommetjehorlepiep (report) |
Full Changelog: v2.20.1...v2.21.0