- Errors from the expansion of `ARG` definitions in global scope are now handled properly. [moby/buildkit#4856](https://github.com/moby/buildkit/pull/4856/)
- Expansion of the default value of `ARG` now only happens if it is not overwritten by the user. Previously, expansion was completed and value was later ignored, which could result in an unexpected expansion error. [moby/buildkit#4856](https://github.com/moby/buildkit/pull/4856/)
- Performance of parsing huge Dockerfiles with many stages has been improved. [moby/buildkit#4970](https://github.com/moby/buildkit/pull/4970/)
- Fix some Windows path handling consistency errors. [moby/buildkit#4825](https://github.com/moby/buildkit/pull/4825/)
## 1.7.0
{{< release-date date="2024-03-06" >}}
### Stable
```dockerfile
# syntax=docker/dockerfile:1.7
```
- Variable expansion now allows string substitutions and trimming.
[moby/buildkit#4427](https://github.com/moby/buildkit/pull/4427),
[moby/buildkit#4287](https://github.com/moby/buildkit/pull/4287)
- Named contexts with local sources now correctly transfer only the files used in the Dockerfile instead of the full source directory.
[moby/buildkit#4161](https://github.com/moby/buildkit/pull/4161)
- Dockerfile now better validates the order of stages and returns nice errors with stack traces if stages are in incorrect order.
[moby/buildkit#4568](https://github.com/moby/buildkit/pull/4568),
[moby/buildkit#4567](https://github.com/moby/buildkit/pull/4567)
- History commit messages now contain flags used with `COPY` and `ADD`.
[moby/buildkit#4597](https://github.com/moby/buildkit/pull/4597)
- Progress messages for `ADD` commands from Git and HTTP sources have been improved.
[moby/buildkit#4408](https://github.com/moby/buildkit/pull/4408)
### Labs
```dockerfile
# syntax=docker/dockerfile:1.7-labs
```
- New `--parents` flag has been added to `COPY` for copying files while keeping the parent directory structure.
[moby/buildkit#4598](https://github.com/moby/buildkit/pull/4598),
[moby/buildkit#3001](https://github.com/moby/buildkit/pull/3001),
[moby/buildkit#4720](https://github.com/moby/buildkit/pull/4720),
[moby/buildkit#4728](https://github.com/moby/buildkit/pull/4728),
[docs](/reference/dockerfile.md#copy---parents)
- New `--exclude` flag can be used in `COPY` and `ADD` commands to apply filter to copied files.
[moby/buildkit#4561](https://github.com/moby/buildkit/pull/4561),
[docs](/reference/dockerfile.md#copy---exclude)
## 1.6.0
{{< release-date date="2023-06-13" >}}
### New
- Add `--start-interval` flag to the
[`HEALTHCHECK` instruction](/reference/dockerfile.md#healthcheck).
The following features have graduated from the labs channel to stable:
- The `ADD` instruction can now [import files directly from Git URLs](/reference/dockerfile.md#adding-a-git-repository-add-git-ref-dir)
- The `ADD` instruction now supports [`--checksum` flag](/reference/dockerfile.md#verifying-a-remote-file-checksum-add---checksumchecksum-http-src-dest)
to validate the contents of the remote URL contents
### Bug fixes and enhancements
- Variable substitution now supports additional POSIX compatible variants without `:`.
[moby/buildkit#3611](https://github.com/moby/buildkit/pull/3611)
- Exported Windows images now contain OSVersion and OSFeatures values from base image.
[moby/buildkit#3619](https://github.com/moby/buildkit/pull/3619)
- Changed the permissions for Heredocs to 0644.
[moby/buildkit#3992](https://github.com/moby/buildkit/pull/3992)
## 1.5.2
{{< release-date date="2023-02-14" >}}
### Bug fixes and enhancements
- Fix building from Git reference that is missing branch name but contains a
subdir
- 386 platform image is now included in the release
## 1.5.1
{{< release-date date="2023-01-18" >}}
### Bug fixes and enhancements
- Fix possible panic when warning conditions appear in multi-platform builds
## 1.5.0 (labs)
{{< release-date date="2023-01-10" >}}
{{% include "dockerfile-labs-channel.md" %}}