⚠️ **Compose v2 architecture and installation instructions differ from v1, see [README.md](https://github.com/docker/compose#where-to-get-docker-compose).**
For backward compatibility with docker-compose v1.x, consider installing https://github.com/docker/compose-switch
Features:
- added support for `COMPOSE_IGNORE_ORPHANS`
- `compose exec` and `compose down` don't need the original compose file (require `--project-name`)
- render port ranges as a group
- container names use hyphens to produce a valid hostname
- add support for `scale=0`
- introduce `--compatibility` to support smooth(er) transition from V1
- introduce `compose config --output` flag (defaults to stdout)
- add support for `build.network` and `build.extrahosts`
- ntroduce `compose up --attach`
- fixes parsing compose file variables
- added support for multiline values in `.env` file
Bugfixes:
- `compose run` can receive stdin from another piped command
- process local seccomp file set by `security_opt`
- fix support for `compose run --label`
- stop only the services that have been ran by `compose up` command
- `compose config` escape `$` signs to produce a valid compose file
- fixed a concurrency issue with logs
- apply configured `container_name` when recreating containers
- `compose run --volume` (mistakely renamed --volumes)
- support `--entrypoint=""` and `entrypoint: ""` to override Dockerfile's `ENTRYPOINT`
- stop `compose log --follow` on `SIGINT`
- fixed support for `bytes` values in `compose.yaml`