What dagger/dagger shipped
Written by FoxPlug from the repository's own releases; not affiliated with Dagger. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/dagger/dagger; Dagger did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- Listing a workspace's checks got faster with Go runtimes built while dependencies load, git workspace checkouts reused and narrower filter flags. Pull request #15063
- Uploading a host directory no longer crashes the engine when a gitignore read's relative path prefixes a parent directory. Pull request #15073
- An exec killed by the kernel's out-of-memory killer now reports that it ran out of memory instead of only exit code 137. Pull request #14957
- A failed check now shows its own error above its tests, even when the failing test results belong to a shared test run. Pull request #15072
- Directory.dockerBuild no longer keeps Dockerfile build args in the built image's environment. Pull request #14973
- A batch of engine performance changes covers cache hits, allocations, faster engine start, image import and services. Pull request #15007
- Progress logs stop printing cache volume mount headings and info lines for every exec. Pull request #15042
- WorkspaceSDK.scopeSetting lets a directly called SDK read the scope settings that dagger generate passes. Pull request #15084
- Dang module calls reuse compiled programs within a session and parse module source once, with a stricter type checker. Pull request #14953
Why it matters
This week brings faster workspace loading and several engine performance changes, fixes a crash that could end every session on an engine, and makes out-of-memory exec failures understandable. It also corrects dockerBuild keeping build args in the image environment and removes noisy cache mount output from progress logs.
Changelog entry
- Faster check listing for workspaces: Go runtimes built while dependencies load, git checkouts reused, narrower filter flags. Pull request #15063
- Fix engine crash when uploading a host directory and a gitignore read's relative path prefixes a parent directory. Pull request #15073
- Report when an exec failed because the kernel out-of-memory killer killed its process. Pull request #14957
- Show a failed check's own error above its tests. Pull request #15072
- Backport to 0.21: a late binding detach no longer force-kills a service being stopped gracefully. Pull request #15069
- Directory.dockerBuild no longer keeps Dockerfile build args in the built image's environment. Pull request #14973
- Stop showing cache volume mounts and other internal detail in progress logs. Pull request #15042
- Engine performance changes for cache hits, allocations, Go version, engine start, image import and services. Pull request #15007
- Add WorkspaceSDK.scopeSetting so a directly called SDK can read scope settings. Pull request #15084
- Reuse compiled Dang programs within a session and parse module source once. Pull request #14953
- Dagger cloud usage now shows the current bill from the Billing and usage page. Pull request #15085
This week: faster workspace check listing, an engine crash on host directory upload fixed, OOM exec failures now say so, dockerBuild keeps build args out of the image env, and progress logs stop printing cache mount lines.
This week in dagger/dagger: listing a large workspace's checks is faster through Go runtimes built during dependency loading, reused git checkouts and narrower filters. Uploading a host directory no longer crashes the engine when a gitignore relative path prefixes a parent directory. Execs killed by the out-of-memory killer now report the reason instead of just exit code 137. Failed checks show their own error above their tests. Directory.dockerBuild no longer leaves build args in the image environment. Progress logs stop printing cache volume mount lines, and a batch of engine performance changes covers cache hits, allocations, engine start, image import and services.
Week of October 26, 2026
What shipped
- The engine starts faster with a large persisted cache, so sessions no longer wait as long on a cold start. Pull request #14964
- Dockerfile COPY steps no longer reread the whole image on every copy, and cache mounts now support uid, gid and mode. Pull request #14940
- Exports gain a sourceDateEpoch option to clamp image timestamps, so rebuilt unchanged layers can keep the same digest. Pull request #14950
- Beta releases now publish to homebrew, nix and winget. Pull request #15001
- Sessions now report the command, repository and workspace to Dagger Cloud, and dagger check sends its command line. Pull request #14960
- Extended attributes work again under QEMU emulation, so setcap and rpm file capabilities behave. Pull request #14962
- Sshfs volumes gain a followSymlinks option so absolute and parent-relative symlinks can be read. Pull request #14942
- Go module downloads in Go SDK builds and codegen retry without a GOPROXY on stream errors. Pull request #14935
- Scheme-less Git remotes recorded in dagger.lock now fall back to SSH when HTTPS fails. Pull request #14936
- An LLM with an MCP server attached no longer hangs on the second step of loop, since MCP sessions persist across steps. Pull request #14932
Why it matters
This week's changes reduce waiting and flakiness for people running real pipelines: faster engine startup with a persisted cache, cheaper Dockerfile COPY steps, and timestamp clamping for stable layer digests. Several fixes restore behavior that had broken recently, including extended attributes under QEMU and sshfs symlinks, while Git and Go module handling get more dependable fallbacks.
Changelog entry
- Engine starts faster with a large persisted cache. Pull request #14964
- Dockerfile COPY no longer rereads the whole image; cache mounts support uid, gid and mode. Pull request #14940
- Add sourceDateEpoch to clamp image timestamps on export. Pull request #14950
- Publish beta releases to homebrew, nix and winget. Pull request #15001
- Tell Dagger Cloud the command, repository and workspace of a session. Pull request #14960
- Fix extended attributes under QEMU emulation. Pull request #14962
- Add followSymlinks option to sshfs volumes. Pull request #14942
- Retry Go module downloads in Go SDK builds without a GOPROXY. Pull request #14935
- Try SSH after HTTPS fails for a scheme-less Git remote. Pull request #14936
- Keep MCP sessions across loop steps. Pull request #14932
- Bound SSH agent fingerprint lookup with a timeout. Pull request #14911
- Release v1.0.0-beta.23. Pull request #15009
This week: faster engine startup with a large persisted cache, Dockerfile COPY no longer rereads the whole image, sourceDateEpoch for stable export digests, beta releases on homebrew, nix and winget, and fixes for QEMU extended attributes, sshfs symlinks and MCP sessions in loop.
This week in Dagger: the engine starts faster with a large persisted cache, Dockerfile COPY steps stop rereading the whole image, and cache mounts support uid, gid and mode. A new sourceDateEpoch option clamps image timestamps on export so unchanged layers can keep their digest. Beta releases now publish to homebrew, nix and winget, and sessions report their command, repository and workspace to Dagger Cloud. Fixes this week cover extended attributes under QEMU, absolute and parent-relative symlinks in sshfs volumes, scheme-less Git remotes falling back to SSH, and MCP sessions persisting across loop steps.
Week of October 19, 2026
What shipped
- The workspace entrypoint concept is renamed to workspace main across config, CLI, GraphQL, engine loading, generated SDKs, fixtures and docs, with deprecated compatibility aliases kept. Pull request #14704
- GPU engine images now package the NVIDIA runtime hook and CLI, which GPU execs need to set up devices and libraries inside the container. Pull request #14765
- PHP enums marked with DaggerObject are registered as Dagger enums, so module functions can take and return them directly instead of hand-validating a string. Pull request #14152
- Pins from a repository's committed dagger.lock are now applied when Dagger Cloud loads the repository as a remote Git workspace selected by commit. Pull request #14826
- Same-repo modules and module entrypoints now share their caches, fixing a large slowdown for a Go module moved to the Go SDK entrypoint. Pull request #14813
- Workspace migration now honors gitignore, so ignored directories such as.venv are no longer uploaded while preparing migration changes. Pull request #14804
- Changeset Git merges now preserve file modes, so a file created as 0750 no longer comes back as 0777 when merging several generators. Pull request #14778
- Dependency downloads in Java module builds and in nested Dockerfile builds now retry when an upstream server fails, covering Maven Central 502s and proxy.golang.org resets. Pull request #14775
- Dagger init again shows its custom TUI, restoring the command-owned view that was lost when setup was split into init and workspace migrate. Pull request #14833
- Fixes landed for nested exec attachables, session-end telemetry, persistence reads and busy exports, with one change letting CLI exit wait up to 5 seconds during session teardown. Pull request #14776
Why it matters
This week's release work centers on the move to 1.0: workspace entrypoints are renamed to main, migration honors gitignore, and changeset merges keep file modes. Go module and PHP module authors get faster or more direct paths, and GPU engine images now include what GPU execs need. Docs were aligned with the beta and the new 1.0 naming so users upgrading from 0.x have a step-by-step guide.
Changelog entry
- Rename workspace entrypoint to workspace main across config, CLI, GraphQL, engine loading, generated SDKs, fixtures and docs, keeping deprecated compatibility aliases. Pull request #14704
- Package the NVIDIA runtime hook and CLI in GPU engine images. Pull request #14765
- Register PHP enums marked DaggerObject as Dagger enums, with Doc support. Pull request #14152
- Apply dagger.lock pins in remote Git workspaces, including Dagger Cloud check sessions. Pull request #14826
- Share caches between same-repo modules and module entrypoints. Pull request #14813
- Honor gitignore during workspace migration. Pull request #14804
- Preserve file modes through changeset Git merges. Pull request #14778
- Retry flaky dependency downloads in Java module builds and nested Dockerfile builds. Pull request #14775
- Restore the custom TUI for dagger init. Pull request #14833
- Fix the cloud-checks llms.txt path and the activity command reference in docs. Pull request #14822
- Add a glossary reference page to the docs. Pull request #14821
- Migrate the dagger.json migration page into a step-by-step guide for upgrading from 0.x to 1.0. Pull request #14689
This week in Dagger: workspace entrypoints renamed to main with compatibility aliases, PHP enums registered as Dagger enums, gitignore honored in workspace migration, file modes preserved through changeset merges, and GPU engine images ship the NVIDIA runtime hook.
This week in Dagger: the workspace entrypoint is renamed to workspace main across config, CLI, GraphQL, engine loading, generated SDKs and docs, with deprecated aliases kept. PHP modules can register enums marked DaggerObject and take or return them directly. Workspace migration now honors gitignore, and changeset Git merges preserve file modes. Same-repo modules and module entrypoints share their caches. Retries were added for flaky dependency downloads in Java module builds and nested Dockerfile builds. GPU engine images now package the NVIDIA runtime hook and CLI. Documentation was aligned with the beta release and the 1.0 naming.
Week of October 12, 2026
What shipped
- The engine now starts containers with crun instead of runc, cutting runtime start cost on builds with many execs. Pull request #14607
- Dagger cloud checks list gains --watch and --fail-fast, so it can block on in-progress cloud checks and report outcomes through the exit code. Pull request #14513
- Artifacts.filterUri keeps load failures and a new Artifact.workspace lets a module look up a recorded artifact from another workspace. Pull request #14700
- A new experimental formatIdentifiers naming API was added at v1.0.0 views only. Pull request #14667
- Container.withMountedFile now takes a readOnly argument, matching withMountedDirectory. Pull request #14630
- Dang entrypoints can declare sources(workspace), whose result becomes the module context for every call key. Pull request #14693
- Entrypoints that declare explicit TTLs now re-run after expiry instead of answering from cache. Pull request #14694
- Imported file hashes are preserved across clean engine restarts, so cached commands are no longer missed for a first subdirectory request. Pull request #14622
- Engine GraphQL error bodies are now labelled as JSON so TypeScript SDK clients parse them. Pull request #14628
- Dagger ws doctor was added to check workspace config, lockfile and cloud login. Pull request #14290
Why it matters
This week tightened engine execution cost and correctness: containers start with crun, Dang modules parse less per call, and explicit-TTL entrypoints re-run properly after expiry. Artifacts, mounted files, workspace sources and cache evidence all gained fixes that change what modules and the CLI can rely on. Workload export also gained external transfer and memory.stat data for billing.
Changelog entry
- Engine: run containers with crun instead of runc Pull request #14607
- Cli: add --watch and --fail-fast to cloud checks list Pull request #14513
- Core: add readOnly to Container.withMountedFile Pull request #14630
- Artifacts: filterUri keeps load failures; add Artifact.workspace Pull request #14700
- Core: add formatIdentifiers naming API Pull request #14667
- Core: replace entrypoint resources with sources Pull request #14693
- Core: re-run explicit-TTL entrypoint calls after expiry Pull request #14694
- Preserve imported file hashes across clean engine restarts Pull request #14622
- Engine/server: label GraphQL error bodies as JSON Pull request #14628
- Dagger ws doctor Pull request #14290
- Dang: stop parsing a module's source two extra times on every function call Pull request #14649
- Chore: update VERSION to v1.0.0-beta.19 Pull request #14697
This week in dagger/dagger: containers now run with crun, cloud checks list adds --watch and --fail-fast, withMountedFile takes readOnly, artifacts.filterUri keeps load failures, and explicit-TTL entrypoints re-run after expiry. Entrypoints can also declare sources(workspace).
This week in dagger/dagger the engine now starts containers with crun instead of runc, reducing runtime start cost on builds with many execs. dagger cloud checks list gained --watch and --fail-fast for CI use. Container.withMountedFile now accepts readOnly. artifacts.filterUri keeps load failures, and a new Artifact.workspace supports lookups across workspaces. Dang entrypoints can declare sources(workspace), and calls with explicit TTLs re-run after expiry instead of answering from cache. Imported file hashes now survive clean engine restarts, GraphQL error bodies are labelled JSON for TypeScript SDK clients, and dagger ws doctor was added.
Week of October 5, 2026
What shipped
- The engine entrypoint no longer initializes the session helper on every exec, since nested sessions now start from a separate binary, so short commands stop paying for startup packages they never use. Pull request #14605
- Read-only mounts of a committed snapshot are now shared across the engine instead of each reader creating its own view, mount and lease. Pull request #14619
- Workspace git checkouts, pulls and merges were reworked so resuming a large session from a trace does less history fetching, worktree rewriting and whole-tree diffing. Pull request #14576
- Large inputs are streamed into xxh3 instead of being held to compute content digests, after an engine was killed for memory during span recording. Pull request #14485
- LLM configuration now reaches the engine once as a document in the client session metadata rather than being flattened into many environment variables and probed back through secret RPCs on every call. Pull request #14465
- The engine now reports why it retired a session, making intermittent session-already-released failures easier to diagnose. Pull request #14624
- A panic in MCP.describeObject was fixed by describing a bound tool result from its own class. Pull request #14584
- A data race was fixed where the session-resource filter reused a session's bound-handle set after dropping its lock. Pull request #14588
- Go SDK clients now deliver the session's full stderr before Close returns, so the last CLI error lines are not lost from WithLogOutput. Pull request #14587
Why it matters
This week is mostly about the engine doing less per exec and per read: smaller entrypoint startup, shared read-only mounts, background mount release, layered changesets and cheaper metadata for small file reads. Together with faster workspace git operations and streaming hashing, sessions and traces should resume with less waiting and less memory pressure. Several fixes also remove panics, a data race and a shared-lock hazard that could take down or stall an engine.
Changelog entry
- Keep /.init minimal and start nested sessions from a separate helper binary before every exec. Pull request #14605
- Share read-only mounts of a committed snapshot across the engine. Pull request #14619
- Release read-only mounts in the background instead of blocking the caller. Pull request #14604
- Speed up workspace git checkouts, pulls and merges. Pull request #14576
- Hash large inputs by streaming them into xxh3. Pull request #14485
- Send LLM configuration once in client session metadata. Pull request #14465
- Report why the engine retired a session. Pull request #14624
- Fix an engine panic when a bound tool method returns an object of another type. Pull request #14584
- Fix a data race when modifying a published session handle set. Pull request #14588
- Deliver the session's full stderr before the Go SDK client Close returns. Pull request #14587
- Strip only one trailing glob before prefix pruning in fsutil and host globs. Pull request #14606
This week in Dagger: a smaller /.init before every exec, shared read-only snapshot mounts, layered changesets and faster workspace git checkouts. Plus fixes for an MCP panic, a session data race and missing Go SDK stderr.
Week of September 28, 2026
What shipped
- Dagger check and dagger generate now accept --parallel N or -j N to limit concurrent execution, with DAGGER_CHECK_PARALLEL setting a default. Pull request #14459
- Engine and operation network bytes are now reported separately, breaking down local versus external transfers in exec network counters. Pull request #14431
- Unknown fields in dagger.toml now fail workspace load with a clear error message, while legacy fields remain warnings for migration. Pull request #14436
- Dagger agent -r now opens an interactive picker to select and resume a session from retained archives instead of requiring manual ID copying. Pull request #14414
- GitRepository.ref, branch, tag, head, latest, and Container.from gained noLock to bypass workspace locks and read live upstream values. Pull request #14403
- Object tools can now return LLMContent with ordered blocks of text and media that the engine sends to the model as tool results. Pull request #14429
- Dagger agent added a diff viewer accessible with ctrl+g to browse changes fullscreen with a sidebar of uncommitted edits. Pull request #14391
- Workspace delta reconciliation now uses native Git operations instead of restaging the entire base, improving performance. Pull request #14397
- Tree rebuilds after native commits now check out commit deltas incrementally instead of from scratch. Pull request #14399
- Cached dagql schema servers no longer keep session state alive after sessions end, fixing heap growth in long-running engines. Pull request #14443
Why it matters
Performance improvements across Git operations, workspace handling, and engine memory management address scalability issues in CI and agent workflows. New tooling features like parallel checks, interactive session resumption, and diff viewing make development faster and more interactive.
Changelog entry
- CLI: dagger check --parallel N and dagger generate --parallel N to cap concurrent execution; set DAGGER_CHECK_PARALLEL for default; API adds maxConcurrency to Artifacts.values Pull request #14459
- Core: exec network counters now report engine and operation bytes separately, breaking down local versus external transfers Pull request #14431
- Workspace: unknown fields in dagger.toml fail with clear errors; legacy as-sdk fields remain warnings for migration Pull request #14436
- CLI: dagger agent -r opens filterable picker for session resume instead of printing table Pull request #14414
- Core: noLock parameter added to GitRepository ref operations and Container.from to bypass workspace locks Pull request #14403
- Core: object tools can return LLMContent with ordered text and media blocks sent to model Pull request #14429
- Agent: diff viewer added (ctrl+g) to browse changes fullscreen with sidebar of uncommitted edits Pull request #14391
- Performance: workspace delta reconciliation uses native Git instead of full restaging Pull request #14397
- Performance: tree rebuilds after commits now check out deltas incrementally Pull request #14399
- Engine: cached dagql schema servers released after sessions end, fixing heap growth Pull request #14443
- Fix: host attachables stay alive through cancelled command shutdown for cleanup operations Pull request #14376
- Agent: large changesets normalized to patches to prevent hangs during session resume Pull request #14441
This week: parallel check execution, separate network telemetry, interactive session picking, and fixes to workspace locks and engine memory. Improvements across Git, agents, and core performance.
Week 40 ships improvements to execution control, visibility, and developer experience. Highlights: dagger check now supports --parallel for concurrency limits; network metrics split local/external transfers; dagger agent -r opens an interactive session picker; workspace locks can be bypassed with noLock; agents get a diff viewer with ctrl+g. Performance wins across Git operations, schema caching, and memory management address long-running engine stability.
Week of September 21, 2026
What shipped
- Container nesting is now enabled by default; use disableDaggerInDagger: true to opt out. Pull request #14082
- Container.withGPU and Container.withAllGPUs replace the experimental GPU fields. Pull request #14320
- Added dagger cloud traces command to join the existing dagger cloud checks command. Pull request #14343
- The engine now publishes session telemetry directly to Dagger Cloud when credentials are available. Pull request #14303
- The dagql cache now emits cache facts describing results, digests, terms, dependencies, and removals. Pull request #14300
- Secrets from cmd:// sources now have trailing newlines stripped to prevent corruption of HTTP headers and basic auth. Pull request #14173
- Dagger agent startup in private SSH repositories now works when SSH_AUTH_SOCK is unset. Pull request #14274
- The Ctrl+T context debugger in dagger agent now shows an available tools inventory with searchable names and descriptions. Pull request #14252
- Agent composition cache is now scoped by session to prevent reusing another session's LLM endpoints. Pull request #14340
Why it matters
Nesting is enabled by default, making containerized workflows simpler out of the box. GPU support moves from experimental to stable. Telemetry improvements help diagnose performance issues, and cache facts enable better resource management across distributed engines.
Changelog entry
- Container nesting enabled by default; opt out with disableDaggerInDagger: true Pull request #14082
- Added Container.withGPU and Container.withAllGPUs; deprecated experimental GPU fields Pull request #14320
- Added dagger cloud traces command with subcommands for status, list, and query Pull request #14343
- Engine publishes session telemetry to Dagger Cloud when client provides Cloud credentials Pull request #14303
- Dagql cache now emits cache facts for results, digests, terms, dependencies, and removals Pull request #14300
- Secrets from cmd:// now have trailing LF or CRLF stripped to prevent header corruption Pull request #14173
- Dagger agent startup in private SSH repos works without SSH_AUTH_SOCK Pull request #14274
- Dagger agent UI improved with compact tables, bold headers, and consistent styling Pull request #14337
- Dagger agent context debugger now shows available tools with searchable descriptions Pull request #14252
- Agent composition cache scoped by session to prevent endpoint/credential reuse Pull request #14340
- Added opt-in cgroup resource telemetry to track engine CPU and memory usage Pull request #14285
- Query.serveModule now respects pinned commits over version queries Pull request #14284
Nesting enabled by default. GPU support moves to stable. Engine now publishes telemetry directly to Cloud. Cache facts let us understand engine resource usage. ssh auth, secrets, and agent UI all improved.
This week we shipped container nesting by default, making it simpler to run Dagger-in-Dagger workflows without configuration. GPU support moves from experimental to stable with cleaner APIs. The engine now publishes telemetry directly to Dagger Cloud, and cache facts enable better visibility into resource usage. We also fixed SSH auth for private repos, stripped trailing newlines from command secrets, and improved the agent UI with compact Markdown tables and better tool discovery.
Week of September 14, 2026
What shipped
- LLM prompts and tool results now support images and multimodal content instead of flattening everything to strings. Pull request #14255
- Pipelines and agents can now work with Git-backed workspaces they can edit, commit, integrate, export, and push. Pull request #14147
- Manifest v2 replaces the implicit JSON file protocol with an explicit module entrypoint for type definitions and function dispatch. Pull request #14038
- Lazy containers now evaluate one part at a time instead of all at once, avoiding unnecessary execution and materialization. Pull request #14043
- Added dagger cloud usage command to report Cloud Engines core minutes, compute cost, and telemetry usage. Pull request #14206
- Dagger trace and dagger cloud logs now fetch traces through Cloud's binary OTLP endpoints without requiring --org. Pull request #14223
- Fixed workspace.export() to not overwrite host files that have not changed between workspaces. Pull request #14227
- Dagger module uninstall no longer deletes the module directory or hand-written files from disk. Pull request #14205
- Agent workspace change summaries are now durable to workspace swaps instead of being unbounded. Pull request #14215
- Re-enabled --env flag across commands for environment selection and configuration overlays. Pull request #14176
Why it matters
This week added multimodal content support for agents working with images, enabled Git-backed workspaces for reproducible pipelines, and replaced the implicit module protocol with an explicit manifest v2 contract. Several fixes improve reliability for container evaluation, workspace exports, and concurrent operations.
Changelog entry
- LLM: support images and multimodal content in prompts and tool results Pull request #14255
- Git: add snapshotting and APIs for stable Git-backed workspaces with edit, commit, integrate, export, and push Pull request #14147
- Manifest v2: explicit module entrypoint contract replacing implicit JSON file protocol Pull request #14038
- Core: evaluate lazy containers one part at a time instead of all at once Pull request #14043
- CLI: add 'dagger cloud usage' command for Cloud Engines and telemetry usage reporting Pull request #14206
- CLI: fetch traces over Cloud's OTLP endpoints without --org requirement Pull request #14223
- Workspace: fix export to not overwrite unchanged host files Pull request #14227
- CLI: module uninstall no longer deletes module directory or hand-written files Pull request #14205
- Agent: make workspace change summaries durable to workspace swaps Pull request #14215
- CLI: re-enable --env flag across commands Pull request #14176
- CLI: move 'dagger cloud rerun' to 'dagger cloud checks rerun' Pull request #14216
- CLI: log Dang module load errors and simplify MCP error output Pull request #14250
- Query: add serveModule to load and serve a module by address Pull request #14210
- Checks: name generate-derived checks as:up-to-date Pull request #14211
- Core: preserve completed container parts across restart Pull request #14050
V1.0.0-beta.14 shipped: agents now see images, pipelines get Git-backed workspaces, manifest v2 replaces implicit protocols, lazy containers evaluate one part at a time, and Cloud usage reporting is live.
V1.0.0-beta.14 brings multimodal agent support, Git-backed workspaces for reproducible pipelines, and manifest v2's explicit module entrypoints. Lazy containers now evaluate on-demand, avoiding unnecessary execution. Cloud usage tracking is available, and workspace exports no longer overwrite unchanged host files.