github dagucloud/dagu v2.21.0

3 hours ago

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.query step over the HTTP interface (#3160).
  • Browser steps:
    • ai: every_run | on_miss | never sets how much the model decides for act and upload (#3186).
    • Headless browsers send the headed user agent and a desktop screen size, and report pages refused by bot checks (#3188).
  • Distributed execution: a per-run workerSelector on start and enqueue (#3197). The coordinator holds a dispatch until a matching worker registers, up to coordinator.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 through secrets with provider: 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 server and dagu start-all now 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

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

Don't miss a new dagu release

NewReleases is sending notifications on new releases.