- Applications with
package.json
now getnodejs
installed (heroku#1212) - Applications with
yarn.lock
now getyarn
installed (heroku#1212)
- Default Ruby version is now 2.7.4 (heroku#1193)
- Fix interoperability with other Heroku buildpacks'
$WEB_CONCURRENCY
handling (heroku#1188)
- Bundler 2.x is now 2.2.21 (heroku#1170)
- Remove support for the Cedar-14 and Heroku-16 stacks (heroku#1163)
- Bundler 2.x is now 2.2.16 (heroku#1150)
- Bundler 2.x is now 2.2.15 (heroku#1144)
- Bundler 2.x is now 2.2.11 (heroku#1132)
- Ruby buildpack now relies on the JVM buildpack to install java for Jruby apps (heroku#1119)
- Fix Gemfile.lock read bug from preventing propper removal of BUNDLED WITH declaration (heroku#1108)
- Fail detection with a CNB-friendly exit code (heroku#1111)
- CNB support for Heroku-20 (heroku#1096)
- Remove excessive Active Storage warnings (heroku#1087)
- Add Heroku-20 to the download presence check (heroku#1093)
- BUNDLE_WITHOUT now accommodates values with single spaces (heroku#1083)
- Fix double installation of bundler on CI runs when no test script is specified (heroku#1073)
- Bundler 2.x is now 2.1.4 (heroku#1052)
- Persistent bundler config is now being set using the
BUNDLE_*
env vars (heroku#1039) - Rake task "assets:clean" will not get called if it does not exist (heroku#1018)
- CNB: Fix the
gems
layer not being made accessible by subsequent buildpacks (heroku#1033)
- The rake binstub generated from compiling Ruby will no longer be placed in the local
bin/rake
location (heroku#1031) - A bug in 2.6.0, 2.6.1, 2.6.3 require a Ruby upgrade, a warning has been added (heroku#1015)
- The spring library is now disabled by setting the enviornment variable DISABLE_SPRING=1 (heroku#1017)
- Warn when a bad "shebang" line in a binstub is detected (heroku#1014)
- Default node version now 12.16.2, yarn is 1.22.4 (heroku#986)
- Gracefully handle unrecognised stacks (#982)
- Fix bundler cache not being used in CI builds (heroku#978)
- Default Ruby version is now 2.6.6 (heroku#974)
- Fix regression. PATH value for
yarn
at runtime was relative instead of absolute (heroku#975)
- Fix regression. PATH value for
ruby
at runtime was relative instead of absolute (heroku#973)
- Cloud Native Buildpack support (heroku#888)
- Fix issue where the wrong version of bundler is used on CI apps (heroku#961)
- Remove libpq external dependency (heroku#959)
- Fix version download error warning inversion logic (heroku#958)
- Fix bug in version download error message logic (heroku#957)
- Improve Ruby version download error messages (heroku#953)
- Update default Ruby version to 2.6.5 (heroku#947)
- Vendor in libpq 5.12.1 for Heroku-18 (heroku#936)
- Remove possibilities of false exceptions being raised by removing
BUNDLED WITH
from theGemfile.lock
(heroku#928)
- Default Ruby version for new apps is now 2.5.7 (heroku#926)
- Using old and EOL versions of Ruby now generate warnings (heroku#864)
- Update bundler 1.x to 1.17.3 (heroku#845)
- Default
MALLOC_ARENA_MAX=2
for new applications (heroku#752)
- Default Ruby version for new apps is now 2.5.6 (heroku#919)
- Ensure that old binstubs are removed before new ones are generated (heroku#914)
- Fix windows Gemfile.lock BUNDLED WITH support (heroku#898)
- Make sure Rails 6 apps have a
tmp/pids
folder so they can boot (heroku#909)
- Add support class for Rails 6 (heroku#908)
- Set memory default for Node builds (heroku#861)
- Default Ruby version is now 2.5.5, was previously 2.5.3 (heroku#863)
- Default Node version is now 10.15.3 and default Yarn version is now 1.16.0 (heroku#884)
- Bundler 2 now uses 2.0.2 (heroku#894)
- Fix: Environment variables not being exported for other buildpacks in CI (heroku#858)
- Ignore invalid byte encodings when detecting rails config (heroku#854)
- Add support for arbitrary Bundler major versions, most notably bundler 2 (heroku#850)
- Rev-default Ruby version to be the latest patch release of last years Ruby version 2.5.3 (heroku#846)
- Allow apps to enable
RUBYOPT=--jit
(heroku#848)
- Upgrade node version (heroku#831)
- Upgrade yarn version (heroku#832)
- Delete the sprockets temp directory for a smaller runtime slug if they are not building assets at runtime (heroku#812)
- Default Ruby version is now 2.4.5 (heroku#821)
- Do not add the
jobs:work
command if an app does not have that rake task available (heroku#810)
- Fix link (heroku#811)
- Add error messages when using unsupported Ruby versions on the Heroku-18 stack (heroku#809)
- Warn when
config.action_dispatch.x_sendfile_header
is set but apache and nginx are not being used (heroku#795)
- Support TAP output for Heroku CI (heroku#790).
- Colorize build failures and warnings. (heroku#788)
- Fix rails config detect timeout. Addreses the process deadlock when detecting rails config that contains an infinite task. This was originally addressed in #770 but the implementation did not handle all cases. (#781)
- Prevent apps from deploying with known security vulnerability activated via config (#776)
- The Ruby buildpack can now detect Rails configuration in a project (#758 #770)
- The Ruby buildpack bootstrap Ruby version is now 2.5.1. This is not a customer facing feature (#765)
- Default Ruby version is now 2.4.4 (#734)
- Support for not yet released heroku-18 stack (#750)
- Do not warn when
rails runner
cannot be executed (#749)
- The
active_storage
is not guranteed to be present (#748)
- Fix case where user environment variables were not being used (#745)
- Emit warnings for Active Storage (#739)
- Use S3 directly instead of s3pository for Node downloads (#740)
- New apps that do not specify a Ruby version now get 2.3.7 (#732)
- Bugfix:
bundle install
output no longer has an extra newline (#735) - Bugfix: when deploying an application the
ruby
version specified in the Gemfile is available outide of the home directory (#733)
- Node version upgraded to v8.9.4 (#714)
- Yarn version upgraded to v1.5.1 (#714)
- Fix issue with malformed UTF-8 string parsing (#724)
- Suggest users encountering a specific sprockets error in specific beta versions to upgrade (#718)
- Log metrics for common failures (#716)
- Only set JAVA_HOME for Bundler when using JRuby (#649, @jkutner)
- Remove Bundler shim since Bundler 2.5.0 will not vendor Bundler (#645)
- updated Ruby 2.5.0 support + Bundler shim (#640)
- Disable bundler version check (#632)
- set JAVA_HOME to absolute path during
bundle install
(#631)
- Compatiability for Ruby 2.5.0 preview 1 (#628)
- Yarn version upgraded to v1.0.2
- Install Node when using either ExecJS or Webpacker (#608)
- Make installs more robust against temporary network issues by retrying failed
downloads in
LanguagePack::Fetcher#fetch_untar
, which installs Rubies (#585)
- Update Bundler to 1.15.2 (#602)
- no changes from v165
- Set
$JAVA_HOME
for JRuby apps during build (#593) - Update Node to 6.11.1 (#598)
- Update Bundler to 1.15.1 (#579)
- Fix CI rake tasks not running (#571)
- Disable roubocop warnings for
heroku_clear_tasks
(#567)
- Ruby apps being run on CI are no longer expected to have Rails commands (#565)
bin/rails test
only gets called in CI for Rails 5+ apps- support
:sql
(structure) Rails schema for CI (#549)
- Blacklist JAVA_OPTS and JAVA_TOOL_OPTIONS during build (#559)
- Fix CI issue causing system Ruby to be used (#558)
- Fix "double ruby rainbow bug" caused by executing two
compile
actions on the same app (#553 & #555) - Remove Ruby 1.8.7 compatiability to allow for #555. This version of Ruby has been EOL for a long time. It is not available on Cedar-14 and Cedar-10 is EOL
- Update default Ruby version to 2.3.4.
- Yarn now installed for apps with
webpacker
gem (#547)
- Postgres database add-on will only be provisioned if app has a postgres driver in the
Gemfile
. (#535) - Fix regression, where JRuby patchlevel was being pulled from
Gemfile.lock
and used when not appropriate (#536)
- Fix regression, where defaults would override user env with rake (#528)
- Remove RAILS_GROUPS=assets from being set in .profile.d (#526)
- Upgrade to bundler 1.13.7 (#519)
- Vendor Default Ruby to execute the buildpack (#515)
- Heroku CI Support (#516)
- Allow deployment of pre-release rubies (preview and rc) with Bundler 1.13.6+. This is needed because the patch level is recorded in the gemfile as
-1
since it is not released yet. For example 2.4.0rc1 will show up in aGemfile.lock
like this:
RUBY VERSION
ruby 2.4.0p-1
- Guarantee we always show warning when upgrading bundler version.
- Default Ruby Version is 2.2.6
- Update libyaml to 0.1.7 for CVE-2014-9130
- Bump bundler to 1.13.6 Bundler changelog. Allows for use of Ruby version operators.
- Warn when
.bundle/config
is checked in (#471) - Do not cache
.bundle/config
between builds (#471) - Set WEB_CONCURRENCY for M-Performance dynos using sensible defaults (#474)
- Fix rake task detection in Rails apps actually fails builds (#475)
- Bump bundler to 1.11.2 Bundler changelog (#461)
- Rails 5 Support for logging to STDOUT via environment variable (#460)
- Fail build when rake tasks cannot be detected in a Rails app (#462)
- Fix default ruby to actually be Ruby 2.2.4 (#456)
- Change default for new apps to Ruby 2.2.4 (#454)
- Added pgconfig jar to JDK for JRuby JDBC (#450)
- Let API pick exact postgres plan (#449)
- Follow redirects on
curl
command (#443) - Check for preinstalled JDK (#434)
- Support for custom JDK versions in system.properties (#423)
- Fix nodejs buildpack integration (#429)
- Automatic jruby heap setting for IX dynos (#426)
- Warn when RAILS_ENV != production (https://devcenter.heroku.com/articles/deploying-to-a-custom-rails-environment)
- Warn when using asset_sync (https://devcenter.heroku.com/articles/please-do-not-use-asset-sync)
- JRuby specific ruby error message (#412)
- Cached asset file should never take precedent over existing file (#402)
- Do not write
database.yml
when using active record >= 4.1 (previously we only detected >= Rails 4.1) (#403)
- Bump bundler to 1.9.7 Bundler changelog (#378)
- Blacklist
JRUBY_OPTS
, useJRUBY_BUILD_OPTS
to override buildJRUBY_OPTS
. (#384) - Revert
--dev
during JRuby build for now. (#384)
- JRUBY_BUILD_OPTS env var will override any build time jruby opts (#381)
- Support sprockets 3.0 manifest file naming convention (#367)
- Set
--dev
by default for JRuby builds (but not at runtime). This optimizes the JVM for short process and is ideal forbundle install
and asset precompiles. - Cleanup
.git
folders in the bundle directory afterbundle install
.
- JVM is now available on cedar-14, do not vendor in JVM based on individual gems. If customer needs a specific version they should use multibuildpack with java and ruby buildpacks.
- Set a default value of WEB_CONCURRENCY based on dyno size when
SENSIBLE_DEFAULTS
environment variable is present. - Run
bundle clean
in the same context asbundle install
heroku#347 - Rails 4.2+ apps will have environment variable RAILS_SERVE_STATIC_FILES set to "enabled" by default #349
- Rails 5 apps now work on Heroku #349
- Bump bundler to 1.7.12 which includes multiple fixes and support for block source declaration (https://github.com/bundler/bundler/blob/1-7-stable/CHANGELOG.md).
- Support multibuildpack export file (#319)
- Auto set the JVM MAX HEAP based on dyno size for JRuby (#323)
- Use s3 based npmjs servers for node (#336)
- Support system.properties file for specifying JDK in JRuby (#305)
- Fix ruby version parsing to support JRuby 9.0.0.0.pre1 (#339)
- Revert v130 due to lack of propper messaging around WEB_CONCURRENCY settings.
- Auto set WEB_CONCURRENCY based on dyno size if not already set.
- Support multibuildpack export file (#319)
- Auto set the JVM MAX HEAP based on dyno size for JRuby (#323)
- Use s3 based npmjs servers for node (#336)
- Support system.properties file for specifying JDK in JRuby (#305)
- Fix asset caching bug (#300)
- Better cedar14 Ruby install error message
- rbx is now stack aware
- fix bundler cache clearing on ruby version change
- vendor the jvm when yui-compressor is detected
- bump to node 0.10.30 on cedar-14
- use node 0.10.29 on cedar-14
- properly use vendored jvm, so not to be dependent on java on the stack image
- fix permission denied edge cases when copying the bundler cache with minitest
- handle bundler cache for stack changes on existing apps
- on new apps, source default envs instead of replacing them
- support different stacks for new apps
- Bump bundler to 1.6.3 which includes improved dependency resolver
- Temporarily disable default ruby cache
- Ruby version detection now loads user environment variables
Features:
Bugfixes:
- fix anvil use case of multibuildpack with node
Features:
Bugfixes:
- Revert back to Bundler 1.5.2
Features:
Bugfixes:
- Add default process types to all apps deployed regardless of
Procfile
Features:
- Bundler 1.6.1
- Warn when not using a Procfile (looking at you webrick)
Bugfixes:
Features:
- use heroku-buildpack-nodejs's node binary
CURL_CONNECT_TIMEOUT
andCURL_TIMEOUT
are configurable as ENV vars
Bugfixes:
- Don't double print "Running: rake assets:precompile" on Ruby apps
Features:
Bugfixes:
- compile psych with libyaml 0.1.6 for CVE-2014-2525
Features:
Bugfixes:
- spelling
Features:
- Better message when running
assets:precompile
without a database
Bugfixes:
Features:
- parse Bundler patchlevel option
Bugfixes:
- don't let users step on themselves by replacing
env
in$PATH
Features:
Bugfixes:
- more shellescaping bug fixes
Rollbacked to v103
Features:
Bugfixes:
- fix bugs in shellescaping (#231)
Features:
- Rails 4.1.0 Support. Stop writing database.yml and support for secrets.yml by generating SECRET_KEY_BASE for users.
Bugfixes:
Features:
Bugfixes:
- use blacklist of env vars, so users can't break the build process
Features:
Bugfixes:
- fix rake detection when DATABASE_URL is not present
- support BUNDLE_WITHOUT when using ponies
- quote ponies env vars, so build doesn't break
Features:
Bugfixes:
- compile psych with libyaml 0.1.5 for CVE-2013-6393
Features:
- Noop
Bugfixes:
Features:
Bugfixes:
- Use vendored JDK binary during build
Features:
Bugfixes:
- Actually finalize method rename to
install_bundler_in_app
Features:
Bugfixes:
- Finalize method rename to
install_bundler_in_app
Rollback to v93
Features:
Bugfixes:
- Fixed
uninitialized constant Rake::DSL
error when running rake tasks on Ruby 1.9.2
Features:
- buildpack-env-arg (ponies) support
Bugfixes:
Features:
Bugfixes:
- Only display rake error messages if a
Rakefile
exists - when detecting for ruby version, don't use stderr messages
Features:
- Parallel gem installation with bundler 1.5.2
Bugfixes:
Features:
- Rollback v89 due to bug in bundler 1.5.1
Bugfixes:
Features:
- Use most recent version of bundler with support for parallel Gem installation
Bugfixes:
Features:
Bugfixes:
- Windows warnings will now display before bundle install, this prevents an un-resolvable
Gemfile
from erroring which previously prevented the warning roll up from being shown. When this happened the developer did not see that we are clearing theGemfile.lock
from the git repository when bundled on a windows machine. - Checks for
public/assets/manifest*.json
andpublic/assets/manifest.yml
will now come before Rake task detection introduced in v85.
Features:
Bugfixes:
- Any errors in a Rakefile will now be explicitly shown as such instead of hidden in a
assets:precompile
task detection failure (#171) - Now using correct default "hobby" database #179
Features:
- Any Ruby app with a rake
assets:precompile
task present that does not run successfully will now fail. This matches the current behavior of Rails 3 and 4 deploys.
Bugfixes:
- Fix default gem cache
Features:
- RubyVersion extracted into its own class
- Release no longer requires language_pack
- Detect no longer requires language_pack
- Downloads with curl now retry on failed connections, pass exit status appropriately
Bugfixes:
- Errors in Gemfiles will no longer show up as bad ruby versions #36
- Fix warning warning libjffi-1.2.so on < JRuby 1.7.3
Bugfixes:
- Rails 3 deploys that do not successfully run
assets:precompile
will now fail.
Features:
- add Default Bundler Cache for new Ruby 2.0.0 apps
- use Virginia S3 bucket instead of Cloudfront
Features:
- Cache 50mb of Rails 4 intermediate cache
- Support for Ruby 2.1.0
Bugfixes:
- Disable invoke dynamic on JRuby by default until JDK stabalizes it
Bugfixes:
- Remove LPXC debug output when
DEBUG
env var is set (#141) - Symlink ruby.exe, so Rails 4 bins work for Windows (#139)
Features:
- Don't add plugins if already gems
Bugfixes:
- Fix issue #127 Race condition with LPXC
Features:
- Force nokogiri to compile with system libs
Bugfixes:
- fix request_id for instrumentation to follow standard
Features:
- add request_id to instrumentation
- switchover to rubinius hosted rbx binaries
Bugfixes:
- OpenJDK version was rolled back, stop special casing JRuby 1.7.3.
Bugfixes:
- Lock JRuby 1.7.3 and lower to older version of JDK due to jruby/jruby#626
- Revert to v69 due to asset:precompile bugs
Bugfixes:
- Fix rake task detection for Rails 3 (@hynkle, #118)
- Revert to v69 due to asset:precompile bugs
Bugfixes:
- Don't silently fail rake task checks (@gabrielg, #34)
Bugfixes:
- Add spacing to end of instrumentation
Features:
- Log buildpack name and entering rails3/4 compile
Features:
- Fetcher uses CDN if available
- Add buildpack_version to the instrumentation output
Bugfixes:
- Don't print DEBUG messages for lxpc when env var is present
- Fix ruby gemfile warning line for JRuby
Bugfixes:
- Include logtoken properly
Features:
- Instrument timing infrastructure for the buildpack
Bugfixes:
- Fix DATABASE_URL to use jdbc-postgres for JRuby (@jkrall, #116)
Features:
- only download one copy of bundler per process (@dpiddy, #69)
- roll up all warnings for end of push output
- write database.yml for Rails 4
Bugfixes:
- fix sqlite3 error messaging detection
Features:
- Lock default ruby if default ruby is used
- Change default ruby to 2.0.0
- Stop using the stack image ruby and always vendor ruby
Bugfixes:
- Correctly detect asset manifest files in Rails 4
- Fix jruby 1.8.7 bundler/psych require bug
Features:
- Start caching the rubygems version used.
Bugfixes:
- Rebuild bundler cache if rubygems 2 is detected. Bugfixes in later rubygems.
Security:
- Disable Java RMI Remote Classloading for CVE-2013-1537, https://bugzilla.redhat.com/show_bug.cgi?id=952387
Bugfixes:
- Change JVM S3 bucket
Bugfixes:
- Fix ruby 1.8.7 not being able to compile native extensions
Bugfixes:
- Fix git gemspec bug in bundler
Bugfixes:
- Upgrade bundler to 1.3.2 to fix --dry-clean/Would have removed bug in bundle clean, part 2.
Bugfixes:
- Revert back to Bundler 1.3.0.pre.5, see https://gist.github.com/mattonrails/e063caf86962995e7ba0
Bugfixes:
- Upgrade bundler to 1.3.2 to fix --dry-clean/Would have removed bug in bundle clean
Bugfixes:
- bin/detect for Rails 3 and 4 will use railties for detection vs the rails gem
- bin/detect does not error out when Gemfile + Gemfile.lock are missing
Bugfixes:
- Revert back to 1.3.0.pre.5 due to bundler warnings
Features:
- Initial Rails 4 beta support
- Upgrade bundler to 1.3.0
Bugfixes:
- Better buildpack detection through Gemfile.lock gems
Features:
- Restore ruby deploys back to normal
Features:
- Re-enable ruby deploys for apps just using the heroku cache
- Display ruby version change when busting the cache
Features:
- Update deploy error message copy to link to status incident.
Features:
- Disable ruby deploys due to rubygems.org compromise
Features:
- Upgrade Bundler to 1.3.0.pre.5
- bundler binstubs now go in vendor/bundle/bin
Features:
- Stop setting env vars in bin/release now that login-shell is released
- Enable Invoke Dynamic on JRuby by default
- GEM_PATH is now updated on each push
Faulty Release
Features:
- Upgrade Bundler to 1.3.0.pre.2
Features:
- Upgrade Bundler to 1.2.2 to fix Ruby 2.0.0/YAML issues
Features:
- Enable ruby 2.0.0 support for testing
Features:
- Cache version of the buildpack we used to deploy
- Purge cache when v38 is detected
Bugfixes:
- Don't display cache clearing message for new apps
- Actually clear bundler cache on ruby version change
Bugfixes:
- Stop bundle cache from continually growing
Bugfixes:
- Remove temporary workaround from v36.
- Clear bundler cache upon Ruby version change
Bugfixes:
- Always clear the cache for ruby 1.9.3 as a temporary workaround due to the security upgrade
Features:
- Upgrade to Bundler 1.2.1
- Display bundle clean output
- More resilent to rubygems.org API outages
Bugfixes:
bundle clean
works again
Features:
- Upgrade to Bundler 1.2.0
Features:
- Upgrade to Bundler 1.2.0.rc.2
- vendor JDK7 for JRuby, but disable invoke dynamic
Features:
- support .profile.d/ruby.sh
- sync stdout so that the buildpack streams even in non-interactive shells
- Upgrade to Bundler 1.2.0.rc
Features:
- Vendor OpenJDK6 into slug when using JRuby
- ruby version support for ruby 1.8.7 via bundler's ruby DSL
Bugfixes:
- sqlite3 error gets displayed again
Bugfixes:
- Remove
vendor/bundle
message only appears when dir actually exists
Features:
- print message when assets:precompile finishes successfully
- Remove
vendor/bundle
if user commits it to their git repo.
Features:
- support "ruby-xxx-jruby-yyy" for jruby detection packages
Features:
- removes bundler cache in the slug, to minimize slug size (@stevenh512, #16)
- optimize push time with caching
Bugfixes:
- fix ruby version bug with "fatal:-Not-a-git-repository"
Features:
- bundler 1.2.0.pre
- ruby version support for ruby 1.9.2/1.9.3 via bundler's ruby DSL
Deprecation:
- ENV['RUBY_VERSION'] in favor of bundler's ruby DSL
Features:
- bundler 1.1.2
Features:
- bundler 1.1.0 \o/
Bugfixes:
- fix native extension building for rbx 2.0.0dev
Features:
- JRuby support
- rbx 2.0.0dev support
Bugfixes:
- force db password to be a string in the yaml file
Features:
- bundler 1.1.rc.7
Features:
- pass DATABASE_URL to rails 3.1 assets:precompile rake task detection
Features:
- bundler 1.1.rc.6
Bugfixes:
- stop freedom patching syck in ruby 1.9.3+
Features:
- bundler 1.1.rc.5
Bugfixes:
- syck workaround for yaml/psych issues
Features:
- bundler 1.1.rc.3
Features:
- bundler binstubs
- dynamic slug_vendor_base detection
Bugfixes:
- don't show sqlite3 error if it's in a bundle without group on failed bundle install
Features:
- rbx 1.2.4 support
- print out RUBY_VERSION being used
Bugfixes:
- don't leave behind ruby_versions.yml
Features:
- use vm as part of RUBY_VERSION
Features:
- ruby 1.9.3 support
- specify ruby versions using RUBY_VERSION build var
Bugfixes:
- move "bin/" to the front of the PATH, so apps can override existing bins
Features:
- add sqlite3 warning when detected on bundle install error
Bugfixes:
- Change gem detection to use lockfile parser
- use
$RACK_ENV
when thin is detected for rack apps