Skip to content

28.2.0

Compare
Choose a tag to compare
@vvoland vvoland released this 28 May 17:47
· 592 commits to master since this release
0e2cc22

28.2.0

For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:

Note

RHEL packages are currently not available and will be released later.

New

  • Add {{.Platform}} as formatting option for docker 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 using docker 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 ignoring cacert 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, and setxattrat. 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

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 or com.docker.network.enable_ipv6 in inspect output if they have been overridden by EnableIPv4 or EnableIPv6 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 a platforms query parameter. It accepts an array of JSON-encoded OCI Platform objects, allowing for selecting a specific platforms to delete content for. moby/moby#49982
  • GET /info now includes a DiscoveredDevices field. This is an array of DeviceInfo objects, each providing details about a device discovered by a device driver. moby/moby#49980

Go SDK

  • api/types/container: add ContainerState and constants for container state. moby/moby#49965
  • api/types/container: change Summary.State to a ContainerState. moby/moby#49991
  • api/types/container: define HealthStatus type for health-status constants. moby/moby#49876
  • api/types: deprecate BuildResult, ImageBuildOptions, ImageBuildOutput, ImageBuildResponse, BuilderVersion, BuilderV1, and BuilderBuildKi which were moved to api/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 of api/types/builder.CachePruneOptions. moby/moby#50015
  • Go-SDK: api/types: deprecate BuildCachePruneReport in favor of api/types/builder.CachePruneReport. moby/moby#50015
  • Go-SDK: api/types: deprecate NodeListOptions, NodeRemoveOptions, ServiceCreateOptions, ServiceUpdateOptions, RegistryAuthFromSpec, RegistryAuthFromPreviousSpec, ServiceListOptions, ServiceInspectOptions, and SwarmUnlockKeyResponse which were moved to api/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 of api/types/container.ValidateHealthStatus. moby/moby#49893
  • Go-SDK: container: deprecate StateStatus, WaitCondition, and the related WaitConditionNotRunning, WaitConditionNextExit, and WaitConditionRemoved consts in favor of their equivalents in api/types/container. moby/moby#49874
  • Go-SDK: opts: deprecate ListOpts.GetAll in favor of ListOpts.GetSlice. docker/cli#6032
  • Remove deprecated IsAutomated formatting placeholder from docker 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 and BridgeNfIp6tables fields in the GET /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's errhttp.ToNative instead. moby/moby#50030