Skip to content

Releases: buildpacks/spec

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

Platform API 0.8

18 Nov 20:10
5a8c298
Compare
Choose a tag to compare

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

Additions

Export phase includes launch-associated SBOM files output by buildpacks as a layer in the app image. Build-associated SBOM files are available to platforms in the <layers>/sbom/build directory (#268, RFC 0095).

Buildpack API 0.7

18 Nov 20:13
74f9166
Compare
Choose a tag to compare

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

Additions

Relaxes mixin contract - prefix-less mixins can satisfy build: and run: requirements, and vice versa (#210, RFC 0061).
Clarifies buildpack API must be u64 numbers (#265).

Breaking Changes

Build phase expects Software Bill of Materials (SBOM) to be output as files with the application/vnd.cyclonedx+json, application/spdx+json, or application/vnd.syft+json media type (#269, RFC 0095). The [bom] tables in launch.toml and build.toml are no longer supported.

Nonfunctional Changes

Updates layer examples (#235).
Typo fixes (#236, #237, #241).

Platform API 0.7

24 Sep 21:41
6ae550e
Compare
Choose a tag to compare

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

Additions

  • Analyze phase provides early validation of registry access for all relevant images, including the app image and run image and optional cache image and previous image (#197).
  • Relaxes mixin contract. If a mixin is declared on build image but not the run image or vice versa, this is now equivalent to the stack declaring a phase specific mixin using the build: or run: prefixes (#210, RFC 0061).

Breaking Changes

  • The analyze phase moves before detect phase and no longer accepts -cache-dir, -group, or -skip-layers flags (#197, RFC 0075).
  • The export phase no longer accepts a -run-image flag (#234).
  • Recommends stacks use different user IDs for build and runtime (#231, RFC 0085).

Nonfunctional Changes

Platform API 0.6

29 Mar 21:19
Compare
Choose a tag to compare

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

Additions

  • Adds build-time bill-of-materials to export report (#163)
  • Adds image manifest size to export report (#175, RFC 0067)

Breaking Changes

  • New lifecycle exit codes: all exit codes are now less than 255 (#196)
  • Set image WorkingDir to the app directory in the app image (#187, RFC 0072)
  • Default process changes:
    • If the platform does not set a default process, use the buildpack-provided default process (#204, RFC 0064)
    • For buildpacks using API < 0.6, assume web is the buildpack-provided default process (#204, RFC 0064)
    • When no default process is specified by either the platform or buildpacks, the app image will have no default process (#137)

Nonfunctional Changes

  • Typo fixes (#167, #198)
  • Clarify that cache image must be in a registry (#174)
  • Clarify that Entrypoint may be either launcher or a symlink to the launcher (#188)

Buildpack API 0.6

29 Mar 21:14
3b62d55
Compare
Choose a tag to compare

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

Additions

Breaking Changes

  • Buildpacks must explicitly opt-in to layer re-use by appending to <layers>/<layer>.toml (#132, #209, RFC 0052).
  • Adds types table to <layers>/<layer>.toml (#185, #209, RFC 0074).

Nonfunctional Changes

  • Explicitly bans the use of special layer names by buildpacks (#202)
  • Clarifies the role of the launcher in setting environment variables at runtime (#207)
  • Fixes links to exec.d interface (#168)

Platform API 0.5

21 Oct 23:17
3130786
Compare
Choose a tag to compare

Platform API 0.5

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

Additions

  • Adds stack image metadata labels (#89, RFC 0050).
  • Adds build-time bill-of-materials to report.toml (#134, #142, RFC 0053).
  • Adds buildpack homepages to io.buildpacks.build.metadata label (#126, #127).

Breaking Changes

  • Default paths for analyzed.toml, group.toml, plan.toml, project-metadata.toml, and report.toml are now relative to the layers directory rather than the working directory (#128).
  • Specifies that PATH must be set in the image config on stack images (#150, #147, RFC 0063).

Nonfunctional Changes

  • Clarifies stack concepts (#154).

Distribution API 0.2

21 Oct 23:16
078ae67
Compare
Choose a tag to compare

Distribution API 0.2

This release of the Cloud Native Buildpacks Specification defines Distribution API 0.2.

Additions

  • Allows for additional layers in windows buidpackages so that they may be pulled to a docker daemon (#148).

Buildpack API 0.5

21 Oct 23:17
7a3d286
Compare
Choose a tag to compare

Buildpack API 0.5

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

Additions

Breaking Changes

  • Character restrictions for process types (#152).
  • Buildpack-provided environment variables override previous values by default (#131, #144, RFC 0051).
  • Decouples Bill-of-Materials from the build plan (#133, #139, RFC 0053).

Nonfunctional Changes

  • Adds "Cached Layers" to "Layer Types" to improve clarity (#143).

Platform API 0.4

30 Jul 21:46
Compare
Choose a tag to compare

Platform API 0.4

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

Additions

  • Platform API for windows! (#62)
  • Include Buildpack APIs in group.toml and metadata.toml (#120)
  • Multicall launcher derives process type from $0 (#105, #118, RFC 0045)
  • Launcher can accept additional arguments to an existing process type (#105, #118, RFC 0045)
  • exporter and rebaser generate a report.toml file describing the generated app image (#95, #113, #123, RFC 0040)
  • More informative error codes (#113, #83)
  • creator allow configuration of the buildpacks directory with -buildpacks or CNB_BUILDPACKS_DIR (#112)

Removals

  • version has been removed from entries in the Bill-of-Materials in both metadata.toml and the io.buildpacks.build.metadata label (#107, #117, RFC 0043)
  • launcher no longer accepts CNB_PROCESS_TYPE (#105, #118, RFC 0045)