Skip to content

lifecycle v0.7.0

Compare
Choose a tag to compare
@buildpack-bot buildpack-bot released this 12 Mar 23:24
cdd207e

lifecycle v0.7.0

⚠️ Warning ⚠️

v0.7.0 is not spec compliant. It fails to find processes on the layer-modified PATH when direct=true. Please use v0.7.1 instead.

Welcome to v0.7.0, the seventh beta release of the Cloud Native Buildpack Lifecycle. This release introduces several new features as well as performance improvements and smaller lifecycle binaries.

Notice:

This release contains breaking changes which are detailed at the bottom of the release notes.

Implemented APIs

Platform API: 0.3
Buildpack API 0.2

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 tekton.

Features

  • New creator binary allows all build phases to be executed in a single container (#243, RFC)
  • buildpacks can use a store.toml file to persist specific metadata, even when the cache is cleared (#244, #256)
  • -process-type can be used to set the default process during export (#260, RFC)
  • -project-metadata flag allows users to add source metadata to image during export (#230)

Performance and Size Improvements

  • lifecycle phases (excluding launcher) ship as a single multicall binary, reducing artifact size (#232, RFC)
  • 4x smaller launcher binary (#247, #255)
  • faster computation of layer hashes (#248)
  • faster untar of cached layers during restore (#246)
  • layer hashes are only calculated once (#242)

Bug Fixes

  • layers generated by the buildpack are exported in lexical order (#250)
  • an info message rather than a warning is printed by analyze during a first build (#251)

Breaking Changes

  • Docker credential helper integration has been removed (#259, RFC)
  • The platform must provide environment variables to buildpacks using /platform/env, rather than setting them directly in the lifecycle's environment. This brings it in compliance with the specification.

Deprecations

  • -image flag on exporter is deprecated in favor of -run-image for clarity

Known Issues