-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Labels
Description
Description
Starting with version 29.0.0, the output of docker version -f '{{json .}}' has replaced ApiVersionwithAPIVersion(notice the different case), but only in theServerblock. This is now inconsistent with theClientblock which still usesApiVersion`.
This also breaks utility programs that check Docker's version, as per pypa/cibuildwheel#2659
I don't know if this change is wanted, but because it is inconsistent with the rest of the output, difficult to notice, and because it's unclear what purpose it serves, I am not sure it is. Is it possible to get clarification on that matter?
Reproduce
- (Optionally, most common use case) Run inside a CI environment
- Install the latest Docker with
curl -sSL https://get.docker.com/ | sh - Run
docker version -f '{{json .}}' - Parse the output and look up the key
Server.ApiVersion
Expected behavior
The server API version should be under the key ApiVersion instead of APIVersion
docker version
Client: Docker Engine - Community
Version: 29.0.0
API version: 1.51 (downgraded from 1.52)
Go version: go1.25.4
Git commit: 3d4129b
Built: Mon Nov 10 21:46:24 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.5.1
API version: 1.51 (minimum version 1.24)
Go version: go1.24.8
Git commit: f8215cc
Built: Wed Oct 8 12:17:24 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0docker info
Client: Docker Engine - Community
Version: 29.0.0
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.29.1
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.40.3
Path: /usr/libexec/docker/cli-plugins/docker-compose
model: Docker Model Runner (Docker Inc.)
Version: v1.0.0
Path: /usr/libexec/docker/cli-plugins/docker-model
Server:
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 25
Server Version: 28.5.1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Discovered Devices:
cdi: docker.com/gpu=webgpu
Swarm: inactive
Runtimes: io.containerd.runc.v2 nvidia runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 05044ec0a9a75232cad458027ca83437aae3f4da
runc version: v1.2.5-0-g59923ef
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.6.87.2-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 20
Total Memory: 62.7GiB
Name: docker-desktop
ID: 62feb548-e2a8-4c6f-a382-d8080648f012
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
::1/128
127.0.0.0/8
Live Restore Enabled: false
Firewall Backend: iptablesAdditional Info
No response
Reactions are currently unavailable