You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -129,7 +128,7 @@ A buildpack must contain a `buildpack.toml` file in its root directory.
129
128
### Example
130
129
131
130
```
132
-
api = "0.7"
131
+
api = "0.8"
133
132
134
133
[buildpack]
135
134
id = "example.com/python"
@@ -142,7 +141,7 @@ id = "io.buildpacks.stacks.bionic"
142
141
### Schema
143
142
144
143
The schema is as follows:
145
-
-**`api`**_(string, required, current: `0.7`)_\
144
+
-**`api`**_(string, required, current: `0.8`)_\
146
145
The Buildpack API version the buildpack adheres to. Used to ensure [compatibility](#api-compatibility) against
147
146
the [lifecycle][lifecycle].
148
147
@@ -268,7 +267,7 @@ The NPM buildpack could write the following to the build plan, if the buildpack
268
267
name = "node"
269
268
```
270
269
271
-
If, looking in the `package.json` file, the NPM buildpack see a specific version of `node` requested in the [engines](https://docs.npmjs.com/files/package.json#engines) field (e.g. `14.1`), it may write the following to the build plan:
270
+
If, looking in the `package.json` file, the NPM buildpack sees a specific version of `node` requested in the [engines](https://docs.npmjs.com/files/package.json#engines) field (e.g. `14.1`), it may write the following to the build plan:
See the [spec release](https://github.com/buildpacks/spec/releases/tag/buildpack%2Fv0.8) for buildpack API 0.8 for the full list of changes and further details.
10
+
11
+
### Process-Specific Working Directory
12
+
13
+
Buildpacks may specify the working directory for a process by setting the `working-dir` field on the process in [`launch.toml`](https://github.com/buildpacks/spec/blob/buildpack/0.8/buildpack.md#launchtoml-toml).
14
+
15
+
Prior to this, all processes ran from the app directory (`CNB_APP_DIR`).
16
+
Running a process from a different directory typically involved running a shell to execute a `cd` command and then start the process, like:
This guide is most relevant to platform operators.
8
+
9
+
See the [spec release](https://github.com/buildpacks/spec/releases/tag/platform%2Fv0.9) for platform API 0.9 for the full list of changes and further details.
10
+
11
+
## Platform Operator
12
+
13
+
### Legacy BOM information removed from `io.buildpacks.build.metadata` label
14
+
15
+
Legacy BOM information is removed from the `io.buildpacks.build.metadata` label and `<layers>/config/metadata.toml`. Buildpacks may still output BOM information in the legacy format, and it can now be found in `<layers>/sbom/launch/sbom.legacy.json` (for runtime dependencies) or `<layers>/sbom/build/sbom.legacy.json` (for build time dependencies). Note that `<layers>/sbom/build/sbom.legacy.json` is not exported in the application image, and must be copied from the build container before it exits.
16
+
17
+
### Configurable image create time
18
+
19
+
Platforms can set `SOURCE_DATE_EPOCH` in the exporter's environment to configure the create time of the exported application image. For example, platforms can set `SOURCE_DATE_EPOCH=$(date +%s)` to give images a meaningful create time instead of the current hard coded value of January 1, 1980. Note that changing the create time for an image will change its digest, affecting build reproducibility. For more information on build reproducibility, see our [blog post](https://medium.com/buildpacks/time-travel-with-pack-e0efd8bf05db).
20
+
21
+
### New analyzer flags
22
+
23
+
The analyze phase accepts a `-launch-cache` flag, improving performance when restoring the SBOM layer from the previous image in a Docker daemon. This should save several seconds of build time when using a Docker daemon and the untrusted builder workflow. Additionally, the analyzer accepts a `-skip-layers` flag to completely skip SBOM layer restoration instead of merely omitting SBOM files from buildpack layer directories when skipping the `restore` phase.
24
+
25
+
### Process-specific working directory
26
+
27
+
As of Buildpack API 0.8, buildpacks can specify the working directory for a process. If a working directory has been specified, this information will be included in the `io.buildpacks.build.metadata` label so that platforms can display this information to end users.
0 commit comments