You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+45-18Lines changed: 45 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -4,26 +4,41 @@ This is the new, unified, changelog that contains changes from across all libcnb
4
4
separate changelogs for each crate were used. If you need to refer to these old changelogs, find them named
5
5
`HISTORICAL_CHANGELOG.md` in their respective crate directories.
6
6
7
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
8
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
+
7
10
## [Unreleased]
8
11
12
+
### Changed
13
+
14
+
-`libcnb-package`:
15
+
- Added `find_cargo_workspace` which provides a convenient starting point for locating buildpacks for packaging and testing purposes. ([#629](https://github.com/heroku/libcnb.rs/pull/629))
16
+
17
+
18
+
## [0.14.0] - 2023-08-18
19
+
9
20
### Added
10
21
11
-
-`libcnb-package`: Add cross-compilation assistance for Linux `aarch64-unknown-linux-musl`. ([#577](https://github.com/heroku/libcnb.rs/pull/577))
22
+
-`libcnb-package`: Added cross-compilation assistance for Linux `aarch64-unknown-linux-musl`. ([#577](https://github.com/heroku/libcnb.rs/pull/577))
23
+
-`libcnb-cargo`: Added `--package-dir` command line option to control where packaged buildpacks are written. ([#583](https://github.com/heroku/libcnb.rs/pull/583))
24
+
-`libcnb-test`:
25
+
-`LogOutput` now implements `std::fmt::Display`. ([#635](https://github.com/heroku/libcnb.rs/pull/635))
26
+
-`ContainerConfig` now implements `Clone`. ([#636](https://github.com/heroku/libcnb.rs/pull/636))
12
27
13
28
### Changed
14
29
30
+
-`libcnb-cargo`: Moved the default location for packaged buildpacks from Cargo's `target/` directory to `packaged/` in the Cargo workspace root. This simplifies the path and stops modification of the `target/` directory which previously might have caching implications when other tools didn't expect non-Cargo output in that directory. Users that implicitly rely on the output directory need to adapt. The output of `cargo libcnb package` will refer to the new locations. ([#583](https://github.com/heroku/libcnb.rs/pull/583))
31
+
-`libcnb-package`:
32
+
- buildpack target directory now contains the target triple. Users that implicitly rely on the output directory need to adapt. The output of `cargo libcnb package` will refer to the new locations. ([#580](https://github.com/heroku/libcnb.rs/pull/580))
33
+
-`get_buildpack_target_dir` was renamed to `get_buildpack_package_dir` ([#583](https://github.com/heroku/libcnb.rs/pull/583))
15
34
-`libcnb-test`:
16
-
-`ContainerContext::address_for_port` now returns `SocketAddr` directly instead of `Option<SocketAddr>`. ([#605](https://github.com/heroku/libcnb.rs/pull/605))
35
+
-`ContainerContext::address_for_port`will now panic for all failure modes rather than just some, and so now returns `SocketAddr` directly instead of `Option<SocketAddr>`. This reduces test boilerplate due to the caller no longer needing to `.unwrap()` and improves debugging UX when containers crash after startup. ([#605](https://github.com/heroku/libcnb.rs/pull/605) and [#636](https://github.com/heroku/libcnb.rs/pull/636))
17
36
- Docker commands are now run using the Docker CLI instead of Bollard and the Docker daemon API. ([#620](https://github.com/heroku/libcnb.rs/pull/620))
18
37
-`ContainerConfig::entrypoint` now accepts a String rather than a vector of strings. Any arguments to the entrypoint should be moved to `ContainerConfig::command`. ([#620](https://github.com/heroku/libcnb.rs/pull/620))
19
-
-`TestRunner::new` has been removed, since its only purpose was for advanced configuration that's no longer applicable. Use `TestRunner::default` instead. ([#620](https://github.com/heroku/libcnb.rs/pull/620))
20
-
-`LogOutput` no longer exposes `stdout_raw` and `stderr_raw`. ([#607](https://github.com/heroku/libcnb.rs/pull/607))
38
+
-Removed `TestRunner::new` since its only purpose was for advanced configuration that's no longer applicable. Use `TestRunner::default` instead. ([#620](https://github.com/heroku/libcnb.rs/pull/620))
39
+
-Removed `stdout_raw` and `stderr_raw` from `LogOutput`. ([#607](https://github.com/heroku/libcnb.rs/pull/607))
21
40
- Improved wording of panic error messages. ([#619](https://github.com/heroku/libcnb.rs/pull/619) and [#620](https://github.com/heroku/libcnb.rs/pull/620))
22
-
-`libcnb-package`:
23
-
- buildpack target directory now contains the target triple. Users that implicitly rely on the output directory need to adapt. The output of `cargo libcnb package` will refer to the new locations. ([#580](https://github.com/heroku/libcnb.rs/pull/580))
24
-
- Added `find_cargo_workspace` which provides a convenient starting point for locating buildpacks for packaging and testing purposes. ([#629](https://github.com/heroku/libcnb.rs/pull/629))
25
-
-`libherokubuildpack`: Switch the `flate2` decompression backend from `miniz_oxide` to `zlib`. ([#593](https://github.com/heroku/libcnb.rs/pull/593))
-`libherokubuildpack`: Changed the `flate2` decompression backend from `miniz_oxide` to `zlib`. ([#593](https://github.com/heroku/libcnb.rs/pull/593))
27
42
28
43
### Fixed
29
44
@@ -32,7 +47,7 @@ separate changelogs for each crate were used. If you need to refer to these old
32
47
-`ContainerContext::expose_port` now only exposes the port to localhost. ([#610](https://github.com/heroku/libcnb.rs/pull/610))
33
48
- If a test with an expected result of `PackResult::Failure` unexpectedly succeeds, the built app image is now correctly cleaned up. ([#625](https://github.com/heroku/libcnb.rs/pull/625))
34
49
35
-
## [0.13.0] 2023-06-21
50
+
## [0.13.0]- 2023-06-21
36
51
37
52
The highlight of this release is the `cargo libcnb package` changes to support compilation of both buildpacks and meta-buildpacks.
38
53
@@ -71,7 +86,7 @@ The highlight of this release is the `cargo libcnb package` changes to support c
71
86
`dependency_graph::get_dependencies`
72
87
to support dependency ordering and resolution in libcnb.rs-based Rust packages. ([#575](https://github.com/heroku/libcnb.rs/pull/575))
73
88
74
-
## [0.12.0] 2023-04-28
89
+
## [0.12.0]- 2023-04-28
75
90
76
91
Highlight of this release is the bump to [Buildpack API 0.9](https://github.com/buildpacks/spec/releases/tag/buildpack%2Fv0.9). This release contains breaking changes, please refer to the items below for migration advice.
77
92
@@ -87,26 +102,26 @@ Highlight of this release is the bump to [Buildpack API 0.9](https://github.com/
87
102
-`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](https://github.com/heroku/libcnb.rs/pull/565))
88
103
-`Clone` implementation for `libcnb::layer_env::Scope`. ([#566](https://github.com/heroku/libcnb.rs/pull/566))
89
104
90
-
## [0.11.5] 2023-02-07
105
+
## [0.11.5]- 2023-02-07
91
106
92
107
### Changed
93
108
94
109
- Update `toml` to `0.7.1`. If your buildpack interacts with TOML data directly, you probably want to bump
95
110
the `toml` version in your buildpack as well. ([#556](https://github.com/heroku/libcnb.rs/pull/556))
96
111
97
-
## [0.11.4] 2023-01-11
112
+
## [0.11.4]- 2023-01-11
98
113
99
114
### Added
100
115
101
116
- libcnb-data: Store struct now supports `clone()` and `default()`. ([#547](https://github.com/heroku/libcnb.rs/pull/547))
102
117
103
-
## [0.11.3] 2023-01-09
118
+
## [0.11.3]- 2023-01-09
104
119
105
120
### Added
106
121
107
122
- libcnb: Add `store` field to `BuildContext`, exposing the contents of `store.toml` if present. ([#543](https://github.com/heroku/libcnb.rs/pull/543))
108
123
109
-
## [0.11.2] 2022-12-15
124
+
## [0.11.2]- 2022-12-15
110
125
111
126
### Fixed
112
127
@@ -121,7 +136,7 @@ the `toml` version in your buildpack as well. ([#556](https://github.com/heroku/
121
136
122
137
- libherokubuildpack: Add `command` and `write` modules for working with `std::process::Command` output streams. ([#535](https://github.com/heroku/libcnb.rs/pull/535))
123
138
124
-
## [0.11.1] 2022-09-29
139
+
## [0.11.1]- 2022-09-29
125
140
126
141
### Fixed
127
142
@@ -132,7 +147,7 @@ the `toml` version in your buildpack as well. ([#556](https://github.com/heroku/
132
147
133
148
- Improve the `libherokubuildpack` root module rustdocs. ([#503](https://github.com/heroku/libcnb.rs/pull/503))
134
149
135
-
## [0.11.0] 2022-09-23
150
+
## [0.11.0]- 2022-09-23
136
151
137
152
### Changed
138
153
@@ -143,7 +158,7 @@ the `toml` version in your buildpack as well. ([#556](https://github.com/heroku/
143
158
144
159
- Add new crate `libherokubuildpack` with common code that can be useful when implementing buildpacks with libcnb. Originally hosted in a separate, private, repository. Code from `libherokubuildpack` might eventually find its way into libcnb.rs proper. At this point, consider it an incubator. ([#495](https://github.com/heroku/libcnb.rs/pull/495))
145
160
146
-
## [0.10.0] 2022-08-31
161
+
## [0.10.0]- 2022-08-31
147
162
148
163
Highlight of this release is the bump to
149
164
[Buildpack API 0.8](https://github.com/buildpacks/spec/releases/tag/buildpack%2Fv0.8) which brings support for SBOM to
@@ -174,3 +189,15 @@ version number. See the changelog below for other changes.
174
189
### Removed
175
190
176
191
- Remove support for legacy BOM. Remove `Launch::bom`, `Build::bom`, `bom::Bom`, `bom::Entry`. ([#489](https://github.com/heroku/libcnb.rs/pull/489))
Copy file name to clipboardExpand all lines: README.md
+22-16Lines changed: 22 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -178,16 +178,22 @@ In your project directory, run `cargo libcnb package` to start packaging:
178
178
179
179
```shell
180
180
$ cargo libcnb package
181
-
INFO - Reading buildpack metadata...
182
-
INFO - Found buildpack libcnb-examples/my-buildpack with version 0.1.0.
183
-
INFO - Determining automatic cross-compile settings...
184
-
INFO - Building binaries (x86_64-unknown-linux-musl)...
181
+
🔍 Locating buildpacks...
182
+
📦 [1/1] Building libcnb-examples/my-buildpack
183
+
Determining automatic cross-compile settings...
184
+
Building binaries (x86_64-unknown-linux-musl)...
185
185
# Omitting compilation output...
186
-
Finished dev [unoptimized] target(s) in 8.51s
187
-
INFO - Writing buildpack directory...
188
-
INFO - Successfully wrote buildpack directory: target/buildpack/debug/libcnb-examples_my-buildpack (3.03 MiB)
189
-
INFO - Packaging successfully finished!
190
-
INFO - Hint: To test your buildpack locally with pack, run: pack build my-image --buildpack target/buildpack/debug/libcnb-examples_my-buildpack --path /path/to/application
186
+
Finished dev [unoptimized] target(s) in 8.92s
187
+
Writing buildpack directory...
188
+
Successfully wrote buildpack directory: packaged/x86_64-unknown-linux-musl/debug/libcnb-examples_my-buildpack (4.06 MiB)
0 commit comments