Skip to content

Releases: buildpacks/spec

Platform API 0.13

05 Mar 20:55
bd040ab
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Platform API 0.13.

Additions

  • It is possible to export the app image and cache image in parallel (#380, RFC 0125)
  • The lifecycle accepts insecure registries configuration (#385, RFC 0111)
  • Image extensions are no longer experimental (#386)
  • Image extensions can define the build context directory for build and run base image extension (#384, RFC 0127)

Buildpack API 0.11

05 Mar 18:10
0389b50
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Buildpack API 0.11.

Additions

  • Image extensions are no longer experimental (#387)
  • Image extensions can define the build context directory for build and run base image extension (#383, RFC 0127)

Breaking Changes

  • The lifecycle no longer attempts to maintain compatibility with unsupported Buildpack API 0.2 (#377, RFC 0110)

Platform API 0.12

03 Aug 17:59
7eb38d1
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Platform API 0.12.

Additions

  • Image extensions (experimental) can extend the runtime base image (#347, RFC 105)
  • OCI layout is a supported export format (#352, RFC 119).
  • When selecting a run image, the analyzer and rebaser verify read access (#357).

Breaking Changes

  • The concepts of stacks and mixins are removed in favor of existing constructs in the container image ecosystem such as operating system name, operating system version, and architecture (#335, RFC 096).

Nonfunctional Changes

  • Clarifies the behavior of user-provided and operator-provided environment variables (#367).

Buildpack API 0.10

03 Aug 17:58
7eb38d1
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Buildpack API 0.10.

Additions

  • Image extensions (experimental) can extend the runtime base image (#353, RFC 105).
  • Describe operator-provided vars in build-config directory (#349, RFC 109).

Breaking Changes

  • The concepts of stacks and mixins are removed in favor of existing constructs in the container image ecosystem such as operating system name, operating system version, and architecture (#336, RFC 096).

Platform API 0.11

09 Feb 22:23
5e97847
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Platform API 0.11.

Additions

  • SBOM files for the launcher are included in the exported image within <layers>/sbom/launch; SBOM files for the lifecycle are saved to <layers>/sbom/build; the exporter accepts a -launcher-sbom flag to allow platforms to provide SBOM files for a custom launcher (#332, RFC 0112)
  • Platform operators can specify build time environment variables using the /cnb/build-config/env directory (#345, RFC 0109)
  • The rebaser accepts a -previous-image flag to allow rebasing by digest reference (#346, RFC 0115)

Nonfunctional Changes

  • Adds Buildpack API version to the io.buildpacks.build.metadata label to accurately reflect existing lifecycle behavior (#328)
  • Clarifies that <kaniko-dir> is an input to the extender (#329)

Platform API 0.10

31 Oct 18:46
1f6a3ad
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Platform API 0.10.

Additions

  • The launcher, for newer buildpacks (Buildpack API 0.9 or greater), will override buildpack-provided default arguments with user-provided arguments; it will continue to append user-provided arguments for older buildpacks (#323, RFC 0093)
  • The concept of an image extension for base image modification and a new extend lifecycle phase are introduced as experimental components (#319 and #320, RFC 0105)
  • When the creator is passed -skip-restore it will still restore store.toml (#324)

Nonfunctional Changes

  • “OCI registry” is used instead of “Docker registry” (#310)

Buildpack API 0.9

31 Oct 18:46
1f6a3ad
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Buildpack API 0.9.

Breaking Changes

  • Buildpacks may no longer implicitly rely on a shell (buildpack-provided processes are always direct = true) (#305, RFC 0093)

Additions

  • The concept of an image extension for base image modification is introduced as an experimental component (#307 and #321, RFC 0105)

Nonfunctional Changes

  • Details of the launcher are moved to the platform spec (#305)
  • A terminology section is added (#300)
  • SVGs are cached and set to white background (so they are visible when using GitHub dark mode) (#315)

Platform API 0.9

06 Apr 18:15
edac0f7
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Platform API 0.9.

Breaking Changes

  • Legacy BOM information is removed from the io.buildpacks.build.metadata label; this information can instead be found in <layers>/sbom/launch/sbom.legacy.json (#288)

Additions

  • If SOURCE_DATE_EPOCH is set in the export environment, the lifecycle will set image create time to the provided value instead of the constant January 1, 1980 (#292, RFC 0103)
  • The analyze phase accepts a -launch-cache flag, improving performance when restoring the SBOM layer from the previous image in a Docker daemon; additionally, the analyzer accepts a -skip-layers flag to completely skip SBOM layer restoration (#276, #278)
  • Process-specific working directories are added to the io.buildpacks.build.metadata label (#216, #290)

Nonfunctional Changes

  • Clarifies the meaning of -skip-restore (#280)

Buildpack API 0.8

06 Apr 21:48
1153938
Compare
Choose a tag to compare

This release of the Cloud Native Buildpacks Specification defines Buildpack API 0.8.

Additions

  • Buildpacks can specify the working directory for processes in launch.toml (#212, #289, RFC 0081)
  • The platform directory and build plan path are provided as environment variables to buildpack bin/detect, in addition to the deprecated positional arguments (#294, #295, RFC 0100)
  • The platform directory, buildpack plan path, and buildpack layers directory are provided as environment variables to buildpack bin/build, in addition to the deprecated positional arguments (#294, #295, RFC 0100)

Nonfunctional Changes

  • A deprecation path for buildpacks on API 0.7 and above is specified so that newer buildpacks may maintain compatibility with older platforms (that consume the legacy unstructured BOM) by outputting both the old and new formats (#286)
  • Clarifies sbom is a reserved buildpack ID (#281)
  • Typo fixes #279

Project Descriptor 0.2

09 Mar 18:10
1c2ce7b
Compare
Choose a tag to compare

Project Descriptor 0.2

This release of the Cloud Native Buildpacks Specification defines Project Descriptor 0.2.

Additions

  • support builder image: io.buildpacks.builder
  • buildpack listings now support script
  • pre + post buildpacks

Breaking Changes

This changes the format of the file:

  • the top level table project -> _
  • every other table will be in reverse domain notation with the buildpacks table being io.buildpacks
  • buildpacks -> io.buildpacks.group