Dockerfile release notes

This page contains information about the new features, improvements, known issues, and bug fixes in Dockerfile reference.

For usage, see the Dockerfile frontend syntax page.

1.11.0

2024-10-30

The full release note for this release is available on GitHub.

# syntax=docker/dockerfile:1.11.0

1.11.0-labs

1.10.0

2024-09-10

The full release note for this release is available on GitHub.

# syntax=docker/dockerfile:1.10.0

1.9.0

2024-07-11

The full release note for this release is available on GitHub.

# syntax=docker/dockerfile:1.9.0
  • Add new validation rules:
    • SecretsUsedInArgOrEnv
    • InvalidDefaultArgInFrom
    • RedundantTargetPlatform
    • CopyIgnoredFile (experimental)
    • FromPlatformFlagConstDisallowed
  • Many performance improvements for working with big Dockerfiles. moby/buildkit#5067, moby/buildkit#5029
  • Fix possible panic when building Dockerfile without defined stages. moby/buildkit#5150
  • Fix incorrect JSON parsing that could cause some incorrect JSON values to pass without producing an error. moby/buildkit#5107
  • Fix a regression where COPY --link with a destination path of . could fail. moby/buildkit#5080
  • Fix validation of ADD --checksum when used with a Git URL. moby/buildkit#5085

1.8.1

2024-06-18

The full release note for this release is available on GitHub.

# syntax=docker/dockerfile:1.8.1

Bug fixes and enhancements

1.8.0

2024-06-11

The full release note for this release is available on GitHub.

# syntax=docker/dockerfile:1.8.0
  • Many new validation rules have been added to verify that your Dockerfile is using best practices. These rules are validated during build and new check frontend method can be used to only trigger validation without completing the whole build.
  • New directive #check and build argument BUILDKIT_DOCKERFILE_CHECK lets you control the behavior or build checks. moby/buildkit#4962
  • Using a single-platform base image that does not match your expected platform is now validated. moby/buildkit#4924
  • Errors from the expansion of ARG definitions in global scope are now handled properly. moby/buildkit#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
  • Performance of parsing huge Dockerfiles with many stages has been improved. moby/buildkit#4970
  • Fix some Windows path handling consistency errors. moby/buildkit#4825

1.7.0

2024-03-06

Stable

# syntax=docker/dockerfile:1.7

Labs

# syntax=docker/dockerfile:1.7-labs

1.6.0

2023-06-13

New

The following features have graduated from the labs channel to stable:

Bug fixes and enhancements

  • Variable substitution now supports additional POSIX compatible variants without :. moby/buildkit#3611
  • Exported Windows images now contain OSVersion and OSFeatures values from base image. moby/buildkit#3619
  • Changed the permissions for Heredocs to 0644. moby/buildkit#3992

1.5.2

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

2023-01-18

Bug fixes and enhancements

  • Fix possible panic when warning conditions appear in multi-platform builds

1.5.0 (labs)

2023-01-10

Experimental

The "labs" channel provides early access to Dockerfile features that are not yet available in the stable channel.

New

  • ADD command now supports --checksum flag to validate the contents of the remote URL contents

1.5.0

2023-01-10

New

Bug fixes and enhancements

  • Named contexts now support oci-layout:// protocol for including images from local OCI layout structure
  • Dockerfile now supports secondary requests for listing all build targets or printing outline of accepted parameters for a specific build target
  • Dockerfile #syntax directive that redirects to an external frontend image now allows the directive to be also set with // comments or JSON. The file may also contain a shebang header
  • Named context can now be initialized with an empty scratch image
  • Named contexts can now be initialized with an SSH Git URL
  • Fix handling of ONBUILD when importing Schema1 images

1.4.3

2022-08-23

Bug fixes and enhancements

  • Fix creation timestamp not getting reset when building image from docker-image:// named context
  • Fix passing --platform flag of FROM command when loading docker-image:// named context

1.4.2

2022-05-06

Bug fixes and enhancements

  • Fix loading certain environment variables from an image passed with built context

1.4.1

2022-04-08

Bug fixes and enhancements

  • Fix named context resolution for cross-compilation cases from input when input is built for a different platform

