sincecutoff.com

What changed in Dagger.

We scan this tool’s changelog a few times a day and keep the changes that would alter your agent’s next action: 14 since January 2026, each linked to its source.

YOUR MODEL or

Changes

INTRODUCED
14 CHANGES
LATEST 2026-06-11 · 1 TOOLS
JUN 112026

dagger Container.from and Container.publish support registryService

When using a Dagger Service as the image registry, pass it as `RegistryService` to `Container.From` or `Container.Publish`. This selects that service for the registry operation without starting unrelated services attached to the container.

_, err := dag.Container().WithNewFile("/hello.txt", "hello").Publish(ctx, "<registry-host>:5000/<image>:<tag>", dagger.ContainerPublishOpts{RegistryService: registry})
evidence github.comscore 0.96open card ↗
JUN 102026

Dagger container.exists adds an expand option

When checking whether a container path exists, set `expand: true` to expand `$VAR` or `${VAR}` using the container’s environment variables. `expand` defaults to `false`.

query { container { exists(path: "/$VAR/foo", expand: true) } }
evidence github.comscore 0.94open card ↗
MAY 262026

dagger check includes generated-file freshness checks

When checking generated files for staleness in Dagger v0.21.0, run `dagger check`; it exposes a check for each `generate` function. Use `dagger check --no-generate` to list or run only explicitly marked checks.

dagger check
evidence github.comscore 0.95open card ↗
MAY 262026

dagger workspace lockfiles support selected lookups

When a Dagger workspace needs reproducible selected lookups, run with `--lock live`, `--lock pinned`, or `--lock frozen` to control lookup resolution. Run `dagger lock update` to refresh recorded entries; in v0.21.0 it also creates `.dagger/lock` when missing.

dagger --lock live <command> [arguments...]
evidence github.comscore 0.92open card ↗
APR 092026

dagger check and SDKs add fail-fast support

When validating a repository, run `dagger check --failfast` to cancel remaining checks after the first failure.

dagger check --failfast
evidence github.comscore 0.92open card ↗
APR 092026

dagger up starts module-defined services on the host

When a Dagger module defines a service function marked with `@up` (or the SDK equivalent), run `dagger up` to start its services and expose their ports on the host. Configure `portMappings` when a toolchain service needs a different host port.

dagger up
evidence github.comscore 0.92open card ↗
FEB 272026

dagger --pretty=logs omits dots

When running a Dagger workflow without progress dots, select the `logs` progress format. In v0.20.0, the documented CLI flag is `--progress=logs`.

dagger --progress=logs <command>
evidence github.comscore 0.92open card ↗
FEB 052026

Dagger Changeset API merges changesets

When combining changesets from module functions, call `withChangeset` for one changeset or `withChangesets` for several. Choose a supported `onConflict` value when conflicts need handling; the plural method supports only `FAIL` and `FAIL_EARLY` in v0.19.11.

changeset.withChangeset(changes: <otherChangeset>, onConflict: <strategy>)
evidence github.comscore 0.97open card ↗
FEB 052026

Dagger CLI runs generate functions and applies their changesets

When repository code generation is implemented as Dagger generator functions, mark each function with the SDK’s generate annotation and have it return a Changeset. Run `dagger generate` from the workspace to run generators and review and apply their combined changeset.

dagger generate
evidence github.comscore 0.98open card ↗
FEB 052026

Dagger `Directory.dockerBuild` supports SSH mounts

When a Dockerfile build step needs SSH authentication, pass an SSH socket to `Directory.dockerBuild`; its `RUN --mount=type=ssh` instruction can then use that socket.

func (m *MyModule) DoDockerbuild(dir *dagger.Directory, sshSock *dagger.Socket) *dagger.Container { return dir.DockerBuild(dagger.DirectoryDockerBuildOpts{SSH: sshSock}) } dag then call do-dockerbuild --dir . --ssh-sock "$SSH_AUTH_SOCK"
evidence github.comscore 0.94open card ↗