v1.17.1
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 theGemfile
so it hasn't been added to the new section.colorizer
(This gem is basically a duplicate of thecolorize
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 yourGemfile
. 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
- Don't
require "pry"
inconfig/application.rb
by @jagthedrummer in #1932 - BT-Core version bump: - 1.17.1 by @jagthedrummer in #1934
Full Changelog: v1.17.0...v1.17.1