1.4.0

2022-03-09

New

  • COPY --link and ADD --link allow copying files with increased cache efficiency and rebase images without requiring them to be rebuilt. --link copies files to a separate layer and then uses new LLB MergeOp implementation to chain independent layers together
  • Heredocs support have been promoted from labs channel to stable. This feature allows writing multiline inline scripts and files
  • Additional named build contexts can be passed to build to add or overwrite a stage or an image inside the build. A source for the context can be a local source, image, Git, or HTTP URL
  • BUILDKIT_SANDBOX_HOSTNAME build-arg can be used to set the default hostname for the RUN steps

Bug fixes and enhancements

  • When using a cross-compilation stage, the target platform for a step is now seen on progress output
  • Fix some cases where Heredocs incorrectly removed quotes from content

1.3.1

2021-10-04

Bug fixes and enhancements

  • Fix parsing "required" mount key without a value

1.3.0 (labs)

2021-07-16

Experimental

The "labs" channel provides early access to Dockerfile features that are not yet available in the stable channel.

New

  • RUN and COPY commands now support Here-document syntax allowing writing multiline inline scripts and files

1.3.0

2021-07-16

New

  • RUN command allows --network flag for requesting a specific type of network conditions. --network=host requires allowing network.host entitlement. This feature was previously only available on labs channel

Bug fixes and enhancements

  • ADD command with a remote URL input now correctly handles the --chmod flag
  • Values for RUN --mount flag now support variable expansion, except for the from field
  • Allow BUILDKIT_MULTI_PLATFORM build arg to force always creating multi-platform image, even if only contains single platform

1.2.1 (labs)

2020-12-12

Experimental

The "labs" channel provides early access to Dockerfile features that are not yet available in the stable channel.

Bug fixes and enhancements

  • RUN command allows --network flag for requesting a specific type of network conditions. --network=host requires allowing network.host entitlement

1.2.1

2020-12-12

Bug fixes and enhancements

  • Revert "Ensure ENTRYPOINT command has at least one argument"
  • Optimize processing COPY calls on multi-platform cross-compilation builds

1.2.0 (labs)

2020-12-03

Experimental

The "labs" channel provides early access to Dockerfile features that are not yet available in the stable channel.

Bug fixes and enhancements

  • Experimental channel has been renamed to labs

1.2.0

2020-12-03

New

  • RUN --mount syntax for creating secret, ssh, bind, and cache mounts have been moved to mainline channel
  • ARG command now supports defining multiple build args on the same line similarly to ENV

Bug fixes and enhancements

  • Metadata load errors are now handled as fatal to avoid incorrect build results
  • Allow lowercase Dockerfile name
  • --chown flag in ADD now allows parameter expansion
  • ENTRYPOINT requires at least one argument to avoid creating broken images

1.1.7

2020-04-18

Bug fixes and enhancements

  • Forward FrontendInputs to the gateway

1.1.2 (experimental)

2019-07-31

Experimental

The "labs" channel provides early access to Dockerfile features that are not yet available in the stable channel.

Bug fixes and enhancements

  • Allow setting security mode for a process with RUN --security=sandbox|insecure
  • Allow setting uid/gid for cache mounts
  • Avoid requesting internally linked paths to be pulled to build context
  • Ensure missing cache IDs default to target paths
  • Allow setting namespace for cache mounts with BUILDKIT_CACHE_MOUNT_NS build arg

1.1.2

2019-07-31

Bug fixes and enhancements

  • Fix workdir creation with correct user and don't reset custom ownership
  • Fix handling empty build args also used as ENV
  • Detect circular dependencies

1.1.0

2019-04-27

New

  • ADD/COPY commands now support implementation based on llb.FileOp and do not require helper image if builtin file operations support is available
  • --chown flag for COPY command now supports variable expansion

Bug fixes and enhancements

  • To find the files ignored from the build context Dockerfile frontend will first look for a file <path/to/Dockerfile>.dockerignore and if it is not found .dockerignore file will be looked up from the root of the build context. This allows projects with multiple Dockerfiles to use different .dockerignore definitions