Build release notes

This page contains information about the new features, improvements, and bug fixes in Docker Buildx.

0.14.0

2024-04-18

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

Enhancements

Bug fixes

Packaging updates

0.13.1

2024-03-13

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

Bug fixes

  • Fix connecting to docker-container:// and kube-pod:// style URLs with remote driver. docker/buildx#2327
  • Fix handling of --push with Bake when a target has already defined a non-image output. docker/buildx#2330

0.13.0

2024-03-06

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

New

Enhancements

  • Bake command now supports defining shm-size and ulimit values. docker/buildx#2279, docker/buildx#2242
  • Better handling of connecting to unhealthy nodes with remote driver. docker/buildx#2130
  • Builders using the docker-container and kubernetes drivers now allow network.host entitlement by default (allowing access to the container's network). docker/buildx#2266
  • Builds can now use multiple outputs with a single command (requires BuildKit v0.13+). docker/buildx#2290, docker/buildx#2302
  • Default Git repository path is now found via configured tracking branch. docker/buildx#2146
  • Fix possible cache invalidation when using linked targets in Bake. docker/buildx#2265
  • Fixes for Git repository path sanitization in WSL. docker/buildx#2167
  • Multiple builders can now be removed with a single command. docker/buildx#2140
  • New cancellation signal handling via Unix socket. docker/buildx#2184 docker/buildx#2289
  • The Compose spec support has been updated to v2.0.0-rc.8. docker/buildx#2205
  • The --config flag for docker buildx create was renamed to --buildkitd-config. docker/buildx#2268
  • The --metadata-file flag for docker buildx build can now also return build reference that can be used for further build debugging, for example, in Docker Desktop. docker/buildx#2263
  • The docker buildx bake command now shares the same authentication provider for all targets for improved performance. docker/buildx#2147
  • The docker buildx imagetools inspect command now shows DSSE-signed SBOM and Provenance attestations. docker/buildx#2194
  • The docker buildx ls command now supports --format options for controlling the output. docker/buildx#1787
  • The docker-container driver now supports driver options for defining restart policy for BuildKit container. docker/buildx#1271
  • VCS attributes exported from Buildx now include the local directory sub-paths if they're relative to the current Git repository. docker/buildx#2156
  • --add-host flag now permits a = separator for IPv6 addresses. docker/buildx#2121

Bug fixes

0.12.1

2024-01-12

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

Bug fixes and enhancements

  • Fix incorrect validation of some --driver-opt values that could cause a panic and corrupt state to be stored. docker/buildx#2176

0.12.0

2023-11-16

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

New

  • New --annotation flag for the buildx build, and an annotations key in the Bake file, that lets you add OCI Annotations to build results. #2020, #2098
  • New experimental debugging features, including a new debug command and an interactive debugging console. This feature currently requires setting BUILDX_EXPERIMENTAL=1. #2006, #1896, #1970, #1914, #2026, #2086

Bug fixes and enhancements

  • The special host-gateway IP mapping can now be used with the --add-host flag during build. #1894, #2083
  • Bake now allows adding local source files when building from remote definition. #1838
  • The status of uploading build results to Docker is now shown interactively on progress bar. #1994
  • Error handling has been improved when bootstrapping multi-node build clusters. #1869
  • The buildx imagetools create command now allows adding annotation when creating new images in the registry. #1965
  • OpenTelemetry build trace delegation from buildx is now possible with Docker and Remote driver. #2034
  • Bake command now shows all files where the build definition was loaded from on the progress bar. #2076
  • Bake files now allow the same attributes to be defined in multiple definition files. #1062
  • Using the Bake command with a remote definition now allows this definition to use local Dockerfiles. #2015
  • Docker container driver now explicitly sets BuildKit config path to make sure configurations are loaded from same location for both mainline and rootless images. #2093
  • Improve performance of detecting when BuildKit instance has completed booting. #1934
  • Container driver now accepts many new driver options for defining the resource limits for BuildKit container. #2048
  • Inspection commands formatting has been improved. #2068
  • Error messages about driver capabilities have been improved. #1998
  • Improve errors when invoking Bake command without targets. #2100
  • Allow enabling debug logs with environment variables when running in standalone mode. #1821
  • When using Docker driver the default image resolve mode has been updated to prefer local Docker images for backward compatibility. #1886
  • Kubernetes driver now allows setting custom annotations and labels to the BuildKit deployments and pods. #1938
  • Kubernetes driver now allows setting authentication token with endpoint configuration. #1891
  • Fix possible issue with chained targets in Bake that could result in build failing or local source for a target uploaded multiple times. #2113
  • Fix issue when accessing global target properties when using the matrix feature of the Bake command. #2106
  • Fixes for formatting validation of certain build flags #2040
  • Fixes to avoid locking certain commands unnecessarily while booting builder nodes. #2066
  • Fix cases where multiple builds try to bootstrap the same builder instance in parallel. #2000
  • Fix cases where errors on uploading build results to Docker could be dropped in some cases. #1927
  • Fix detecting capabilities for missing attestation support based on build output. #1988
  • Fix the build for loading in Bake remote definition to not show up in build history records. #1961, #1954
  • Fix errors when building Compose files using the that define profiles with Bake. #1903
  • Fix possible time correction errors on progress bar. #1968
  • Fix passing custom cgroup parent to builds that used the new controller interface. #1913

Packaging

  • Compose support has been updated to 1.20, enabling "include" functionality when using the Bake command. #1971, #2065, #2094

0.11.2

2023-07-18

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

Bug fixes and enhancements

  • Fix a regression that caused buildx to not read the KUBECONFIG path from the instance store. docker/buildx#1941
  • Fix a regression with result handle builds showing up in the build history incorrectly. docker/buildx#1954

0.11.1

2023-07-05

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

Bug fixes and enhancements

  • Fix a regression for bake where services in profiles would not be loaded. docker/buildx#1903
  • Fix a regression where --cgroup-parent option had no effect during build. docker/buildx#1913
  • Fix a regression where valid docker contexts could fail buildx builder name validation. docker/buildx#1879
  • Fix a possible panic when terminal is resized during the build. docker/buildx#1929

0.11.0

2023-06-13

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

New

Bug fixes and enhancements

  • --load now supports loading multi-platform images when the containerd image store is enabled. docker/buildx#1813
  • Build progress output now displays the name of the builder being used. docker/buildx#1177
  • Bake now supports detecting compose.{yml,yaml} files. docker/buildx#1752
  • Bake now supports new compose build keys dockerfile_inline and additional_contexts. docker/buildx#1784
  • Bake now supports replace HCL function. docker/buildx#1720
  • Bake now allows merging multiple similar attestation parameters into a single parameter to allow overriding with a single global value. docker/buildx#1699
  • Initial support for shell completion. docker/buildx#1727
  • BuildKit versions now correctly display in buildx ls and buildx inspect for builders using the docker driver. docker/buildx#1552
  • Display additional builder node details in buildx inspect view. docker/buildx#1440, docker/buildx#1854
  • Builders using the remote driver allow using TLS without proving its own key/cert (if BuildKit remote is configured to support it) docker/buildx#1693
  • Builders using the kubernetes driver support a new serviceaccount option, which sets the serviceAccountName of the Kubernetes pod. docker/buildx#1597
  • Builders using the kubernetes driver support the proxy-url option in the kubeconfig file. docker/buildx#1780
  • Builders using the kubernetes are now automatically assigned a node name if no name is explicitly provided. docker/buildx#1673
  • Fix invalid path when writing certificates for docker-container driver on Windows. docker/buildx#1831
  • Fix bake failure when remote bake file is accessed using SSH. docker/buildx#1711, docker/buildx#1734
  • Fix bake failure when remote bake context is incorrectly resolved. docker/buildx#1783
  • Fix path resolution of BAKE_CMD_CONTEXT and cwd:// paths in bake contexts. docker/buildx#1840
  • Fix mixed OCI and Docker media types when creating images using buildx imagetools create. docker/buildx#1797
  • Fix mismatched image id between --iidfile and -q. docker/buildx#1844
  • Fix AWS authentication when mixing static creds and IAM profiles. docker/buildx#1816

0.10.4

2023-03-06

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using --provenance=false.

Bug fixes and enhancements

  • Add BUILDX_NO_DEFAULT_ATTESTATIONS as alternative to --provenance false. docker/buildx#1645
  • Disable dirty Git checkout detection by default for performance. Can be enabled with BUILDX_GIT_CHECK_DIRTY opt-in. docker/buildx#1650
  • Strip credentials from VCS hint URL before sending to BuildKit. docker/buildx#1664

0.10.3

2023-02-16

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using --provenance=false.

Bug fixes and enhancements

0.10.2

2023-01-30

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using --provenance=false.

Bug fixes and enhancements

  • Fix preferred platforms order not taken into account in multi-node builds. docker/buildx#1561
  • Fix possible panic on handling SOURCE_DATE_EPOCH environment variable. docker/buildx#1564
  • Fix possible push error on multi-node manifest merge since BuildKit v0.11 on some registries. docker/buildx#1566
  • Improve warnings on collecting Git provenance info. docker/buildx#1568

0.10.1

2023-01-27

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using --provenance=false.

Bug fixes and enhancements

0.10.0

2023-01-10

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using --provenance=false.

New

Upgrades

Bug fixes and enhancements

0.9.1

2022-08-18

Bug fixes and enhancements

  • The inspect command now displays the BuildKit version in use. docker/buildx#1279
  • Fixed a regression when building Compose files that contain services without a build block. docker/buildx#1277

For more details, see the complete release notes in the Buildx GitHub repository.

0.9.0

2022-08-17

New

  • Support for a new remote driver that you can use to connect to any already running BuildKit instance. docker/buildx#1078, docker/buildx#1093, docker/buildx#1094, docker/buildx#1103, docker/buildx#1134, docker/buildx#1204
  • You can now load Dockerfile from standard input even when the build context is coming from external Git or HTTP URL. docker/buildx#994
  • Build commands now support new the build context type oci-layout:// for loading build context from local OCI layout directories. Note that this feature depends on an unreleased BuildKit feature and builder instance from moby/buildkit:master needs to be used until BuildKit v0.11 is released. docker/buildx#1173
  • You can now use the new --print flag to run helper functions supported by the BuildKit frontend performing the build and print their results. You can use this feature in Dockerfile to show the build arguments and secrets that the current build supports with --print=outline and list all available Dockerfile stages with --print=targets. This feature is experimental for gathering early feedback and requires enabling BUILDX_EXPERIMENTAL=1 environment variable. We plan to update/extend this feature in the future without keeping backward compatibility. docker/buildx#1100, docker/buildx#1272
  • You can now use the new --invoke flag to launch interactive containers from build results for an interactive debugging cycle. You can reload these containers with code changes or restore them to an initial state from the special monitor mode. This feature is experimental for gathering early feedback and requires enabling BUILDX_EXPERIMENTAL=1 environment variable. We plan to update/extend this feature in the future without enabling backward compatibility. docker/buildx#1168, docker/buildx#1257, docker/buildx#1259
  • Buildx now understands environment variable BUILDKIT_COLORS and NO_COLOR to customize/disable the colors of interactive build progressbar. docker/buildx#1230, docker/buildx#1226
  • buildx ls command now shows the current BuildKit version of each builder instance. docker/buildx#998
  • The bake command now loads .env file automatically when building Compose files for compatibility. docker/buildx#1261
  • Bake now supports Compose files with cache_to definition. docker/buildx#1155
  • Bake now supports new builtin function timestamp() to access current time. docker/buildx#1214
  • Bake now supports Compose build secrets definition. docker/buildx#1069
  • Additional build context configuration is now supported in Compose files via x-bake. docker/buildx#1256
  • Inspecting builder now shows current driver options configuration. docker/buildx#1003, docker/buildx#1066

Updates

Bug fixes and enhancements

  • The buildx ls command output has been updated with better access to errors from different builders. docker/buildx#1109
  • The buildx create command now performs additional validation of builder parameters to avoid creating a builder instance with invalid configuration. docker/buildx#1206
  • The buildx imagetools create command can now create new multi-platform images even if the source subimages are located on different repositories or registries. docker/buildx#1137
  • You can now set the default builder config that is used when creating builder instances without passing custom --config value. docker/buildx#1111
  • Docker driver can now detect if dockerd instance supports initially disabled Buildkit features like multi-platform images. docker/buildx#1260, docker/buildx#1262
  • Compose files using targets with . in the name are now converted to use _ so the selector keys can still be used in such targets. docker/buildx#1011
  • Included an additional validation for checking valid driver configurations. docker/buildx#1188, docker/buildx#1273
  • The remove command now displays the removed builder and forbids removing context builders. docker/buildx#1128
  • Enable Azure authentication when using Kubernetes driver. docker/buildx#974
  • Add tolerations handling for kubernetes driver. docker/buildx#1045 docker/buildx#1053
  • Replace deprecated seccomp annotations with securityContext in the kubernetes driver. docker/buildx#1052
  • Fix panic on handling manifests with nil platform. docker/buildx#1144
  • Fix using duration filter with prune command. docker/buildx#1252
  • Fix merging multiple JSON files on Bake definition. docker/buildx#1025
  • Fix issues with implicit builder created from Docker context had invalid configuration or dropped connection. docker/buildx#1129
  • Fix conditions for showing no-output warning when using named contexts. docker/buildx#968
  • Fix duplicating builders when builder instance and docker context have the same name. docker/buildx#1131
  • Fix printing unnecessary SSH warning logs. docker/buildx#1085
  • Fix possible panic when using an empty variable block with Bake JSON definition. docker/buildx#1080
  • Fix image tools commands not handling --builder flag correctly. docker/buildx#1067
  • Fix using custom image together with rootless option. docker/buildx#1063

For more details, see the complete release notes in the Buildx GitHub repository.

0.8.2

2022-04-04

Updates

  • Update Compose spec used by buildx bake to v1.2.1 to fix parsing ports definition. docker/buildx#1033

Bug fixes and enhancements

For more details, see the complete release notes in the Buildx GitHub repository.

0.8.1

2022-03-21

Bug fixes and enhancements

For more details, see the complete release notes in the Buildx GitHub repository.

0.8.0

2022-03-09

New

Bug fixes and enhancements

For more details, see the complete release notes in the Buildx GitHub repository.

0.7.1

2021-08-25

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.7.0

2021-11-10

New features

Enhancements

  • Allow using custom registry configuration for multi-node pushes from the client. docker/buildx#825
  • Allow using custom registry configuration for buildx imagetools command. docker/buildx#825
  • Allow booting builder after creating with buildx create --bootstrap. docker/buildx#692
  • Allow registry:insecure output option for multi-node pushes. docker/buildx#825
  • BuildKit config and TLS files are now kept in Buildx state directory and reused if BuildKit instance needs to be recreated. docker/buildx#824
  • Ensure different projects use separate destination directories for incremental context transfer for better performance. docker/buildx#817
  • Build containers are now placed on separate cgroup by default. docker/buildx#782
  • Bake now prints the default group with --print. docker/buildx#720
  • docker driver now dials build session over HTTP for better performance. docker/buildx#804

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.6.3

2021-08-30

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.6.2

2021-08-21

For more details, see the complete release notes in the Buildx GitHub repository.

Fixes

0.6.1

2021-07-30

Enhancements

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.6.0

2021-07-16

New features

Enhancements

Fixes

  • imagetools create command now correctly merges JSON descriptor with old one. docker/buildx#592
  • Fix building with --network=none not requiring extra security entitlements. docker/buildx#531

For more details, see the complete release notes in the Buildx GitHub repository.

0.5.1

2020-12-15

Fixes

  • Fix regression on setting --platform on buildx create outside kubernetes driver. docker/buildx#475

For more details, see the complete release notes in the Buildx GitHub repository.

0.5.0

2020-12-15

New features

  • The docker driver now supports the --push flag. docker/buildx#442
  • Bake supports inline Dockerfiles. docker/buildx#398
  • Bake supports building from remote URLs and Git repositories. docker/buildx#398
  • BUILDX_CONFIG env var allow users to have separate buildx state from Docker config. docker/buildx#385
  • BUILDKIT_MULTI_PLATFORM build arg allows to force building multi-platform return objects even if only one --platform specified. docker/buildx#467

Enhancements

Fixes

  • Handle lowercase Dockerfile name as a fallback for backward compatibility. docker/buildx#444

For more details, see the complete release notes in the Buildx GitHub repository.

0.4.2

2020-08-22

New features

Enhancements

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.4.1

2020-05-01

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.4.0

2020-04-30

New features

Enhancements

For more details, see the complete release notes in the Buildx GitHub repository.

0.3.1

2019-09-27

Enhancements

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.3.0

2019-08-02

New features

Enhancements

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.2.2

2019-05-30

Enhancements

  • Change Compose file handling to require valid service specifications. docker/buildx#87

For more details, see the complete release notes in the Buildx GitHub repository.

0.2.1

2019-05-25

New features

Enhancements

Fixes

For more details, see the complete release notes in the Buildx GitHub repository.

0.2.0

2019-04-25

New features

  • First release

For more details, see the complete release notes in the Buildx GitHub repository.