Skip to content

lifecycle v0.4.0

Compare
Choose a tag to compare
@buildpack-bot buildpack-bot released this 29 Aug 16:39
4f14ca2

lifecycle v0.4.0

This is the fourth beta release of the Cloud Native Buildpack Lifecycle. This implementation should be relatively stable and reliable, but breaking changes in the underlying specification may be implemented without notice.

NOTICE: This release contains breaking changes for buildpacks. See below.

Prerequisites

The lifecycle runs as a normal user in a series of unprivileged Linux containers. To export images and cache image layers, it requires access to a Docker daemon or Docker registry.

Install

Extract the .tgz file and copy the lifecycle binaries into a build stack base image. The build image can then be orchestrated by a platform implementation such as the pack CLI or knative.

Notice of Breaking Changes

This release contains breaking changes for buildpacks. While the latest version of the pack CLI remains compatible with this release, any buildpacks that ship with the release will need to be updated to match the following specification changes:
buildpacks/spec#55
buildpacks/spec#53
buildpacks/spec#52
buildpacks/spec#51

Additional context in these RFCs:
buildpacks/rfcs#20
buildpacks/rfcs#19
buildpacks/rfcs#15
buildpacks/rfcs#14
buildpacks/rfcs#12
buildpacks/rfcs#11

Features

General

  • Update lifecycle archive format (#172).
  • Update lifecycle paths to match spec (#169).
  • Add launcher metadata to images (#160).
  • Add correct buildpack metadata to images (#157).
  • For image-based caching, use registry instead of daemon (#158).
  • Add Bill-of-Materials to image metadata (#156).
  • Respect CND_PROCESS_TYPE (#150).
  • Add -version flag to lifecycle binaries (excluding launcher) (#151).

Specification-related changes

  • Add lifecycle.toml containing supported contract versions to lifecycle bundle (#167).
  • Refine interpretation of buildpack-provided env vars (#147).
  • Load user-provided env vars by default (can disable via clear-env in buildpack.toml) (#163).
  • Implement distribution specification (#154, #149).
  • Implement contractual build plan (#149).
  • Add support for bashless/scratch run images (#148).