Skip to content

v0.12.0

Compare
Choose a tag to compare
@Malax Malax released this 28 Apr 11:46
· 172 commits to main since this release
bc86099

Highlight of this release is the bump to Buildpack API 0.9. This release contains breaking changes, please refer to the items below for migration advice.

Changed

  • libcnb.rs now targets Buildpack API 0.9. Buildpacks need to upgrade the api key to 0.9 in their buildpack.toml. (#567)
    • Process no longer supports the direct flag. All processes are now direct. Processes that need to use bash can use bash explicitly in the command. (#567)
    • Process::command has been changed to a sequence of values where the first one is the executable and any additional values are arguments to the executable. The already existing args field behaves slightly different now as its contents can now be overridden by the user. See the upstream CNB specification for details. (#567)
  • Env::get now returns Option<&OsString> instead of Option<OsString>. This is more in line with expectations users have when dealing with a collection type. This is a breaking change, compile errors can be fixed by adding a Option::cloned call after Env::get to get the old behaviour. In some cases, cloning might not be necessary, slightly improving the code that uses Env::get. (#565)

Added

  • Env::get_string_lossy as a convenience method to work with environment variables directly. Getting a value out of an Env and treating its contents as unicode is a common case. Using this new method can simplify buildpack code. (#565)
  • Clone implementation for libcnb::layer_env::Scope. (#566)