What dagucloud/dagu shipped
Written by FoxPlug from public releases; not affiliated with Dagu. An automatic summary of the public release, pull request and commit data of github.com/dagucloud/dagu. Dagu did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- Container steps now support
env_fileto load environment variables from files, with${VAR}path references evaluated and relative paths searched in the working directory first. Pull request #2881 - Desktop automation steps
computer.runandcomputer.extractlet DAGs drive mouse and keyboard on macOS and Windows worker desktops for RPA-style flows against legacy apps. Pull request #2865 dagu start --onlyruns selected steps of a DAG as a normal recorded run, with all other steps marked skipped, and accepts--outputs-fromto reuse upstream outputs from a prior run. Pull request #2855- Mailbox actions
mail.search,mail.organize, andmail.sendlet DAGs read, organize, and reply to emails for email-driven automation workflows. Pull request #2867 - Browser automation actions
browser.extractandbrowser.rundrive Chrome in natural language, extract structured data, check page state, and pause for human interaction like MFA. Pull request #2843 - Parallel sub-DAG steps now publish a JSON array of each child run's outputs on the step outputs channel, so
${fan_out.outputs}works for downstream steps without side-effect files. Pull request #2787 - Condition checks now propagate workflow abort and timeout behavior instead of collapsing every failure into a single condition-not-met status. Pull request #2878
dagu start --outputlets callers set skipped steps' outputs directly, so fresh values like API tokens can be fed to selected steps without a prior recorded run. Pull request #2859- Cron descriptors like
@daily,@weekly,@monthly, and@yearlynow work everywhere a cron expression is accepted, canonicalized to 5-field cron. Pull request #2876 - The DAG Runs page DAG Name and Run ID filters now offer autocomplete suggestions via a reusable
AutocompleteInputcomponent. Pull request #2877
Why it matters
This week shipped desktop automation, mailbox reading, browser control, and parallel job fan-out with outputs—major features for RPA workflows, email automation, and data-driven DAGs. Bug fixes stabilize Windows execution, condition handling, and multi-attempt artifacts. The release also adds developer experience improvements like the --only flag for step-level testing.
Changelog entry
- feat: add container
env_filesupport Pull request #2881 - fix(runtime): propagate condition abort and timeout Pull request #2878
- fix: make computer steps safe on a shared desktop Pull request #2892
- feat(ui): autocomplete for DAG name and run ID filters Pull request #2877
- feat(scheduler): support cron descriptors like @daily Pull request #2876
- Add computer steps for desktop automation Pull request #2865
- feat: reply to emails, publish
message_id, and accept OAuth scopes Pull request #2871 - fix: type mail attachments and reject unreadable ones Pull request #2869
- feat: add mailbox actions Pull request #2867
- feat: set skipped steps' outputs with dagu start --output Pull request #2859
- feat: run selected steps with dagu start --only Pull request #2855
- feat: browser automation actions (browser.extract / browser.run) Pull request #2843
- feat: publish parallel sub-DAG outputs on the step outputs channel Pull request #2787
v2.17.2+ ships desktop automation (computer.run/extract), email actions (mail.search/organize), browser control (browser.run/extract), and parallel fan-out with outputs. Run selected steps with --only. Stabilized Windows.
Dagu's latest releases introduce major capabilities for enterprise automation: desktop RPA against legacy apps, email-driven workflows with full mailbox control, browser automation in natural language, and parallel job fan-out with structured outputs. Developers can now test individual steps with --only and feed fresh values without prior runs. Windows execution stabilized across the board.
Week of September 14, 2026
What shipped
- Human task steps can now reference safe artifacts from their current DAG run through an optional
with.artifactsconfiguration. Pull request #2824 - Preconditions and router routes support numeric comparisons with a
num:prefix for threshold checks likenum:>=0.8. Pull request #2816 - Steps gain a
stdin:field to pipe file contents directly to command input, replacing manual cat-and-pipe patterns. Pull request #2786 - A new Artifacts page lets users browse artifact files grouped by DAG run with filtering and cross-DAG enumeration. Pull request #2788
- Step logs can be downloaded as a ZIP file containing separate stdout and stderr files for each step. Pull request #2781
- The Executions page now supports saved run views that filter by name, status, run ID, label, and date with sidebar bookmarking. Pull request #2774
- Sidebar bookmarks can be reordered by dragging or Alt+Up/Down keyboard navigation, with order saved per remote node. Pull request #2807
- Every run now paces through the DAG's queue including scheduled and catch-up runs, enforcing
max_concurrencyacross all sources. Pull request #2775 - Sub-DAG steps gain an optional
pass_envfield to hand parent environment values to child runs. Pull request #2783 - The
dagu retry --step --bypass-preconditionsflag lets steps retry after their preconditions stop matching. Pull request #2785
Why it matters
This week delivers artifact management improvements with a new Artifacts page and ZIP downloads, adds numeric condition comparisons for more flexible workflows, and fixes queue enforcement so scheduled runs respect concurrency limits. The changes reduce boilerplate (stdin piping, pass_env), improve the UI with saved views and reorderable bookmarks, and make run history clearer with better artifact indexing.
Changelog entry
- Human task steps can reference safe artifacts from their current root DAG run via optional
with.artifactspaths Pull request #2824 - Preconditions and router routes support numeric comparisons with
num:prefix (e.g.,num:>=0.8) Pull request #2816 - Step-level
stdin:field pipes file contents to command input, replacing manual cat-and-pipe patterns Pull request #2786 - Runtime waits for durable status persistence before continuing past a node, fixing race conditions with concurrent dependents Pull request #2809
- Sub-DAG steps (
call,action: dag.run,dag.parallel) gain optionalpass_envfield for additive environment inheritance Pull request #2783 - History navigation (↑/↓) now works in Executions Grouped and Overview Timeline views Pull request #2794
- Step logs can be downloaded as ZIP with separate stdout and stderr files per step Pull request #2781
dagu retry --step --bypass-preconditionsallows retrying after precondition window closes Pull request #2785- jq executor supports named arguments via
with.argsfor using workflow values as$namevariables Pull request #2782 - Artifact keyboard navigation improved: j/k and arrow keys navigate visible tree including collapsed runs Pull request #2808
- Sidebar bookmarks support drag reordering and Alt+Up/Down keyboard navigation, order saved per remote node Pull request #2807
- Artifacts page supports saved views (bookmarks) with filters and per-workspace default Pull request #2793
- New Artifacts page lists runs with files, enabling cross-DAG artifact enumeration and browsing Pull request #2788
- DAG-run artifacts now partitioned by date and indexed for cross-DAG enumeration Pull request #2776
- Non-positive
max_active_stepsvalues treated as unlimited instead of preventing graph step startup Pull request #2777 - Executions page supports saved run views filtering by name, status, run ID, label, and date Pull request #2774
- All runs now pace through DAG queue (scheduled, catch-up, retry, explicit), enforcing
max_concurrencyconsistently Pull request #2775 - Inherited SMTP omitted from run snapshots; global/workspace SMTP reloaded when executing saved runs Pull request #2773
- Scheduler applies inherited base.yaml defaults (schedules, catchup, overlap, queues) to metadata and execution loads Pull request #2770
v2.16.6 and later: numeric conditions, stdin piping, Artifacts page, ZIP log downloads, saved run views, queue pacing, and pass_env for sub-DAGs.
This week's updates to Dagu add numeric conditions for thresholds (num:>=0.8), stdin piping to replace cat boilerplate, a new Artifacts page for cross-DAG file browsing, and ZIP downloads for step logs. The UI gains saved run views with sidebar bookmarking, reorderable shortcuts, and improved artifact navigation. Runtime fixes include queue pacing for all run sources and pass_env support in sub-DAG calls.