Releases: dagger/dagger
v0.20.6
v0.20.6 - 2026-04-15
Fixed
- Fix toolchains being loaded or resolved from the wrong source, which could unexpectedly affect command behavior, break custom path overrides, or cause confusing missing-file errors when using
dagger -m <remote>@<ref>by @shykes + @grouville + @tiborvass + @marcosnils + @eunomie in #12983 #12949 #12980 #12985 #12986 - Fix
Changesetdirectory comparisons failing withfatal: not a git repositorywhen running inside Git worktrees by @eunomie in #12950 - Fix toolchain generator handling so excluded generators stay excluded,
dagger check generatedcatches out-of-date files again, and PHP SDK bindings stay in sync by @shykes + @grouville + @tiborvass in #12958 #12962 #12984 - Fix generator
.changesand.isEmptyreporting misleading results before.run(); they now fail clearly instead of pretending there were no changes by @shykes + @tiborvass in #12959
What to do next?
- Read the documentation
- Join our Discord server
- Follow us on Twitter
sdk/typescript/v0.20.6
sdk/typescript/v0.20.6 - 2026-04-15
This SDK uses 🚙 Engine + 🚗 CLI version v0.20.6. See what changed in that release.
⬢ https://www.npmjs.com/package/@dagger.io/dagger
📒 https://docs.dagger.io/reference/typescript/modules/api_client_gen
Dependencies
- Bump Engine to v0.20.6 by @tiborvass in #12990
What to do next
- Read the documentation
- Join our Discord server
- Follow us on Twitter
sdk/rust/v0.20.6
sdk/rust/v0.20.6 - 2026-04-15
This SDK uses 🚙 Engine + 🚗 CLI version v0.20.6. See what changed in that release.
⚙️ https://crates.io/crates/dagger-sdk/0.20.6
📒 https://docs.rs/dagger-sdk/0.20.6/dagger-sdk
Dependencies
- Bump Engine to v0.20.6 by @tiborvass in #12990
What to do next
- Read the documentation
- Join our Discord server
- Follow us on Twitter
sdk/python/v0.20.6
sdk/python/v0.20.6 - 2026-04-15
This SDK uses 🚙 Engine + 🚗 CLI version v0.20.6. See what changed in that release.
🐍 https://pypi.org/project/dagger-io/v0.20.6/
📖 https://dagger-io.readthedocs.io/en/sdk-python-v0.20.6/
Dependencies
- Bump Engine to v0.20.6 by @tiborvass in #12990
What to do next
- Read the documentation
- Join our Discord server
- Follow us on Twitter
sdk/php/v0.20.6
sdk/php/v0.20.6 - 2026-04-15
This SDK uses 🚙 Engine + 🚗 CLI version v0.20.6. See what changed in that release.
🐘 https://packagist.org/packages/dagger/dagger#v0.20.6
Dependencies
- Bump Engine to v0.20.6 by @tiborvass in #12990
What to do next
- Join our Discord server
- Follow us on Twitter
sdk/go/v0.20.6
sdk/go/v0.20.6 - 2026-04-15
This SDK uses 🚙 Engine + 🚗 CLI version v0.20.6. See what changed in that release.
🐹 https://pkg.go.dev/dagger.io/dagger@v0.20.6
Dependencies
- Bump Engine to v0.20.6 by @tiborvass in #12990
What to do next
- Read the documentation
- Join our Discord server
- Follow us on Twitter
sdk/elixir/v0.20.6
sdk/elixir/v0.20.6 - 2026-04-15
This SDK uses 🚙 Engine + 🚗 CLI version v0.20.6. See what changed in that release.
🧪 https://hex.pm/packages/dagger
📖 https://hexdocs.pm/dagger/Dagger.html
Dependencies
- Bump Engine to v0.20.6 by @tiborvass in #12990
What to do next
- Join our Discord server
- Follow us on Twitter
helm/chart/v0.20.6
helm/chart/v0.20.6 - 2026-04-15
Dependencies
- Bump Engine to v0.20.6 by @tiborvass in #12990
What to do next?
- Read the documentation
- Join our Discord server
- Follow us on Twitter
v0.20.5
v0.20.5 - 2026-04-09
Fixed
- Fix TUI final rendering so progress output, checkmarks, and error details are still shown on stderr when a command exits while quitting by @eunomie in #12936
- Fix honoring _EXPERIMENTAL_DAGGER_RUNNER_HOST environment variable by @tiborvass in #12943
- Fix workspace module sources declared in
dagger.jsonso they resolve relative to the config file rather than the caller's current working directory when connecting from a subdirectory by @shykes in #12934 - Fix
.envvalidation so Dagger only uploads the.envfile being checked instead of the entire parent directory by @shykes in fab203a - Fix noisy
legacy-default-pathcompatibility warnings so they are no longer printed during module function loading by @shykes in 0b1e3b8
What to do next?
- Read the documentation
- Join our Discord server
- Follow us on Twitter
v0.20.4
v0.20.4 - 2026-04-08
Added
- Add experimental
dagger upto start module-defined services on the host, including@upannotations, workspace/moduleservices()APIs, and configurable port mappings by Yves Brissaud in #11959 - Add
@cachedirective for module function cache control by Alex Suraci in #12920 - Add
--failfasttodagger checkandWithFailFastin SDKs by @kpenfound in #11956 - Add support to set primitive values and secret arrays in user defaults by @marcosnils in #12898
- Add
Changeset.diffStats()and structuredDiffStatentries for renames and line-count summaries by @grouville + @tiborvass in #12002 - Add support for
Directory.chown()with usernames and group names by @alexcb in #12128 - Add Dockerfile
ADD --unpacksupport by @tiborvass + @grouville in #12096 - Add Go toolchain tag support for Dockerfile frontend features such as
COPY --excludeandCOPY --parentsby @alexcb in #12896 - Dang SDK: add enum/interface/scalar support plus
@checkand@generatedirectives by Alex Suraci in #12830 - Dang SDK: add
@upannotation support by Yves Brissaud in #12919 - Elixir SDK: support
Enumtypes by @Nero-F in #12862 - Go SDK: write dependency bindings to separate
internal/dagger/<dep>.gen.gofiles by @TomChv in #11962 - PHP SDK: add support for implicit getters by @charjr in #11689
- Rust SDK: add a builder for
Configby @fdiakh in #12832
Changed
- Make
dagger connectfaster by reducing driver probing and setup work before command execution by @tiborvass in #11769 - Expand workspace support with workspace-scoped
checks()andgenerators()APIs, richer workspace metadata, and clearer path/boundary semantics by @shykes in #11995 dagger checkanddagger generatenow resolve against the current workspace rather than only the current module by @shykes in #11995- Stop expanding literal dotenv values and arguments so literal strings remain literal by @marcosnils in #11957
- Go SDK: pin generated modules to the matching dagger-go-sdk commit by @TomChv in #11826
Deprecated
- Set secrets via dotenv segments without a scheme is deprecated and will require an explicit scheme in a future release by @marcosnils in #11957
Fixed
- Fix Dockerfile
RUNheredoc failing withcommand not found(exit 127) by preserving/dev/pipes/mounts in the OCI spec by @majiayu000 in #12020 - Fix
dagger initcrashing when.envexists as a directory by @paikend in #12868 - Fix
WithExecwithExpand=trueso environment variables are also expanded inRedirectStdout,RedirectStderr, andRedirectStdinpaths by @shykes in #12846 - Fix Helm chart support for custom liveness/readiness probes by @shykes in #12859
- Fix Helm chart
envFrom.secretRefindentation in the engine StatefulSet by @fixeasy in #12906 - Fix
dagger shellobject-argument errors to show a clear message when a string literal is passed instead of an object ID by @shykes in #12842 - Fix lazy image blob handling so container results remain local after
ContainerDagOpreturns by @marcosnils in #12861 - Fix .env user defaults being silently ignored when a constructor arg has a schema default value by @shykes in #12854
- Dang SDK: fix workspace arguments and filesync support to match
/dagger-sdkbehavior by Alex Suraci in #12830 - Python SDK: fix
Config.log_outputhandling for in-memory streams such asStringIOby @paikend in #12867 - Rust SDK: fix timeouts and default
Configbehavior, and improve GraphQL error parsing by @fdiakh in #12832
Contributors
Special thanks to our external contributors this release!
What to do next?
- Read the documentation
- Join our Discord server
- Follow us on Twitter