Releases: heroku/libcnb.rs
Releases · heroku/libcnb.rs
v0.11.1
v0.11.0
Changed
- Bump Minimum Supported Rust Version (MSRV) to
1.64
. (#500) - Bump minimum external dependency versions. (#502)
Added
- Add new crate
libherokubuildpack
with common code that can be useful when implementing buildpacks with libcnb. Originally hosted in a separate, private, repository. Code fromlibherokubuildpack
might eventually find its way into libcnb.rs proper. At this point, consider it an incubator. (#495)
v0.10.0
Highlight of this release is the bump to Buildpack API 0.8 which brings support for SBOM to libcnb.rs. This is also the first release where all libcnb.rs crates are released at the same time and with the same version number. See the changelog below for other changes.
Changed
- libcnb.rs now targets Buildpack API 0.8. Buildpacks need to upgrade the
api
key to0.8
in theirbuildpack.toml
. (#489) - In accordance to the CNB specification
>=0.7
,BuildpackId
no longer permitssbom
as a buildpack id. (#489) - Replace builder style functions from
Launch
with a dedicatedLaunchBuilder
to be more consistent with other builders in the library. Additionally, all fields ofLaunch
can now be modified via the builder pattern. (#487) - Rename
paths
field inlaunch::Slice
topath_globs
and add docs to make it clearer that these strings are Go standard library globs. (#487) - Add explicit
DeleteLayerError
to provide more context when debugging layer handling problems. (#488)
Fixed
- Fix
BuildpackApi
to useu64
instead ofu32
for major and minor version parts. (#489) - Fix permission issues during layer handling when the layer contains read-only directories. (#488)
Added
- Add
BuildResultBuilder::build_sbom
,BuildResultBuilder::launch_sbom
andLayerResultBuilder::sbom
to enable buildpack authors to attach SBOM data for layers and launch. (#489) - Add
sbom::SbomFormat
, describing supported SBOM formats. (#489) - Add
Buildpack::sbom_formats
field. (#489) - Add support for setting a working directory for launch processes. (#489)
- Add
TestContext::download_sbom_files
to allow testing of SBOM logic. (#489)
Removed
- Remove support for legacy BOM. Remove
Launch::bom
,Build::bom
,bom::Bom
,bom::Entry
. (#489)
libcnb-test v0.6.0
- Overhaul the crate README/docs, to improve the learning/onboarding UX. (#478)
- Rename
TestRunner::run_test
toTestRunner::build
,TestConfig
toBuildConfig
andTestContext::run_test
toTestContext::rebuild
. (#470) - Add
TestContext::start_container
,TestContext::run_shell_command
andContainerConfig
. (#469) - Remove
TestContext::prepare_container
andPrepareContainerContext
. To start a container useTestContext::start_container
combined withContainerConfig
(or else the convenience functionTestContext::run_shell_command
) instead. (#469) - Fix missing logs when using
ContainerContext::logs_now
. (#471)
libcnb v0.9.0
- Use the crate's
README.md
as the root module's rustdocs, so that all of the crate's documentation can be seen in one place ondocs.rs
. (#460) - Increase minimum supported Rust version from 1.58 to 1.59. (#445)
- Update
libcnb-data
(which provides the types in thedata
module) from0.7.0
to0.8.0
- see the libcnb-data changelog. (#465) - Update
libcnb-proc-macros
from0.2.2
to0.3.0
- see the libcnb-proc-macros changelog. (#465)
libcnb-test v0.5.0
- Add an
assert_empty!
macro, for improved UX over usingassert!
withstr::is_empty
. (#451) - Add
TestConfig::cargo_profile
andCargoProfile
to support compilation of buildpacks in release mode. (#456) - Improve the error message shown when Pack CLI is not installed. (#455)
- Check that
TestConfig::app_dir
is a valid directory before applyingTestConfig::app_dir_preprocessor
or invoking Pack, so that a clearer error message can be displayed. (#452) PrepareContainerContext::start_with_shell_command
andContainerContext::shell_exec
now usebash
instead of/bin/sh
. (#464)- Use the crate's
README.md
as the root module's rustdocs, so that all of the crate's documentation can be seen in one place ondocs.rs
. (#460) - Add rustdocs with code examples for all public APIs. (#441)
- Fix rustdocs for
LogOutput
. (#440) - Increase minimum supported Rust version from 1.58 to 1.59. (#445)
- Update
libcnb-package
from0.1.2
to0.2.0
. Of note, buildpack binaries are now stripped when packaging to reduce buildpack size, which also speeds up integration tests. See the libcnb-package changelog. (#465)
libcnb-proc-macros v0.3.0
- Disable
fancy-regex
default features (such as unused unicode support) to reduce buildpack binary size. (#439) - Fix
verify_regex
's error handling when the regex could not be compiled. (#438) - Add a crate
README.md
and use it as the root module's rustdocs, so that all of the crate's documentation can be seen in one place ondocs.rs
. (#458 and #460) - Increase minimum supported Rust version from 1.58 to 1.59. (#445)
libcnb-package v0.2.0
- Strip buildpack binaries when packaging, to reduce buildpack size. This not only reduces the size of production builder images, but also speeds up workflows that involve non-release builds (such as integration tests). (#445)
- The type of the
cargo_env
argument tobuild::build_buildpack_binaries
andbuild::build_binary
has changed. (#445) - Use the crate's
README.md
as the root module's rustdocs, so that all of the crate's documentation can be seen in one place ondocs.rs
. (#460) - Increase minimum supported Rust version from 1.58 to 1.59. (#445)
- Update
libcnb-data
from0.7.0
to0.8.0
- see the libcnb-data changelog. (#465)
libcnb-data v0.8.0
- Disable
fancy-regex
default features (such as unused unicode support) to reduce buildpack binary size. (#439) - Add a crate
README.md
and use it as the root module's rustdocs, so that all of the crate's documentation can be seen in one place ondocs.rs
. (#458 and #460) - Increase minimum supported Rust version from 1.58 to 1.59. (#445)
- Update
libcnb-proc-macros
from0.2.2
to0.3.0
- see the libcnb-proc-macros changelog. (#465)
libcnb-cargo v0.5.0
- Fix the packaged buildpack size reported by
cargo libcnb package
. (#442) - Reduce number of dependencies to improve installation time. (#442 and #443)
- Use the crate's
README.md
as the root module's rustdocs, so that all of the crate's documentation can be seen in one place ondocs.rs
. (#460) - Increase minimum supported Rust version from 1.58 to 1.59. (#445)
- Update
libcnb-package
from0.1.2
to0.2.0
. Of note, buildpack binaries are now stripped when packaging to reduce buildpack size. See the libcnb-package changelog. (#465)