Skip to content

Releases: heroku/libcnb.rs

libcnb v0.7.0

12 Apr 09:18
4e3168a
Compare
Choose a tag to compare
  • Allow compilation of libcnb.rs buildpacks on Windows. Please note that this does not imply Windows container support, it's meant to allow running unit tests without cross-compiling. (#368)
  • Expose runtime::libcnb_runtime_detect, runtime::libcnb_runtime_build and their related types for advanced use-cases. Buildpack authors should not use these. (#375).
  • Only create layer env, env.build and env.launch directories when environment variables are being set within them (#385).
  • Add WriteLayerError::MissingExecDFile error to ease debugging when an exec.d path is missing (#387).
  • Update project URLs for the GitHub repository move to the heroku org (#388).
  • Update libcnb-data (which provides the types in the data module) from 0.5.0 to 0.6.0 - see the libcnb-data changelog (#391).

libcnb-test v0.3.1

12 Apr 09:18
4e3168a
Compare
Choose a tag to compare
  • Update project URLs for the GitHub repository move to the heroku org (#388).

libcnb-proc-macros v0.2.1

12 Apr 09:17
4e3168a
Compare
Choose a tag to compare
  • Update project URLs for the GitHub repository move to the heroku org (#388).

libcnb-package v0.1.1

12 Apr 09:17
4e3168a
Compare
Choose a tag to compare
  • Update project URLs for the GitHub repository move to the heroku org (#388).

libcnb-data v0.6.0

12 Apr 09:17
4e3168a
Compare
Choose a tag to compare
  • Make BuildPlan's or field public. (#381)
  • Add way to construct Require with metadata field and integrate with BuildPlanBuilder. (#382)
  • Add way to deserialize Entry metadata into a custom type. (#382)
  • Update project URLs for the GitHub repository move to the heroku org (#388).

libcnb-cargo v0.4.0

12 Apr 09:18
4e3168a
Compare
Choose a tag to compare
  • Move the packaging library parts of libcnb-cargo to a new libcnb-package crate. Consumers of the library should substitute all libcnb-cargo references with libcnb-package for equivalent functionality. (#362)
  • Update project URLs for the GitHub repository move to the heroku org (#388).

libcnb-test v0.3.0

08 Mar 13:46
c51ba9f
Compare
Choose a tag to compare
  • Add IntegrationTest::env and IntegrationTest::envs, allowing users to set environment variables for the build process. (#346)
  • Replaced IntegrationTestContext::start_container with IntegrationTestContext::prepare_container, allowing users to configure the container before starting it. Ports can now be exposed via PrepareContainerContext::expose_port. (#346)
  • Added the ability to set environment variables for the container via PrepareContainerContext::env and PrepareContainerContext::envs. (#346)
  • Switch from libcnb-cargo to the new libcnb-package crate for buildpack packaging, which improves compile times due to it not including CLI-related dependencies (#362).
  • Use --pull-policy if-not-present when running pack build (#373).
  • Allow starting a container without using the default process type. Removed PrepareContainerContext::start, added PrepareContainerContext::start_with_default_process, PrepareContainerContext::start_with_default_process_args, PrepareContainerContext::start_with_process, PrepareContainerContext::start_with_process_args, PrepareContainerContext::start_with_shell_command (#366)
  • Add ContainerContext::logs_now and ContainerContext::logs_wait to access the logs of the container. Useful when used in conjunction with the new PrepareContainerContext::start_with_shell_command method to get the shell command output. (#366)
  • Replaced container_context::ContainerExecResult with log::LogOutput which is now also returned by ContainerContext::logs and ContainerContext::logs_follow. (#366)
  • Move support for connecting to the Docker daemon over TLS behind a new remote-docker feature flag, since remote Docker support is not fully implemented and pulls in many additional dependencies (#376).

libcnb-package v0.1.0

08 Mar 13:47
c51ba9f
Compare
Choose a tag to compare
  • Initial release, containing the packaging functionality extracted from libcnb-cargo (#362).

libcnb v0.6.0

28 Feb 11:49
85160a0
Compare
Choose a tag to compare
  • Add #[must_use] to DetectResult, DetectResultBuilder, PassDetectResultBuilder, FailDetectResultBuilder, BuildResult and BuildResultBuilder (#288).
  • Add additional_buildpack_binary_path! macro to resolve paths to additional buildpack binaries. Only works when the buildpack is packaged with libcnb-cargo/libcnb-test. (#320)
  • Increase minimum supported Rust version from 1.56 to 1.58 (#318).
  • Add support for exec.d programs in layers. Use LayerResultBuilder::exec_d_program to add exec.d programs to a layer. (#326)
  • Add libcnb::exec_d::write_exec_d_program_output which writes libcnb::data::exec_d::ExecDProgramOutput in a spec conforming way. Use this to implement custom exec.d programs for your buildpack with libcnb.rs. (see exec.d example) (#326)
  • Update libcnb-data (which provides the types in the data module) from 0.4.0 to 0.5.0 - see the libcnb-data changelog. (#361)
  • Update libcnb-proc-macros from 0.1.1 to 0.2.0 - see the libcnb-proc-macros changelog. (#361)

libcnb-test v0.2.0

28 Feb 11:49
85160a0
Compare
Choose a tag to compare
  • libcnb-test now cross-compiles and packages all binary targets of the buildpack for an integration test. The main buildpack binary is either the only binary target or the target with the same name as the crate. This feature allows the usage of additional binaries for i.e. execd. (#314)
  • Increase minimum supported Rust version from 1.56 to 1.58 (#318).
  • Add assert_contains! macro for easier matching of pack output in integration tests. (#322)
  • Fail tests early with a clearer error message, if expected cross-compilation toolchains are not found (#347).
  • Update libcnb-cargo from 0.2.1 to 0.3.0 - see the libcnb-cargo changelog. (#361)