Skip to content

v1.17.1

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Feb 21:23
· 16 commits to main since this release
09400ec

1.17.1 contains a critical bug fix for production that originated in 1.17.0

Since 1.17.0 introduced a number of potentially breaking changes and contained a definite bug that prevented deploying to production we're duplicating the info about the potentially breaking changes in 1.17.0 here for convenience.

Potentially breaking changes from 1.17.0

The 1.17.0 release is aimed at slimming down the default/required set of dependencies in an effort to reduce the memory footprint of Bullet Train apps. A number of gems that used to be automatically included are now optional and you must opt-in if you want to continue to use them.

Dependencies removed from core

The following gems are no longer declared as dependencies of the core gems, but there is a new section of the Gemfile where you can easily enable them.

  • microscope
  • ruby-openai
  • awesome_print
  • image_processing (This was already present, but commented out, in the Gemfile so it hasn't been added to the new section.
  • colorizer (This gem is basically a duplicate of the colorize gem, which we still declare a dependency, so we didn't add it to the new section. colorizer is abandoned and doesn't even have documentation available, so we wouldn't recommend using it. If you need it for some reason you can add it to the bottom of your Gemfile. If you do need it for something, please let us know about it.)

Dependencies removed from the starter repo

The starter repo used to declare a bunch of gems in the :production group that may or may not be used by downstream apps depending on your deployment environment and the services that you've chosen to use. The updated :production group contains all the same gems as before, but most of them are commented out. You should double check if you're actually using any of the following gems, and if so, un-comment the appropriate lines in your Gemfile:

  • postmark-rails
  • rails_autoscale_agent
  • honeybadger
  • sentry-ruby
  • sentry-rails
  • sentry-sidekiq
  • aws-sdk-s3

pry is now in the :development, :test group

We used to include pry at the top level of the Gemfile but most of the time you shouldn't need a debugger in production, so we've moved it to the :development, :test group so that it won't be present in production by default. If you use pry in production you should move it out of the :development, :test group.

derailed_benchmarks is now in the :development group by default

The derailed_benchmarks gem is helpful in finding opportunities for improvements around memory use, so we've included it in the :development group. See the derailed_benchmarks docs for details on how to make use of the gem.

Expected memory use improvements

Before starting on these updates derailed_benchmarks "Memory used at Require time" was showing the starter repo consuming ~108 MiB of memory.

The 1.17.0 release is consuming about ~88 MiB of memory by default.

If you re-enable any of the gems listed above, or if you're using other gems not present in the starter repo your number will likely be higher.

What's changed in bullet_train-core

Also check the corresponding release for the bullet_train-core repo:
https://github.com/bullet-train-co/bullet_train-core/releases

What's Changed

Full Changelog: v1.17.0...v1.17.1