#1147183 docker.io: Upgrade to Docker 29.x / Moby API v1.52 (tracking bug)

#1147183#5
Date:
2026-09-09 01:30:43 UTC
From:
To:
This is a tracking bug and roadmap note for upgrading docker.io to Docker 29.x
(Moby API v1.52).

Upstream Podman 6.1 and other contemporary container tooling have completed
their transition to Docker Engine 29.x / Moby API v1.52 (specifically importing
github.com/moby/moby/api v1.55+ and github.com/moby/moby/client).

Key points to address during the 29.x packaging update:

1. Module Import Path & Packaging:
   - Modern reverse dependencies now import github.com/moby/moby/api and
     github.com/moby/moby/client. Ensure the -dev package provides these module
     paths cleanly alongside any legacy compatibility symlinks.

2. API v1.52 Structural Changes & Typing:
   - GET /system/df: DiskUsage was restructured into subsystem-specific usage
     structs (ImageUsage, ContainerUsage, VolumeUsage, BuildCacheUsage).
   - GET /containers/{id}/json: InspectResponse flattened its fields directly
     into the struct, dropping the *ContainerJSONBase pointer indirection.
   - GET /containers/json: ContainerSummary introduced PortSummary and
     HealthSummary, and IP/Port types migrated from raw strings / nat.Port to
     netip.Addr / network.PortSet (e.g., .IsValid(), .AsSlice()).

3. Coordination with runtime-spec 1.3.0 (#1122216):
   - This update should coordinate with the opencontainers/runtime-spec 1.3.0
     transition currently tracked in #1122216. Upgrading docker.io to 29.x will
     help unblock reverse dependencies like Podman 6.x and align Debian's core
     container stack (runc, buildah, podman, containerd).

Plan:
- Prepare Docker 29.x in experimental first alongside runtime-spec 1.3.0.
- Verify reverse dependency builds (podman 6.x, docker-buildx, docker-compose,
  containerd).
- Promote to unstable as part of the wider container stack transition.