# Change Log 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](http://semver.org/). # v18.9.17 ## (2020-04-27) * Add integration tests for hostapp handling [Robert Günzler] * Fix container data deletion [Roman Mazur] # v18.9.16 ## (2020-04-20) * 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] # v18.9.15 ## (2020-04-11) * Fixed typos in getting-started.md docs [Miguel Casqueira] # v18.9.14 ## (2020-03-25) * Move ci to balenaCI [Robert Günzler] # v18.9.13 ## (2019-11-01) * contrib: Add balena-engine version of dind container [Robert Günzler] # v18.9.12 ## (2019-10-31) * build.sh: Disable btrfs,zfs,devicemapper graphdrivers [Robert Günzler] # v18.9.11 ## (2019-10-31) * integration-tests: Don't fail TestImagePullComparePullDuration [Robert Günzler] # v18.9.10 ## (2019-08-23) * Bump CLI dependency to include fix for #178 [Robert Günzler] # v18.9.9 ## (2019-08-22) * Bump CLI dependency to include --cidenv flag [Robert Günzler] * Allow passing container ID to container via environment variable [Robert Günzler] # v18.9.8 ## (2019-08-22) * Backport journald performance improvements/fixes [Robert Günzler] # v18.9.7 ## (2019-06-26) * 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] # v18.9.6 ## (2019-06-03) * Bump containerd/cgroups to dbea6f2bd41658b84b00417ceefa416b97 [Robert Günzler] # v18.9.5 ## (2019-04-26) * Add daemon flags to configure max download/upload attempts during pull/push [Robert Günzler] # v18.9.4 ## (2019-04-25) * aufs,overlay2: Add driver opts for disk sync [Robert Günzler] # v18.9.3 ## (2019-02-28) [upstream release] * 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] This pulls in upstream changes since balenaEngine v17.12.x The following is an edited version of the upstream CHANGELOG: ### Deprecation * Deprecate devicemapper storage driver [docker/cli#1455](https://github.com/docker/cli/pull/1455) / [docker/cli#1424](https://github.com/docker/cli/pull/1424) * Deprecate legacy overlay storage driver [docker/cli#1455](https://github.com/docker/cli/pull/1455) / [docker/cli#1425](https://github.com/docker/cli/pull/1425) * Remove support for TLS `< 1.2` [moby/moby#37660](https://github.com/moby/moby/pull/37660) * Remove Ubuntu 14.04 "Trusty Tahr" as a supported platform [docker-ce-packaging#255](https://github.com/docker/docker-ce-packaging/pull/255) / [docker-ce-packaging#254](https://github.com/docker/docker-ce-packaging/pull/254) * Remove Debian 8 "Jessie" as a supported platform [docker-ce-packaging#255](https://github.com/docker/docker-ce-packaging/pull/255) / [docker-ce-packaging#254](https://github.com/docker/docker-ce-packaging/pull/254) ### API * Update API version to 1.39 [moby/moby#37640](https://github.com/moby/moby/pull/37640) * Add support for remote connections using SSH [docker/cli#1014](https://github.com/docker/cli/pull/1014) * Builder: add prune options to the API [moby/moby#37651](https://github.com/moby/moby/pull/37651) * Add "Warnings" to `/info` endpoint, and move detection to the daemon [moby/moby#37502](https://github.com/moby/moby/pull/37502) * Do not return "``" in /info response [moby/moby#37472](https://github.com/moby/moby/pull/37472) ### Builder * Allow BuildKit builds to run without experimental mode enabled. Buildkit can now be configured with an option in daemon.json [moby/moby#37593](https://github.com/moby/moby/pull/37593) [moby/moby#37686](https://github.com/moby/moby/pull/37686) [moby/moby#37692](https://github.com/moby/moby/pull/37692) [docker/cli#1303](https://github.com/docker/cli/pull/1303) [docker/cli#1275](https://github.com/docker/cli/pull/1275) * Add support for build-time secrets using a `--secret` flag when using BuildKit [docker/cli#1288](https://github.com/docker/cli/pull/1288) * Add SSH agent socket forwarder (`docker build --ssh $SSHMOUNTID=$SSH_AUTH_SOCK`) when using BuildKit [docker/cli#1438](https://github.com/docker/cli/pull/1438) / [docker/cli#1419](https://github.com/docker/cli/pull/1419) * Add `builder prune` subcommand to prune BuildKit build cache [docker/cli#1295](https://github.com/docker/cli/pull/1295) [docker/cli#1334](https://github.com/docker/cli/pull/1334) * BuildKit: Add configurable garbage collection policy for the BuildKit build cache [docker/engine#59](https://github.com/docker/engine/pull/59) / [moby/moby#37846](https://github.com/moby/moby/pull/37846) * BuildKit: Add support for `docker build --pull ...` when using BuildKit [moby/moby#37613](https://github.com/moby/moby/pull/37613) * BuildKit: Add support or "registry-mirrors" and "insecure-registries" when using BuildKit docker/engine#59](https://github.com/docker/engine/pull/59) / [moby/moby#37852](https://github.com/moby/moby/pull/37852) * BuildKit: Enable net modes and bridge. [moby/moby#37620](https://github.com/moby/moby/pull/37620) * BuildKit: Change `--console=[auto,false,true]` to `--progress=[auto,plain,tty]` [docker/cli#1276](https://github.com/docker/cli/pull/1276) * BuildKit: Set BuildKit's ExportedProduct variable to show useful errors in the future. [moby/moby#37439](https://github.com/moby/moby/pull/37439) * BuildKit: Do not cancel buildkit status request. [moby/moby#37597](https://github.com/moby/moby/pull/37597) * Fix no error is shown if build args are missing during docker build [moby/moby#37396](https://github.com/moby/moby/pull/37396) * Fix error "unexpected EOF" when adding an 8GB file [moby/moby#37771](https://github.com/moby/moby/pull/37771) * LCOW: Ensure platform is populated on `COPY`/`ADD`. [moby/moby#37563](https://github.com/moby/moby/pull/37563) * Fix inefficient networking config. [docker/engine#123](https://github.com/docker/engine/pull/123) * Fix docker system prune doesn't accept until filter. [docker/engine#122](https://github.com/docker/engine/pull/122) * Avoid unset credentials in containerd. [docker/engine#122](https://github.com/docker/engine/pull/122) * Update to BuildKit 0.3.3. [docker/engine#122](https://github.com/docker/engine/pull/122) + Additional warnings for use of deprecated legacy overlay and devicemapper storage dirvers. [docker/engine#85](https://github.com/docker/engine/pull/85) ### Client * Show warnings produced by daemon in `docker info` output [docker/cli#1225](https://github.com/docker/cli/pull/1225) * Hide `--data-path-addr` flags when connected to a daemon that doesn't support this option [docker/docker/cli#1240](https://github.com/docker/cli/pull/1240) * Only show buildkit-specific flags if BuildKit is enabled [docker/cli#1438](https://github.com/docker/cli/pull/1438) / [docker/cli#1427](https://github.com/docker/cli/pull/1427) * Improve version output alignment [docker/cli#1204](https://github.com/docker/cli/pull/1204) * Sort plugin names and networks in a natural order [docker/cli#1166](https://github.com/docker/cli/pull/1166), [docker/cli#1266](https://github.com/docker/cli/pull/1266) * Updated bash and zsh [completion scripts](https://github.com/docker/cli/issues?q=label%3Aarea%2Fcompletion+milestone%3A18.09.0+is%3Aclosed) * Fix mapping a range of host ports to a single container port [docker/cli#1102](https://github.com/docker/cli/pull/1102) * Fix `trust inspect` typo: "`AdminstrativeKeys`" [docker/cli#1300](https://github.com/docker/cli/pull/1300) * Fix environment file parsing for imports of absent variables and those with no name. [docker/cli#1019](https://github.com/docker/cli/pull/1019) * Fix a potential "out of memory exception" when running `docker image prune` with a large list of dangling images [docker/cli#1432](https://github.com/docker/cli/pull/1432) / [docker/cli#1423](https://github.com/docker/cli/pull/1423) * Fix yamldocs outputing `[flags]` in usage output. [docker/cli#1540](https://github.com/docker/cli/pull/1540) * Fix setting default schema to tcp for docker host. [docker/cli#1454](https://github.com/docker/cli/pull/1454) * prune: perform image pruning before build cache pruning. [docker/cli#1532](https://github.com/docker/cli/pull/1532) * Fix bash completion for `service update --force`. [docker/cli#1526](https://github.com/docker/cli/pull/1526) ### Daemon * Fix daemon won't start when "runtimes" option is defined both in config file and cli [docker/engine#57](https://github.com/docker/engine/pull/57) / [moby/moby#37871](https://github.com/moby/moby/pull/37871) * Loosen permissions on `/etc/docker` directory to prevent "permission denied" errors when using `docker manifest inspect` [docker/engine#56](https://github.com/docker/engine/pull/56) / [moby/moby#37847](https://github.com/moby/moby/pull/37847) * Fix denial of service with large numbers in `cpuset-cpus` and `cpuset-mems` [docker/engine#70](https://github.com/docker/engine/pull/70) / [moby/moby#37967](https://github.com/moby/moby/pull/37967) ### Logging * Pass log-level to containerd. [moby/moby#37419](https://github.com/moby/moby/pull/37419) * Fix a possible deadlock on closing the watcher on kqueue [moby/moby#37392](https://github.com/moby/moby/pull/37392) ### Networking * Add support for global default address pools [moby/moby#37558](https://github.com/moby/moby/pull/37558) [docker/cli#1233](https://github.com/docker/cli/pull/1233) * Use direct server return (DSR) in east-west overlay load balancing [docker/engine#93](https://github.com/docker/engine/pull/93) / [docker/libnetwork#2270](https://github.com/docker/libnetwork/pull/2270) * Builder: temporarily disable bridge networking when using buildkit. [moby/moby#37691](https://github.com/moby/moby/pull/37691) * Handle systemd-resolved case by providing appropriate resolv.conf to networking layer [moby/moby#37485](https://github.com/moby/moby/pull/37485) * Fix iptables compatibility on debian. [docker/engine#107](https://github.com/docker/engine/pull/107) ### Runtime * Configure containerd log-level to be the same as dockerd [moby/moby#37419](https://github.com/moby/moby/pull/37419) * Add `/proc/asound` to masked paths. [docker/engine#126](https://github.com/docker/engine/pull/126) * API: properly handle invalid JSON to return a 400 status. [docker/engine#110](https://github.com/docker/engine/pull/110) * API: ignore default address-pools on API `< 1.39`. [docker/engine#118](https://github.com/docker/engine/pull/118) * API: add missing default address pool fields to swagger. [docker/engine#119](https://github.com/docker/engine/pull/119) * Prohibit reading more than 1MB in HTTP error responses. [docker/engine#114](https://github.com/docker/engine/pull/114) * apparmor: allow receiving of signals from `docker kill`. [docker/engine#116](https://github.com/docker/engine/pull/116) * overlay2: use index=off if possible (fix EBUSY on mount). [docker/engine#84](https://github.com/docker/engine/pull/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](https://github.com/docker/engine/pull/135) * Graphdriver: fix "device" mode not being detected if "character-device" bit is set. [docker/engine#160](https://github.com/docker/engine/pull/160) * Fix nil pointer derefence on failure to connect to containerd. [docker/engine#162](https://github.com/docker/engine/pull/162) * Delete stale containerd object on start failure. [docker/engine#154](https://github.com/docker/engine/pull/154) ### Security * Seccomp: Whitelist syscalls linked to `CAP_SYS_NICE` in default seccomp profile [moby/moby#37242](https://github.com/moby/moby/pull/37242) * Seccomp: move the syslog syscall to be gated by `CAP_SYS_ADMIN` or `CAP_SYSLOG` [docker/engine#64](https://github.com/docker/engine/pull/64) / [moby/moby#37929](https://github.com/moby/moby/pull/37929) * SELinux: Fix relabeling of local volumes specified via Mounts API on selinux-enabled systems [moby/moby#37739](https://github.com/moby/moby/pull/37739) * Add warning if REST API is accessible through an insecure connection [moby/moby#37684](https://github.com/moby/moby/pull/37684) * Mask proxy credentials from URL when displayed in system info [docker/engine#72](https://github.com/docker/engine/pull/72) / [moby/moby#37934](https://github.com/moby/moby/pull/37934) # v17.13.4 ## (2019-03-18) * Fix event filter filtering on "or" [Sebastiaan van Stijn] # v17.13.3 ## (2019-02-25) * vendor: Update runc to include fix for opencontainers/runc#1766 [Robert Günzler] # v17.13.2 ## (2019-02-21) * travis: Use the minimal machine [Robert Günzler] # v17.13.1 ## (2019-02-20) * vendor: Update runc to include fix for CVE-2019-5736 [Robert Günzler] # v17.13.0 ## (2019-01-31) * 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] # v17.12.1 ## (2019-01-14) * docs: Fix Docker capitalisation in balenaEngine docs [Paulo Castro] * Project rebranding: `balena` is now known as `balenaEngine` and all the executables now have the `balena-engine` prefix in the file name. This was a result of `resin.io` open sourcing its platform backend and renaming itself `balena.io`. The old `balena.io` landing page will shortly relocate to `balena.io/engine`. * This release branches off the Docker CE 17.12.0-ce release and brings along all its [new features and bug fixes](https://docs.docker.com/release-notes/docker-ce/#17120-ce-2017-12-27). * 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. ## v17.12.0 (2018-10-17) 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 ## 17.06+rev1 (2017-10-13) ### Builder - Allow bind-mounting a volume in the build context [#27](https://github.com/balena-os/balena-engine/pull/27) ### CLI - Add command for generating image deltas [#35](https://github.com/balena-os/balena-engine/pull/35) ### Daemon - Add utility that can boot a system into a container [#10](https://github.com/balena-os/balena-engine/pull/10) - Add the ability to create binary delta between two images [#11](https://github.com/balena-os/balena-engine/pull/11) - Include engine name in version information [#32](https://github.com/balena-os/balena-engine/pull/32) - Minimize page cache usage during pull [de0993b](https://github.com/balena-os/balena-engine/pull/12/commits/de0993b9c1ab9408f2716b147dc544b37bb1deb7) ### Plugins - Disable plugin support [#14](https://github.com/balena-os/balena-engine/pull/14) ### Logging - Disable awslogs, fluentd, gcplogs, gelf, logentries, splunk, and syslog logging drivers [fe4d45c](https://github.com/balena-os/balena-engine/pull/7/commits/fe4d45c5dcbaddff51aebfe584a68e8fb9f44449) ### Runtime - Disable consul, etcd, and zookeeper discovery backends [380ba69](https://github.com/balena-os/balena-engine/pull/7/commits/380ba69d00cb56278b65b28571d4d7e000392ec3) ### Swarm Mode - Disable swarm mode [#14](https://github.com/balena-os/balena-engine/pull/14) ### Distribution - On-the-fly layer extraction during docker pull [#8](https://github.com/balena-os/balena-engine/pull/8) - Improve layer reuse when pushing to v1 registries [#28](https://github.com/balena-os/balena-engine/pull/28) - Include a combined progress bar of all the layers in the output [#31](https://github.com/balena-os/balena-engine/pull/31)