generated: '2026-09-07' method: searched source: >- https://github.com/dagger/dagger/blob/main/CHANGELOG.md (fetched verbatim from raw.githubusercontent.com, 143,662 bytes), the GitHub Releases API for dagger/dagger, and the product changelog at https://dagger.io/changelog provider: Dagger providerId: dagger scheme: semver format: Keep a Changelog 1.0.0, generated by Changie current_version: v0.21.9 current_version_released: '2026-08-26' surfaces: - url: https://dagger.io/changelog kind: product http_status: 200 note: >- Narrative product changelog with an "In development" section — Modules v2 (a typed Workspace argument and a dagger.toml with a lockfile, replacing defaultPath/ignore pragmas) and Cloud Checks (Dagger Cloud triggering `dagger check` on git events, in early access). Forward-looking, not dated per entry. - url: https://github.com/dagger/dagger/blob/main/CHANGELOG.md kind: engineering http_status: 200 dated: true note: >- Dated, per-release, with Added / Changed / Fixed sections and a PR link and author on every line. finding: >- The two surfaces disagree on recency. The Releases API shows v0.21.9 published 2026-08-26 and v0.21.8 on 2026-07-29, but CHANGELOG.md on main stops at v0.21.7 (2026-06-17) — the file is two releases behind the tags it is supposed to describe. A consumer reading the repository's changelog as the record of what shipped is looking at a stale document. Observed 2026-09-07. entries: - version: v0.21.9 date: '2026-08-26' source: releases-api breaking: unknown note: >- Tagged and released with the full SDK train (go, python, typescript, php, rust, elixir) and helm/chart/v0.21.9 within four minutes. No CHANGELOG.md section exists for it yet, so its contents are not summarised here rather than guessed. - version: v0.21.8 date: '2026-07-29' source: releases-api breaking: unknown note: No CHANGELOG.md section on main; contents not summarised. - version: v0.21.7 date: '2026-06-17' source: changelog additions: 0 changes: 2 fixes: 9 breaking: false highlights: - Bumped the default CNI IP address pool size to reduce address exhaustion under high container concurrency. - Bumped Dang to v2.1.1, moving JSON encoding behind the JSON namespace with a deprecated top-level toJSON. - Fixed a concurrent map panic during GC by guarding session client map iteration. - version: v0.21.6 date: '2026-06-10' source: changelog additions: 1 changes: 0 fixes: 6 breaking: false highlights: - >- Added registryService options to Container.from and Container.publish, so a container can pull from and publish to a registry provided by a Dagger Service — ephemeral local registries without starting unrelated services. - version: v0.21.5 date: '2026-06-10' source: changelog additions: 2 changes: 2 fixes: 12 breaking: false highlights: - Added an expand option to container.exists. - Support for both Dang v1 and v2, routed by module engineVersion. - version: v0.21.4 date: '2026-06-03' source: changelog additions: 0 changes: 0 fixes: 3 breaking: false - version: v0.21.3 date: '2026-05-29' source: changelog additions: 0 changes: 0 fixes: 1 breaking: false - version: v0.21.2 date: '2026-05-29' source: changelog additions: 0 changes: 0 fixes: 1 breaking: false - version: v0.21.1 date: '2026-05-29' source: changelog additions: 1 changes: 0 fixes: 10 breaking: false highlights: - >- Native GraphQL interfaces and unified object IDs in DagQL — objects are now exposed through the standard Node interface and ID scalar, so APIs can accept generic Dagger objects while preserving SDL typing. - version: v0.21.0 date: '2026-05-22' source: changelog additions: 8 changes: 3 fixes: 16 breaking: false highlights: - >- A check is automatically exposed for each generate function, so `dagger check` reports whether generated files are out of date. window: v0.21.0 (2026-05-22) through v0.21.9 (2026-08-26)