Releases: buildpacks/spec
Project Descriptor 0.2
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
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
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
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:
orrun:
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
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
Buildpack API 0.6
This release of the Cloud Native Buildpacks Specification defines Buildpack API 0.6.
Additions
- Buildpacks may contribute the default process type (#159, #205, RFC 0064).
- Adds exec.d support on Windows (#164, #203).
- Adds new descriptor keys to
buildpack.toml
(#181, #208, RFC 0070).
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
Platform API 0.5
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
, andreport.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
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
Buildpack API 0.5
This release of the Cloud Native Buildpacks Specification defines Buildpack API 0.5.
Additions
- Any stack buildpacks (#140, #155, RFC 0056).
- Exec.d - shell-free profile.d functionality (#141, #153, RFC 0057).
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
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
andmetadata.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
andrebaser
generate areport.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
orCNB_BUILDPACKS_DIR
(#112)