Skip to content

Releases: buildpacks/lifecycle

lifecycle v0.10.0

17 Dec 22:33
d5254c3
Compare
Choose a tag to compare

lifecycle v0.10.0

Welcome to v0.10.0, a beta release of the Cloud Native Buildpack Lifecycle.

APIs

Platform API

Supported: 0.3, 0.4, 0.5

To configure the platform API, set CNB_PLATFORM_API=<api> in the lifecycle environment.

Buildpack API

Supported: 0.2, 0.3, 0.4, 0.5

Each buildpack may configure the buildpack API by setting the api key in buildpack.toml

Prerequisites

The lifecycle runs as a normal user in a series of unprivileged 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

  • When using buildpack API 0.5 or greater, the buildpack plan is read only. BOM entries must be written to launch.toml and unmet requires must be written to build.toml. A build BOM may be written to build.toml, this will be output in report.toml (#396, #461)
  • When using buildpack API 0.5 or greater, the default action for environment variables is override (#394, #483)
  • When using buildpack API 0.5 or greater, buildpacks may contribute an exec.d executable to the app image (#398, #473)
  • When using platform API 0.5 or greater, all default file paths that were previously relative to the working directory are relative to the layers directory (#393, #454)
  • builder adds the buildpack homepage to io.buildpacks.build.metadata label (#349, #418)
  • exporter falls back to slow behavior if writing to daemon fails with performance optimization (#487)
  • rebaser validates mixins (#425, #450)
  • rebaser updates io.buildpacks.stack.* labels from run image (#390, #407)

Bug Fixes

  • Lifecycle phases that use registry credentials resolve authentication before dropping privileges (#339, #409)
  • exporter will not try to delete a cache image if it does not exist (#453, #477)

lifecycle v0.9.3

05 Nov 22:10
6de73b9
Compare
Choose a tag to compare

lifecycle v0.9.3

Welcome to v0.9.3, a beta release of the Cloud Native Buildpack Lifecycle.

Prerequisites

The lifecycle runs as a normal user in a series of unprivileged 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.

Bug Fixes

  • Slice pattern with a trailing path separator will match directory (#455, #456)

lifecycle v0.9.2

21 Oct 16:20
ee48447
Compare
Choose a tag to compare

lifecycle v0.9.2

Welcome to v0.9.2, a beta release of the Cloud Native Buildpack Lifecycle.

Prerequisites

The lifecycle runs as a normal user in a series of unprivileged 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.

Bug Fixes

  • Removes all unsafe usage of filepath.Glob (#412, #432).
  • Support Artifact Registry (#416, #417)
  • Environment variables set by windows profile scripts are now set in the process environment (#359, #399)
  • Graceful handling of empty cached layers (#386, #397)
  • -no-color flag strips color from buildpack logs (#329, #434)
  • Fixes missing error checks (#433)
  • Bash processes properly handle more than nine args correctly(#445, #446)

lifecycle v0.9.1

14 Aug 20:44
a540cb7
Compare
Choose a tag to compare

lifecycle v0.9.1

Welcome to v0.9.1, a patch release of the Cloud Native Buildpack Lifecycle.

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.

Bug Fixes

  • Does not duplicate PATH variable in the app image (#385)
  • Warns instead of erroring when default process type is not in metadata.toml (#376)
  • Passes http(s) proxy environment variables through to buildpack processes (#380)

lifecycle v0.9.0

09 Aug 02:19
f65216e
Compare
Choose a tag to compare

lifecycle v0.9.0

Welcome to v0.9.0, a minor release of the Cloud Native Buildpack Lifecycle.

APIs

Platform API

Supported: 0.3, 0.4

To configure the platform API, set CNB_PLATFORM_API=<api> in the lifecycle environment.

Buildpack API

Supported: 0.2, 0.3, 0.4

Each buildpack may configure the buildpack API by setting the api key in buildpack.toml

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

  • The lifecycle now provides support for multiple platform and buildpack APIs (#344, #347 #365, RFC-0041, RFC-0049).
  • CNB_BUILDPACK_DIR provides the buildpack directory in the buildpack environment (#325, #320, RFC-0036).
  • Buildpacks may contribute process-type-specific profile scripts and environment variables (#322, #327, RFC-0042).
  • Lifecycle returns more informative error codes to the platform (#306, #346, #350, buildpacks/spec#115).
  • Buildpacks may add labels to the app image (#321, #353, RFC-0034).
  • exporter, rebaser, and creator write a report file containing the identifier of the new app image (#333, #352, #364, RFC-0040, buildpacks/spec#123).
  • When using Platform API 0.4, users may supply additional arguments to buildpack-provided process types (#356, #370, RFC-0045).
  • When using buildpack API 0.4, shell commands can be built from arguments, allowing for easy consumption of additional user-provided arguments (#354, #358, RFC-0045).
  • Introductory support for windows containers (#238, #237, #326).

Bug Fixes

  • Lifecycle properly sets GID of app image files during export (#362).
  • Rebase preserves image OS and architecture (#371).

Deprecations

  • When using buildpack API 0.3 or greater, requires.version and requires.or.version have been deprecated in the Build Plan (#330, #369, RFC-0043).

Removals

  • When using platform API 0.4, version has been removed from build plan entries in the Bill-of-Materials. If a buildpack returns an entry with version it will be relocated to metadata.version in the BOM (#357, #367, buildpacks/spec#117).
  • When using platform API 0.4, CNB_PROCESS_TYPE will not be respected at launch. Instead, set the ENTRYPOINT to a process type (RFC-0049).

Known Issues

  • On windows:
    • When using platform API 0.4 windows run images must have PATH set in Env in the image config.
    • Environment variables set by profile scripts will not be available to the command, although they will be available to any children of the command. (#359).
    • Launched processes may not receive signals in some scenarios (#360).
    • Configuring exact security IDs on the stack is not supported (#343).

lifecycle v0.8.1

14 Jul 21:56
9dd3dbc
Compare
Choose a tag to compare

lifecycle v0.8.1

Welcome to v0.8.1, a patch release of the Cloud Native Buildpack Lifecycle.

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.

Bug Fixes

  • Doesn't delete cache image when a build does not result in cache image changes (#308)
  • Does not evaluate symlinks when creating slices (#335)
  • Does not follow symlinks when globbing sliced files (#335)
  • Fixes edge cases where user and group ID of sliced directories were not being normalized (#335)

lifecycle v0.8.0

01 Jun 19:31
b78738f
Compare
Choose a tag to compare

lifecycle v0.8.0

Welcome to v0.8.0, a beta release of the Cloud Native Buildpack Lifecycle. This release introduces performance improvements, style improvements, and bug fixes.

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

  • Colored phase demarcations when running creator (#299, #300)

Performance Improvements

  • Faster layer compression (#298)
  • Removes unnecessary thread lock (#297)

Bug Fixes

  • Handles not found errors from Harbor (#303, #304)
  • Improved tag validation error messages (#295, #296)

lifecycle v0.7.5

30 May 17:56
Compare
Choose a tag to compare

lifecycle v0.7.5

Welcome to v0.7.5, a patch release of the Cloud Native Buildpack Lifecycle.

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.

Bug Fixes

  • Fixes anonymous auth when analyzer and exporter are run as root (#290, #292)

lifecycle v0.7.4

06 May 21:44
3dde35f
Compare
Choose a tag to compare

lifecycle v0.7.4

Welcome to v0.7.4, a patch release of the Cloud Native Buildpack Lifecycle.

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.

Bug Fixes

  • Adds -skip-restore flag to creator (#287, #288)
  • Lifecycle does not attempt to lookup user unnecessarily (#286, #289)

Known Issues

  • Anonymous auth fails when analyze/export are run as root (#290). This happens when pack runs the lifecycle with --publish and the user is not authenticated with both the target registry and the registry containing the run image. A run-image-mirror can be used to avoid the requirement to authenticate with the run image registry.

lifecycle v0.7.3

22 Apr 18:24
Compare
Choose a tag to compare

lifecycle v0.7.3

Welcome to v0.7.3, a patch release of the Cloud Native Buildpack Lifecycle.

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.

Bug Fixes

  • Omits keys from io.buildpacks.project.metadata label when the values are unset (#277)

Known Issues