- Improved support for credentials stores on Windows to include binaries using
extensions other than `.exe`. The list of valid extensions is determined by
the contents of the `PATHEXT` environment variable.
- Fixed a bug where Compose would generate invalid binds containing duplicate
elements with some v3.2 files, triggering errors at the Engine level during
deployment.
## 1.21.0
(2018-04-11)
### New features
#### Compose file version 2.4
- Introduced version 2.4 of the `docker-compose.yml` specification.
This version requires Docker Engine 17.12.0 or above.
- Added support for the `platform` parameter in service definitions.
If supplied, the parameter is also used when performing build for the
service.
#### Compose file version 2.2 and up
- Added support for the `cpu_rt_period` and `cpu_rt_runtime` parameters
in service definitions (2.x only).
#### Compose file version 2.1 and up
- Added support for the `cpu_period` parameter in service definitions
(2.x only).
- Added support for the `isolation` parameter in service build configurations.
Additionally, the `isolation` parameter in service definitions is used for
builds as well if no `build.isolation` parameter is defined. (2.x only)
#### All formats
- Added support for the `--workdir` flag in `docker-compose exec`.
- Added support for the `--compress` flag in `docker-compose build`.
- `docker-compose pull` is now performed in parallel by default. You can
opt out using the `--no-parallel` flag. The `--parallel` flag is now
deprecated and will be removed in a future version.
- Dashes and underscores in project names are no longer stripped out.
- `docker-compose build` now supports the use of Dockerfile from outside
the build context.
### Bug fixes
- Compose now checks that the volume's configuration matches the remote
volume, and errors out if a mismatch is detected.
- Fixed a bug that caused Compose to raise unexpected errors when attempting
to create several one-off containers in parallel.
- Fixed a bug with argument parsing when using `docker-machine config` to
generate TLS flags for `exec` and `run` commands.
- Fixed a bug where variable substitution with an empty default value
(e.g. `${VAR:-}`) would print an incorrect warning.
- Improved resilience when encoding of the Compose file doesn't match the
system's. Users are encouraged to use UTF-8 when possible.
- Fixed a bug where external overlay networks in Swarm would be incorrectly
recognized as inexistent by Compose, interrupting otherwise valid
operations.
## 1.20.0
(2018-03-20)
### New features
#### Compose file version 3.6
- Introduced version 3.6 of the `docker-compose.yml` specification.
This version must be used with Docker Engine 18.02.0 or above.
- Added support for the `tmpfs.size` property in volume mappings
#### Compose file version 3.2 and up
- The `--build-arg` option can now be used without specifying a service
in `docker-compose build`
#### Compose file version 2.3
- Added support for `device_cgroup_rules` in service definitions
- Added support for the `tmpfs.size` property in long-form volume mappings
- The `--build-arg` option can now be used without specifying a service
in `docker-compose build`
#### All formats
- Added a `--log-level` option to the top-level `docker-compose` command.
Accepted values are `debug`, `info`, `warning`, `error`, `critical`.
Default log level is `info`
- `docker-compose run` now allows users to unset the container's entrypoint
- Proxy configuration found in the `~/.docker/config.json` file now populates
environment and build args for containers created by Compose
- Added the `--use-aliases` flag to `docker-compose run`, indicating that
network aliases declared in the service's config should be used for the
running container
- Added the `--include-deps` flag to `docker-compose pull`
- `docker-compose run` now kills and removes the running container upon
receiving `SIGHUP`
- `docker-compose ps` now shows the containers' health status if available