Description
With Docker 29.0.0. the key "ApiVersion" changed to APIVersion in the Server block, which breaks client that rely on the output of docker version --format '{{json .}}'.
The discussion in https://forums.docker.com/t/breaking-key-change-in-docker-cli-version-response/150390 made me raise this issue.
Note: The Docker v29 api is not affected by the changed key name.
Reproduce
- docker version --format '{{json .}}' | jq
{
"Client": {
"Platform": {
"Name": "Docker Engine - Community"
},
"Version": "29.0.0",
"ApiVersion": "1.44",
"DefaultAPIVersion": "1.52",
"GitCommit": "3d4129b",
"GoVersion": "go1.25.4",
"Os": "linux",
"Arch": "amd64",
"BuildTime": "Mon Nov 10 21:46:31 2025",
"Context": "default"
},
"Server": {
"Platform": {
"Name": "Docker Engine - Community"
},
"Version": "29.0.0",
"APIVersion": "1.52",
"MinAPIVersion": "1.44",
"Os": "linux",
"Arch": "amd64",
"Experimental": false,
"Components": [
{
"Name": "Engine",
"Version": "29.0.0",
"Details": {
"ApiVersion": "1.52",
"Arch": "amd64",
"BuildTime": "Mon Nov 10 21:46:31 2025",
"Experimental": "false",
"GitCommit": "d105562",
"GoVersion": "go1.25.4",
"KernelVersion": "6.8.0-71-generic",
"MinAPIVersion": "1.44",
"Os": "linux"
}
}
...
}
Expected behavior
Instead of "APIVersion" the key "ApiVersion" is used in the "Server" block, like with previous versions.
docker version
Client: Docker Engine - Community
Version: 29.0.0
API version: 1.52
Go version: go1.25.4
Git commit: 3d4129b
Built: Mon Nov 10 21:46:31 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 29.0.0
API version: 1.52 (minimum version 1.44)
Go version: go1.25.4
Git commit: d105562
Built: Mon Nov 10 21:46:31 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.1.5
GitCommit: fcd43222d6b07379a4be9786bda52438f0dd16a1
runc:
Version: 1.3.3
GitCommit: v1.3.3-0-gd842d771
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker info
Additional Info
No response
Description
With Docker 29.0.0. the key "ApiVersion" changed to APIVersion in the Server block, which breaks client that rely on the output of
docker version --format '{{json .}}'.The discussion in https://forums.docker.com/t/breaking-key-change-in-docker-cli-version-response/150390 made me raise this issue.
Note: The Docker v29 api is not affected by the changed key name.
Reproduce
{
"Client": {
"Platform": {
"Name": "Docker Engine - Community"
},
"Version": "29.0.0",
"ApiVersion": "1.44",
"DefaultAPIVersion": "1.52",
"GitCommit": "3d4129b",
"GoVersion": "go1.25.4",
"Os": "linux",
"Arch": "amd64",
"BuildTime": "Mon Nov 10 21:46:31 2025",
"Context": "default"
},
"Server": {
"Platform": {
"Name": "Docker Engine - Community"
},
"Version": "29.0.0",
"APIVersion": "1.52",
"MinAPIVersion": "1.44",
"Os": "linux",
"Arch": "amd64",
"Experimental": false,
"Components": [
{
"Name": "Engine",
"Version": "29.0.0",
"Details": {
"ApiVersion": "1.52",
"Arch": "amd64",
"BuildTime": "Mon Nov 10 21:46:31 2025",
"Experimental": "false",
"GitCommit": "d105562",
"GoVersion": "go1.25.4",
"KernelVersion": "6.8.0-71-generic",
"MinAPIVersion": "1.44",
"Os": "linux"
}
}
...
}
Expected behavior
Instead of "APIVersion" the key "ApiVersion" is used in the "Server" block, like with previous versions.
docker version
Client: Docker Engine - Community Version: 29.0.0 API version: 1.52 Go version: go1.25.4 Git commit: 3d4129b Built: Mon Nov 10 21:46:31 2025 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 29.0.0 API version: 1.52 (minimum version 1.44) Go version: go1.25.4 Git commit: d105562 Built: Mon Nov 10 21:46:31 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: v2.1.5 GitCommit: fcd43222d6b07379a4be9786bda52438f0dd16a1 runc: Version: 1.3.3 GitCommit: v1.3.3-0-gd842d771 docker-init: Version: 0.19.0 GitCommit: de40ad0docker info
Additional Info
No response