Skip to content

Release history

dagu releases

A local-first workflow engine built the way it should be: declarative, file-based, self-contained, air-gapped ready. One binary that scales from laptop to distributed cluster. Your Workflow Operator handles creating and debugging workflows.

All releases

52 shown

No immediate action
v2.7.9 Bug fix

Mobile layout + watcher isolation

Review required
v2.7.8 Breaking risk
RBAC

DAG write permission required

No immediate action
v2.7.7 Bug fix

DAG mounts writable

No immediate action
v2.7.6 Bug fix

Queue param fix + refactor + harness provider

Review required
v2.7.5 Mixed
Auth

Security headers + rate limiting + bugfixes

Review required
v2.7.4 Bug fix
Dependencies

Zombie‑repair fix + DAG limits + MCP audit

No immediate action
v2.7.3 Bug fix

Git sync shallow fixes

No immediate action
v2.7.2 Maintenance

Routine maintenance and dependency updates.

Review required
v2.7.1 Breaking risk
Auth Breaking upgrade

Graph default DAG type

No immediate action
helm-dagu-1.0.8 Maintenance

Routine maintenance and dependency updates.

No immediate action
helm-dagu-1.0.7 Maintenance

Routine maintenance and dependency updates.

Review required
v2.6.10 Bug fix
Auth

Auth‑expired loop fix

Review required
v2.6.9 Bug fix
Dependencies

.env load + Windows cleanup

v2.6.8 Bug fix
Notable features
  • Added opencode provider
Full changelog

