diff --git a/CHANGELOG.md b/CHANGELOG.md index 9eb5e8de..1190f72a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] + +## [0.21.0] - 2024-04-30 + ### Added - `libcnb`: @@ -289,7 +292,8 @@ version number. See the changelog below for other changes. - Remove support for legacy BOM. Remove `Launch::bom`, `Build::bom`, `bom::Bom`, `bom::Entry`. ([#489](https://github.com/heroku/libcnb.rs/pull/489)) -[unreleased]: https://github.com/heroku/libcnb.rs/compare/v0.20.0...HEAD +[unreleased]: https://github.com/heroku/libcnb.rs/compare/v0.21.0...HEAD +[0.21.0]: https://github.com/heroku/libcnb.rs/compare/v0.20.0...v0.21.0 [0.20.0]: https://github.com/heroku/libcnb.rs/compare/v0.19.0...v0.20.0 [0.19.0]: https://github.com/heroku/libcnb.rs/compare/v0.18.0...v0.19.0 [0.18.0]: https://github.com/heroku/libcnb.rs/compare/v0.17.0...v0.18.0 diff --git a/Cargo.toml b/Cargo.toml index f5db376d..7466cf33 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ members = [ ] [workspace.package] -version = "0.20.0" +version = "0.21.0" rust-version = "1.76" edition = "2021" license = "BSD-3-Clause" @@ -38,10 +38,10 @@ missing_errors_doc = "allow" module_name_repetitions = "allow" [workspace.dependencies] -libcnb = { version = "=0.20.0", path = "libcnb" } -libcnb-common = { version = "=0.20.0", path = "libcnb-common" } -libcnb-data = { version = "=0.20.0", path = "libcnb-data" } -libcnb-package = { version = "=0.20.0", path = "libcnb-package" } -libcnb-proc-macros = { version = "=0.20.0", path = "libcnb-proc-macros" } -libcnb-test = { version = "=0.20.0", path = "libcnb-test" } +libcnb = { version = "=0.21.0", path = "libcnb" } +libcnb-common = { version = "=0.21.0", path = "libcnb-common" } +libcnb-data = { version = "=0.21.0", path = "libcnb-data" } +libcnb-package = { version = "=0.21.0", path = "libcnb-package" } +libcnb-proc-macros = { version = "=0.21.0", path = "libcnb-proc-macros" } +libcnb-test = { version = "=0.21.0", path = "libcnb-test" } toml = { version = "0.8.12" } diff --git a/examples/execd/Cargo.toml b/examples/execd/Cargo.toml index bcac5001..ef891a69 100644 --- a/examples/execd/Cargo.toml +++ b/examples/execd/Cargo.toml @@ -7,7 +7,7 @@ rust-version.workspace = true workspace = true [dependencies] -fastrand = "2.0.2" +fastrand = "2.1.0" libcnb.workspace = true [dev-dependencies] diff --git a/libcnb-cargo/Cargo.toml b/libcnb-cargo/Cargo.toml index dc2df6d3..f80dd45e 100644 --- a/libcnb-cargo/Cargo.toml +++ b/libcnb-cargo/Cargo.toml @@ -29,7 +29,7 @@ clap = { version = "4.5.4", default-features = false, features = [ libcnb-data.workspace = true libcnb-package.workspace = true pathdiff = "0.2.1" -thiserror = "1.0.58" +thiserror = "1.0.59" [dev-dependencies] libcnb-common.workspace = true diff --git a/libcnb-common/Cargo.toml b/libcnb-common/Cargo.toml index bbfae22f..2b1d04c2 100644 --- a/libcnb-common/Cargo.toml +++ b/libcnb-common/Cargo.toml @@ -14,6 +14,6 @@ include = ["src/**/*", "LICENSE", "README.md"] workspace = true [dependencies] -serde = { version = "1.0.197", features = ["derive"] } -thiserror = "1.0.58" +serde = { version = "1.0.199", features = ["derive"] } +thiserror = "1.0.59" toml.workspace = true diff --git a/libcnb-data/Cargo.toml b/libcnb-data/Cargo.toml index 503026d9..5e654a37 100644 --- a/libcnb-data/Cargo.toml +++ b/libcnb-data/Cargo.toml @@ -17,8 +17,8 @@ workspace = true [dependencies] fancy-regex = { version = "0.13.0", default-features = false, features = ["std"] } libcnb-proc-macros.workspace = true -serde = { version = "1.0.197", features = ["derive"] } -thiserror = "1.0.58" +serde = { version = "1.0.199", features = ["derive"] } +thiserror = "1.0.59" toml.workspace = true uriparse = "0.6.4" diff --git a/libcnb-package/Cargo.toml b/libcnb-package/Cargo.toml index 250af6e5..e2efdc3d 100644 --- a/libcnb-package/Cargo.toml +++ b/libcnb-package/Cargo.toml @@ -21,6 +21,6 @@ indoc = "2.0.5" libcnb-common.workspace = true libcnb-data.workspace = true petgraph = { version = "0.6.4", default-features = false } -thiserror = "1.0.58" +thiserror = "1.0.59" uriparse = "0.6.4" which = "6.0.1" diff --git a/libcnb-proc-macros/Cargo.toml b/libcnb-proc-macros/Cargo.toml index 9c12c8c1..4aa0247c 100644 --- a/libcnb-proc-macros/Cargo.toml +++ b/libcnb-proc-macros/Cargo.toml @@ -20,4 +20,4 @@ workspace = true cargo_metadata = "0.18.1" fancy-regex = { version = "0.13.0", default-features = false, features = ["std"] } quote = "1.0.36" -syn = { version = "2.0.58", features = ["full"] } +syn = { version = "2.0.60", features = ["full"] } diff --git a/libcnb-test/Cargo.toml b/libcnb-test/Cargo.toml index 3b786003..8985d4d5 100644 --- a/libcnb-test/Cargo.toml +++ b/libcnb-test/Cargo.toml @@ -15,15 +15,15 @@ include = ["src/**/*", "LICENSE", "README.md"] workspace = true [dependencies] -fastrand = "2.0.2" +fastrand = "2.1.0" fs_extra = "1.3.0" libcnb-common.workspace = true libcnb-data.workspace = true libcnb-package.workspace = true tempfile = "3.10.1" -thiserror = "1.0.58" +thiserror = "1.0.59" [dev-dependencies] indoc = "2.0.5" libcnb.workspace = true -ureq = { version = "2.9.6", default-features = false } +ureq = { version = "2.9.7", default-features = false } diff --git a/libcnb/Cargo.toml b/libcnb/Cargo.toml index 9eb6ee4a..5aae7c78 100644 --- a/libcnb/Cargo.toml +++ b/libcnb/Cargo.toml @@ -26,10 +26,10 @@ libcnb-proc-macros.workspace = true opentelemetry = { version = "0.21.0", optional = true } opentelemetry_sdk = { version = "0.21.2", optional = true } opentelemetry-stdout = { version = "0.2.0", optional = true, features = ["trace"] } -serde = { version = "1.0.197", features = ["derive"] } -thiserror = "1.0.58" +serde = { version = "1.0.199", features = ["derive"] } +thiserror = "1.0.59" toml.workspace = true [dev-dependencies] -serde_json = "1.0.115" +serde_json = "1.0.116" tempfile = "3.10.1" diff --git a/libcnb/src/runtime.rs b/libcnb/src/runtime.rs index be9f5a9f..2d1e50d5 100644 --- a/libcnb/src/runtime.rs +++ b/libcnb/src/runtime.rs @@ -364,6 +364,9 @@ where let os = env::var("CNB_TARGET_OS").map_err(Error::CannotDetermineTargetOs)?; let arch = env::var("CNB_TARGET_ARCH").map_err(Error::CannotDetermineTargetArch)?; let arch_variant = env::var("CNB_TARGET_ARCH_VARIANT").ok(); + // Whilst the Buildpack API spec says these env vars are optional they will always be set in + // practice, so we treat them as mandatory to improve buildpack author UX. See: + // https://github.com/heroku/libcnb.rs/issues/820 let distro_name = env::var("CNB_TARGET_DISTRO_NAME").map_err(Error::CannotDetermineTargetDistroName)?; let distro_version = diff --git a/libherokubuildpack/Cargo.toml b/libherokubuildpack/Cargo.toml index b8343c75..3aeb832c 100644 --- a/libherokubuildpack/Cargo.toml +++ b/libherokubuildpack/Cargo.toml @@ -37,15 +37,15 @@ crossbeam-utils = { version = "0.8.19", optional = true } # Ideally we'd use the fastest `zlib-ng` backend, however it fails to cross-compile: # https://github.com/rust-lang/libz-sys/issues/93 # As such we have to use the next best alternate backend, which is `zlib`. -flate2 = { version = "1.0.28", default-features = false, features = ["zlib"], optional = true } +flate2 = { version = "1.0.30", default-features = false, features = ["zlib"], optional = true } libcnb = { workspace = true, optional = true } pathdiff = { version = "0.2.1", optional = true } sha2 = { version = "0.10.8", optional = true } tar = { version = "0.4.40", default-features = false, optional = true } termcolor = { version = "1.4.1", optional = true } -thiserror = { version = "1.0.58", optional = true } +thiserror = { version = "1.0.59", optional = true } toml = { workspace = true, optional = true } -ureq = { version = "2.9.6", default-features = false, features = ["tls"], optional = true } +ureq = { version = "2.9.7", default-features = false, features = ["tls"], optional = true } [dev-dependencies] indoc = "2.0.5"