Skip to content

Releases: heroku/libcnb.rs

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)

libcnb-proc-macros v0.2.0

28 Feb 11:46
85160a0
Compare
Choose a tag to compare
  • Add a verify_bin_target_exists! macro for verifying existence of binary targets in the current crate. (#320)
  • Increase minimum supported Rust version from 1.56 to 1.58 (#318).

libcnb-data v0.5.0

28 Feb 11:47
85160a0
Compare
Choose a tag to compare
  • Add #[must_use] to BuildPlan and BuildPlanBuilder (#288).
  • Add exec_d module with types representing the output of an exec.d program (#324).
  • Increase minimum supported Rust version from 1.56 to 1.58 (#318).
  • Adjust newtype generated compile-time validation macros so that they don't also perform redundant validation at runtime. In cases where only compile-time validation is being performed (for example exec.d scripts), this results in a significant reduction in binary size. (#331)
  • Update libcnb-proc-macros from 0.1.1 to 0.2.0 - see the libcnb-proc-macros changelog. (#361)

libcnb-cargo v0.3.0

28 Feb 11:48
85160a0
Compare
Choose a tag to compare