- Fixed a bug where issuing a `docker-compose pull` command on services
without a defined image key would cause Compose to crash.
- Volumes and binds are now mounted in the order they are declared in the
service definition.
### Miscellaneous
- The `zsh` completion script has been updated with new options, and no
longer suggests container names where service names are expected.
## 1.22.0
(2018-07-17)
### New features
#### Compose format version 3.7
- Introduced version 3.7 of the `docker-compose.yml` specification.
This version requires Docker Engine 18.06.0 or above.
- Added support for `rollback_config` in the deploy configuration
- Added support for the `init` parameter in service configurations
- Added support for extension fields in service, network, volume, secret,
and config configurations
#### Compose format version 2.4
- Added support for extension fields in service, network,
and volume configurations
### Bug fixes
- Fixed a bug that prevented deployment with some Compose files when
`DOCKER_DEFAULT_PLATFORM` was set
- Compose will no longer try to create containers or volumes with
invalid starting characters
- Fixed several bugs that prevented Compose commands from working properly
with containers created with an older version of Compose
- Fixed an issue with the output of `docker-compose config` with the
`--compatibility-mode` flag enabled when the source file contains
attachable networks
- Fixed a bug that prevented the `gcloud` credential store from working
properly when used with the Compose binary on UNIX
- Fixed a bug that caused connection errors when trying to operate
over a non-HTTPS TCP connection on Windows
- Fixed a bug that caused builds to fail on Windows if the Dockerfile
was located in a subdirectory of the build context
- Fixed an issue that prevented proper parsing of UTF-8 BOM encoded
Compose files on Windows
- Fixed an issue with handling of the double-wildcard (`**`) pattern in `.dockerignore` files when using `docker-compose build`
- Fixed a bug that caused auth values in legacy `.dockercfg` files to be ignored
- `docker-compose build` will no longer attempt to create image names starting with an invalid character
## 1.21.2
(2018-05-03)
### Bug fixes
- Fixed a bug where the ip_range attribute in IPAM configs was prevented
from passing validation
## 1.21.1
(2018-04-27)
### Bug fixes
- In 1.21.0, we introduced a change to how project names are sanitized for
internal use in resource names. This caused issues when manipulating an
existing, deployed application whose name had changed as a result.
This release properly detects resources using "legacy" naming conventions.
- Fixed an issue where specifying an in-context Dockerfile using an absolute
path would fail despite being valid.
- Fixed a bug where IPAM option changes were incorrectly detected, preventing
redeployments.
- Validation of v2 files now properly checks the structure of IPAM configs.
- 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).