All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
7.0.0 - 2025-03-19
- Default Ruby version is now 3.3.7 and default bundler version is now 2.5.23 (#408)
- The
docker run
command no longer requires an entrypoint when using default processes provided byheroku/ruby
directly (and not theheroku/procfile
buildpack) (#404)
6.0.0 - 2025-03-12
- Gem install behavior and configuration (#402)
- Gem install path is now configured with
GEM_HOME
andGEM_PATH
instead ofBUNDLE_PATH
. - Cleaning gems is now accomplished via running
bundle clean --force
. Previously it was accomplished by settingBUNDLE_CLEAN=1
. - The
BUNDLE_DEPLOYMENT=1
environment variable is changed toBUNDLE_FROZEN=1
. - The
BUNDLE_BIN
environment variable is no longer set.
- Gem install path is now configured with
5.1.0 - 2025-02-28
- Enabled
libcnb
'strace
feature. (#398)
5.0.1 - 2025-01-13
- Executables from the applications
bin
directory will be placed on the path before dependencies installed via bundler (#383) - Binaries from user installed gems will be placed on the path before binaries that ship with Ruby (#383)
5.0.0 - 2024-12-17
4.0.2 - 2024-12-16
- Ruby pre-release verssions like
3.4.0.rc1
now work as expected. (#372) - Layer metadata deserialization to Rust structs is now using
#[serde(deny_unknown_fields)]
this prevents the accidental scenario where metadata containing a superset of fields could accidentally be deserialized to the wrong struct. It's unlikely this is currently happening with the current buildpack, but it's a possibly-observable difference so it's being listed (#371)
4.0.1 - 2024-12-11
- A bug introduced in 4.0.0 would result in incorrectly skipping running
bundle install
when theGemfile
orGemfile.lock
or environment variables had changed. The bug is now fixed. (#364)
4.0.0 - 2024-11-27
- Default process types defined by the Ruby buildpack now use IPv6 host
::
which is equivalent of IPv4 host0.0.0.0
. This will only affect applications that do not define aweb
process type via theProcfile
and Procfile Cloud Native Buildpack. Those applications must make sure to update their configuration to bind to an IPv6 host. (#354)
- The buildpack now warns the user when environmental variables used in running the default process are not defined. (#307)
3.0.0 - 2024-05-17
- The buildpack now implements Buildpack API 0.10 instead of 0.9, and so requires
lifecycle
0.17.x or newer. (#283)
- Added support for Ubuntu 24.04 (and thus Heroku-24 /
heroku/builder:24
). (#284)
2.1.3 - 2024-03-18
- The
fun_run
commons library was moved to it's own crate (#232)
- Raise a helpful error when a file cannot be accessed at the time of buildpack detection (#243)
2.1.2 - 2023-10-31
- Update build logging style (#198)
2.1.1 - 2023-10-24
- Updated buildpack display name, description and keywords. (#223)
2.1.0 - 2023-09-26
- Introduce heroku build metrics support (#172)
- Changelog moved to be per-crate rather than for the whole project (#154)
2.0.1 - 2023-07-25
- Commons: Introduce
build_output
module (#155) - Commons: Remove
gem_list
,rake_status
,rake_task_detect
modules (#155) - Commons:
EnvCommand
removed, replaced withfun_run
(#139)
- Initial version of Ruby buildpack in Rust (#93)
- Version 2.0.0 for the first release is not a typo. There was an issue in pack where a builder with the same name and version number would reuse artifacts left on image from prior runs which caused issues. There were prior releases of
heroku/ruby
CNB from different sources that triggered this problem. To ensure no one would encounter that issue we developed and released using a version we know has not been used before. Version 2.0 was the first major version without a prior release ofheroku/ruby
CNB from any source.