github moby/buildkit v0.12.0

latest releases: v0.17.1, dockerfile/1.11.1-labs, dockerfile/1.11.1...
16 months ago

buildkit 0.12.0

Welcome to the 0.12.0 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
  • Gabriel Adrian Samfira
  • Kohei Tokunaga
  • Alex Couture-Beil
  • Cory Bennett
  • Brian Goff
  • Nick Santos
  • Wei Zhang
  • Alex Suraci
  • Alexis Murzeau
  • Changwei Ge
  • David Karlsson
  • Paweł Gronowski
  • Aaron Lehmann
  • 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
  • Kang, Matthew
  • Matias Insaurralde
  • Matt Kang
  • Nick Miyake
  • Pranav Pandit
  • Sertac Ozercan
  • Vladislav Ivanov
  • Yan Song
  • Yurii Rashkovskii
  • @ggjulio
  • @chengjoey
  • @lomot

Notable Changes

  • Default Dockerfile frontend has been updated to 1.6.0
  • 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 with CONFIG_PSI enabled. #3860 #3999
  • 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 improved #3783 #3782 #3907 #3906 #3545 #3544 #3516 #3908
  • Stargz support is out of experimental #3637
  • Creating layer blobs now uses deterministic timestamps for whiteout files when Overlay snapshotter is supported for more reproducible builds #3981
  • Source policy support now also applies to image config metadata requests. These requests can return a new source reference defined by the policy that the frontend can use in follow-up LLB requests. #3956 #4014
  • 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
  • When exporting an image to Containerd image store, unpack logic now works for multi-platform images by unpacking only the native platform by default #3982 #3983
  • Cgroup namespace isolation is enabled for containers on supported systems #4003
  • 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
  • Downloading image layers in the exporter can now work in parallel for different platforms #3984
  • Zstd compressed layers are now supported also with Docker-style mediatypes #3968
  • Secret environment variables can now be set using the interactive container API #3957
  • TOML buildkitd config now 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 commands debug histories and prune-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
  • 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
  • Fixes for copying Unicode filenames with local context #3946 #4009
  • 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 possible data races #4004 #3994 #4010
  • 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 filtering out deleted History API records #3827 #3733
  • Fix possible build cache reference leak #3851 #3815
  • 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

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.6 -> 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.14 -> 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.0 -> 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 -> 98d3da79ef9c
  • 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 02efb9a75ee1 -> v1.1.0-rc3
  • github.com/opencontainers/runc v1.1.3 -> 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/pelletier/go-toml v1.9.4 -> v1.9.5
  • 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

Don't miss a new buildkit release

NewReleases is sending notifications on new releases.