28.2.0
28.2.0
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
- docker/cli, 28.2.0 milestone
- moby/moby, 28.2.0 milestone
- Deprecated and removed features, see Deprecated Features.
- Changes to the Engine API, see API version history.
Note
RHEL packages are currently not available and will be released later.
New
- Add
{{.Platform}}
as formatting option fordocker ps
to show the platform of the image the container is running. docker/cli#6042 - Add support for relative parent paths (
../
) on bind mount sources when usingdocker run/create
with-v/--volume
or--mount type=bind
options. docker/cli#4966 - CDI is now enabled by default. moby/moby#49963
- Show discovered CDI devices in
docker info
. docker/cli#6078 docker image rm
: add--platform
option to remove a variant from multi-platform images. docker/cli#6109- containerd image store: Initial BuildKit support for building Windows container images on Windows (requires an opt-in with
DOCKER_BUILDKIT=1
). moby/moby#49740
Bug fixes and enhancements
- Add a new log option for fluentd log driver (
fluentd-write-timeout
), which enables specifying write timeouts for fluentd connections. moby/moby#49911 - Add support for
DOCKER_AUTH_CONFIG
for the experimental--use-api-socket
option. docker/cli#6019 - Fix
docker exec
waiting for 10 seconds if a non-existing user or group was specified. moby/moby#49868 - Fix
docker swarm init
ignoringcacert
option of--external-ca
. docker/cli#5995 - Fix an issue where the CLI would not correctly save the configuration file (
~/.docker/config.json
) if it was a relative symbolic link. docker/cli#5282 - Fix containers with
--restart always
policy using CDI devices failing to start on daemon restart. moby/moby#49990 - Fix shell-completion to only complete some flags once, even though they can be set multiple times. docker/cli#6030
- Fix the
plugin does not implement PluginAddr interface
error for Swarm CSI drivers. moby/moby#49961 - Improve
docker login
error messages for invalid options. docker/cli#6036 - Make sure the terminal state is restored if the CLI is forcefully terminated. docker/cli#6058
- Update the default seccomp profile to match the libseccomp v2.6.0. The new syscalls are:
listmount
,statmount
,lsm_get_self_attr
,lsm_list_modules
,lsm_set_self_attr
,mseal
,uretprobe
,riscv_hwprobe
,getxattrat
,listxattrat
,removexattrat
, andsetxattrat
. This prevents containers from receiving EPERM errors when using them. moby/moby#50077 docker inspect
: add shell completion, improve flag-description for--type
and improve validation. docker/cli#6052- containerd image store: Enable BuildKit garbage collector by default. moby/moby#49899
- containerd image store: Fix
docker build
not persisting overridden images as dangling. moby/moby#49702 - containerd image store: Fix
docker system df
reporting a negative reclaimable space amount. moby/moby#49707 - containerd image store: Fix duplicate
PUT
requests when pushing a multi-platform image. moby/moby#49949
Packaging updates
- Drop Ubuntu 20.04 "Focal" packages as it reached end of life. docker/docker-ce-packaging#1200
- Fix install location for RPM-based
docker-ce
man-pages. docker/docker-ce-packaging#1203 - Update BuildKit to v0.22.0. moby/moby#50046
- Update Buildx to v0.24.0. docker/docker-ce-packaging#1205
- Update Compose to v2.36.2. docker/docker-ce-packaging#1208
- Update Go runtime to 1.24.3. docker/docker-ce-packaging#1192, docker/cli#6060, moby/moby#49174
Networking
- Add bridge network option
"com.docker.network.bridge.trusted_host_interfaces"
, accepting a colon-separated list of interface names. These interfaces have direct access to published ports on container IP addresses. moby/moby#49832 - Add daemon option
"allow-direct-routing"
to disable filtering of packets from outside the host addressed directly to containers. moby/moby#49832 - Do not display network options
com.docker.network.enable_ipv4
orcom.docker.network.enable_ipv6
in inspect output if they have been overridden byEnableIPv4
orEnableIPv6
in the network create request. moby/moby#49866 - Fix an issue that could cause network deletion to fail after a daemon restart, with error "has active endpoints" listing empty endpoint names. moby/moby#49901
- Fix an issue where
docker network inspect --verbose
could sometimes crash the daemon. moby/moby#49937 - Fix an issue where the load-balancer IP address for an overlay network would not be released in certain cases if the Swarm was lacking an ingress network. moby/moby#49948
- Improve the reliability of NetworkDB in busy clusters and lossy networks. moby/moby#49932
- Improvements to the reliability and convergence speed of NetworkDB. moby/moby#49939
API
- Update API version to
1.50
. DELETE /images/{name}
now supports aplatforms
query parameter. It accepts an array of JSON-encoded OCI Platform objects, allowing for selecting a specific platforms to delete content for. moby/moby#49982GET /info
now includes aDiscoveredDevices
field. This is an array ofDeviceInfo
objects, each providing details about a device discovered by a device driver. moby/moby#49980
Go SDK
api/types/container
: addContainerState
and constants for container state. moby/moby#49965api/types/container
: changeSummary.State
to aContainerState
. moby/moby#49991api/types/container
: defineHealthStatus
type for health-status constants. moby/moby#49876api/types
: deprecateBuildResult
,ImageBuildOptions
,ImageBuildOutput
,ImageBuildResponse
,BuilderVersion
,BuilderV1
, andBuilderBuildKi
which were moved toapi/types/build
. moby/moby#50025
Deprecations
- API: Deprecated:
GET /images/{name}/json
no longer returns the following fields:Config
,Hostname
,Domainname
,AttachStdin
,AttachStdout
,AttachStderr
,Tty
,OpenStdin
,StdinOnce
,Image
,NetworkDisabled
(already omitted unless set),MacAddress
(already omitted unless set),StopTimeout
(already omitted unless set). These additional fields were included in the response due to an implementation detail but not part of the image's Configuration, were marked deprecated in API v1.46, and are now omitted. moby/moby#48457 - Go-SDK: Deprecate builder/remotecontext.Rel(). This function was needed on older versions of Go, but can now be replaced by
filepath.Rel()
. moby/moby#49843 - Go-SDK: api/types: deprecate
BuildCachePruneOptions
in favor ofapi/types/builder.CachePruneOptions
. moby/moby#50015 - Go-SDK: api/types: deprecate
BuildCachePruneReport
in favor ofapi/types/builder.CachePruneReport
. moby/moby#50015 - Go-SDK: api/types: deprecate
NodeListOptions
,NodeRemoveOptions
,ServiceCreateOptions
,ServiceUpdateOptions
,RegistryAuthFromSpec
,RegistryAuthFromPreviousSpec
,ServiceListOptions
,ServiceInspectOptions
, andSwarmUnlockKeyResponse
which were moved toapi/types/swarm
. moby/moby#50027 - Go-SDK: api/types: deprecate
SecretCreateResponse
,SecretListOptions
,ConfigCreateResponse
,ConfigListOptions
which were moved to api/types/swarm. moby/moby#50024 - Go-SDK: client: deprecate
IsErrNotFound
. moby/moby#50012 - Go-SDK: container: deprecate
IsValidHealthString
in favor ofapi/types/container.ValidateHealthStatus
. moby/moby#49893 - Go-SDK: container: deprecate
StateStatus
,WaitCondition
, and the relatedWaitConditionNotRunning
,WaitConditionNextExit
, andWaitConditionRemoved
consts in favor of their equivalents inapi/types/container
. moby/moby#49874 - Go-SDK: opts: deprecate
ListOpts.GetAll
in favor ofListOpts.GetSlice
. docker/cli#6032 - Remove deprecated
IsAutomated
formatting placeholder fromdocker search
. docker/cli#6091 - Remove fallback for pulling images from non-OCI-compliant
docker.pkg.github.com
registry. moby/moby#50094 - Remove support for pulling legacy v2, schema 1 images and remove
DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE
environment-variable. moby/moby#50036, moby/moby#42300 - The
BridgeNfIptables
andBridgeNfIp6tables
fields in theGET /info
response were deprecated in API v1.48, and are now omitted in API v1.50. moby/moby#49904 - errdefs: Deprecate
errdefs.FromStatusCode
. Use containerd'serrhttp.ToNative
instead. moby/moby#50030