Releases: bullet-train-co/bullet_train
v1.18.0
Potentially breaking changes
Similar to 1.17.0
/1.17.1
this 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. Several other gems are now easier for you to remove since they now appear in the Gemfile
directly instead of being buried in .gemspec
dependencies.
Dependencies completely removed from core
These gems used to be listed as dependencies in core
despite never being configured or used anywhere. Since they were completely unused we removed them as dependencies and have not added them to the Gemfile
in the starter repo, not even in the optional gems section. If you're using them you need to add them to the bottom of your Gemfile
.
hiredis
valid_email
Dependencies moved from core
to being optional
These gems used to be listed as hard dependencies, but aren't really necessary. See the respective pull requests for more info.
xxhash
unicode-emoji
Dependencies hoisted from core
into the Gemfile
These gems uses to be listed as hard dependencies, but are only actually used and configured in the starter repo. We've removed them as dependencies in core
and have added them to the Gemfile
. If you don't want to use them for some reason you should now be able to remove them from your app completely by removing them from the Gemfile
and removing any lingering references in your application.
sidekiq
rack-cors
premailer-rails
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
- Add
xxhash
as an optional gem by @jagthedrummer in #1940 - Add
unicode-emoji
as an optional dependency by @jagthedrummer in #1941 - [ruby] Update all Bundler dependencies (2025-02-14) by @depfu in #1943
- [ruby] Update all Bundler dependencies (2025-02-15) by @depfu in #1944
- [js] Update all Yarn dependencies (2025-02-16) by @depfu in #1946
- [ruby] Update all Bundler dependencies (2025-02-17) by @depfu in #1948
- [ruby] Update all Bundler dependencies (2025-02-18) by @depfu in #1949
- 🚨 [security] [ruby] Update nokogiri 1.18.2 → 1.18.3 (patch) by @depfu in #1950
- [ruby] Update all Bundler dependencies (2025-02-19) by @depfu in #1951
- Hoist
sidekiq
into theGemfile
of the starter repo by @jagthedrummer in #1953 - fix: avo
time_zone
options by @Paul-Bob in #1952 - Hoist
rack-cors
into theGemfile
of the starter repo by @jagthedrummer in #1954 - Remove some whitespace by @jagthedrummer in #1956
- Hoist
premailer-rails
into theGemfile
in the starter repo by @jagthedrummer in #1955 - BT-Core version bump: - 1.18.0 by @jagthedrummer in #1958
New Contributors
Full Changelog: v1.17.1...v1.18.0
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
v1.17.0
NOTE 1.17.0
contains a critical bug that will prevent deploying to production
For some reason we had an explicit require "pry"
in config/application.rb
which doesn't play nice with the change we made to pry
in the Gemfile
in verison 1.17.0
.
For simplicity we recommend skipping 1.17.0
and going directly to 1.17.1
which just fixes this bug, and a documentation update for the Stripe billing gems. We'll duplicate the documentation below about the potentially breaking changes into the release notes for 1.17.1
just for convenience.
If, for some reason, you don't want to skip directly to 1.17.1
you can get 1.17.0
to deploy to production by removing the require "pry"
line from config/application.rb
.
Potentially breaking changes
This 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
- [ruby] Update all Bundler dependencies (2025-02-08) by @depfu in #1920
- [js] Update all Yarn dependencies (2025-02-08) by @depfu in #1921
- [js] Update all Yarn dependencies (2025-02-09) by @depfu in #1922
- [ruby] Update all Bundler dependencies (2025-02-11) by @depfu in #1923
- [ruby] Update all Bundler dependencies (2025-02-12) by @depfu in #1924
- Add
microscope
as an optional gem by @jagthedrummer in #1926 - Add
derailed_benchmarks
to the:development
group by @jagthedrummer in #1925 - Add
ruby-openai
as an optional gem by @jagthedrummer in #1927 - Add
awesome_print
as an optional gem by @jagthedrummer in #1928 - Move
pry
into the:development, :test
gem group by @jagthedrummer in #1929 - Make a bunch of production gems optional by @jagthedrummer in #1930
- BT-Core version bump: - 1.17.0 by @jagthedrummer in #1931
Full Changelog: v1.16.0...v1.17.0
v1.16.0
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
- [ruby] Update all Bundler dependencies (2025-01-30) by @depfu in #1898
- [ruby] Update all Bundler dependencies (2025-01-31) by @depfu in #1899
- Run
corepack enable
on render by @jagthedrummer in #1900 - [ruby] Update all Bundler dependencies (2025-02-01) by @depfu in #1901
- [ruby] Update all Bundler dependencies (2025-02-04) by @depfu in #1906
- [ruby] Update all Bundler dependencies (2025-02-05) by @depfu in #1907
- [js] Update all Yarn dependencies (2025-02-06) by @depfu in #1909
- [ruby] Update all Bundler dependencies (2025-02-06) by @depfu in #1908
- [ruby] Update all Bundler dependencies (2025-02-07) by @depfu in #1913
- Remove
bullet_train-scope_questions
gem by @jagthedrummer in #1915 - Changed the default render database plan. Starter is no longer available by @jjjessen in #1904
- fix: set HTTP_PATH if it already has origin remote by @sh1nj1 in #1905
- Remove more references to bullet_train-scope_questions by @jagthedrummer in #1918
- BT-Core version bump: - 1.16.0 by @jagthedrummer in #1919
New Contributors
Full Changelog: v1.15.0...v1.16.0
v1.15.0
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
- [ruby] Update all Bundler dependencies (2025-01-28) by @depfu in #1893
- [ruby] Update all Bundler dependencies (2025-01-29) by @depfu in #1894
- Add zapier/.yarn/ to .gitignore by @jagthedrummer in #1895
- Document the fact that apps can declare their own root routes by @jagthedrummer in #1896
- BT-Core version bump: - 1.15.0 by @jagthedrummer in #1897
Full Changelog: v1.14.2...v1.15.0
v1.14.2
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
- [ruby] Update all Bundler dependencies (2025-01-24) by @depfu in #1882
- [ruby] Update all Bundler dependencies (2025-01-25) by @depfu in #1886
- [ruby] Update all Bundler dependencies (2025-01-26) by @depfu in #1887
- Fix the confusing workflow diagram when deployment is enabled by @jagthedrummer in #1890
- Update dependencies for Zapier integration by @jagthedrummer in #1891
- BT-Core version bump: - 1.14.2 by @jagthedrummer in #1892
Full Changelog: v1.14.1...v1.14.2
v1.14.1
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
- [ruby] Update all Bundler dependencies (2024-12-31) by @depfu in #1851
- [ruby] Update all Bundler dependencies (2025-01-01) by @depfu in #1852
- [ruby] Update all Bundler dependencies (2025-01-03) by @depfu in #1853
- [ruby] Update all Bundler dependencies (2025-01-04) by @depfu in #1854
- [ruby] Update all Bundler dependencies (2025-01-05) by @depfu in #1855
- [js] Update all Yarn dependencies (2025-01-05) by @depfu in #1856
- [ruby] Update all Bundler dependencies (2025-01-06) by @depfu in #1857
- [ruby] Update all Bundler dependencies (2025-01-07) by @depfu in #1858
- [ruby] Update all Bundler dependencies (2025-01-08) by @depfu in #1860
- [ruby] Update all Bundler dependencies (2025-01-09) by @depfu in #1861
- [js] Update all Yarn dependencies (2025-01-09) by @depfu in #1862
- [ruby] Update all Bundler dependencies (2025-01-10) by @depfu in #1865
- [ruby] Update all Bundler dependencies (2025-01-11) by @depfu in #1866
- [ruby] Update all Bundler dependencies (2025-01-13) by @depfu in #1867
- [ruby] Update all Bundler dependencies (2025-01-14) by @depfu in #1868
- [ruby] Update all Bundler dependencies (2025-01-15) by @depfu in #1869
- [ruby] Update all Bundler dependencies (2025-01-16) by @depfu in #1870
- [js] Update all Yarn dependencies (2025-01-16) by @depfu in #1871
- [ruby] Update all Bundler dependencies (2025-01-17) by @depfu in #1872
- [ruby] Update all Bundler dependencies (2025-01-18) by @depfu in #1873
- [ruby] Update all Bundler dependencies (2025-01-20) by @depfu in #1874
- [ruby] Update all Bundler dependencies (2025-01-21) by @depfu in #1875
- [ruby] Update all Bundler dependencies (2025-01-22) by @depfu in #1876
- [ruby] Update all Bundler dependencies (2025-01-23) by @depfu in #1877
- Install the heroku CLI before deploying to heroku by @jagthedrummer in #1850
- Skip setup process for icu4c if we don't have bullet_train-conversations by @jagthedrummer in #1880
- BT-Core version bump: - 1.14.1 by @jagthedrummer in #1881
Full Changelog: v1.14.0...v1.14.1
v1.14.0
Possible Breaking Changes
Upgrade ruby 3.3.6 => 3.4.1
This release upgrades ruby
to verison 3.4.1. You'll need to install it locally via whatever runtime manager you use (asdf
is a good one if you're looking for recommendations) and then run bundle install
to install all the gems for the new version.
This is a major ruby update. To prepare for upgrading your Bullet Train application you should make sure that all of your non-BT gems are up to date. You can see the status by running bundle outdated
.
If you run into problems making this upgrade it's likely related to gems conflicting with the new ruby version. If you're having trouble getting things working, hit us up in Discord and we'll try to help.
Remove extended_email_reply_parser
and charlock_holmes
dependencies
NOTE This is only a breaking change if you use the bullet_train-conversations
gem. If you're using that gem you should either:
- Update it to version 1.1.5 or later
- Add
extended_email_reply_parser
directly to yourGemfile
Upgrade node 22.11.0 => 22.12.0
This release upgrades node
to version 22.12.0. You'll need to install it locally via whatever runtime manager you use (asdf
is a good one if you're looking for recommendations) and then do the following to install yarn and all the JS dependencies:
npm install -g yarn
corepack enable
yarn install
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
- [ruby] Update all Bundler dependencies (2024-12-24) by @depfu in #1840
- [js] Update all Yarn dependencies (2024-12-24) by @depfu in #1841
- [ruby] Update all Bundler dependencies (2024-12-25) by @depfu in #1842
- [ruby] Update all Bundler dependencies (2024-12-26) by @depfu in #1843
- Ruby 3.4.1 by @jagthedrummer in #1847
- [js] Update Node.js 22.11.0 → 22.12.0 by @depfu in #1790
- [ruby] Update all Bundler dependencies (2024-12-30) by @depfu in #1844
- BT-Core version bump: - 1.14.0 by @jagthedrummer in #1848
Full Changelog: v1.13.0...v1.14.0
v1.13.0
Possible Breaking Change - Upgrade to Rails 8
Rails 8 includes the removal of some deprecated classes. This may cause problems if you have other gems that are relying on some of those classes.
For instance you may see an error like this:
LoadError: cannot load such file -- active_support/basic_object
or
LoadError: cannot load such file -- active_support/proxy_object
One gem that used to rely on those classes is jbuilder
, so you might start by making sure it's up to date.
bundle update jbuilder --conservative
It's probably a good time to check for other gems that are out of date.
bundle outdated
Or you could just update everything.
bundle update
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
- [ruby] Update all Bundler dependencies (2024-12-21) by @depfu in #1833
- [js] Update all Yarn dependencies (2024-12-21) by @depfu in #1834
- [js] Update all Yarn dependencies (2024-12-22) by @depfu in #1837
- [ruby] Update all Bundler dependencies (2024-12-22) by @depfu in #1836
- Set the stack in app.json by @jagthedrummer in #1832
- [ruby] Update all Bundler dependencies (2024-12-23) by @depfu in #1838
- Rails 8.0.1 by @jagthedrummer in #1824
- BT-Core version bump: - 1.13.0 by @jagthedrummer in #1839
Full Changelog: v1.12.3...v1.13.0
v1.12.3
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
- [ruby] Update all Bundler dependencies (2024-12-19) by @depfu in #1826
- [js] Update all Yarn dependencies (2024-12-19) by @depfu in #1827
- [ruby] Update all Bundler dependencies (2024-12-20) by @depfu in #1828
- [js] Update all Yarn dependencies (2024-12-20) by @depfu in #1829
- Fix missing JS peer dependencies by @jagthedrummer in #1830
- Extract super scaffolding tests into smaller individual units by @jagthedrummer in #1825
- BT-Core version bump: - 1.12.3 by @jagthedrummer in #1831
Full Changelog: v1.12.2...v1.12.3