buildkit 0.12.0-rc1
Welcome to the 0.12.0-rc1 release of buildkit!
This is a pre-release of buildkit
Please try out the release binaries and report any issues at
https://github.com/moby/buildkit/issues.
Contributors
- Tõnis Tiigi
- Justin Chadwell
- CrazyMax
- Sebastiaan van Stijn
- Akihiro Suda
- Erik Sipsma
- Kohei Tokunaga
- Gabriel Adrian Samfira
- Cory Bennett
- Nick Santos
- Wei Zhang
- Alex Couture-Beil
- Alex Suraci
- Alexis Murzeau
- Changwei Ge
- David Karlsson
- Paweł Gronowski
- Aaron Lehmann
- Brian Goff
- Jordan Goasdoue
- Seiya Miyata
- Ben Longo
- Jacob Gillespie
- Alan Fregtman
- Andy Alt
- Bertrand Paquet
- Chaerim Yeo
- Chris Goller
- Cory Snider
- Dan Duvall
- Gabriel
- Gahl Saraf
- George
- Hugo Santos
- Ilya Dmitrichenko
- Matthew Kang
- Matias Insaurralde
- Matt Kang
- Nick Miyake
- Pranav Pandit
- Sertac Ozercan
- Vladislav Ivanov
- Yan Song
- Yurii Rashkovskii
- @ggjulio
- @chengjoey
- @lomot
Notable changes
-
Remote cache export/import to the registry now supports OCI image manifest compatible format when setting
image-manifest=true
#3724 -
Local and Tar exporters now support
platform-split=false
option to merge all artifacts for multiple platforms to the same directory. #3161 -
Provenance attestation can now capture resource usage information for the system and individual build steps. This information can be written to exported attestation by setting
capture-usage=true
attestation option and is set automatically for History API records. This feature depends on CgroupV2, and some fields require kernel configured withCONFIG_PSI
enabled. #3860 -
SOURCE_DATE_EPOCH
value for reproducible builds is now set as the creation timestamp when exporting image to containerd image store #3263 -
buildctl
has new--wait
flag to block RPCs until the connection becomes available #3586 -
WCOW support for certain actions has imporved #3783 #3782 #3907 #3906 #3545 #3544 #3516
-
Stargz support is out of experimental #3637
-
Sourcemaps in provenance attestations and errors now allow setting the source language name #3620
-
File operations are now always platform-independent for better direct cache reuse #3858
-
New DockerUI package is provided by frontend authors who want to target
docker buildx
flags without the need to copy code from Dockerfile frontend #3606 -
Secret environment variables can now be set using the interactive container API #3957
-
TOML buildkitd config not supports multiple units for storage limits #3773
-
gRPC API now enables reflection #3790
-
HTTP sources now have better caching for servers that handle
Accept-Encoding
differently for different HTTP methods #3745 #3788 -
New
buildctl
commandsdebug histories
andprune-histories
#3498 -
Loading SBOM generator image can now be configured with resolve mode parameter #3446
-
Gateway frontend source image can now be set with defining named context #3633
-
Performance improvements to scanning local files for context upload #3977
-
Interactive container API now supports setting container Hostname #3680
-
History API now uses a separate Containerd namespace for its objects, fixing some issues when the same blobs are used by image store #3833
-
Improve HTTP transport configuration #3652
-
Make files created by Git source more deterministic #3598
-
Git source now handles URLs that define subdir and empty reference #3596
-
Remote cache export now supports
registry.insecure
option like the Image exporter #3501 -
Azure Blob storage cache export supports setting the account name as parameter #3476
-
New client APIs for configuring TLS authentication to use system certificates #3760
-
Fix the issue where some builds could fail with "missing provenance" error #3945
-
Fix lazy loaded layers reuse for cache when running parallel builds #3109
-
Fix issue with missing GC label for layers when exporting image to containerd image store #3161
-
Fix possible progressbar panic on resizing terminal window #3967
-
Fix possible "inconsistent graph state" error when running parallel cached, and no-cache builds #3953
-
Fix possible zero build step index numbers on progressbar #3942 #3838
-
Fix possible "container does not exist" error #3940
-
Fix possible "concurrent map read and write" error #3938
-
Fix possible issue where the status stream could be missing for History record #3937
-
Fix OCI layout URIs in provenance attestation #3918
-
Fix regression bug in v0.11.x OpenTelemetry trace delegation from the client #3909
-
Fix possible deadlock on network error #3857
-
Fix possible FD leak in SSH forwarding #3848
-
Fix possible concurrent map access in Client library #3813
-
Fixes for Runc container SIGKILL/exit-code handling #3754 #3765 #3658 #3722
-
Fix creating
oci-layout
file when exporting uncompressed OCI layout #3729 -
Variable substitution now supports additional POSIX compatible variants without
:
#3611 -
Exported Windows images now set default OSVersion/OSFeatures values from base image #3619
Dependency Changes
- github.com/AdaLogics/go-fuzz-headers 43070de90fa1 new
- github.com/AdamKorcz/go-118-fuzz-build 5330a85ea652 new
- github.com/Masterminds/semver/v3 v3.1.0 new
- github.com/Microsoft/go-winio v0.5.2 -> v0.6.1
- github.com/Microsoft/hcsshim v0.9.8 -> v0.10.0-rc.8
- github.com/anchore/go-struct-converter c68fdcfa2092 new
- github.com/aws/aws-sdk-go-v2 v1.16.3 -> v1.17.6
- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.5 new
- github.com/aws/smithy-go v1.11.2 -> v1.13.5
- github.com/containerd/cgroups v1.0.4 -> v1.1.0
- github.com/containerd/containerd v1.6.20 -> v1.7.2
- github.com/containerd/continuity v0.3.0 -> v0.4.1
- github.com/containerd/fifo v1.0.0 -> v1.1.0
- github.com/containerd/go-cni v1.1.6 -> v1.1.9
- github.com/containerd/go-runc v1.0.0 -> v1.1.0
- github.com/containerd/nydus-snapshotter v0.3.1 -> v0.8.2
- github.com/containerd/stargz-snapshotter v0.13.0 -> v0.14.3
- github.com/containerd/ttrpc v1.1.1 -> v1.2.2
- github.com/containerd/typeurl/v2 v2.1.1 new
- github.com/containernetworking/cni v1.1.1 -> v1.1.2
- github.com/cyphar/filepath-securejoin v0.2.3 new
- github.com/docker/cli v23.0.0-rc.1 -> v24.0.2
- github.com/docker/distribution v2.8.1 -> v2.8.2
- github.com/docker/docker v23.0.0-rc.1 -> v24.0.2
- github.com/felixge/httpsnoop v1.0.2 -> v1.0.3
- github.com/golang/protobuf v1.5.2 -> v1.5.3
- github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 new
- github.com/hanwen/go-fuse/v2 f57e95bda82d -> v2.2.0
- github.com/hashicorp/go-cleanhttp v0.5.1 -> v0.5.2
- github.com/hashicorp/go-retryablehttp v0.7.1 -> v0.7.2
- github.com/klauspost/compress v1.15.12 -> v1.16.3
- github.com/opencontainers/image-spec 3a7f492d3f1b -> v1.1.0-rc3
- github.com/opencontainers/runc v1.1.5 -> v1.1.7
- github.com/opencontainers/runtime-spec 1c3f411f0417 -> v1.1.0-rc.2
- github.com/opencontainers/selinux v1.10.2 -> v1.11.0
- github.com/prometheus/common v0.37.0 -> v0.42.0
- github.com/prometheus/procfs v0.8.0 -> v0.9.0
- github.com/spdx/tools-golang d6f58551be3f -> v0.5.1
- github.com/stretchr/testify v1.8.0 -> v1.8.3
- github.com/tonistiigi/fsutil fb433841cbfa -> 36ef4d8c0dbb
- github.com/tonistiigi/vt100 8066bb97264f -> f9a4f7ef6531
- github.com/urfave/cli v1.22.4 -> v1.22.12
- go.etcd.io/bbolt v1.3.6 -> v1.3.7
- go.opencensus.io v0.23.0 -> v0.24.0
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0 -> v0.40.0
- go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.29.0 -> v0.40.0
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0 -> v0.40.0
- go.opentelemetry.io/otel v1.4.1 -> v1.14.0
- go.opentelemetry.io/otel/exporters/jaeger v1.4.1 -> v1.14.0
- go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.4.1 -> v1.14.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.4.1 -> v1.14.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1 -> v1.14.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1 -> v1.14.0
- go.opentelemetry.io/otel/metric v0.27.0 -> v0.37.0
- go.opentelemetry.io/otel/sdk v1.4.1 -> v1.14.0
- go.opentelemetry.io/otel/trace v1.4.1 -> v1.14.0
- go.opentelemetry.io/proto/otlp v0.12.0 -> v0.19.0
- golang.org/x/mod v0.9.0 new
- golang.org/x/tools v0.7.0 new
- google.golang.org/genproto 7780775163c4 -> 7f2fa6fef1f4
- google.golang.org/grpc v1.50.1 -> v1.53.0
- kernel.org/pub/linux/libs/security/libcap/cap v1.2.67 new
- kernel.org/pub/linux/libs/security/libcap/psx v1.2.67 new
Previous release can be found at v0.11.6