✓ No known CVEs patched in this version
Topics
+4 more
Affected surfaces
ReleasePort's take
Moderate signalMigrate your caching infrastructure to DagQL and remove the BuildKit solver backend as required by this release.
Why it matters: Affects caching infrastructure; migration is mandatory with no deadline provided.
Summary
AI summaryUpdates v0.21.0 - 2026-05-22, What to do next?, and https://docs.dagger.io across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | High |
Migrate caching to DagQL and remove the BuildKit solver backend. Migrate caching to DagQL and remove the BuildKit solver backend. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Medium |
Automatically expose a `check` for each `generate` function. Automatically expose a `check` for each `generate` function. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Medium |
Add workspace lockfiles for selected lookups such as `container.from` and Git refs. Add workspace lockfiles for selected lookups such as `container.from` and Git refs. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Medium |
Add an interactive tests view to the TUI and compact test summaries for multiple output modes. Add an interactive tests view to the TUI and compact test summaries for multiple output modes. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Medium |
Add experimental `--x-release=<ref>` and `DAGGER_X_RELEASE` support for running unreleased Dagger builds. Add experimental `--x-release=<ref>` and `DAGGER_X_RELEASE` support for running unreleased Dagger builds. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Medium |
Add a configurable Kubernetes `Service` to the Helm chart. Add a configurable Kubernetes `Service` to the Helm chart. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Medium |
Add `EngineCacheEntry.dagqlCall` and `EngineCacheEntry.recordTypes` for cache entry inspection. Add `EngineCacheEntry.dagqlCall` and `EngineCacheEntry.recordTypes` for cache entry inspection. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Medium |
Show the Dagger Cloud trace URL when using the logs frontend. Show the Dagger Cloud trace URL when using the logs frontend. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Dang SDK: add support for local shadowing types, early return, self‑calls, order‑independent declarations, and stricter nullability/type checking. Dang SDK: add support for local shadowing types, early return, self‑calls, order‑independent declarations, and stricter nullability/type checking. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Performance | Medium |
Improve engine performance and memory use via metadata reduction, lazy leases, pooled CNI namespaces, and batched directory chains. Improve engine performance and memory use via metadata reduction, lazy leases, pooled CNI namespaces, and batched directory chains. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Medium |
Fix module loading and type generation failures caused by stale handle‑form IDs and session races. Fix module loading and type generation failures caused by stale handle‑form IDs and session races. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Medium |
Fix `dagger generate --scale-out` returning unusable remote Changeset objects by running generation locally. Fix `dagger generate --scale-out` returning unusable remote Changeset objects by running generation locally. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Low |
Fix enum argument defaults to appear correctly in schema output and CLI help. Fix enum argument defaults to appear correctly in schema output and CLI help. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Fix bound service failures so dependent execs see the service exit as cause while interactive terminals stay open. Fix bound service failures so dependent execs see the service exit as cause while interactive terminals stay open. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Fix remote Git checkout behavior to reuse cached trees after cache pruning. Fix remote Git checkout behavior to reuse cached trees after cache pruning. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Fix Changeset merge cleanup flakiness by disabling Git auto‑maintenance in temporary merge repos. Fix Changeset merge cleanup flakiness by disabling Git auto‑maintenance in temporary merge repos. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Fix `WithSecretVariable` so later calls override earlier values. Fix `WithSecretVariable` so later calls override earlier values. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Fix user‑default secret and env handling for empty plaintext secrets, double‑expansion prevention, and console scrubbing. Fix user‑default secret and env handling for empty plaintext secrets, double‑expansion prevention, and console scrubbing. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Fix telemetry and replay output so `dagger check` log telemetry is not dropped, Python logs are not duplicated, and `dagger trace` honors frontend flags. Fix telemetry and replay output so `dagger check` log telemetry is not dropped, Python logs are not duplicated, and `dagger trace` honors frontend flags. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Dang SDK: fix panics, initialization‑race typechecking failures, and ID argument handling. Dang SDK: fix panics, initialization‑race typechecking failures, and ID argument handling. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Java SDK: prevent unnecessary dependency/plugin resolution during `mvn versions:set` to avoid Maven Central 429 errors. Java SDK: prevent unnecessary dependency/plugin resolution during `mvn versions:set` to avoid Maven Central 429 errors. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Python SDK: fix static module analysis regressions including inherited functions, aliased decorators, `@staticmethod`, type aliases, constants/defaults, `Annotated`, `Optional`, `Union`, and relative imports. Python SDK: fix static module analysis regressions including inherited functions, aliased decorators, `@staticmethod`, type aliases, constants/defaults, `Annotated`, `Optional`, `Union`, and relative imports. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Python SDK: fix additional AST cases for `TypeAlias` inside `X | None`, quoted/aliased annotations, and absolute self‑package imports. Python SDK: fix additional AST cases for `TypeAlias` inside `X | None`, quoted/aliased annotations, and absolute self‑package imports. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Python SDK: exclude broken `yarl` 1.24.1 release from dependency range. Python SDK: exclude broken `yarl` 1.24.1 release from dependency range. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
| Bugfix | Low |
Rust SDK: fix list‑of‑object fields to load each object by ID instead of returning an incorrect single wrapped selection. Rust SDK: fix list‑of‑object fields to load each object by ID instead of returning an incorrect single wrapped selection. Source: granite4.1:30b@2026-05-26-audit Confidence: low |
— |
Full changelog
v0.21.0 - 2026-05-22
Added
- Automatically expose a
checkfor eachgeneratefunction by @eunomie in https://github.com/dagger/dagger/pull/12923
Each generatedcheckhas the same name as itsgeneratefunction, sodagger checkcan report whether generated files are out of date.
Usedagger check --no-generateto list or run only functions explicitly marked as checks, without the generated ones.
Toolchains can setignoreChecksto skip creating checks for specificgeneratefunctions. - Add workspace lockfiles for selected lookups such as
container.fromand Git refs by @shykes + @alexcb + @grouville + @tiborvass + @eunomie in https://github.com/dagger/dagger/pull/12046 https://github.com/dagger/dagger/pull/13094
Locking is opt-in with--lock live,--lock pinned, or--lock frozen: live mode resolves and records live values, pinned mode prefers recorded pins while resolving the rest live, and frozen mode only resolves from.dagger/lock.
Usedagger lock updateto refresh entries already recorded in.dagger/lock; it now creates the file when missing.
This also fixes remote Git tree cache keys so cache reuse follows the actual checkout inputs. - Add an interactive tests view to the TUI, plus compact test summaries for pretty, plain, logs, dots, and report progress modes by @vito in https://github.com/dagger/dagger/pull/13073
- Add experimental
--x-release=<ref>andDAGGER_X_RELEASE=<ref>support for running a command against an unreleased Dagger build from a GitHub ref, fixing https://github.com/dagger/dagger/issues/12996 by @tiborvass in https://github.com/dagger/dagger/pull/13156 - Add a configurable Kubernetes
Serviceto the Helm chart by @pierreyves-lebrun + @grouville in https://github.com/dagger/dagger/pull/11993 - Add
EngineCacheEntry.dagqlCallandEngineCacheEntry.recordTypesso cache entries expose the producing DagQL call and all represented storage record types for inspection and GC filtering by @sipsma in https://github.com/dagger/dagger/pull/13207 - Show the Dagger Cloud trace URL when using the logs frontend by @marcosnils in https://github.com/dagger/dagger/pull/13105
- Dang SDK: add support for local types that shadow Dagger core types, early
return, self-calls, order-independent declarations, and stricter nullability/type checking by @vito in https://github.com/dagger/dagger/pull/13184
Changed
- Migrate caching to DagQL and remove the BuildKit solver backend, making DagQL responsible for cache lookups, persistence, and pruning by @sipsma in https://github.com/dagger/dagger/pull/11856
- Improve engine performance and memory use by reducing bbolt/containerd metadata overhead, lazily creating containerd operation leases, reusing pooled CNI namespaces for default execs, and batching long
withDirectorychains instead of materializing them quadratically by @sipsma in https://github.com/dagger/dagger/pull/13117 https://github.com/dagger/dagger/pull/13123 https://github.com/dagger/dagger/pull/13144 https://github.com/dagger/dagger/pull/13124 - Deduplicate equivalent in-flight DagQL calls across clients in the same session and fall back to same-session secret/socket attachables when the original client binding is gone by @sipsma in https://github.com/dagger/dagger/pull/13118
Fixed
- Fix enum argument defaults so they appear correctly in schema output and CLI help by @kpenfound in https://github.com/dagger/dagger/pull/13068
- Fix module loading and type generation failures caused by stale handle-form module IDs and nested client session races, replacing
session ... not foundfailures with the intended behavior or original error by @sipsma in https://github.com/dagger/dagger/pull/13108 https://github.com/dagger/dagger/pull/13119 - Fix bound service failures so dependent execs and container-backed services see the service exit as the cause while interactive terminals stay open by @vito in https://github.com/dagger/dagger/pull/13099
- Fix remote Git checkout behavior so cached trees can be reused after cache pruning by @sipsma in https://github.com/dagger/dagger/pull/13141
- Fix Changeset merge cleanup flakiness by disabling Git auto-maintenance in Dagger's temporary merge repositories by @sipsma in https://github.com/dagger/dagger/pull/13121
- Fix
WithSecretVariableso later calls override earlier values, fixing https://github.com/dagger/dagger/issues/13147 by @matipan in https://github.com/dagger/dagger/pull/13159 - Fix user-default secret and env handling so empty plaintext secrets resolve correctly,
.envvalues are not double-expanded through namespaces, and plaintextSecretdefaults are scrubbed in console output; fixes https://github.com/dagger/dagger/issues/12855 and closes https://github.com/dagger/dagger/pull/12014 by @sipsma + @marcosnils + @tiborvass in https://github.com/dagger/dagger/pull/13163 https://github.com/dagger/dagger/pull/13160 https://github.com/dagger/dagger/pull/13177 - Fix telemetry and replay output so
dagger checklog telemetry is not dropped, Python module logs are not duplicated, anddagger tracehonors frontend flags by @vito + @sipsma in https://github.com/dagger/dagger/pull/13114 https://github.com/dagger/dagger/pull/13153 - Fix
dagger generate --scale-outreturning unusable remoteChangesetobjects by always running generation locally;dagger check --scale-outremains supported by @eunomie in https://github.com/dagger/dagger/pull/13190 - Fix toolchain customizations so they propagate when toolchain functions are called through another module function by @suprjinx in https://github.com/dagger/dagger/pull/13176
- Dang SDK: fix panics, initialization-race typechecking failures, and ID argument handling by @tiborvass + @vito in https://github.com/dagger/dagger/pull/13098 https://github.com/dagger/dagger/pull/13103 https://github.com/dagger/dagger/pull/13150
- Java SDK: fix version updates so
mvn versions:setno longer performs unnecessary dependency/plugin resolution, preventing Maven Central 429 failures; fixes https://github.com/dagger/dagger/issues/13174 by @dagger-codex[bot] + @tiborvass in https://github.com/dagger/dagger/pull/13198 - Python SDK: fix static module analysis regressions from the AST analyzer cutover, including inherited functions, aliased decorators and fields,
@staticmethod, type aliases, constants/defaults,Annotated,Optional,Union, and relative imports; fixes https://github.com/dagger/dagger/issues/13097 and https://github.com/dagger/dagger/issues/13089 by @eunomie in https://github.com/dagger/dagger/pull/13095 - Python SDK: fix more AST analyzer cases for
TypeAliasinsideX | None, quoted and aliased annotations, and absolute self-package imports by @marcosnils + @grouville + @eunomie in https://github.com/dagger/dagger/pull/13149 https://github.com/dagger/dagger/pull/13162 https://github.com/dagger/dagger/pull/13171 - Python SDK: exclude the broken
yarl1.24.1 release from the dependency range by @tiborvass in https://github.com/dagger/dagger/pull/13189 - Rust SDK: fix list-of-object fields so generated clients load each object by ID instead of returning an incorrect single wrapped selection by @wingyplus in https://github.com/dagger/dagger/pull/13000
What to do next?
- Read the documentation
- Join our Discord server
- Follow us on Twitter
Breaking Changes
- Migrate caching to DagQL and remove the BuildKit solver backend, making DagQL responsible for cache lookups, persistence, and pruning.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About dagger
Automation engine to build, test and ship any codebase. Runs locally, in CI, or directly in the cloud
Related context
Related tools
Beta — feedback welcome: [email protected]