Skip to content

v0.11.0-rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 24 Nov 02:59
· 2871 commits to master since this release
e8dac6c

Welcome to the 0.11.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.

Notable Changes

  • Builtin Dockerfile frontend has been updated to v1.5.0-rc1 https://github.com/moby/buildkit/releases/tag/dockerfile%2F1.5.0-rc1

  • BuildKit and compatible frontends can now produce SBOM (Software Bill of Materials) attestations for the build results to show the dependencies of the build. These attestations can be added to images and locally exported files. Using Dockerfiles, SBOM information can be configured to be produced also based on files in intermediate build stages or build context, or run processes that manually define the SBOM dependencies. When exporting an image, layer mapping is also produced that allows tracing a SBOM package to a specific build step. #3258 #3290 #3249 #2983 docs

  • BuildKit can now produce a Provenance attestation for the build result in SLSA format. Provenance attestations describe how a build was produced, and what sources/parameters were used. In addition to fields part of the SLSA specification, Buildkit's provenance also exports BuildKit-specific metadata like LLB steps with their source- and layer mapping. Provenance attestation will capture all the build sources visible to BuildKit, for example, not only the Git repository where the project's source is coming from but also the digests of all the container images used during the build. #3240

  • BuildKit now supports reproducible builds by setting SOURCE_DATE_EPOCH build argument or source-date-epoch exporter attribute. This deterministic date will be used in image metadata instead of the current time. #2918 #3262 #3152

  • OCI annotations can now be set to build results exported as images or OCI layouts. Annotations can be set on both image manifests and indexes, as well as descriptors to them. #3283 #3061 #2975 #2879 docs

  • New Build History API allows listening to events about builds starting and completing, and streaming progress of active builds. New commands buildctl debug monitor and buildctl debug logs have been added to use this API. This feature is expected to receive updates in the upcoming RC. #3294

  • Build results exported as images or local now support attestations. In addition to builtin SBOM and Provenance attestations, frontends can produce custom attestations in in-toto format #3197 #3070 #3129 #3073 #3063 #2935 docs

  • New Source type oci-layout:// allows builds to import images from OCI directory structure on the client side. This allows using local versions of the image. #3112 #3300 #3122 #3034 #2971 #2827

  • New remote cache backend: Azure Blob Storage #3010

  • New remote cache backend: S3 #2824 #3065

  • BuildKit now supports Nydus compression type #2581

  • OCI exporter now supports attribute tar=false to export OCI layout into a directory instead of downloading a tarball. #3162

  • Setting multiple cache exporters for a single build is now supported #3024 #3271

  • Remote cache import/export to client-side local files now supports tag parameter for scoping cache #3111

  • CNI network namespaces are now provisioned from a pool for increased performance #3107

  • New Info service has been added to control API for asking BuildKit daemon's version #2725

  • Gateway API now has a new Evaluate method to control the lazy solve behavior #3137

  • Allow mounting secrets with empty contents #3081

  • LLB Image source now allows pulling partial layer chains from image #2795

  • Allow hostname to be set by network provider (K8S_POD_NAME) #3044

  • Improve handling and logging of API health checks #2998

  • RegistryToken auth from Docker config is now allowed as authentication input #2868

  • Image exporter with containerd worker now allows skipping adding image to containerd image store with store=false. If not set then images stored images are now guaranteed to be unlazied and unpacked. #2800

  • buildctl now loads Github runtime environment when using GHA remote cache #2707

  • Support for conflist when configuring CNI networking #3029

  • Platform info has been added to the build result descriptor metadata #2993

  • Allow sourcemaps to link single LLB vertex to multiple source locations #2859

  • Support for SSH connection helper #2843

  • Empty stub paths created by mount points when build container runs are now cleaned up and do not remain in the final image. #3307 #3149

  • Improve performance on BoltDB commits #3261

  • Indentation of some of the image manifests has been fixed to use double spaces #3259

  • Fix caching checksum error on copying files with custom UID/GID #3295

  • Fix cases where copy operation left behind nondeterministic timestamps for better support for reproducible builds #3298

  • Fix SSH forwarding incompatibility with OpenSSH >= 8.9 #3274

  • Stargz has been updated to v0.13.0 #3280

  • Fix unpacking images with no layers #3251

  • Fix possible nil pointer exception in LLB bridge #3233 #3169 #3066

  • Fix cleanup of containerd tasks if a start fails #3253

  • Fix handling Windows paths in content checksums #3227

  • Fix possible missing newline in progress output #3072

  • Previously deprecated old cache options have been removed #2982

  • Daemonless script has been updated to handle already stopped process #3005

  • Fix closing session if shared by multiple clients #2995

  • buildctl du command now supports JSON formatting #2992

  • Registry push errors now show additional context #2981

  • Improve default description of FileOp vertexes #2932

  • Make sure progress from exporting is properly keyed on parallel requests #2953

  • Terminal colors are now configurable #2954

  • Build errors now always print stacktraces to daemon logs in debug mode #2903

