Build release notes
This page contains information about the new features, improvements, and bug fixes in Docker Buildx.
0.18.0
New
- The
docker buildx inspect
command now displays BuildKit daemon configuration options set with a TOML file. docker/buildx#2684 - The
docker buildx ls
command output is now more compact by default by compacting the platform list. A new--no-trunc
option can be used for the full list. docker/buildx#2138, docker/buildx#2717 - The
docker buildx prune
command now supports new--max-used-space
and--min-free-space
filters with BuildKit v0.17.0+ builders. docker/buildx#2766
Enhancements
- Allow capturing of CPU and memory profiles with
pprof
using theBUILDX_CPU_PROFILE
andBUILDX_MEM_PROFILE
environment variables. docker/buildx#2746 - Maximum Dockerfile size from standard input has increased. docker/buildx#2716, docker/buildx#2719
- Memory allocations have been reduced. docker/buildx#2724, docker/buildx#2713
- The
--list-targets
and--list-variables
flags fordocker buildx bake
no longer require initialization of the builder. docker/buildx#2763
Bug fixes
- Check warnings now print the full filepath to the offending Dockerfile, relative to the current working directory. docker/buildx#2672
- Fallback images for the
--check
and--call
options have been updated to correct references. docker/buildx#2705 - Fix issue with the build details link not showing in experimental mode. docker/buildx#2722
- Fix validation issue with invalid target linking for Bake. docker/buildx#2700
- Fix missing error message when running an invalid command. docker/buildx#2741
- Fix possible false warnings for local state in
--call
requests. docker/buildx#2754 - Fix potential issues with entitlements when using linked targets in Bake. docker/buildx#2701
- Fix possible permission issues when accessing local state after running Buildx with
sudo
. docker/buildx#2745
Packaging
- Compose compatibility has been updated to v2.4.1. docker/buildx#2760
0.17.1
2024-09-13The full release note for this release is available on GitHub.
Bug fixes
- Do not set
network.host
entitlement flag automatically on builder creation for thedocker-container
andkubernetes
drivers if the entitlement is set in the BuildKit configuration file. docker/buildx#2685 - Do not print the
network
field withdocker buildx bake --print
when empty. docker/buildx#2689 - Fix telemetry socket path under WSL2. docker/buildx#2698
0.17.0
2024-09-10The full release note for this release is available on GitHub.
New
- Add
basename
,dirname
andsanitize
functions to Bake. docker/buildx#2649 - Enable support for Bake entitlements to allow privileged operations during builds. docker/buildx#2666
Enhancements
- Introduce CLI metrics tracking for Bake commands. docker/buildx#2610
- Add
--debug
to all build commands. Previously, it was only available on the top-leveldocker
anddocker buildx
commands. docker/buildx#2660 - Allow builds from stdin for multi-node builders. docker/buildx#2656
- Improve
kubernetes
driver initialization. docker/buildx#2606 - Include target name in the error message when building multiple targets with Bake. docker/buildx#2651
- Optimize metrics handling to reduce performance overhead during progress tracking. docker/buildx#2641
- Display the number of warnings after completing a rule check. docker/buildx#2647
- Skip build ref and provenance metadata for frontend methods. docker/buildx#2650
- Add support for setting network mode in Bake files (HCL and JSON). docker/buildx#2671
- Support the
--metadata-file
flag when set along the--call
flag. docker/buildx#2640 - Use shared session for local contexts used by multiple Bake targets. docker/buildx#2615, docker/buildx#2607, docker/buildx#2663
Bug fixes
- Improve memory management to avoid unnecessary allocations. docker/buildx#2601
Packaging updates
- Compose support has been updated to v2.1.6. docker/buildx#2547
0.16.2
2024-07-25The full release note for this release is available on GitHub.
Bug fixes
- Fix possible "bad file descriptor" error when exporting local cache to NFS volume docker/buildx#2629
0.16.1
2024-07-18The full release note for this release is available on GitHub.
Bug fixes
- Fix possible panic due to data race in
buildx bake --print
command docker/buildx#2603 - Improve messaging about using
--debug
flag to inspect build warnings docker/buildx#2612
0.16.0
2024-07-11The full release note for this release is available on GitHub.
New
- Bake command now supports
--call
and--check
flags andcall
attribute in target definitions for selecting custom frontend methods. docker/buildx#2556, docker/buildx#2576 - Experimental
Bake now supports
--list-targets
and--list-variables
flags for inspecting the definition and possible configuration options for your project. docker/buildx#2556 - Bake definition variables and targets supports new
description
attribute for defining text-based description that can be inspected using e.g.--list-targets
and--list-variables
. docker/buildx#2556 - Bake now supports printing warnings for build check violations. docker/buildx#2501
Enhancements
- The build command now ensures that multi-node builds use the same build reference for each node. docker/buildx#2572
- Avoid duplicate requests and improve the performance of remote driver. docker/buildx#2501
- Build warnings can now be saved to the metadata file by setting the
BUILDX_METADATA_WARNINGS=1
environment variable. docker/buildx#2551, docker/buildx#2521, docker/buildx#2550 - Improve message of the
--check
flag when no warnings are detected. docker/buildx#2549
Bug fixes
- Fix support for multi-type annotations during build. docker/buildx#2522
- Fix a regression where possible inefficient transfer of files would occur when switching projects due to incremental transfer reuse. docker/buildx#2558
- Fix incorrect default load for chained Bake targets. docker/buildx#2583
- Fix incorrect
COMPOSE_PROJECT_NAME
handling in Bake. docker/buildx#2579 - Fix index annotations support for multi-node builds. docker/buildx#2546
- Fix capturing provenance metadata for builds from remote context. docker/buildx#2560
Packaging updates
- Compose support has been updated to v2.1.3. docker/buildx#2547
0.15.1
2024-06-18The full release note for this release is available on GitHub.
Bug fixes
- Fix missing build error and exit code for some validation requests with
--check
. docker/buildx#2518 - Update fallback image for
--check
to Dockerfile v1.8.1. docker/buildx#2538
0.15.0
2024-06-11The full release note for this release is available on GitHub.
New
New
--call
option allows setting evaluation method for a build, replacing the previous experimental--print
flag. docker/buildx#2498, docker/buildx#2487, docker/buildx#2513In addition to the default
build
method, the following methods are implemented by Dockerfile frontend:--call=check
: Run validation routines for your build configuration. For more information about build checks, see Build checks--call=outline
: Show configuration that would be used by current build, including all build arguments, secrets, SSH mounts, etc., that your build would use.--call=targets
: Show all available targets and their descriptions.
New
--prefer-index
flag has been added to thedocker buildx imagetools create
command to control the behavior of creating image out of one single-platform image manifest. docker/buildx#2482The
kubernetes
driver now supports atimeout
option for configuring deployment timeout. docker/buildx#2492New metrics definitions have been added for build warning types. docker/buildx#2482, docker/buildx#2507
The
buildx prune
andbuildx du
commands now support negative and prefix filters. docker/buildx#2473Building Compose files with Bake now supports passing SSH forwarding configuration. docker/buildx#2445
Fix issue with configuring the
kubernetes
driver with custom TLS certificates. docker/buildx#2454Fix concurrent kubeconfig access when loading nodes. docker/buildx#2497
Packaging updates
- Compose support has been updated to v2.1.2. docker/buildx#2502, docker/buildx#2425
0.14.0
2024-04-18The full release note for this release is available on GitHub.
Enhancements
- Add support for
--print=lint
(experimental). docker/buildx#2404, docker/buildx#2406 - Fix JSON formatting for custom implementations of print sub-requests in frontends. docker/buildx#2374
- Provenance records are now set when building with
--metadata-file
. docker/buildx#2280 - Add Git authentication support for remote definitions. docker/buildx#2363
- New
default-load
driver option for thedocker-container
,remote
, andkubernetes
drivers to load build results to the Docker Engine image store by default. docker/buildx#2259 - Add
requests.ephemeral-storage
,limits.ephemeral-storage
andschedulername
options to thekubernetes
driver. docker/buildx#2370, docker/buildx#2415 - Add
indexof
function fordocker-bake.hcl
files. docker/buildx#2384 - OpenTelemetry metrics for Buildx now measure durations of idle time, image exports, run operations, and image transfers for image source operations during build. docker/buildx#2316, docker/buildx#2317, docker/buildx#2323, docker/buildx#2271
- Build progress metrics to the OpenTelemetry endpoint associated with the
desktop-linux
context no longer requires Buildx in experimental mode (BUILDX_EXPERIMENTAL=1
). docker/buildx#2344
Bug fixes
- Fix
--load
and--push
incorrectly overriding outputs when used with multiple Bake file definitions. docker/buildx#2336 - Fix build from stdin with experimental mode enabled. docker/buildx#2394
- Fix an issue where delegated traces could be duplicated. docker/buildx#2362
Packaging updates
- Compose support has been updated to
v2.26.1
(via
compose-go
v2.0.2). docker/buildx#2391
0.13.1
2024-03-13The full release note for this release is available on GitHub.
Bug fixes
- Fix connecting to
docker-container://
andkube-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-06The full release note for this release is available on GitHub.
New
- New
docker buildx dial-stdio
command for directly contacting BuildKit daemon of the configured builder instance. docker/buildx#2112 - Windows container builders can now be created using the
remote
driver and npipe connections. docker/buildx#2287 - Npipe URL scheme is now supported on Windows. docker/buildx#2250
- Experimental Buildx can now export OpenTelemetry metrics for build duration and transfer sizes. docker/buildx#2235, docker/buildx#2258 docker/buildx#2225 docker/buildx#2224 docker/buildx#2155
Enhancements
- Bake command now supports defining
shm-size
andulimit
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
andkubernetes
drivers now allownetwork.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 fordocker buildx create
was renamed to--buildkitd-config
. docker/buildx#2268 - The
--metadata-file
flag fordocker 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
- Fix additional output when exporting progress with
--progress=rawjson
docker/buildx#2252 - Fix possible console warnings on Windows. docker/buildx#2238
- Fix possible inconsistent configuration merge order when using Bake with many configurations. docker/buildx#2237
- Fix possible panic in the
docker buildx imagetools create
command. docker/buildx#2230
0.12.1
2024-01-12The 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-16The full release note for this release is available on GitHub.
New
- New
--annotation
flag for thebuildx build
, and anannotations
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 settingBUILDX_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-18The 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-05The 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-13The full release note for this release is available on GitHub.
New
- Bake now supports
matrix builds.
The new matrix field on
target
lets you create multiple similar targets to remove duplication in bake files. docker/buildx#1690 - New experimental
--detach
flag for running builds in detached mode. docker/buildx#1296, docker/buildx#1620, docker/buildx#1614, docker/buildx#1737, docker/buildx#1755 - New experimental debug monitor mode that lets you start a debug session in your builds. docker/buildx#1626, docker/buildx#1640
- New
EXPERIMENTAL_BUILDKIT_SOURCE_POLICY
environment variable for applying a BuildKit source policy file. docker/buildx#1628
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
andadditional_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
andbuildx inspect
for builders using thedocker
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 newserviceaccount
option, which sets theserviceAccountName
of the Kubernetes pod. docker/buildx#1597 - Builders using the
kubernetes
driver support theproxy-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
andcwd://
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-06Note
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-16Note
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 reachable commit and warnings on collecting Git provenance info. docker/buildx#1592, docker/buildx#1634
- Fix a regression where docker context was not being validated. docker/buildx#1596
- Fix function resolution with JSON bake definition. docker/buildx#1605
- Fix case where original HCL bake diagnostic is discarded. docker/buildx#1607
- Fix labels not correctly set with bake and compose file. docker/buildx#1631
0.10.2
2023-01-30Note
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-27Note
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 sending the correct origin URL as
vsc:source
metadata. docker/buildx#1548 - Fix possible panic from data-race. docker/buildx#1504
- Fix regression with
rm --all-inactive
. docker/buildx#1547 - Improve attestation access in
imagetools inspect
by lazily loading data. docker/buildx#1546 - Correctly mark capabilities request as internal. docker/buildx#1538
- Detect invalid attestation configuration. docker/buildx#1545
- Update containerd patches to fix possible push regression affecting
imagetools
commands. docker/buildx#1559
0.10.0
2023-01-10Note
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
- The
buildx build
command supports new--attest
flag, along with shorthands--sbom
and--provenance
, for adding attestations for your current build. docker/buildx#1412 docker/buildx#1475--attest type=sbom
or--sbom=true
adds SBOM attestations.--attest type=provenance
or--provenance=true
adds SLSA provenance attestation.- When creating OCI images, a minimal provenance attestation is included with the image by default.
- When building with BuildKit that supports provenance attestations Buildx will
automatically share the version control information of your build context, so
it can be shown in provenance for later debugging. Previously this only
happened when building from a Git URL directly. To opt-out of this behavior
you can set
BUILDX_GIT_INFO=0
. Optionally you can also automatically define labels with VCS info by settingBUILDX_GIT_LABELS=1
. docker/buildx#1462, docker/buildx#1297, docker/buildx#1341, docker/buildx#1468, docker/buildx#1477 - Named contexts with
--build-context
now supportoci-layout://
protocol for initializing the context with a value of a local OCI layout directory. E.g.--build-context stagename=oci-layout://path/to/dir
. This feature requires BuildKit v0.11.0+ and Dockerfile 1.5.0+. docker/buildx#1456 - Bake now supports resource interpolation where you can reuse the values from other target definitions. docker/buildx#1434
- Buildx will now automatically forward
SOURCE_DATE_EPOCH
environment variable if it is defined in your environment. This feature is meant to be used with updated reproducible builds support in BuildKit v0.11.0+. docker/buildx#1482 - Buildx now remembers the last activity for a builder for better organization of builder instances. docker/buildx#1439
- Bake definition now supports null values for variables and labels for build arguments and labels to use the defaults set in the Dockerfile. docker/buildx#1449
- The
buildx imagetools inspect
command now supports showing SBOM and Provenance data. docker/buildx#1444, docker/buildx#1498 - Increase performance of
ls
command and inspect flows. docker/buildx#1430, docker/buildx#1454, docker/buildx#1455, docker/buildx#1345 - Adding extra hosts with
Docker driver now supports
Docker-specific
host-gateway
special value. docker/buildx#1446 - OCI exporter now supports
tar=false
option for exporting OCI format directly in a directory. docker/buildx#1420
Upgrades
- Updated the Compose Specification to 1.6.0. docker/buildx#1387
Bug fixes and enhancements
--invoke
can now load default launch environment from the image metadata. docker/buildx#1324- Fix container driver behavior in regards to UserNS. docker/buildx#1368
- Fix possible panic in Bake when using wrong variable value type. docker/buildx#1442
- Fix possible panic in
imagetools inspect
. docker/buildx#1441 docker/buildx#1406 - Fix sending empty
--add-host
value to BuildKit by default. docker/buildx#1457 - Fix handling progress prefixes with progress groups. docker/buildx#1305
- Fix recursively resolving groups in Bake. docker/buildx#1313
- Fix possible wrong indentation on multi-node builder manifests. docker/buildx#1396
- Fix possible panic from missing OpenTelemetry configuration. docker/buildx#1383
- Fix
--progress=tty
behavior when TTY is not available. docker/buildx#1371 - Fix connection error conditions in
prune
anddu
commands. docker/buildx#1307
0.9.1
2022-08-18Bug 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-17New
- 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 frommoby/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 enablingBUILDX_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 enablingBUILDX_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
andNO_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
- Updated the Compose Specification to 1.4.0. docker/buildx#1246, docker/buildx#1251
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 thekubernetes
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-04Updates
- Update Compose spec used by
buildx bake
to v1.2.1 to fix parsing ports definition. docker/buildx#1033
Bug fixes and enhancements
- Fix possible crash on handling progress streams from BuildKit v0.10. docker/buildx#1042
- Fix parsing groups in
buildx bake
when already loaded by a parent group. docker/buildx#1021
For more details, see the complete release notes in the Buildx GitHub repository.
0.8.1
2022-03-21Bug fixes and enhancements
- Fix possible panic on handling build context scanning errors. docker/buildx#1005
- Allow
.
on Compose target names inbuildx bake
for backward compatibility. docker/buildx#1018
For more details, see the complete release notes in the Buildx GitHub repository.
0.8.0
2022-03-09New
- Build command now accepts
--build-context
flag to define additional named build contexts for your builds. docker/buildx#904 - Bake definitions now support defining dependencies between targets and using the result of one target in another build. docker/buildx#928, docker/buildx#965, docker/buildx#963, docker/buildx#962, docker/buildx#981
imagetools inspect
now accepts--format
flag allowing access to config and buildinfo for specific images. docker/buildx#854, docker/buildx#972- New flag
--no-cache-filter
allows configuring build, so it ignores cache only for specified Dockerfile stages. docker/buildx#860 - Builds can now show a summary of warnings sets by the building frontend. docker/buildx#892
- The new build argument
BUILDKIT_INLINE_BUILDINFO_ATTRS
allows opting-in to embed building attributes to resulting image. docker/buildx#908 - The new flag
--keep-buildkitd
allows keeping BuildKit daemon running when removing a builder
Bug fixes and enhancements
--metadata-file
output now supports embedded structure types. docker/buildx#946buildx rm
now accepts new flag--all-inactive
for removing all builders that are not currently running. docker/buildx#885- Proxy config is now read from Docker configuration file and sent with build requests for backward compatibility. docker/buildx#959
- Support host networking in Compose. docker/buildx#905, docker/buildx#880
- Bake files can now be read from stdin with
-f -
. docker/buildx#864 --iidfile
now always writes the image config digest independently of the driver being used (use--metadata-file
for digest). docker/buildx#980- Target names in Bake are now restricted to not use special characters. docker/buildx#929
- Image manifest digest can be read from metadata when pushed with
docker
driver. docker/buildx#989 - Fix environment file handling in Compose files. docker/buildx#905
- Show last access time in
du
command. docker/buildx#867 - Fix possible double output logs when multiple Bake targets run same build steps. docker/buildx#977
- Fix possible errors on multi-node builder building multiple targets with mixed platform. docker/buildx#985
- Fix some nested inheritance cases in Bake. docker/buildx#914
- Fix printing default group on Bake files. docker/buildx#884
- Fix
UsernsMode
when using rootless container. docker/buildx#887
For more details, see the complete release notes in the Buildx GitHub repository.
0.7.1
2021-08-25Fixes
- Fix issue with matching exclude rules in
.dockerignore
. docker/buildx#858 - Fix
bake --print
JSON output for current group. docker/buildx#857
For more details, see the complete release notes in the Buildx GitHub repository.
0.7.0
2021-11-10New features
- TLS certificates from BuildKit configuration are now transferred to build
container with
docker-container
andkubernetes
drivers. docker/buildx#787 - Builds support
--ulimit
flag for feature parity. docker/buildx#800 - Builds support
--shm-size
flag for feature parity. docker/buildx#790 - Builds support
--quiet
for feature parity. docker/buildx#740 - Builds support
--cgroup-parent
flag for feature parity. docker/buildx#814 - Bake supports builtin variable
BAKE_LOCAL_PLATFORM
. docker/buildx#748 - Bake supports
x-bake
extension field in Compose files. docker/buildx#721 kubernetes
driver now supports colon-separatedKUBECONFIG
. docker/buildx#761kubernetes
driver now supports setting Buildkit config file with--config
. docker/buildx#682kubernetes
driver now supports installing QEMU emulators with driver-opt. docker/buildx#682
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
- Fix using
--iidfile
together with a multi-node push. docker/buildx#826 - Using
--push
in Bake does not clear other image export options in the file. docker/buildx#773 - Fix Git URL detection for
buildx bake
whenhttps
protocol was used. docker/buildx#822 - Fix pushing image with multiple names on multi-node builds. docker/buildx#815
- Avoid showing
--builder
flags for commands that don't use it. docker/buildx#818 - Unsupported build flags now show a warning. docker/buildx#810
- Fix reporting error details in some OpenTelemetry traces. docker/buildx#812
For more details, see the complete release notes in the Buildx GitHub repository.
0.6.3
2021-08-30Fixes
- Fix BuildKit state volume location for Windows clients. docker/buildx#751
For more details, see the complete release notes in the Buildx GitHub repository.
0.6.2
2021-08-21For more details, see the complete release notes in the Buildx GitHub repository.
Fixes
- Fix connection error showing up in some SSH configurations. docker/buildx#741
0.6.1
2021-07-30Enhancements
- Set
ConfigFile
to parse compose files with Bake. docker/buildx#704
Fixes
- Duplicate progress env var. docker/buildx#693
- Should ignore nil client. docker/buildx#686
For more details, see the complete release notes in the Buildx GitHub repository.
0.6.0
2021-07-16New features
- Support for OpenTelemetry traces and forwarding Buildx client traces to BuildKit. docker/buildx#635
- Experimental GitHub Actions remote cache backend with
--cache-to type=gha
and--cache-from type=gha
. docker/buildx#535 - New
--metadata-file
flag has been added to build and Bake command that allows saving build result metadata in JSON format. docker/buildx#605 - This is the first release supporting Windows ARM64. docker/buildx#654
- This is the first release supporting Linux Risc-V. docker/buildx#652
- Bake now supports building from remote definition with local files or another remote source as context. docker/buildx#671
- Bake now allows variables to reference each other and using user functions in variables and vice-versa. docker/buildx#575, docker/buildx#539, docker/buildx#532
- Bake allows defining attributes in the global scope. docker/buildx#541
- Bake allows variables across multiple files. docker/buildx#538
- New quiet mode has been added to progress printer. docker/buildx#558
kubernetes
driver now supports defining resources/limits. docker/buildx#618- Buildx binaries can now be accessed through buildx-bin Docker image. docker/buildx#656
Enhancements
docker-container
driver now keeps BuildKit state in volume. Enabling updates with keeping state. docker/buildx#672- Compose parser is now based on new compose-go parser fixing support for some newer syntax. docker/buildx#669
- SSH socket is now automatically forwarded when building an ssh-based git URL. docker/buildx#581
- Bake HCL parser has been rewritten. docker/buildx#645
- Extend HCL support with more functions. docker/buildx#491 docker/buildx#503
- Allow secrets from environment variables. docker/buildx#488
- Builds with an unsupported multi-platform and load configuration now fail fast. docker/buildx#582
- Store Kubernetes config file to make buildx builder switchable. docker/buildx#497
- Kubernetes now lists all pods as nodes on inspection. docker/buildx#477
- Default Rootless image has been set to
moby/buildkit:buildx-stable-1-rootless
. docker/buildx#480
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-15Fixes
- Fix regression on setting
--platform
onbuildx create
outsidekubernetes
driver. docker/buildx#475
For more details, see the complete release notes in the Buildx GitHub repository.
0.5.0
2020-12-15New 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#385BUILDKIT_MULTI_PLATFORM
build arg allows to force building multi-platform return objects even if only one--platform
specified. docker/buildx#467
Enhancements
- Allow
--append
to be used withkubernetes
driver. docker/buildx#370 - Build errors show error location in source files and system stacktraces
with
--debug
. docker/buildx#389 - Bake formats HCL errors with source definition. docker/buildx#391
- Bake allows empty string values in arrays that will be discarded. docker/buildx#428
- You can now use the Kubernetes cluster config with the
kubernetes
driver. docker/buildx#368 docker/buildx#460 - Creates a temporary token for pulling images instead of sharing credentials when possible. docker/buildx#469
- Ensure credentials are passed when pulling BuildKit container image. docker/buildx#441 docker/buildx#433
- Disable user namespace remapping in
docker-container
driver. docker/buildx#462 - Allow
--builder
flag to switch to default instance. docker/buildx#425 - Avoid warn on empty
BUILDX_NO_DEFAULT_LOAD
config value. docker/buildx#390 - Replace error generated by
quiet
option by a warning. docker/buildx#403 - CI has been switched to GitHub Actions. docker/buildx#451, docker/buildx#463, docker/buildx#466, docker/buildx#468, docker/buildx#471
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-22New features
- Support
cacheonly
exporter. docker/buildx#337
Enhancements
- Update
go-cty
to pull in morestdlib
functions. docker/buildx#277 - Improve error checking on load. docker/buildx#281
Fixes
- Fix parsing json config with HCL. docker/buildx#280
- Ensure
--builder
is wired from root options. docker/buildx#321 - Remove warning for multi-platform iidfile. docker/buildx#351
For more details, see the complete release notes in the Buildx GitHub repository.
0.4.1
2020-05-01Fixes
- Fix regression on flag parsing. docker/buildx#268
- Fix using pull and no-cache keys in HCL targets. docker/buildx#268
For more details, see the complete release notes in the Buildx GitHub repository.
0.4.0
2020-04-30New features
- Add
kubernetes
driver. docker/buildx#167 - New global
--builder
flag to override builder instance for a single command. docker/buildx#246 - New
prune
anddu
commands for managing local builder cache. docker/buildx#249 - You can now set the new
pull
andno-cache
options for HCL targets. docker/buildx#165
Enhancements
- Upgrade Bake to HCL2 with support for variables and functions. docker/buildx#192
- Bake now supports
--load
and--push
. docker/buildx#164 - Bake now supports wildcard overrides for multiple targets. docker/buildx#164
- Container driver allows setting environment variables via
driver-opt
. docker/buildx#170
For more details, see the complete release notes in the Buildx GitHub repository.
0.3.1
2019-09-27Enhancements
- Handle copying unix sockets instead of erroring. docker/buildx#155 moby/buildkit#1144
Fixes
- Running Bake with multiple Compose files now merges targets correctly. docker/buildx#134
- Fix bug when building a Dockerfile from stdin (
build -f -
). docker/buildx#153
For more details, see the complete release notes in the Buildx GitHub repository.
0.3.0
2019-08-02New features
- Custom
buildkitd
daemon flags. docker/buildx#102 - Driver-specific options on
create
. docker/buildx#122
Enhancements
- Environment variables are used in Compose files. docker/buildx#117
- Bake now honors
--no-cache
and--pull
. docker/buildx#118 - Custom BuildKit config file. docker/buildx#121
- Entitlements support with
build --allow
. docker/buildx#104
Fixes
- Fix bug where
--build-arg foo
would not readfoo
from environment. docker/buildx#116
For more details, see the complete release notes in the Buildx GitHub repository.
0.2.2
2019-05-30Enhancements
- 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-25New features
- Add
BUILDKIT_PROGRESS
env var. docker/buildx#69 - Add
local
platform. docker/buildx#70
Enhancements
- Keep arm variant if one is defined in the config. docker/buildx#68
- Make dockerfile relative to context. docker/buildx#83
Fixes
- Fix parsing target from compose files. docker/buildx#53
For more details, see the complete release notes in the Buildx GitHub repository.
0.2.0
2019-04-25New features
- First release
For more details, see the complete release notes in the Buildx GitHub repository.