v0.10.0
Welcome to the 0.10.0 release of buildx!
Please try out the release binaries and report any issues at
https://github.com/docker/buildx/issues.
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 Lambda). You can optionally disable the default provenance attestation functionality using
--provenance=false
.
Notable changes
-
Build command supports new flags
--attest
and shorthands--sbom
and--provenance
for adding attestations for your current build.--attest type=sbom
or--sbom=true
will generate SBOM (Software Bill of Materials) attestation for your build result in SPDX format.--attest type=provenance
or--provenance=true
will generate SLSA provenance attestation for your build result with information about how the build was performed. When creating OCI images a minimal provenance attestation is included with the image by default. This feature requires BuildKit v0.11.0+. Read more about advanced SBOM options from BuildKit docs. #1412 #1475 -
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
. #1462 #1297 #1341 #1468 #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+. #1456 -
Bake now supports resource interpolation where you can reuse the values from other target definitions. #1434
-
Buildx will now automatically forward
SOURCE_DATE_EPOCH
build-arg if one is defined in your environment. This feature is meant to be used with updated reproducible builds support in BuildKit v0.11.0+ #1482 -
Buildx will now remember the last activity for a builder for better organization of builder instances. #1439
-
Bake now supports null values for build arguments and label to use the defaults set in Dockerfile #1449
-
Imagetools inspect commands now supports showind SBOM and Provenance data #1444 #1498
-
Increase performance of
buildx ls
and inspect flows #1430 #1454 #1455 #1345 -
Adding extra hosts with Docker driver now supports Docker specific "host-gateway" special value #1446
-
OCI exporter now supports
tar=false
option for exporting OCI format directly in a directory #1420 -
Compose support has been updated to 1.6.0 #1387
-
--invoke
can now load default launch environment from the image metadata #1324 -
Fix container driver behavior in regards to UserNS #1368
-
Fix possible panic in Bake when using wrong variable value type #1442
-
Fix sending empty
--add-host
value to BuildKit by default #1457 -
Fix handling progress prefixes with progress groups #1305
-
Fix recursively resolving groups in Bake #1313
-
Fix possible wrong indentation on multi-node builder manifests #1396
-
Fix possible panic from missing OpenTelemetry configuration #1383
-
Fix
--progress=tty
behavior when TTY is not available #1371 -
Fix connection error conditions in
prune
anddu
commands #1307
Contributors
- CrazyMax
- Justin Chadwell
- Tõnis Tiigi
- David Karlsson
- Sebastiaan van Stijn
- Akihiro Suda
- David Gageot
- Felix de Souza
- Christian Dupuis
- Mark Hildreth
- Nick Sieger
- accetto
- zhyon404
Dependency Changes
- cloud.google.com/go/compute v1.12.1 new
- cloud.google.com/go/compute/metadata v0.2.1 new
- github.com/aws/aws-sdk-go-v2 v1.16.3 new
- github.com/aws/aws-sdk-go-v2/config v1.15.5 new
- github.com/aws/aws-sdk-go-v2/credentials v1.12.0 new
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.4 new
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.10 new
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.4 new
- github.com/aws/aws-sdk-go-v2/internal/ini v1.3.11 new
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.4 new
- github.com/aws/aws-sdk-go-v2/service/sso v1.11.4 new
- github.com/aws/aws-sdk-go-v2/service/sts v1.16.4 new
- github.com/aws/smithy-go v1.11.2 new
- github.com/compose-spec/compose-go v1.4.0 -> v1.6.0
- github.com/containerd/containerd v1.6.6 -> v1.6.14
- github.com/docker/cli 418ca3b4d46f -> v23.0.0-rc.1
- github.com/docker/cli-docs-tool v0.5.0 -> v0.5.1
- github.com/docker/docker a60b458179aa -> v23.0.0-rc.1
- github.com/docker/docker-credential-helpers v0.6.4 -> v0.7.0
- github.com/docker/go-units v0.4.0 -> v0.5.0
- github.com/go-logr/logr v1.2.2 -> v1.2.3
- github.com/gofrs/flock v0.7.3 -> v0.8.1
- github.com/google/go-cmp v0.5.8 -> v0.5.9
- github.com/inconshreveable/mousetrap v1.0.0 -> v1.0.1
- github.com/klauspost/compress v1.15.7 -> v1.15.12
- github.com/moby/buildkit 55ba9d14360a -> v0.11.0
- github.com/moby/patternmatcher v0.5.0 new
- github.com/moby/sys/mountinfo v0.6.2 new
- github.com/moby/sys/sequential v0.5.0 new
- github.com/moby/term 3f7ff695adc6 -> abb19827d345
- github.com/opencontainers/image-spec c5a74bcca799 -> 02efb9a75ee1
- github.com/pelletier/go-toml v1.9.4 -> v1.9.5
- github.com/prometheus/client_golang v1.12.2 -> v1.14.0
- github.com/prometheus/client_model v0.2.0 -> v0.3.0
- github.com/prometheus/common v0.32.1 -> v0.37.0
- github.com/prometheus/procfs v0.7.3 -> v0.8.0
- github.com/spf13/cobra v1.5.0 -> v1.6.1
- github.com/spf13/viper v1.14.0 new
- github.com/stretchr/testify v1.8.0 -> v1.8.1
- github.com/tonistiigi/fsutil 0dbf3a8a7d58 -> fb433841cbfa
- golang.org/x/crypto 3147a52a75dd -> v0.2.0
- golang.org/x/net cd36cc0744dd -> v0.4.0
- golang.org/x/oauth2 2bc19b11175f -> 6fdb5e3db783
- golang.org/x/sync 886fb9371eb4 -> v0.1.0
- golang.org/x/sys c0bba94af5f8 -> v0.3.0
- golang.org/x/term 03fcf44c2211 -> v0.3.0
- golang.org/x/time 90d013bbcef8 -> v0.1.0
- google.golang.org/genproto 1973136f34c6 -> 1bc688fe9f3e
- google.golang.org/grpc v1.47.0 -> v1.50.1
Previous release can be found at v0.9.1