Contributors

  • Tõnis Tiigi
  • Justin Chadwell
  • CrazyMax
  • Akihiro Suda
  • Erik Sipsma
  • Sebastiaan van Stijn
  • Yan Song
  • Kohei Tokunaga
  • Alex Suraci
  • Jonny Stoten
  • Aaron Lehmann
  • Avi Deitcher
  • Bertrand Paquet
  • Brian Goff
  • Corey Larson
  • Cory Bennett
  • Cory Snider
  • David Gageot
  • Eng Zer Jun
  • Fiona Klute
  • Gabriel Adrian Samfira
  • Petr Fedchenkov
  • Pierre Fenoll
  • Pranav Pandit
  • Sascha Schwarze
  • Sean P. Kane
  • Steve Lohr
  • Tianon Gravi
  • Alex Couture-Beil
  • Ce Gao
  • Daniel Duvall
  • Fred Cox
  • Frank Yang
  • Guilhem C
  • Jacob Gillespie
  • Jitender Kumar
  • Julian Goede
  • Luca Visentin
  • Manu Gupta
  • Marcus Comstedt
  • Morlay
  • Nick Santos
  • Omer Duchovne
  • Tom C
  • a-palchikov

Dependency Changes

  • github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.0 new
  • github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 new
  • github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 new
  • github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1 new
  • github.com/AzureAD/microsoft-authentication-library-for-go v0.6.0 new
  • github.com/Microsoft/go-winio v0.5.1 -> v0.5.2
  • github.com/Microsoft/hcsshim v0.9.2 -> v0.9.5
  • github.com/aws/aws-sdk-go-v2 v1.16.3 new
  • github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.1 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/feature/s3/manager v1.11.10 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/internal/v4a v1.0.1 new
  • github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.1 new
  • github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.5 new
  • github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.4 new
  • github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.4 new
  • github.com/aws/aws-sdk-go-v2/service/s3 v1.26.9 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/containerd/containerd 5ff8fce1fcc6 -> v1.6.10
  • github.com/containerd/continuity d132b287edc8 -> v0.3.0
  • github.com/containerd/go-cni v1.1.4 -> v1.1.6
  • github.com/containerd/nydus-snapshotter v0.3.1 new
  • github.com/containerd/stargz-snapshotter v0.11.3 -> v0.13.0
  • github.com/containernetworking/cni v1.0.1 -> v1.1.1
  • github.com/docker/cli v20.10.13 -> v20.10.21
  • github.com/docker/docker 61404de7df1a -> 99aa9bb766b5
  • github.com/docker/go-units v0.4.0 -> v0.5.0
  • github.com/go-logr/logr v1.2.2 -> v1.2.3
  • github.com/google/go-cmp v0.5.7 -> v0.5.9
  • github.com/hashicorp/go-retryablehttp v0.7.0 -> v0.7.1
  • github.com/hashicorp/golang-lru v0.5.3 -> v0.5.4
  • github.com/in-toto/in-toto-golang fa494aaa0add new
  • github.com/jmespath/go-jmespath v0.4.0 new
  • github.com/klauspost/compress v1.15.1 -> v1.15.12
  • github.com/kylelemons/godebug v1.1.0 new
  • github.com/moby/patternmatcher v0.5.0 new
  • github.com/moby/sys/sequential v0.5.0 new
  • github.com/opencontainers/image-spec c5a74bcca799 -> 02efb9a75ee1
  • github.com/opencontainers/runc v1.1.1 -> v1.1.3
  • github.com/opencontainers/selinux v1.10.0 -> v1.10.2
  • github.com/package-url/packageurl-go 89078438f170 new
  • github.com/pkg/browser ce105d075bb4 new
  • github.com/prometheus/client_golang v1.12.1 -> 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/secure-systems-lab/go-securesystemslib v0.4.0 new
  • github.com/shibumi/go-pathspec v1.3.0 new
  • github.com/sirupsen/logrus v1.8.1 -> v1.9.0
  • github.com/spdx/tools-golang v0.3.0 new
  • github.com/stretchr/testify v1.7.0 -> v1.8.0
  • github.com/tonistiigi/fsutil 9ed612626da3 -> 0127568185cf
  • golang.org/x/crypto 5770296d904e -> v0.2.0
  • golang.org/x/net fe4d6282115f -> v0.2.0
  • golang.org/x/sync 036812b2e83c -> v0.1.0
  • golang.org/x/sys da31bd327af9 -> v0.2.0
  • golang.org/x/time 1f47c861a9ac -> 90d013bbcef8
  • google.golang.org/genproto 3a66f561d7aa -> c8bf987b8c21
  • google.golang.org/grpc v1.45.0 -> v1.50.1
  • gopkg.in/yaml.v3 v3.0.0 -> v3.0.1

Previous release can be found at v0.10.6