All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to Semantic Versioning.
- Bugfix: Don't close base images prematurely [Leandro Motta Barros]
- Update runc component to v1.1.12 from balena-runc repo [Ken Bannister]
- Update actions/upload-artifact to v4 and generate unique artifacts [Kyle Harding]
- Simplified development doc 'Build and run' instructions [Ken Bannister]
- Re-vendor to get the containerd-shim-runc-v2 sources [Leandro Motta Barros]
- Default to io.containerd.runc.v2 [Robert Günzler]
- Don't enable AppArmor if
apparmor_parser
is not present [Leandro Motta Barros]
- Document a couple of troubleshooting tips [Leandro Motta Barros]
- Bugfix: concatReadSeekCloser.Read() with buffers of any size [Leandro Motta Barros]
- Minor code and comments tweaks [Leandro Motta Barros]
- Further improve resilience of image pulls [Leandro Motta Barros]
- Update libnetwork to fix port binding issue [Leandro Motta Barros]
- Update librsync-go to v0.8.5, circbuf to v0.1.3 [Leandro Motta Barros]
- Add integration tests for balena's "delta on load" [Leandro Motta Barros]
- Simplify and improve delta error handling [Leandro Motta Barros]
- Refactor the xfer portions of delta [Leandro Motta Barros]
- Refactor the distribution portions of delta [Leandro Motta Barros]
- Installer: Make the script POSIX-compliant [Leandro Motta Barros]
- Installer: Improve handling of su/sudo [Leandro Motta Barros]
- Installer: Improve checking for dependencies [Leandro Motta Barros]
- Installer: remove support for the 386 architecture [Leandro Motta Barros]
- Remove the installation script from docs/ [Leandro Motta Barros]
- Remove references to deprecated build targets [Kyle Harding]
- Revert "Cross-build the dynbinary target" [Kyle Harding]
- Fix typos in the masterclass docs [Leandro Motta Barros]
- patch: Migrate balenaEngine Debugging docs from masterclass [Vipul Gupta (@vipulgupta2048)]
- Rename test functions for better clarity [Leandro Motta Barros]
- Add test case for the delta image store [Leandro Motta Barros]
- Add dev-focused docs on some balenaEngine features [Leandro Motta Barros]
- Simplify test code by using new std lib function [Leandro Motta Barros]
- Set the delta image store, fix delta-based HUPs [Leandro Motta Barros]
- Disable builds for linux/386 [Leandro Motta Barros]
Merge upstream 20.10.17 [Leandro Motta Barros]
2022-06-06
This release of Docker Engine comes with updated versions of Docker Compose and the containerd
, and runc
components, as well as some minor bug fixes.
- Remove asterisk from docker commands in zsh completion script docker/cli#3648.
- Fix Windows port conflict with published ports in host mode for overlay moby/moby#43644.
- Ensure performance tuning is always applied to libnetwork sandboxes moby/moby#43683.
- Update Docker Compose to v2.6.0.
- Update containerd (
containerd.io
package) to v1.6.6, which contains a fix for CVE-2022-31030 - Update runc version to v1.1.2, which contains a fix for CVE-2022-29162.
- Update Go runtime to 1.17.11, which contains fixes for CVE-2022-30634, CVE-2022-30629, CVE-2022-30580 and CVE-2022-29804
2022-05-12
This release of Docker Engine fixes a regression in the Docker CLI builds for macOS, fixes an issue with docker stats
when using containerd 1.5 and up, and updates the Go runtime to include a fix for CVE-2022-29526.
- Fixed a regression in binaries for macOS introduced in 20.10.15, which resulted in a panic docker/cli#43426.
- Update golang.org/x/sys dependency which contains a fix for CVE-2022-29526.
- Fixed an issue where
docker stats
was showing empty stats when running with containerd 1.5.0 or up moby/moby#43567. - Updated the
golang.org/x/sys
build-time dependency which contains a fix for CVE-2022-29526.
- Updated Go runtime to 1.17.10, which contains a fix for CVE-2022-29526.
- Used “weak” dependencies for the
docker scan
CLI plugin, to prevent a “conflicting requests” error when users performed an off-line installation from downloaded RPM packages docker/docker-ce-packaging#659.
2022-05-05
This release of Docker Engine comes with updated versions of the compose
, buildx
, containerd
, and runc
components, as well as some minor bug fixes.
Known issues
We’ve identified an issue with the macOS CLI binaries in the 20.10.15 release. This issue has been resolved in the 20.10.16 release.
- Use a RWMutex for stateCounter to prevent potential locking congestion moby/moby#43426.
- Prevent an issue where the daemon was unable to find an available IP-range in some conditions moby/moby#43360
- Update Docker Compose to v2.5.0.
- Update Docker Buildx to v0.8.2.
- Update Go runtime to 1.17.9.
- Update containerd (
containerd.io
package) to v1.6.4. - Update runc version to v1.1.1.
- Add packages for CentOS 9 stream and Fedora 36.
2022-03-23
This release of Docker Engine updates the default inheritable capabilities for containers to address CVE-2022-24769, a new version of the containerd.io
runtime is also included to address the same issue.
- Update the default inheritable capabilities.
- Update the default inheritable capabilities for containers used during build.
2022-03-10
This release of Docker Engine contains some bug-fixes and packaging changes, updates to the docker scan
and docker buildx
commands, an updated version of the Go runtime, and new versions of the containerd.io
runtime. Together with this release, we now also provide .deb
and .rpm
packages of Docker Compose V2, which can be installed using the (optional) docker-compose-plugin
package.
- Updated the bundled version of buildx to v0.8.0.
- Fix a race condition when updating the container’s state moby/moby#43166.
- Update the etcd dependency to prevent the daemon from incorrectly holding file locks moby/moby#43259
- Fix detection of user-namespaces when configuring the default
net.ipv4.ping_group_range
sysctl moby/moby#43084.
- Retry downloading image-manifests if a connection failure happens during image pull moby/moby#43333.
- Various fixes in command-line reference and API documentation.
- Prevent an OOM when using the “local” logging driver with containers that produce a large amount of log messages moby/moby#43165.
- Updates the fluentd log driver to prevent a potential daemon crash, and prevent containers from hanging when using the
fluentd-async-connect=true
and the remote server is unreachable moby/moby#43147.
- Provide
.deb
and.rpm
packages for Docker Compose V2. Docker Compose v2.3.3 can now be installed on Linux using thedocker-compose-plugin
packages, which provides thedocker compose
subcommand on the Docker CLI. The Docker Compose plugin can also be installed and run standalone to be used as a drop-in replacement fordocker-compose
(Docker Compose V1) docker/docker-ce-packaging#638. Thecompose-cli-plugin
package can also be used on older version of the Docker CLI with support for CLI plugins (Docker CLI 18.09 and up). - Provide packages for the upcoming Ubuntu 22.04 “Jammy Jellyfish” LTS release docker/docker-ce-packaging#645, docker/containerd-packaging#271.
- Update
docker buildx
to v0.8.0. - Update
docker scan
(docker-scan-plugin
) to v0.17.0. - Update containerd (
containerd.io
package) to v1.5.10. - Update the bundled runc version to v1.0.3.
- Update Golang runtime to Go 1.16.15.
2021-12-13
This release of Docker Engine contains changes in packaging only, and provides updates to the docker scan
and docker buildx
commands. Versions of docker scan
before v0.11.0 are not able to detect the Log4j 2 CVE-2021-44228. We are shipping an updated version of docker scan
in this release to help you scan your images for this vulnerability.
Note
The
docker scan
command on Linux is currently only supported on x86 platforms. We do not yet provide a package for other hardware architectures on Linux.
The docker scan
feature is provided as a separate package and, depending on your upgrade or installation method, ‘docker scan’ may not be updated automatically to the latest version. Use the instructions below to update docker scan
to the latest version. You can also use these instructions to install, or upgrade the docker scan
package without upgrading the Docker Engine:
On .deb
based distros, such as Ubuntu and Debian:
$ apt-get update && apt-get install docker-scan-plugin
On rpm-based distros, such as CentOS or Fedora:
$ yum install docker-scan-plugin
After upgrading, verify you have the latest version of docker scan
installed:
$ docker scan --accept-license --version
Version: v0.12.0
Git commit: 1074dd0
Provider: Snyk (1.790.0 (standalone))
Read our blog post on CVE-2021-44228 to learn how to use the docker scan
command to check if images are vulnerable.
- Cross-build the dynbinary target [Kyle Harding]
- Fix TestBuildUserNamespaceValidateCapabilitiesAreV2 [Leandro Motta Barros]
- Fix crash with PPP interface with nil dst address [Leandro Motta Barros]
- Fix typo [Leandro Motta Barros]
- patch: Revert "Fix balena-engine logo image" [Vipul Gupta]
- patch: Add balena-engine documentation [Vipul Gupta (@vipulgupta2048)]
- Move GH publishing to core [ab77]
- Improve docs for balenaEngine devs [Leandro Motta Barros]
- Create balena symlinks during cross builds [Leandro Motta Barros]
- Switch to Flowzone [Leandro Motta Barros]
- Improve error reporting for delta base image loading [Leandro Motta Barros]
- Fix "slice bounds out of range" while applying deltas [Leandro Motta Barros]
- contrib/init/systemd: update balena-engine.service [TIAN Yuanhao]
- Log more info upon when raising errRootFSMismatch [Leandro Motta Barros]
- Add more integration tests for deltas [Leandro Motta Barros]
- Add link to post to test landr [andrew]
- storagemigration: keep going if migration fails [Robert Günzler]
- graphdriver/copy: fix handling of sockets [Robert Günzler]
- pkg/storagemigration: use graphdriver/copy.DirCopy [Robert Günzler]
- Prune Jenkinsfile [Robert Günzler]
- Backport platform-detection fixes from containerd [Robert Günzler]
- storagemigration: capture failcleanup logs in logfile [Robert Günzler]
- storagemigration: move logic to package [Robert Günzler]
- prevent slice oob access in concatReadSeekCloser [Martin Rauscher]
- Make layer download resuming more resilient [Leandro Motta Barros]
- Drop CODEOWNERS [Robert Günzler]
- pkg/storagemigration: poperly handle errors during state creation [Robert Günzler]
- pkg/storagemigration: allow writing logs to separate file [Robert Günzler]
- storagemigration: defer commit to next start [Robert Günzler]
- Lock destination layers while delta is being processed [Robert Günzler]
- Add aufs to overlay2 migrator [Robert Günzler]
- Update the README [Robert Günzler]
- Cleanup repo [Robert Günzler]
- Add a SECURITY.md [Robert Günzler]
- top_unix.go: allow busybox ps with no args [Kyle Harding]
- Bump balena-os/balena-containerd to 1da48a8 [Tian Yuanhao]
- Add changelog template to allow generating nested changelogs [Robert Günzler]
- Update github issue and pr templates [Robert Günzler]
- Update codeowners [Robert Günzler]
- hack: Fix CLI versioning [Robert Günzler]
- Fixed typos in getting-started.md docs [Miguel Casqueira]
- Add integration tests for hostapp handling [Robert Günzler]
- Fix container data deletion [Roman Mazur]
- overlay2: Add List support [Roman Mazur]
- aufs: Add List support [Roman Mazur]
- layer: Remove unreferenced driver layers on create [Roman Mazur]
- layer: Prune unused data on layer store creation [Roman Mazur]
- layer: Persist cacheID early on transaction start [Roman Mazur]
- pkg/authorization: Fix test failures on macOS [Roman Mazur]
- Move ci to balenaCI [Robert Günzler]
- contrib: Add balena-engine version of dind container [Robert Günzler]
- build.sh: Disable btrfs,zfs,devicemapper graphdrivers [Robert Günzler]
- Bump CLI dependency to include fix for #178 [Robert Günzler]
- Bump CLI dependency to include --cidenv flag [Robert Günzler]
- Allow passing container ID to container via environment variable [Robert Günzler]
- contrib/install.sh: Add details to the success message [Robert Günzler]
- contrib/install.sh: Rename balena to balenaEngine in ASCII art output [Robert Günzler]
- contrib/install.sh: Fail on error [Robert Günzler]
- Add daemon flags to configure max download/upload attempts during pull/push [Robert Günzler]
- aufs,overlay2: Add driver opts for disk sync [Robert Günzler]
- Fix double locking in the event handling code of OOM events [Robert Günzler]
- integration-tests: Add test for containers with memory,cpu constraints [Robert Günzler]
- Update Dockerfiles used for build to Go 1.10.8 [Robert Günzler]
- travis: Use the minimal machine [Robert Günzler]
- Add cli for tagging delta images [Robert Günzler]
- Allow tagging of image deltas on creation [Robert Günzler]
- docs: Fix Docker capitalisation in balenaEngine docs [Paulo Castro]
- Update balenaEngine logo in README.md [Paulo Castro]
- Disable incompatible integration tests [Paulo Castro]
Merge upstream v20.10.11 [Robert Günzler]
2021-11-17
IMPORTANT
Due to net/http changes in Go 1.16, HTTP proxies configured through the
$HTTP_PROXY
environment variable are no longer used for TLS (https://
) connections. Make sure you also set an$HTTPS_PROXY
environment variable for handling requests tohttps://
URLs.Refer to the HTTP/HTTPS proxy section to learn how to configure the Docker Daemon to use a proxy server. {: .important }
- Handle ambiguous OCI manifest parsing to mitigate CVE-2021-41190 / GHSA-mc8v-mgrf-8f4m. See GHSA-xmmx-7jpf-fx42 for details.
- Fix panic.log file having read-only attribute set moby/moby#42987.
- Update containerd to v1.4.12 to mitigate CVE-2021-41190.
- Update Golang runtime to Go 1.16.10.
2021-10-25
IMPORTANT
Due to net/http changes in Go 1.16, HTTP proxies configured through the
$HTTP_PROXY
environment variable are no longer used for TLS (https://
) connections. Make sure you also set an$HTTPS_PROXY
environment variable for handling requests tohttps://
URLs.Refer to the HTTP/HTTPS proxy section to learn how to configure the Docker Daemon to use a proxy server. {: .important }
- Fix platform-matching logic to fix
docker build
using not finding images in the local image cache on Arm machines when using BuildKit moby/moby#42954
- Add support for
clone3
syscall in the default seccomp policy to support running containers based on recent versions of Fedora and Ubuntu. moby/moby/#42836. - Windows: update hcsshim library to fix a bug in sparse file handling in container layers, which was exposed by recent changes in Windows moby/moby#42944.
- Fix some situations where
docker stop
could hang forever moby/moby#42956.
- Update Golang runtime to Go 1.16.9.
2021-10-04
This release is a security release with security fixes in the CLI, runtime, as well as updated versions of the containerd.io package.
IMPORTANT
Due to net/http changes in Go 1.16, HTTP proxies configured through the
$HTTP_PROXY
environment variable are no longer used for TLS (https://
) connections. Make sure you also set an$HTTPS_PROXY
environment variable for handling requests tohttps://
URLs.Refer to the HTTP/HTTPS proxy section to learn how to configure the Docker Daemon to use a proxy server. {: .important }
- CVE-2021-41092 Ensure default auth config has address field set, to prevent credentials being sent to the default registry.
- CVE-2021-41089
Create parent directories inside a chroot during
docker cp
to prevent a specially crafted container from changing permissions of existing files in the host’s filesystem. - CVE-2021-41091
Lock down file permissions to prevent unprivileged users from discovering and
executing programs in
/var/lib/docker
.
Known issue
The
ctr
binary shipping with the static packages of this release is not statically linked, and will not run in Docker images using alpine as a base image. Users can install thelibc6-compat
package, or download a previous version of thectr
binary as a workaround. Refer to the containerd ticket related to this issue for more details: containerd/containerd#5824.
- Update Golang runtime to Go 1.16.8, which contains fixes for CVE-2021-36221 and CVE-2021-39293
2021-08-03
IMPORTANT
Due to net/http changes in Go 1.16, HTTP proxies configured through the
$HTTP_PROXY
environment variable are no longer used for TLS (https://
) connections. Make sure you also set an$HTTPS_PROXY
environment variable for handling requests tohttps://
URLs.Refer to the HTTP/HTTPS proxy section to learn how to configure the Docker Daemon to use a proxy server. {: .important }
- Deprecate support for encrypted TLS private keys. Legacy PEM encryption as specified in RFC 1423 is insecure by design. Because it does not authenticate the ciphertext, it is vulnerable to padding oracle attacks that can let an attacker recover the plaintext. Support for encrypted TLS private keys is now marked as deprecated, and will be removed in an upcoming release. docker/cli#3219
- Deprecate Kubernetes stack support. Following the deprecation of Compose on Kubernetes,
support for Kubernetes in the
stack
andcontext
commands in the Docker CLI is now marked as deprecated, and will be removed in an upcoming release docker/cli#3174.
- Fix
Invalid standard handle identifier
errors on Windows docker/cli#3132.
- Avoid
can't open lock file /run/xtables.lock: Permission denied
error on SELinux hosts moby/moby#42462. - Disable overlay2 when running with SELinux to prevent permission denied errors moby/moby#42462.
- Fix
x509: certificate signed by unknown authority
error on openSUSE Tumbleweed moby/moby#42462.
- Print a warning when using the
--platform
option to pull a single-arch image that does not match the specified architecture moby/moby#42633. - Fix incorrect
Your kernel does not support swap memory limit
warning when running with cgroups v2 moby/moby#42479. - Windows: Fix a situation where containers were not stopped if
HcsShutdownComputeSystem
returned anERROR_PROC_NOT_FOUND
error moby/moby#42613
2021-06-02
- Suppress warnings for deprecated cgroups docker/cli#3099.
- Prevent sending
SIGURG
signals to container on Linux and macOS. The Go runtime (starting with Go 1.14) usesSIGURG
signals internally as an interrupt to support preemptable syscalls. In situations where the Docker CLI was attached to a container, these interrupts were forwarded to the container. This fix changes the Docker CLI to ignoreSIGURG
signals docker/cli#3107, moby/moby#42421.
- Update BuildKit to version v0.8.3-3-g244e8cde moby/moby#42448:
- Transform relative mountpoints for exec mounts in the executor to work around a breaking change in runc v1.0.0-rc94 and up. moby/buildkit#2137.
- Add retry on image push 5xx errors. moby/buildkit#2043.
- Fix build-cache not being invalidated when renaming a file that is copied using
a
COPY
command with a wildcard. Note that this change invalidates existing build caches for copy commands that use a wildcard. moby/buildkit#2018. - Fix build-cache not being invalidated when using mounts moby/buildkit#2076.
- Fix build failures when
FROM
image is not cached when using legacy schema 1 images moby/moby#42382.
- Update the hcsshim SDK to make daemon logs on Windows less verbose moby/moby#42292.
- Fix capabilities not being honored when an image was built on a daemon with user-namespaces enabled moby/moby#42352.
- Update libnetwork to fix publishing ports on environments with kernel boot
parameter
ipv6.disable=1
, and to fix a deadlock causing internal DNS lookups to fail moby/moby#42413.
- Update rootlesskit to v0.14.2 to fix a timeout when starting the userland proxy
with the
slirp4netns
port driver moby/moby#42294. - Fix "Device or resource busy" errors when running docker-in-docker on a rootless daemon moby/moby#42342.
- Update containerd to v1.4.6, runc v1.0.0-rc95 to address CVE-2021-30465 moby/moby#42398, moby/moby#42395, ocker/containerd-packaging#234
- Update containerd to v1.4.5, runc v1.0.0-rc94 moby/moby#42372, moby/moby#42388, docker/containerd-packaging#232.
2021-04-12
- Apple Silicon (darwin/arm64) support for Docker CLI docker/cli#3042
- config: print deprecation warning when falling back to pre-v1.7.0 config file
~/.dockercfg
. Support for this file will be removed in a future release docker/cli#3000
- Fix classic builder silently ignoring unsupported Dockerfile options and prompt to enable BuildKit instead moby/moby#42197
- json-file: fix sporadic unexpected EOF errors moby/moby#42174
- Fix a regression in docker 20.10, causing IPv6 addresses no longer to be bound by default when mapping ports moby/moby#42205
- Fix implicit IPv6 port-mappings not included in API response. Before docker 20.10, published ports were accessible through both IPv4 and IPv6 by default, but the API only included information about the IPv4 (0.0.0.0) mapping moby/moby#42205
- Fix a regression in docker 20.10, causing the docker-proxy to not be terminated in all cases moby/moby#42205
- Fix iptables forwarding rules not being cleaned up upon container removal moby/moby#42205
- Update containerd to v1.4.4 for static binaries. The containerd.io package on apt/yum repos already had this update out of band. Includes a fix for CVE-2021-21334. moby/moby#42124
- Include VPNKit binary for arm64 moby/moby#42141
- Fix docker plugin create making plugins that were incompatible with older versions of Docker moby/moby#42256
- Update RootlessKit to v0.14.1 (see also v0.14.0 v0.13.2) moby/moby#42186 moby/moby#42232
- dockerd-rootless-setuptool.sh: create CLI context "rootless" moby/moby#42109
- dockerd-rootless.sh: prohibit running as root moby/moby#42072
- Fix "operation not permitted" when bind mounting existing mounts moby/moby#42233
- overlay2: fix "createDirWithOverlayOpaque(...) ... input/output error" moby/moby#42235
- overlay2: support "userxattr" option (kernel 5.11) moby/moby#42168
- btrfs: allow unprivileged user to delete subvolumes (kernel >= 4.18) moby/moby#42253
- cgroup2: Move cgroup v2 out of experimental moby/moby#42263
2021-03-02
- Revert docker/cli#2960 to fix hanging in
docker start --attach
and remove spuriousUnsupported signal: <nil>. Discarding
messages. docker/cli#2987.
2021-02-26
- Fix incorrect cache match for inline cache import with empty layers moby/moby#42061
- Update BuildKit to v0.8.2 moby/moby#42061
- resolver: avoid error caching on token fetch
- fileop: fix checksum to contain indexes of inputs preventing certain cache misses
- Fix reference count issues on typed errors with mount references (fixing
invalid mutable ref
errors) - git: set token only for main remote access allowing cloning submodules with different credentials
- Ensure blobs get deleted in /var/lib/docker/buildkit/content/blobs/sha256 after pull. To clean up old state run
builder prune
moby/moby#42065 - Fix parallel pull synchronization regression moby/moby#42049
- Ensure libnetwork state files do not leak moby/moby#41972
- Fix a panic on
docker login
if no config file is present docker/cli#2959 - Fix
WARNING: Error loading config file: .dockercfg: $HOME is not defined
docker/cli#2958
- docker info: silence unhandleable warnings moby/moby#41958
- Avoid creating parent directories for XGlobalHeader moby/moby#42017
- Use 0755 permissions when creating missing directories moby/moby#42017
- Fallback to manifest list when no platform matches in image config moby/moby#42045 moby/moby#41873
- Fix a daemon panic on setups with a custom default runtime configured moby/moby#41974
- Fix a panic when daemon configuration is empty moby/moby#41976
- Fix daemon panic when starting container with invalid device cgroup rule moby/moby#42001
- Fix userns-remap option when username & UID match moby/moby#42013
- static: update runc binary to v1.0.0-rc93 moby/moby#42014
- Honor
labels-regex
config even iflabels
is not set moby/moby#42046 - Handle long log messages correctly preventing awslogs in non-blocking mode to split events bigger than 16kB mobymoby#41975
- Prevent the service hanging when stopping by setting systemd KillMode to mixed moby/moby#41956
- dockerd-rootless.sh: add typo guard moby/moby#42070
- Update rootlesskit to v0.13.1 to fix handling of IPv6 addresses moby/moby#42025
- allow mknodding FIFO inside userns moby/moby#41957
- profiles: seccomp: update to Linux 5.11 syscall list moby/moby#41971
2021-02-01
- CVE-2021-21285 Prevent an invalid image from crashing docker daemon
- CVE-2021-21284 Lock down file permissions to prevent remapped root from accessing docker state
- Ensure AppArmor and SELinux profiles are applied when building with BuildKit
- Check contexts before importing them to reduce risk of extracted files escaping context store
- Windows: prevent executing certain binaries from current directory docker/cli#2950
2021-01-04
- Fix a daemon start up hang when restoring containers with restart policies but that keep failing to start moby/moby#41729
- overlay2: fix an off-by-one error preventing to build or run containers when data-root is 24-bytes long moby/moby#41830
- systemd: send
sd_notify STOPPING=1
when shutting down moby/moby#41832
- Fix IPv6 port forwarding moby/moby#41805 moby/libnetwork#2604
2020-12-14
- buildkit: updated to v0.8.1 with various bugfixes moby/moby#41793
- Revert a change in the systemd unit that could prevent docker from starting due to a startup order conflict docker/docker-ce-packaging#514
- buildx updated to v0.5.0 docker/docker-ce-packaging#515
2020-12-08
For an overview of all deprecated features, refer to the Deprecated Engine Features page.
- Warnings and deprecation notice when
docker pull
-ing from non-compliant registries not supporting pull-by-digest docker/cli#2872 - Sterner warnings and deprecation notice for unauthenticated tcp access moby/moby#41285
- Deprecate KernelMemory (
docker run --kernel-memory
) moby/moby#41254 docker/cli#2652 - Deprecate
aufs
storage driver docker/cli#1484 - Deprecate host-discovery and overlay networks with external k/v stores moby/moby#40614 moby/moby#40510
- Deprecate Dockerfile legacy 'ENV name value' syntax, use
ENV name=value
instead docker/cli#2743 - Remove deprecated "filter" parameter for API v1.41 and up moby/moby#40491
- Disable distribution manifest v2 schema 1 on push moby/moby#41295
- Remove hack MalformedHostHeaderOverride breaking old docker clients (<= 1.12) in which case, set
DOCKER_API_VERSION
moby/moby#39076 - Remove "docker engine" subcommands docker/cli#2207
- Remove experimental "deploy" from "dab" files docker/cli#2216
- Remove deprecated
docker search --automated
and--stars
flags docker/cli#2338 - No longer allow reserved namespaces in engine labels docker/cli#2326
- Update API version to v1.41
- Do not require "experimental" for metrics API moby/moby#40427
GET /events
now returnsprune
events after pruning resources have completed moby/moby#41259- Prune events are returned for
container
,network
,volume
,image
, andbuilder
, and have areclaimed
attribute, indicating the amount of space reclaimed (in bytes)
- Prune events are returned for
- Add
one-shot
stats option to not prime the stats moby/moby#40478 - Adding OS version info to the system info's API (
/info
) moby/moby#38349 - Add DefaultAddressPools to docker info moby/moby#40714
- Add API support for PidsLimit on services moby/moby#39882
- buildkit,dockerfile: Support for
RUN --mount
options without needing to specify experimental dockerfile#syntax
directive. moby/buildkit#1717 - dockerfile:
ARG
command now supports defining multiple build args on the same line similarly toENV
moby/buildkit#1692 - dockerfile:
--chown
flag inADD
now allows parameter expansion moby/buildkit#1473 - buildkit: Fetching authorization tokens has been moved to client-side (if the client supports it). Passwords do not leak into the build daemon anymore and users can see from build output when credentials or tokens are accessed. moby/buildkit#1660
- buildkit: Connection errors while communicating with the registry for push and pull now trigger a retry moby/buildkit#1791
- buildkit: Git source now supports token authentication via build secrets moby/moby#41234 docker/cli#2656 moby/buildkit#1533
- buildkit: Building from git source now supports forwarding SSH socket for authentication moby/buildkit#1782
- buildkit: Avoid builds that generate excessive logs to cause a crash or slow down the build. Clipping is performed if needed. moby/buildkit#1754
- buildkit: Change default Seccomp profile to the one provided by Docker moby/buildkit#1807
- buildkit: Support for exposing SSH agent socket on Windows has been improved moby/buildkit#1695
- buildkit: Disable truncating by default when using --progress=plain moby/buildkit#1435
- buildkit: Allow better handling client sessions dropping while it is being shared by multiple builds moby/buildkit#1551
- buildkit: secrets: allow providing secrets with env moby/moby#41234 docker/cli#2656 moby/buildkit#1534
- Support
--secret id=foo,env=MY_ENV
as an alternative for storing a secret value to a file. --secret id=GIT_AUTH_TOKEN
will load env if it exists and the file does not.
- Support
- buildkit: Support for mirrors fallbacks, insecure TLS and custom TLS config moby/moby#40814
- buildkit: remotecache: Only visit each item once when walking results moby/moby#41234 moby/buildkit#1577
- Improves performance and CPU use on bigger graphs
- buildkit: Check remote when local image platform doesn't match moby/moby#40629
- buildkit: image export: Use correct media type when creating new layer blobs moby/moby#41234 moby/buildkit#1541
- buildkit: progressui: fix logs time formatting moby/moby#41234 docker/cli#2656 moby/buildkit#1549
- buildkit: mitigate containerd issue on parallel push moby/moby#41234 moby/buildkit#1548
- buildkit: inline cache: fix handling of duplicate blobs moby/moby#41234 moby/buildkit#1568
- Fixes moby/buildkit#1388 cache-from working unreliably
- Fixes moby/moby#41219 Image built from cached layers is missing data
- Allow ssh:// for remote context URLs moby/moby#40179
- builder: remove legacy build's session handling (was experimental) moby/moby#39983
- Add swarm jobs support to CLI docker/cli#2262
- Add
-a/--all-tags
to docker push docker/cli#2220 - Add support for Kubernetes username/password auth docker/cli#2308
- Add
--pull=missing|always|never
torun
andcreate
commands docker/cli#1498 - Add
--env-file
flag todocker exec
for parsing environment variables from a file docker/cli#2602 - Add shorthand
-n
for--tail
option docker/cli#2646 - Add log-driver and options to service inspect "pretty" format docker/cli#1950
- docker run: specify cgroup namespace mode with
--cgroupns
docker/cli#2024 docker manifest rm
command to remove manifest list draft from local storage docker/cli#2449- Add "context" to "docker version" and "docker info" docker/cli#2500
- Propagate platform flag to container create API docker/cli#2551
- The
docker ps --format
flag now has a.State
placeholder to print the container's state without additional details about uptime and health check docker/cli#2000 - Add support for docker-compose schema v3.9 docker/cli#2073
- Add support for docker push
--quiet
docker/cli#2197 - Hide flags that are not supported by BuildKit, if BuildKit is enabled docker/cli#2123
- Update flag description for
docker rm -v
to clarify the option only removes anonymous (unnamed) volumes docker/cli#2289 - Improve tasks printing for docker services docker/cli#2341
- docker info: list CLI plugins alphabetically docker/cli#2236
- Fix order of processing of
--label-add/--label-rm
,--container-label-add/--container-label-rm
, and--env-add/--env-rm
flags ondocker service update
to allow replacing existing values docker/cli#2668 - Fix
docker rm --force
returning a non-zero exit code if one or more containers did not exist docker/cli#2678 - Improve memory stats display by using
total_inactive_file
instead ofcache
docker/cli#2415 - Mitigate against YAML files that has excessive aliasing docker/cli#2117
- Allow using advanced syntax when setting a config or secret with only the source field docker/cli#2243
- Fix reading config files containing
username
andpassword
auth even ifauth
is empty docker/cli#2122 - docker cp: prevent NPE when failing to stat destination docker/cli#2221
- config: preserve ownership and permissions on configfile docker/cli#2228
- Support reading
docker logs
with all logging drivers (best effort) moby/moby#40543 - Add
splunk-index-acknowledgment
log option to work with Splunk HECs with index acknowledgment enabled moby/moby#39987 - Add partial metadata to journald logs moby/moby#41407
- Reduce allocations for logfile reader moby/moby#40796
- Fluentd: add fluentd-async, fluentd-request-ack, and deprecate fluentd-async-connect moby/moby#39086
- Support cgroup2 moby/moby#40174 moby/moby#40657 moby/moby#40662
- cgroup2: use "systemd" cgroup driver by default when available moby/moby#40846
- new storage driver: fuse-overlayfs moby/moby#40483
- Update containerd binary to v1.4.3 moby/moby#41732
docker push
now defaults tolatest
tag instead of all tags moby/moby#40302- Added ability to change the number of reconnect attempts during connection loss while pulling an image by adding max-download-attempts to the config file moby/moby#39949
- Add support for containerd v2 shim by using the now default
io.containerd.runc.v2
runtime moby/moby#41182 - cgroup v1: change the default runtime to io.containerd.runc.v2. Requires containerd v1.3.0 or later. v1.3.5 or later is recommended moby/moby#41210
- Start containers in their own cgroup namespaces moby/moby#38377
- Enable DNS Lookups for CIFS Volumes moby/moby#39250
- Use MemAvailable instead of MemFree to estimate actual available memory moby/moby#39481
- The
--device
flag indocker run
will now be honored when the container is started in privileged mode moby/moby#40291 - Enforce reserved internal labels moby/moby#40394
- Raise minimum memory limit to 6M, to account for higher memory use by runtimes during container startup moby/moby#41168
- Add support for
CAP_PERFMON
,CAP_BPF
, andCAP_CHECKPOINT_RESTORE
on supported kernels moby/moby#41460 - vendor runc v1.0.0-rc92 moby/moby#41344 moby/moby#41317
- info: add warnings about missing blkio cgroup support moby/moby#41083
- Accept platform spec on container create moby/moby#40725
- Fix handling of looking up user- and group-names with spaces moby/moby#41377
- Support host.docker.internal in dockerd on Linux moby/moby#40007
- Include IPv6 address of linked containers in /etc/hosts moby/moby#39837
--ip6tables
enables IPv6 iptables rules (only if experimental) moby/moby#41622- Add alias for hostname if hostname != container name moby/moby#39204
- Better selection of DNS server (with systemd) moby/moby#41022
- Add docker interfaces to firewalld docker zone moby/moby#41189 moby/libnetwork#2548
- Fixes DNS issue on CentOS8 docker/for-linux#957
- Fixes Port Forwarding on RHEL 8 with Firewalld running with FirewallBackend=nftables moby/libnetwork#2496
- Fix an issue reporting 'failed to get network during CreateEndpoint' moby/moby#41189 moby/libnetwork#2554
- Log error instead of disabling IPv6 router advertisement failed moby/moby#41189 moby/libnetwork#2563
- No longer ignore
--default-address-pool
option in certain cases moby/moby#40711 - Produce an error with invalid address pool moby/moby#40808 moby/libnetwork#2538
- Fix
DOCKER-USER
chain not created when IPTableEnable=false moby/moby#40808 moby/libnetwork#2471 - Fix panic on startup in systemd environments moby/moby#40808 moby/libnetwork#2544
- Fix issue preventing containers to communicate over macvlan internal network moby/moby#40596 moby/libnetwork#2407
- Fix InhibitIPv4 nil panic moby/moby#40596
- Fix VFP leak in Windows overlay network deletion moby/moby#40596 moby/libnetwork#2524
- docker.service: Add multi-user.target to After= in unit file moby/moby#41297
- docker.service: Allow socket activation moby/moby#37470
- seccomp: Remove dependency in dockerd on libseccomp moby/moby#41395
- rootless: graduate from experimental moby/moby#40759
- Add dockerd-rootless-setuptool.sh moby/moby#40950
- Support
--exec-opt native.cgroupdriver=systemd
moby/moby#40486
- Fix CVE-2019-14271 loading of nsswitch based config inside chroot under Glibc moby/moby#39612
- seccomp: Whitelist
clock_adjtime
.CAP_SYS_TIME
is still required for time adjustment moby/moby#40929 - seccomp: Add openat2 and faccessat2 to default seccomp profile moby/moby#41353
- seccomp: allow 'rseq' syscall in default seccomp profile moby/moby#41158
- seccomp: allow syscall membarrier moby/moby#40731
- seccomp: whitelist io-uring related system calls moby/moby#39415
- Add default sysctls to allow ping sockets and privileged ports with no capabilities moby/moby#41030
- Fix seccomp profile for clone syscall moby/moby#39308
- storagemigration: keep going if migration fails [Robert Günzler]
- graphdriver/copy: fix handling of sockets [Robert Günzler]
- pkg/storagemigration: use graphdriver/copy.DirCopy [Robert Günzler]
- Prune Jenkinsfile [Robert Günzler]
- Backport platform-detection fixes from containerd [Robert Günzler]
- storagemigration: capture failcleanup logs in logfile [Robert Günzler]
- storagemigration: move logic to package [Robert Günzler]
- prevent slice oob access in concatReadSeekCloser [Martin Rauscher]
- Make layer download resuming more resilient [Leandro Motta Barros]
- Drop CODEOWNERS [Robert Günzler]
- Lock destination layers while delta is being processed [Robert Günzler]
- pkg/storagemigration: poperly handle errors during state creation [Robert Günzler]
- pkg/storagemigration: allow writing logs to separate file [Robert Günzler]
- storagemigration: defer commit to next start [Robert Günzler]
- Add aufs to overlay2 migrator [Robert Günzler]
- Update the README [Robert Günzler]
- Cleanup repo [Robert Günzler]
- Add a SECURITY.md [Robert Günzler]
- top_unix.go: allow busybox ps with no args [Kyle Harding]
- Bump balena-os/balena-containerd to 1da48a8 [Tian Yuanhao]
- Add changelog template to allow generating nested changelogs [Robert Günzler]
- Update github issue and pr templates [Robert Günzler]
- Update codeowners [Robert Günzler]
- hack: Fix CLI versioning [Robert Günzler]
- Fixed typos in getting-started.md docs [Miguel Casqueira]
- Add integration tests for hostapp handling [Robert Günzler]
- Clean up leaked engine data [Roman Mazur]
- pkg/authorization: Fix test failures on macOS [Roman Mazur]
- graphdriver/quota: Disable disk_quota tests if build tag is set [Robert Günzler]
- (cherry-pick #172) Move to balenaCI [Robert Günzler]
- Add buildtag to disable buildkit backend [Robert Günzler]
- Add buildtag to drop devicemapper support [Robert Günzler]
- Simplify hack/make targets [Robert Günzler]
- Fix integration tests [Robert Günzler]
- Revendor ebpf and zfs dependencies [Robert Günzler]
- Downgrade containerd [Robert Günzler]
Merge upstream v19.03.8 [Robert Günzler]
- Improve mitigation for CVE-2019-14271 for some nscd configuration.
- builder-next: Fix deadlock issues in corner cases. moby/moby#40557
- overlay: remove modprobe execs. moby/moby#40462
- selinux: better error messages when setting file labels moby/moby#40547
- Speed up initial stats collection moby/moby#40549
- rootless: use certs.d from XDG_CONFIG_HOME. moby/moby#40461
- Bump Golang 1.12.17. moby/moby#40533
- Bump google.golang.org/grpc to v1.23.1. moby/moby#40566
- Update containerd binary to v1.2.13. moby/moby#40540
- Prevent showing stopped containers as running in an edge case. moby/moby#40555
- Prevent potential lock. moby/moby#40604
- Bump Golang 1.12.17. docker/cli#2342
- Bump google.golang.org/grpc to v1.23.1. docker/cli#1884 docker/cli#2373
- builder-next: Allow modern sign hashes for ssh forwarding. docker/engine#453
- builder-next: Clear onbuild rules after triggering. docker/engine#453
- builder-next: Fix issue with directory permissions when usernamespaces is enabled. moby/moby#40440
- Bump hcsshim to fix docker build failing on Windows 1903. docker/engine#429
- Shorten controller ID in exec-root to not hit UNIX_PATH_MAX. docker/engine#424
- Fix panic in drivers/overlay/encryption.go. docker/engine#424
- Fix hwaddr set race between us and udev. docker/engine#439
- Bump Golang 1.12.16. moby/moby#40433
- Update containerd binary to v1.2.12. moby/moby#40433
- Update to runc v1.0.0-rc10. moby/moby#40433
- Fix possible runtime panic in Lgetxattr. docker/engine#454
- rootless: fix proxying UDP packets. docker/engine#434
- builder-next: Added
entitlements
in builder config. docker/engine#412
- Fix builder-next: permission errors on using build secrets or ssh forwarding with userns-remap. docker/engine#420
- Fix builder-next: copying a symlink inside an already copied directory. docker/engine#420
- Fix builder-next: fatal error: concurrent map writes. docker/engine#422
- Bump Golang to 1.12.12. docker/engine#418
- Update to RootlessKit to v0.7.0 to harden slirp4netns with mount namespace and seccomp. docker/engine#397
- Fix to propagate GetContainer error from event processor. docker/engine#407
- Fix push of OCI image. docker/engine#405
- Rollback libnetwork changes so
DOCKER-USER
iptables chain is back. docker/engine#404
DOCKER-USER
iptables chain is missing docker/for-linux#810. Users cannot perform additional container network traffic filtering on top of this iptables chain. You are not affected by this issue if you are not customizing iptables chains on top ofDOCKER-USER
.Workaround is to insert the iptables chain after docker daemon starts.
iptables -N DOCKER-USER iptables -I FORWARD -j DOCKER-USER iptables -A DOCKER-USER -j RETURN
- Fix builder-next: resolve digest for third party registries. docker/engine#339
- Fix builder-next: user namespace builds when daemon started with socket activation. docker/engine#373
- Fix builder-next: session: release forwarded ssh socket connection per connection. docker/engine#373
- Fix builder-next: llbsolver: error on multiple cache importers. docker/engine#373
- Fix various libnetwork issues for iptables, DNS queries, and more. docker/engine#330
- Bump Golang to 1.12.10. docker/engine#387
- Bump containerd to 1.2.10. docker/engine#385
- Distribution: modify warning logic when pulling v2 schema1 manifests. docker/engine#368
- Fix
POST /images/create
returning a 500 status code when providing an incorrect platform option. docker/engine#365- Fix
POST /build
returning a 500 status code when providing an incorrect platform option. docker/engine#365- Fix panic on 32-bit ARMv7 caused by misaligned struct member. docker/engine#363
- Fix to return "invalid parameter" when linking to non-existing container. docker/engine#352
- Fix overlay2: busy error on mount when using kernel >= 5.2. docker/engine#332
- Fix
docker rmi
stuck in certain misconfigured systems, e.g. dead NFS share. docker/engine#335- Fix handling of blocked I/O of exec'd processes. docker/engine#296
- Fix jsonfile logger: follow logs stuck when
max-size
is set andmax-file=1
. docker/engine#378
- Mitigate against YAML files that have excessive aliasing. docker/cli#2119
- Fix "COPY --from" to non-existing directory on Windows. moby/moby#39695
- Fix builder-next: metadata commands not having created time in history. moby/moby#39456
- Fix builder-next: close progress on layer export error. moby/moby#39782
- Update buildkit to 588c73e1e4. moby/moby#39781
- Fix Windows absolute path detection on non-Windows. docker/cli#1990
- Fix to zsh completion script for
docker login --username
.- Fix context: produce consistent output on
context create
. docker/cli#1985- Fix support for HTTP proxy env variable. docker/cli#2059
- Fix for reading journald logs. moby/moby#37819 moby/moby#38859
- Prevent panic on network attach to a container with disabled networking. moby/moby#39589
- Bump Golang to 1.12.8.
- Fix a potential engine panic when using XFS disk quota for containers. moby/moby#39644
- Fix an issue where nodes with lots of tasks could not be removed. docker/swarmkit#2867
- Fix CVE-2019-14271 loading of nsswitch based config inside chroot under Glibc.
- Deprecate image manifest v2 schema1 in favor of v2 schema2. Future version of Docker will remove support for v2 schema1 altogether. moby/moby#39365
- Remove v1.10 migrator. moby/moby#38265
- Skip deprecated storage-drivers in auto-selection. moby/moby#38019
- Deprecate
aufs
storage driver and add warning. moby/moby#38090
- Add
--pids-limit
flag todocker update
. docker/cli#1765- Add systctl support for services. docker/cli#1754
- Add support for
template_driver
in composefiles. docker/cli#1746- Add --device support for Windows. docker/cli#1606
- Data Path Port configuration support. docker/cli#1509
- Fast context switch: commands. docker/cli#1501
- Support --mount type=bind,bind-nonrecursive,... docker/cli#1430
- Add maximum replicas per node. docker/cli#1410 docker/cli#1612
- Add option to pull images quietly. docker/cli#882
- Add a separate
--domainname
flag. docker/cli#1130- Add support for secret drivers in
docker stack deploy
. docker/cli#1783- Add ability to use swarm
Configs
asCredentialSpecs
on services. docker/cli#1781- Add
--security-opt systempaths=unconfined
support. docker/cli#1808- Basic framework for writing and running CLI plugins. docker/cli#1564 docker/cli#1898
- Docker App v0.8.0. docker/docker-ce-packaging#341
- Docker buildx. docker/docker-ce-packaging#336
- Bump google.golang.org/grpc to v1.20.1. docker/cli#1884
- Cli change to pass driver specific options to docker run. docker/cli#1767
- Bump Golang 1.12.5. docker/cli#1875
- The
docker system info
output now segregates information relevant to the client and daemon. docker/cli#1638- (Experimental) When targetting Kubernetes, add support for
x-pull-secret: some-pull-secret
in compose-files service configs. docker/cli#1617- (Experimental) When targetting Kubernetes, add support for
x-pull-policy: <Never|Always|IfNotPresent>
in compose-files service configs. docker/cli#1617- cp, save, export: Prevent overwriting irregular files. docker/cli#1515
- Allow npipe volume type on stack file. docker/cli#1195
- Fix tty initial size error. docker/cli#1529
- Fix labels copying value from environment variables. docker/cli#1671
- Update API version to v1.40. moby/moby#38089
- Add warnings to
/info
endpoint, and move detection to the daemon. moby/moby#37502- Add HEAD support for
/_ping
endpoint. moby/moby#38570- Add
Cache-Control
headers to disable caching/_ping
endpoint. moby/moby#38569- Add containerd, runc, and docker-init versions to /version. moby/moby#37974
- Add undocumented
/grpc
endpoint and register BuildKit's controller. moby/moby#38990
- builder-next: allow setting buildkit outputs. docker/cli#1766
- builder-next: look for a Dockerfile specific dockerignore file (eg. Dockerfile.dockerignore) for ignored paths. docker/engine#215
- builder-next: automatically detect if process execution is possible for x86, arm and arm64 binaries. docker/engine#215
- builder-next: added inline cache support
--cache-from
. docker/engine#215- builder-next: allow outputs configuration. moby/moby#38898
- builder-next: update buildkit to 1f89ec1. docker/engine#260
- builder-next: buildkit now also uses systemd's resolv.conf. docker/engine#260
- builder-next: use Dockerfile frontend version
docker/dockerfile:1.1
by default. docker/engine#215- builder-next: no longer rely on an external image for COPY/ADD operations. docker/engine#215
- Builder: fix
COPY --from
should preserve ownership. moby/moby#38599- builder-next: fix gcr workaround token cache. docker/engine#212
- builder-next: call stopprogress on download error. docker/engine#215
- Enable checkpoint/restore of containers with TTY. moby/moby#38405
- LCOW: Add support for memory and CPU limits. moby/moby#37296
- Windows: Experimental: ContainerD runtime. moby/moby#38541
- Windows: Experimental: LCOW requires Windows RS5+. moby/moby#39108
- mount: add BindOptions.NonRecursive (API v1.40). moby/moby#38003
- seccomp: whitelist
io_pgetevents()
. moby/moby#38895- seccomp: allow
ptrace(2)
for 4.8+ kernels. moby/moby#38137
- Allow running dockerd as a non-root user (Rootless mode). moby/moby#380050
- Rootless: optional support for
lxc-user-nic
SUID binary. docker/engine#208- Add DeviceRequests to HostConfig to support NVIDIA GPUs. moby/moby#38828
- Add
--device
support for Windows. moby/moby#37638- Add memory.kernelTCP support for linux. moby/moby#37043
- Making it possible to pass Windows credential specs directly to the engine. moby/moby#38777
- Add pids-limit support in docker update. moby/moby#32519
- Add support for exact list of capabilities. moby/moby#38380
- daemon: use 'private' ipc mode by default. moby/moby#35621
- daemon: switch to semaphore-gated WaitGroup for startup tasks. moby/moby#38301
- Use idtools.LookupGroup instead of parsing /etc/group file for docker.sock ownership to fix: api.go doesn't respect nsswitch.conf. moby/moby#38126
- cli: fix images filter when use multi reference filter. moby/moby#38171
- Bump Golang to 1.12.5. docker/engine#209
- Bump containerd to 1.2.6. moby/moby#39016
- Bump runc to 1.0.0-rc8, opencontainers/selinux v1.2.2. docker/engine#210
- Bump google.golang.org/grpc to v1.20.1. docker/engine#215
- Performance optimizations in aufs and layer store for massively parallel container creation/removal. moby/moby#39135 moby/moby#39209
- Pass root to chroot to for chroot Tar/Untar (CVE-2018-15664) moby/moby#39292
- Fix docker
--init
with/dev
bind mount. moby/moby#37665- Fix: fetch the right device number when greater than 255 and using
--device-read-bps
option. moby/moby#39212- Fix: "Path does not exist" error when path definitely exists. moby/moby#39251
- Fix: CVE-2018-15664 symlink-exchange attack with directory traversal. moby/moby#39357
- Fix CVE-2019-13509 in DebugRequestMiddleware: unconditionally scrub data field.
- Move IPVLAN driver out of experimental. moby/moby#38983 / docker/libnetwork#2230
- Network: add support for 'dangling' filter. moby/moby#31551
- Windows: Forcing a nil IP specified in PortBindings to IPv4zero (0.0.0.0). docker/libnetwork#2376
- Fix to make sure load balancer sandbox is deleted when a service is updated with
--network-rm
. docker/engine#213
- Add support for maximum replicas per node. moby/moby#37940
- Add support for GMSA CredentialSpecs from Swarmkit configs. moby/moby#38632
- Add support for sysctl options in services. moby/moby#37701
- Add support for filtering on node labels. moby/moby#37650
- Windows: Support named pipe mounts in docker service create + stack yml. moby/moby#37400
- VXLAN UDP Port configuration support. moby/moby#38102
- Use Service Placement Constraints in Enforcer. docker/swarmkit#2857
- Increase max recv gRPC message size for nodes and secrets. docker/engine#256
- Enable gcplogs driver on windows. moby/moby#37717
- Add zero padding for RFC5424 syslog format. moby/moby#38335
- Add IMAGE_NAME attribute to journald log events. moby/moby#38032
- Add integration tests for hostapp handling [Robert Günzler]
- Fix container data deletion [Roman Mazur]
- overlay2: Add List support [Roman Mazur]
- aufs: Add List support [Roman Mazur]
- layer: Remove unreferenced driver layers on create [Roman Mazur]
- layer: Prune unused data on layer store creation [Roman Mazur]
- layer: Persist cacheID early on transaction start [Roman Mazur]
- Fixed typos in getting-started.md docs [Miguel Casqueira]
- Move ci to balenaCI [Robert Günzler]
- contrib: Add balena-engine version of dind container [Robert Günzler]
- build.sh: Disable btrfs,zfs,devicemapper graphdrivers [Robert Günzler]
- integration-tests: Don't fail TestImagePullComparePullDuration [Robert Günzler]
- Bump CLI dependency to include fix for #178 [Robert Günzler]
- Bump CLI dependency to include --cidenv flag [Robert Günzler]
- Allow passing container ID to container via environment variable [Robert Günzler]
- Backport journald performance improvements/fixes [Robert Günzler]
- contrib/install.sh: Add details to the success message [Robert Günzler]
- contrib/install.sh: Rename balena to balenaEngine in ASCII art output [Robert Günzler]
- contrib/install.sh: Fail on error [Robert Günzler]
- Bump containerd/cgroups to dbea6f2bd41658b84b00417ceefa416b97 [Robert Günzler]
- Add daemon flags to configure max download/upload attempts during pull/push [Robert Günzler]
- aufs,overlay2: Add driver opts for disk sync [Robert Günzler]
- Fix double locking in the event handling code of OOM events [Robert Günzler]
- integration-tests: Add test for containers with memory,cpu constraints [Robert Günzler]
- Update Dockerfiles used for build to Go 1.10.8 [Robert Günzler]
Merge upstream v18.09.3 [Robert Günzler]
This pulls in upstream changes since balenaEngine v17.13.3. The following is an edited version of the upstream CHANGELOG:
- Deprecate devicemapper storage driver docker/cli#1455 / docker/cli#1424
- Deprecate legacy overlay storage driver docker/cli#1455 / docker/cli#1425
- Remove support for TLS
< 1.2
moby/moby#37660- Remove Ubuntu 14.04 "Trusty Tahr" as a supported platform docker-ce-packaging#255 / docker-ce-packaging#254
- Remove Debian 8 "Jessie" as a supported platform docker-ce-packaging#255 / docker-ce-packaging#254
- Update API version to 1.39 moby/moby#37640
- Add support for remote connections using SSH docker/cli#1014
- Builder: add prune options to the API moby/moby#37651
- Add "Warnings" to
/info
endpoint, and move detection to the daemon moby/moby#37502- Do not return "
<unknown>
" in /info response moby/moby#37472
- Allow BuildKit builds to run without experimental mode enabled. Buildkit can now be configured with an option in daemon.json moby/moby#37593 moby/moby#37686 moby/moby#37692 docker/cli#1303 docker/cli#1275
- Add support for build-time secrets using a
--secret
flag when using BuildKit docker/cli#1288- Add SSH agent socket forwarder (
docker build --ssh $SSHMOUNTID=$SSH_AUTH_SOCK
) when using BuildKit docker/cli#1438 / docker/cli#1419- Add
builder prune
subcommand to prune BuildKit build cache docker/cli#1295 docker/cli#1334- BuildKit: Add configurable garbage collection policy for the BuildKit build cache docker/engine#59 / moby/moby#37846
- BuildKit: Add support for
docker build --pull ...
when using BuildKit moby/moby#37613- BuildKit: Add support or "registry-mirrors" and "insecure-registries" when using BuildKit docker-archive/engine#59](docker-archive/engine#59) / moby/moby#37852
- BuildKit: Enable net modes and bridge. moby/moby#37620
- BuildKit: Change
--console=[auto,false,true]
to--progress=[auto,plain,tty]
docker/cli#1276- BuildKit: Set BuildKit's ExportedProduct variable to show useful errors in the future. moby/moby#37439
- BuildKit: Do not cancel buildkit status request. moby/moby#37597
- Fix no error is shown if build args are missing during docker build moby/moby#37396
- Fix error "unexpected EOF" when adding an 8GB file moby/moby#37771
- LCOW: Ensure platform is populated on
COPY
/ADD
. moby/moby#37563- Fix inefficient networking config. docker/engine#123
- Fix docker system prune doesn't accept until filter. docker/engine#122
- Avoid unset credentials in containerd. docker/engine#122
- Update to BuildKit 0.3.3. docker/engine#122
- Additional warnings for use of deprecated legacy overlay and devicemapper storage dirvers. docker/engine#85
- Show warnings produced by daemon in
docker info
output docker/cli#1225- Hide
--data-path-addr
flags when connected to a daemon that doesn't support this option docker/docker/cli#1240- Only show buildkit-specific flags if BuildKit is enabled docker/cli#1438 / docker/cli#1427
- Improve version output alignment docker/cli#1204
- Sort plugin names and networks in a natural order docker/cli#1166, docker/cli#1266
- Updated bash and zsh completion scripts
- Fix mapping a range of host ports to a single container port docker/cli#1102
- Fix
trust inspect
typo: "AdminstrativeKeys
" docker/cli#1300- Fix environment file parsing for imports of absent variables and those with no name. docker/cli#1019
- Fix a potential "out of memory exception" when running
docker image prune
with a large list of dangling images docker/cli#1432 / docker/cli#1423- Fix yamldocs outputing
[flags]
in usage output. docker/cli#1540- Fix setting default schema to tcp for docker host. docker/cli#1454
- prune: perform image pruning before build cache pruning. docker/cli#1532
- Fix bash completion for
service update --force
. docker/cli#1526
- Fix daemon won't start when "runtimes" option is defined both in config file and cli docker/engine#57 / moby/moby#37871
- Loosen permissions on
/etc/docker
directory to prevent "permission denied" errors when usingdocker manifest inspect
docker/engine#56 / moby/moby#37847- Fix denial of service with large numbers in
cpuset-cpus
andcpuset-mems
docker/engine#70 / moby/moby#37967
- Pass log-level to containerd. moby/moby#37419
- Fix a possible deadlock on closing the watcher on kqueue moby/moby#37392
- Add support for global default address pools moby/moby#37558 docker/cli#1233
- Use direct server return (DSR) in east-west overlay load balancing docker/engine#93 / docker/libnetwork#2270
- Builder: temporarily disable bridge networking when using buildkit. moby/moby#37691
- Handle systemd-resolved case by providing appropriate resolv.conf to networking layer moby/moby#37485
- Fix iptables compatibility on debian. docker/engine#107
- Configure containerd log-level to be the same as dockerd moby/moby#37419
- Add
/proc/asound
to masked paths. docker/engine#126- API: properly handle invalid JSON to return a 400 status. docker/engine#110
- API: ignore default address-pools on API
< 1.39
. docker/engine#118- API: add missing default address pool fields to swagger. docker/engine#119
- Prohibit reading more than 1MB in HTTP error responses. docker/engine#114
- apparmor: allow receiving of signals from
docker kill
. docker/engine#116- overlay2: use index=off if possible (fix EBUSY on mount). docker/engine#84
- Update to Go 1.10.8
- When copying existing folder, ignore xattr set errors when the target filesystem doesn't support xattr. docker/engine#135
- Graphdriver: fix "device" mode not being detected if "character-device" bit is set. docker/engine#160
- Fix nil pointer derefence on failure to connect to containerd. docker/engine#162
- Delete stale containerd object on start failure. docker/engine#154
- Seccomp: Whitelist syscalls linked to
CAP_SYS_NICE
in default seccomp profile moby/moby#37242- Seccomp: move the syslog syscall to be gated by
CAP_SYS_ADMIN
orCAP_SYSLOG
docker/engine#64 / moby/moby#37929- SELinux: Fix relabeling of local volumes specified via Mounts API on selinux-enabled systems moby/moby#37739
- Add warning if REST API is accessible through an insecure connection moby/moby#37684
- Mask proxy credentials from URL when displayed in system info docker/engine#72 / moby/moby#37934
- vendor: Update runc to include fix for opencontainers/runc#1766 [Robert Günzler]
- travis: Use the minimal machine [Robert Günzler]
- vendor: Update runc to include fix for CVE-2019-5736 [Robert Günzler]
-
Add cli for tagging delta images [Robert Günzler]
-
Allow tagging of image deltas on creation [Robert Günzler]
-
Update balenaEngine logo in README.md [Paulo Castro]
-
docs: Fix Docker capitalisation in balenaEngine docs [Paulo Castro]
-
Project rebranding:
balena
is now known asbalenaEngine
and all the executables now have thebalena-engine
prefix in the file name. This was a result ofresin.io
open sourcing its platform backend and renaming itselfbalena.io
. The oldbalena.io
landing page will shortly relocate tobalena.io/engine
. -
This release branches off the Docker CE 17.12.0-ce release and brings along all its new features and bug fixes.
-
Build environment: Go compiler updated from version 1.9 to 1.10.
-
Several additional bug fixes and reliability improvements listed below - the first column is the commit hash prefix.
Release highlights:
25755b0
Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall)
40c33e3
Fix daemon/cluster/executor/container/ unit tests
b40c26d
Rename balena to balena-engine (executables) or balenaEngine (project)
3e2973d
mobynit: Add support to mount rootfs from a custom location
9f4cd6a
update containerd/console to fix race: lock Cond before Signal
deba4bb
delta: use chain ids to decide whether to skip a layer
c87589c
version: Fix balena CLI version string
9d1d910
version: Fix balena server version string
3685c83
pkg/chrootarchive: disable memory cgroups until pending issues are fixed
85b036b
vendor: update libnetwork to include stale default bridge fix
b706f5d
pkg/ioutils: implement eager writer
08b01ef
Revert "vendor: update golang/x/sys to support fadvise for arm64"
60f2a21
pull: rely on memory cgroups to avoid page cache thrashing
38b223b
pkg/stringid: don't bother seeding math/random with crypto grade seed
f08057b
vendor: update btrfs dependency
ca0ecfc
Upgrade balena to 17.12 (upstream docker)
519ed00
container: remove extraneous lock leading to deadlocks
2e2f9df
tests: more integration test fixes
276ee9d
cmd/mobynit: adapt to new internal API
8e47b09
build: switch the default build to be the dynamically linked binary
137b066
tests: remove plugin support in tests
64f52ee
tests: skip swarm tests
e0e5db3
fix regression of DockerSuite.TestAPINetworkCreateCheckDuplicate
5955d38
build: do not install embedded binaries separately
a466c05
cmd/balena: exit with non-zero code if called with unknown command
3a1be7a
a lot of balena rename fixes for integration tests
f3b6b8a
vendor: update containerd
b64eefe
build: switch to statically linked builds
9ed4298
build: let the go compiler do the stripping
bd23724
build: limit max go procs to avoid qemu hangs
5ead292
vendor: update golang/x/sys to support fadvise for arm64
0386158
build: add libudev dependency
fd78fe4
vendor: update containerd to non-plugin version
a1191cb
daemon/config: remove swarm support
ddaa8c1
daemon: add appropriate container locks to avoid races
c24bda9
healthcheck: fix docker segfaulting
1cf563e
vendor: revendor everything
97505a4
vendor: update vendor.conf with all required dependencies
8c12415
restartmanager: fixed the unit test
8af842e
tests: renamed runc to balena-runc
55f4379
fixed balena version error
24b643b
daemon: experimental: restart container when they become unhealthy
b430038
daemon: only attempt to prune local networks since swarm is disabled
eac6aa0
Updated init scripts for Balena
062cf0e
Updated github hooks for balena
07e8c0a
Update website copy
5d81d5a
Issue template should refer to balena throughout
a8846e2
updated the mock of xfer to pass unit test
8f898bb
fixed integration with balena
60cb5cb
Renaming target to support balena
bce9bc7
Fixed the runc version test
add016d
skip tests of unsopported components
5d30454
fix addidental mention of balaena name instead of balena
5c46120
landr: add correct feature descriptions
189482e
build: temporary switch to other base images
fcf3865
pkg/archive: sync files before issuing the fadvise syscall
- Allow bind-mounting a volume in the build context #27
- Add command for generating image deltas #35
- Add utility that can boot a system into a container #10
- Add the ability to create binary delta between two images #11
- Include engine name in version information #32
- Minimize page cache usage during pull de0993b
- Disable plugin support #14
- Disable awslogs, fluentd, gcplogs, gelf, logentries, splunk, and syslog logging drivers fe4d45c
- Disable consul, etcd, and zookeeper discovery backends 380ba69
- Disable swarm mode #14