Added

  • fix: add opencode provider and fix reasoning content echo in tool call turns (#2134) @yottahmd

Fixed

  • fix: avoid recursive lock cleanup on old windows (#2130) @yottahmd
  • fix: resolve runtime env references in DAG env (#2131) @yottahmd

Full Changelog: https://github.com/dagucloud/dagu/compare/v2.6.7...v2.6.8

v2.6.7 Bug fix

Fixed file uploads above 100MB silently dropping.

Full changelog

Hotfix release

Fixed

  • fix: tolerate extra agent tool fields (#2128) @yottahmd
  • fix: support old powershell in generated scripts (#2129) @yottahmd

Full Changelog: https://github.com/dagucloud/dagu/compare/v2.6.6...v2.6.7

v2.6.6 Bug fix
Notable features
  • Show parallel sub‑DAG runs in timeline
  • Agent session search tool
  • Log step type
Full changelog

Added

  • feat: show parallel sub-dag runs in timeline (#2093) @yottahmd
  • feat: add agent session search tool (#2097) @yottahmd
  • feat: add log step type (#2101) @yottahmd
  • feat: improve agent content navigation (#2102) @yottahmd
  • feat: add worker prometheus metrics (#2104) @yottahmd
  • feat: validate step output contracts (#2105) @yottahmd
  • feat(docs): expose description frontmatter metadata (#2106) @yottahmd
  • feat: add dagu agent command (#2107) @yottahmd
  • feat: add workspace base config (#2108) @yottahmd
  • feat: carry push-back context into AI steps (#2109) @yottahmd
  • feat: add agent runbook management tool (#2112) @yottahmd
  • Add agent DAG management tools and run watches (#2113) @yottahmd
  • feat: add agent web search backends (#2119) @yottahmd
  • feat: improve agent session list pagination (#2126) @yottahmd

Changed

  • chore(deps): bump ajv from 6.12.6 to 6.15.0 in /ui in the ui-security group across 1 directory (#2088) @dependabot
  • docs: add GitHub issue templates and PR template (#2124) @zichen0116

Fixed

  • fix: preserve dag-run artifact paths in index (#2087) @yottahmd
  • fix: load base config during validation (#2089) @yottahmd
  • fix: support multiline schema parameter input (#2094) @yottahmd
  • fix: support underscored docs and md URLs (#2095) @yottahmd
  • fix: preserve workspace label when creating DAGs (#2096) @yottahmd
  • fix: clean up step validation errors (#2098) @yottahmd
  • fix: keep agent modal inside viewport (#2099) @yottahmd
  • fix: preserve working_dir on retry restore (#2111) @yottahmd
  • fix: prevent duplicate runbook tab activation (#2115) @yottahmd
  • fix: tolerate unsupported unix socket transport (#2117) @yottahmd
  • fix: harden agent patch tool (#2118) @yottahmd
  • fix: improve built-in agent chat tooling (#2120) @yottahmd
  • fix: harden mermaid graph rendering (#2123) @yottahmd
  • fix: clean command process groups on parent death (#2125) @yottahmd
  • fix: keep history JSON output valid for empty results (#2127) @yottahmd

Contributors

Thanks to our contributors for this release:

| Contribution | Contributor |
| --- | --- |
| chore(deps): bump ajv from 6.12.6 to 6.15.0 in /ui in the ui-security group across 1 directory (#2088) | @dependabot |
| feat: make timeline show sub graph execution (when using parallel) (#2048) | @privat-eco (report) |
| Bug: When I retry a step , the " working_dir" was lost and the command script can not found (#2110), Bug: In the Runbooks , It will open two tabs when you click a file name menu (#2114) | @aigeling (report) |
| 401 Client Error (#2116) | @zz111111 (report) |
| Graphs not rendered (#2121) | @frafra (report) |
| docs: add GitHub issue templates and PR template (#2124) | @zichen0116 |
| dagu history should output its error messages to STDERR instead of STDOUT, especially when using --format json (#2092) | @struffel (report) |

New Contributors

  • @zichen0116 made their first contribution in https://github.com/dagucloud/dagu/pull/2124

Full Changelog: https://github.com/dagucloud/dagu/compare/v2.6.5...v2.6.6

v2.6.5 Bugfix

Fixed the UI to hide the local‑only remote node selector.

Changelog

Changelog

  • 03a9a56d541f1c4ebb781e4266627321baac6c4b fix: hide local-only remote node selector
v2.6.4 Maintenance

Minor fixes and improvements.

Full changelog

Changelog

  • 9a23b72b5542595b97b5fde06fb8b2546dec8665 fix: publish npm packages under dagucloud org
v2.6.3 Maintenance

Minor fixes and improvements.

Full changelog

Changelog

  • 2bead6944b4bd2deda459ed4b1ab8e3409001517 fix(config): whitelist XDG_STATE_HOME (#2056) (#2077)
v2.6.2 Mixed
Security fixes
  • Hardened workflow files against shell injection and over-privileged tokens
Notable features
  • Webhook HMAC authentication
  • Approval workflow rewind and push-back history
  • Structured step outputs
Full changelog

Added

  • feat: add approval rewind and push-back history (#2038) @yottahmd
  • feat: add schema-backed DAG param forms (#2039) @yottahmd
  • feat: add webhook HMAC authentication (#2045) @yottahmd
  • feat: forward selected webhook headers to DAG runs (#2050) @yottahmd
  • feat: expand DAG examples for template, harness, and custom step types (#2051) @yottahmd
  • feat: replace object output with structured step outputs (#2052) @yottahmd

Changed

  • refactor: simplify loader and execution boundaries (#2034) @yottahmd
  • refactor: isolate manifest decoding and standardize local transport (#2035) @yottahmd
  • Update sponsorship link in README.md (#2044) @lukasMega

Fixed

  • fix: corroborate stale distributed run repair with worker heartbeats (#2041) @yottahmd
  • fix: preserve edited schedules across suspension rewrites (#2043) @yottahmd
  • sec: harden workflow files against shell injection and over-privileged tokens (#2046) @krlmlr
  • fix: harden DAG param validation and artifact inference (#2049) @yottahmd
  • fix: suppress success digest bot notifications (#2054) @yottahmd
  • fix: refresh structured output examples (#2055) @yottahmd

Contributors

Thanks to our contributors for this release:

| Contribution | Contributor |
| --- | --- |
| Feature Request: Add UI Parameter Controls (Radio Buttons & Dropdowns) for Workflow Input (#2033) | @vit76 (report) |
| Unable to stop/cancel running jobs after worker terminated by k8s (#2040) | @pommetjehorlepiep (report) |
| modify spec's schedule time but not execute (#2042) | @zz111111 (report) |
| Update sponsorship link in README.md (#2044) | @lukasMega |
| Native HMAC-SHA256 verification on webhook deliveries (#2036), sec: harden workflow files against shell injection and over-privileged tokens (#2046), Forward selected webhook request headers to triggered DAG runs (#2037) | @krlmlr, @krlmlr (report) |

New Contributors

  • @lukasMega made their first contribution in https://github.com/dagucloud/dagu/pull/2044
  • @krlmlr made their first contribution in https://github.com/dagucloud/dagu/pull/2046

Full Changelog: https://github.com/dagucloud/dagu/compare/v2.6.1...v2.6.2

v2.6.1 Bug fix

Minor fixes and improvements.

Full changelog

Fixed

  • fix: reduce start-all CPU usage and event-driven SSE (#2031) @yottahmd

Full Changelog: https://github.com/dagucloud/dagu/compare/v2.6.0...v2.6.1

v2.6.0 New feature
Notable features
  • Kubernetes secret provider support
  • Bulk DAG-run deletion in web UI
  • Edit-and-retry DAG runs
Full changelog

Added

  • feat: add kubernetes secret provider (#2006) @yottahmd
  • feat: add bulk DAG-run deletion in web UI (#2009) @yottahmd
  • feat: add edit-and-retry DAG runs (#2010) @yottahmd
  • feat: add embedded Dagu API (#2011) @yottahmd
  • feat: add workflow design workspace (#2012) @yottahmd
  • feat: make DAG labels canonical (#2013) @yottahmd
  • feat: make workspace selection global (#2015) @yottahmd
  • feat: show cockpit run artifacts (#2017) @yottahmd
  • Allow disabling DAG retry policy (#2018) @yottahmd
  • feat: add workspace access and global filtering (#2019) @yottahmd
  • feat: support template functions in custom step types (#2020) @yottahmd
  • feat: add step with config alias (#2021) @yottahmd

Changed

  • ci: run tests on windows-latest (#1997) @yottahmd
  • ci: split ubuntu and windows tests by suite (#2002) @yottahmd
  • test: reduce fixed waits in slow suites (#2003) @yottahmd
  • ci: stop uploading Playwright reports (#2004) @yottahmd
  • test: stabilize distributed sub-DAG cancellation test (#2007) @yottahmd
  • docs: fix double-negative in comment in internal/runtime/condition.go (#2026) @kuishou68
  • refactor(ui): standardize component library usage (#2030) @yottahmd

Fixed

  • fix: allow runtime custom step inputs (#2005) @yottahmd
  • fix: align embedded engine run labels (#2014) @yottahmd
  • fix: validate sftp executor schema (#2022) @yottahmd
  • fix: handle Windows file persistence races (#2027) @yottahmd
  • fix: restore DAG status live updates (#2028) @yottahmd
  • Fix worker selector for sub-DAG calls (#2029) @yottahmd

Contributors

Thanks to our contributors for this release:

| Contribution | Contributor |
| --- | --- |
| Allow disabling all kinds of retries for a DAG (#2016) | @struffel (report) |
| [BUG] - DAG Definitions - type sftp unrecognized (#1976) | @thimuslux (report) |
| docs: fix double-negative in comment in internal/runtime/condition.go (#2026) | @kuishou68 |
| docs: fix double-negative in comment in internal/runtime/condition.go (#2025) | @kuishou68 (report) |
| immediate execution does not respect workerSelector (#1638) | @scilo7 (report) |

New Contributors

  • @kuishou68 made their first contribution in https://github.com/dagucloud/dagu/pull/2026

Full Changelog: https://github.com/dagucloud/dagu/compare/v2.5.0...v2.6.0

v2.5.0 Breaking risk
⚠ Upgrade required
  • Windows profile environment variables now whitelisted for config compatibility
  • Windows fallback added for bash tool
  • Feature gating now aligns with current license state
Breaking changes
  • Experimental GitHub Actions (gha) executor removed
Security fixes
  • dep: HIGH severity CVEs in go-jose and otel fixed
Notable features
  • DAG run artifacts support
  • Harness executor for coding agent CLI orchestration
  • Build-time custom step types
Full changelog

Added

  • feat: add definition page link to DAG run details header (#1977) @yottahmd
  • feat: add harness executor for coding agent CLI orchestration (#1978) @yottahmd
  • feat: add DAG definition improvement flow from the spec editor (#1980) @yottahmd
  • feat(spec): add build-time custom step types (#1987) @yottahmd
  • feat(ui): add custom step editor autocomplete (#1989) @yottahmd
  • feat(bots): add Discord bot integration (#1990) @yottahmd
  • feat(ui): add inherited custom step editor hints (#1994) @yottahmd
  • feat: add DAG run artifacts support (#1998) @yottahmd

Changed

  • chore: remove experimental gha (GitHub Actions) executor (#1983) @yottahmd
  • chore(deps): bump go-jose and otel to fix Trivy HIGH CVEs (#1984) @yottahmd
  • chore: pin GitHub Actions to commit SHAs and update to latest versions (#1985) @yottahmd
  • test(e2e): add distributed stack Playwright harness (#1996) @yottahmd

Fixed

  • fix: generate coordinator proto in hybrid mode (#1970) @yottahmd
  • fix: improve git sync publish and filtering (#1971) @yottahmd
  • fix: make agent chat working state optimistic in web UI (#1972) @yottahmd
  • fix: replace time.Sleep with deterministic synchronization in tests (#1973) @yottahmd
  • fix: re-fetch auth providers after setup step 1 authentication (#1974) @yottahmd
  • fix: return DAG with errors instead of 404 for invalid YAML files (#1975) @yottahmd
  • fix: honor inherited DAG type during validation (#1981) @yottahmd
  • fix: expire stale pending dispatch reservations (#1982) @yottahmd
  • fix: distribute agent snapshots to shared-nothing workers (#1986) @yottahmd
  • fix: remove third-party skill installation from embedded AI agent (#1988) @yottahmd
  • fix: correct queue counts for distributed runs (#1992) @yottahmd
  • fix: route local dag-run stop correctly (#1993) @yottahmd
  • fix(config): whitelist common Windows profile env vars (#1991) (#1995) @yottahmd
  • fix(agent): add Windows fallback for bash tool (#1999) @yottahmd
  • fix(auth): align gated features with current license state (#2000) @yottahmd

Contributors

Thanks to our contributors for this release:

| Contribution | Contributor |
| --- | --- |
| Type inheritance for base config still fails validation in v2.4.3 (#1979) | @bagemt (report) |
| Bug: some scheduled tasks are queued but not run (#1837) | @jonasban (report) |
| Suggestion for Windows: Add more Windows' default environment variables to the whitelist (#1991) | @ruxo (report) |

Full Changelog: https://github.com/dagucloud/dagu/compare/v2.4.3...v2.5.0

v2.4.3 Bug fix

Dashboard no longer lists queued DAG runs, fixing a display bug that showed stale workflow executions.

v2.4.2 Breaking risk
Breaking changes
  • CLI remote nodes removed and replaced with contexts
Security fixes
  • Hardened event-driven bot notifications
Notable features
  • Centralized event store for event-driven orchestration
  • Kubernetes step executor with DAG defaults
  • Inline JSON Schema validation for DAG parameters
Full changelog

Added

  • feat: add centralized event store (#1885) @yottahmd
  • feat: add kubernetes step executor and DAG defaults (#1886) @yottahmd
  • feat: add inline JSON Schema validation for DAG params (closes #1182) (#1887) @mbprabhoo
  • feat: support OpenAI Codex auth and reasoning effort in agent settings (#1921) @yottahmd
  • feat: add configurable env passthrough for step execution (#1925) @yottahmd
  • feat: add configurable automatic update checks (#1941) @yottahmd
  • Add event feed UI and harden event-driven bot notifications (#1946) @yottahmd
  • feat(coordinator): support IPv6 address format and improve address pa… (#1947) @artikell
  • feat: replace CLI remote nodes with contexts (#1949) @yottahmd
  • feat: add cursor pagination for dag runs (#1952) @yottahmd
  • feat: show next scheduled dag run in details (#1953) @yottahmd
  • spec: inherit DAG type from base config before build (#1964) @yottahmd
  • feat: improve queue browsing and dequeue reliability (#1967) @yottahmd
  • feat: paginate cockpit and dashboard dag runs (#1969) @yottahmd

Fixed

  • fix: preserve inline schema params metadata and legacy map handling (#1923) @yottahmd
  • fix: preserve kubernetes discovery env for worker command steps (#1924) @yottahmd
  • fix: allow keyless local agent setup (#1936) @yottahmd
  • fix: redesign global search with cursor feeds (#1945) @yottahmd
  • fix: warn on misleading cron step values (#1948) @tmchow
  • fix: stop dashboard and cockpit dag run refetch loop (#1954) @yottahmd
  • fix: restore immediate bot activity indicators (#1956) @yottahmd
  • fix: expand runtime vars in output paths (#1957) @yottahmd
  • fix: preserve restored step config on approval resume (#1959) @yottahmd
  • Fix reschedule for inline DAG run snapshots (#1965) @yottahmd
  • fix: route reschedule through enqueue (#1966) @yottahmd
  • fix: replace app live polling with event-driven SSE updates (#1968) @yottahmd

Contributors

Thanks to our contributors for this release:

| Contribution | Contributor |
| --- | --- |
| feat: add inline JSON Schema validation for DAG params (closes #1182) (#1887) | @mbprabhoo |
| Local Agent Provider Unnecessarily Requires API Key (#1882) | @arky (report) |
| feat(coordinator): support IPv6 address format and improve address pa… (#1947) | @artikell |
| fix: warn on misleading cron step values (#1948) | @tmchow |
| schedule is not executed according to the schedule (#639) | @JuchangGit (report) |
| Display when is the next scheduled dag run (#1950), Add support for inheritance of type field from base config (#1961) | @bagemt (report) |
| DAGU_RUN_STEP_NAME empty in step's stdout attribute (#1955) | @dev-epices (report) |
| registry_auths and step env lost after approval step resume (#1958) | @pengu-fr (report) |

Full Changelog: https://github.com/dagucloud/dagu/compare/v2.4.1...v2.4.2

helm-dagu-1.0.6 Maintenance

A Helm chart for a distributed data service was published, allowing deployment through a public repository and requiring correct storage class settings for persistence.

v2.3.10 New feature
Notable features
  • JSON Schema validation
  • One-off start schedules
  • Built-in REST API docs
v2.3.7 New feature
Notable features
  • Step-scoped output access
  • Template executor
  • Slim-sprig functions support
v2.3.6 Bugfix

## Changelog * ee9adb443db4da8d57c0f85b81cf931c76ddf837 fix: log existing Dagu home path as info

v2.3.5 Bug fix

Fixed DAG retry logic during coordinator failures and ensured precondition shell commands receive proper runtime environment variables.

v2.3.4 Bug fix

Fixed timezone handling preservation, session loop initialization, and stricter parameter validation for DAG execution.

v2.3.3 New feature
Notable features
  • Format string config for HTTP
  • File input via jq
  • Variable references in repeat_policy
v2.3.1 Bug fix
Security fixes
  • DAG file traversal via encoded slashes
Notable features
  • Coordinator/Worker health endpoints
v2.3.0 New feature
Notable features
  • Slack Bot integration
  • Telegram Bot integration
  • DAG-Level Retry Policy
v2.2.4 Security relevant
Security fixes
  • SSE Endpoint Authentication: Basic auth now required
Notable features
  • dagu ai install command
  • Built-in AI agent references
v2.2.3 Bug fix

Fixed SubDAG step view link and added missing approval field to DAG JSON schema to ensure consistency and completeness.

v2.2.1 Bug fix

Minor update to use step ID as display name when a custom name is not specified, improving default labeling in DAG graphs.

v2.2.0 New feature
Breaking changes
  • hitl executor removed in favor of approval field on steps
Notable features
  • Generic approval field on any step type
  • DAG_RUN_WORK_DIR and DAG_DOCS_DIR environment variables
  • Tags parameter for start and enqueue APIs
v2.1.3 Bugfix

Fixed orphaned tool calls that could remain in LLM conversation history, preventing agent state inconsistency.

v2.1.2 Maintenance

Changed default landing page from Dashboard to Cockpit for improved workflow management.

v2.1.1 New feature
Notable features
  • Cockpit workspace kanban view
  • File-based DAG store index
  • Document tab management
v2.0.4 Bug fix

Fixed SSE timeout and stale data issues causing false conflict warnings, hardened agent modal stability, and resolved agent step hangs after LLM responses.

v2.0.3 Bug fix

Fixed SSE connection handling to restore save button availability and prevent authentication and stale data issues when switching remote nodes.

v2.0.2 Breaking risk
Breaking changes
  • OS environment variable expansion changed for non-shell executors
  • Auth mode default changed to builtin
  • Chain DAG depends field removed
v1.30.2 New feature
Notable features
  • SSH shell configuration
  • Chat step type with multi-provider LLM support
  • Per-DAG Prometheus metrics

Beta — feedback welcome: [email protected]