Skip to content

Releases: dagu-org/dagu

v1.24.6

12 Nov 01:44
e569995

Choose a tag to compare

This is a hot fix release for a minor issue.

Fixed

  • Auth/API: Exempt /api/v2/metrics from authentication so Prometheus scrapes succeed out of the box (#1409)

Contributors

Thanks to our contributors for this release:

Contribution Contributor
Metrics auth bypass report (#1409) @jeremydelattre59

Full Changelog: v1.24.5...v1.24.6

v1.24.5

11 Nov 18:03
db32c66

Choose a tag to compare

This release includes bug fixes for Docker executor, health check endpoint, and OIDC configuration initialization. Thank you for all contributors who reported those issues.

Changed

  • Status: Renamed the canceled lifecycle label to aborted across the CLI, runtime, APIs, schemas, and UI so status analytics and automations reference a single canonical value.

Fixed

  • Docker executor: Preserve step-level container entrypoints so step commands can rely on the image's default binary (#1403)
  • Auth/API: Add configurable public paths so /api/v*/health bypasses authentication for uptime probes by default (#1404)
  • Auth/OIDC: Guard verifier initialization so unreachable issuers fail gracefully instead of crashing the server (#1407)

Contributors

Thanks to our contributors for this release:

Contribution Contributor
Step-level Docker executor entrypoint fix (#1403) @vnghia
Status label rename to aborted @ghansham
Health endpoint access report (#1404) @jeremydelattre59
OIDC init panic report (#1407) @alangrafu

Full Changelog: v1.24.2...v1.24.5

v1.24.4

10 Nov 10:17

Choose a tag to compare

This release made to fix an issue in homebrew installation, the code is same as v1.24.2

Changelog

v1.24.2

09 Nov 11:03

Choose a tag to compare

This patch release fixes several UI issues and adds a few small enhancements. Thanks to all contributors!

Added

  • Executors: Added a raw output option to the JQ executor for emitting unquoted strings and primitives (#1392)
  • Installer: Added a --working-dir flag to place temporary files outside /tmp, useful on constrained systems (#1388)
  • Spec: Resolve parameter schema references relative to the process cwd, declared workingDir, or the DAG file location so JSON Schema files can be co-located with DAGs (#1371)

Fixed

  • UI: Ensure repeat-policy sub DAG run lists refresh their timestamps and counts without needing a window refocus by polling /sub-dag-runs while expanded (#1389)
  • Spec/UI: Stabilize default parameter ordering so Start DAG modal fields stay in place while editing (#1395)
  • OIDC: Automatically clear expired dashboard cookies and restart the auth flow so stale tokens no longer block the UI after restarts (#1394)

Contributors

Thanks to our contributors for this release:

Contribution Contributor
JQ executor raw output option (#1392) @kriyanshii
Repeat execution timestamp refresh report (#1389) @jeremydelattre59
Parameter field reorder report (#1395) @mitchplze
OIDC dashboard lock-out report (#1394) @mitchplze
Param schema resolution & skip validation option (#1371) @thefishhat
Installer working directory flag request (#1388) @jeremydelattre59

Full Changelog: v1.24.1...v1.24.2

v1.24.0

03 Nov 07:46
803d58c

Choose a tag to compare

This release includes many new features and bug fixes. Thank you very much for all contributors!

Added

  • API: Added optional dagName field to /dags/{fileName}/start and /dags/{fileName}/enqueue for overriding the DAG name used at runtime (#1365)
  • API: Added GET /api/v2/dag-runs/{name}/{dagRunId}/sub-dag-runs endpoint to retrieve timing and status information for all sub DAG runs, useful for tracking repeated executions of sub DAG steps (#1041)
  • UI: Enhanced sub DAG run display with execution timeline showing datetime, status indicators, and lazy loading of execution details (#1041)
  • API: Added POST /api/v2/dag-runs/{name}/{dagRunId}/reschedule endpoint for replaying runs while enforcing singleton mode to block reschedules when the DAG already has active or queued runs (#1347)
  • API: Added POST /api/v2/dag-runs/enqueue to enqueue DAG-runs directly from inline YAML specs without creating DAG files, including optional queue overrides (#1375)
  • CLI: Added --from-run-id flag to dagu start for cloning historic runs with their saved parameters (#1378)
  • CLI: Added dagu exec command to run shell commands without writing YAML files, with full logging, history, environment control, and queue support (#1348)
  • UI: Added grouped view with preset and specific date range selectors on the DAG-runs page for faster historical exploration (#1377)
  • Executors: Added an archive executor (type: archive) with extract, create, and list operations

Improved

  • UI: Persisted DAG/queue/search filters across navigation using a remote-aware search state provider so bookmarked URLs and session filters stay aligned (#1379)

Fixed

  • Windows: Restored queued DAG execution by exporting the necessary environment variables when spawning processes from the queue runner (#1373)
  • UI: Fixed DAG rendering while zooming out (#1380)
  • Server/API: Run command/env substitution for base paths and auth credentials when wiring routes, keeping originals only if evaluation fails and logging a warning

Contributors

Thanks to our contributors for this release:

Contribution Contributor
--name flag feature clarification and feedback (#1349) @ghansham
Repeat execution timeline enhancements feature request (#1041) @jeremydelattre59
Serial number ordering feedback and suggestion (#1041) @ghansham
Windows queue execution failure report and verification (#1372) @lvoeg
--from-run-id flag co-author (#1378) @kriyanshii
Inline spec enqueue implementation (#1375) @kriyanshii
DAG zoom out rendering fix (#1380) @kriyanshii

v1.23.4

27 Oct 02:40

Choose a tag to compare

This release is same as v1.23.3 which I accidentally dropped.

Added

  • CLI: Added --name flag to start, retry, and enqueue commands to override the DAG name specified in the YAML file (#1363)
  • DAG: Support shell-like parameter expansion for env and parameters fields, including ${VAR:offset:length} slices and shell-style defaults (${VAR:-fallback}) (#1354)
  • Distributed: Added comprehensive Kubernetes deployment manifests with ConfigMaps, PVCs, and separate server/worker deployments (#1360)
  • Distributed: Added automatic cleanup of stale coordinator service registrations (#1360)
  • Distributed: Added retry mechanism with exponential backoff for coordinator client connections (#1360)

Improved

  • Distributed: Enhanced distributed execution with better worker coordination and status propagation (#1360)
  • Distributed: Improved child DAG status propagation in distributed mode to correctly report final status to parent workflows (#1358)
  • OIDC: Improved OIDC configuration validation with better error messages and logging (#1361)
  • OIDC: Enhanced OIDC authentication flow with proper state management and error handling (#1361)
  • API: Better error handling in API endpoints with more descriptive error messages (#1361)

Fixed

  • Distributed: Fixed child DAG status not being properly propagated to parent in distributed execution (#1358)
  • Distributed: Fixed parallel execution status tracking for sub-DAGs (#1358)
  • Distributed: Fixed service registry cleanup and stale entry detection (#1360)

Contributors

Thanks to our contributors for this release:

Contribution Contributors
--name flag feature clarification and feedback (#1349) @ghansham
OIDC authentication broken interface issue report (#1359) @mitchplze
Distributed execution lock issue on Kubernetes (#1353) @yangkghjh
Shell-like parameter expansion feature request (#1352) @ghansham

Full Changelog: v1.23.2...v1.23.4

v1.23.2

22 Oct 16:12
98d795b

Choose a tag to compare

This is a hotfix for v1.23.0..

Changelog

  • 98d795b fix: the server should set same environment variable to start a subprocess (#1351)

What's Changed

  • fix: the server should set same environment variable to start a subprocess by @yottahmd in #1351

Full Changelog: v1.23.0...v1.23.2

v1.23.0

21 Oct 10:39
f4ef28c

Choose a tag to compare

This release introduces several enhancements, including a GitHub Actions executor (which allows you to run GitHub Actions in your DAG locally!), JSON Schema validation for parameters, secrets support, improved Windows compatibility, an upgraded Web UI, and many bug fixes.

Here's an example of cloning a repository using actions/checkout GitHub Actions:

workingDIr: /tmp/dagu-workdir

secrets:
  - name: GITHUB_TOKEN
    provider: env
    key: GITHUB_TOKEN

steps:
  - name: checkout
    command: actions/checkout@v4
    executor: gha
    params:
      repository: dagu-org/dagu
      ref: main
      token: "${GITHUB_TOKEN}"

We welcome feedback, issues, and contributions for this new version.

Changed

  • Status: Adopted canonical lowercase tokens for DAG and node lifecycle states (not_started, queued, running, succeeded, partially_succeeded, failed, canceled), and updated API examples, docs, and telemetry labels to match.
  • Status: Updated the Sub-DAG execution field to support call field alias.

Added

  • CLI: Added --dagu-home global flag to override the application home directory on a per-command basis. Useful for testing, running multiple instances with isolated data, and CI/CD scenarios.
  • CLI: Added dagu validate command to validate DAG specifications without executing them. Prints human‑readable errors and exits with code 1 on failure.
  • API: Added POST /api/v2/dags/validate to validate DAG YAML. Returns { valid: boolean, errors: string[], dag?: DAGDetails }.
  • API: POST /api/v2/dags now accepts optional spec to initialize a DAG. The spec is validated before creation and returns 400 on invalid input.
  • API: Added POST /api/v2/dag-runs to create and start a DAG-run directly from an inline YAML spec without persisting a DAG file. Supports optional name, params, dagRunId, and singleton.
  • API: Added nextRun sort option to GET /api/v2/dags to sort DAGs by their next scheduled run time. DAGs with earlier next runs appear first in ascending order, and DAGs without schedules appear last.
  • Steps: Add support for shebang detection in script.
  • Steps: Multi-line command strings now execute as inline scripts, including support for shebang.
  • DAG: Introduced a secrets block that references external providers (built-in env and file) and resolves values at runtime with automatic log/output masking.
  • Parameters: Added JSON Schema validation mode with schema.
  • Runtime: Injects DAG_RUN_STATUS into handler environments so exit/success/failure/cancel scripts can branch on the final canonical status.
  • Executors: Added an experimental GitHub Actions executor (type: gha) powered by nektos/act; action inputs come from the new step-level params map.
  • UI: Added accordion-style expandable node rows to display step logs inline, similar to GitHub Actions, reducing the need to open popup windows (#1313).
  • Security: Implemented security filtering for system environment variables passed to step processes and child DAGs.

Fixed

  • DAG name validation is centralized and enforced consistently: names must be <= 40 chars and match [A-Za-z0-9_.-]+. Endpoints that accept name now return 400 bad_request for invalid names.
  • Docker: Fixed container initialization bug with registryAuths field (#1330)
  • Windows: Fixed process cancellation not terminating subprocesses by recursively killing all child processes (#1342)
  • UI: Fixed duration display update bug in DAG run details
  • Other small issues and improvements

Contributors

Thanks to our contributors for this release:

Contribution Author
Docker-in-Docker container execution issues (#1228, #1231, #1235) and registryAuths bug report (#1327) @bellackn
Container name support (#1237), bash requirement (#1239), command field (#1261), log buttons (#1301), and scroll issues (#1324) @Pangolin2097
Accordion-style log expansion feature request (#1313) @borestad
SSH environment variables feature request (#1238) @n3storm
SSH config override issue report (#1249) @TrezOne
DAG dependency resolution error report (#1262) @JuchangGit
Quickstart guide issue report (#1263) @Vad1mo
Parallel JSON execution issues (#1274) @tetedange13
Grouped DAGs mobile UI bug report (#1294) @jarnik
Cleanup and status propagation feature request (#1305) @vnghia
Environment variables behavior bug report (#1320) @thibmart1
System status UI issue report (#1224) @jeremydelattre59
Script execution error (#1203) and stop-all API feature request (#1211) @Kaiden0001
Dotenv loading bug report (#1210) @don-philipe
Script field issue report (#1334) @xinxinxinye
Queue override implementation (#1240) and clear queue feature (#1298, #1299) @kriyanshii
JSON Schema validation for params implementation (#1273) @thefishhat
SSH script validation implementation (#1308) @AdityaTel89
README updates (#1326), unit tests (#1329), and legacy directory warning (#858, #1336) @arky
Windows process cancellation fix with recursive subprocess termination (#1207, #1342) @lvoeg
Extensive troubleshooting and community support: container name (#1237), SSH environment variables (#1238), DAG dependency resolution (#1262), cleanup and status propagation (#1305), environment variables behavior (#1320), clear queue feature (#1298), Docker-in-Docker (#1235), and CLI/masking discussions (#1314, #1317, #1273) @ghansham

New Contributors

Full Changelog: v1.22.4...v1.23.0

v1.22.10

06 Oct 10:55

Choose a tag to compare

This release includes a new UI feature to clear the queue, an API enhancement that supports using latest as a Run ID, a UI fix improving grouped DAG visibility on mobile, and several bug fixes in the DAG execution engine. Many thanks to @kriyanshii for the contribution and to everyone who reported issues.

Added

  • UI: add clear queue functionality #1298 (#1299) by @kriyanshii
  • API: add support for latest in GET /api/v2/dag-runs/{name}/{dagRunId} (#1300)

Fixed

  • UI: display grouped DAGs (#1295)
  • DAG: treat single JSON object as a parallel item (#1297)
  • DAG: initialize node before setting node status running (#1302)

Full Changelog: v1.22.9...v1.22.10

v1.22.9

04 Oct 10:24

Choose a tag to compare

This minor release includes a Web UI enhancement enabling DAGs to be sorted based on the Next Run column, improving UX.

Changelog

Full Changelog: v1.22.8...v1.22.9