Magicians never share their secrets. But we do. Sign up for our Ruby Magic email series and receive deep insights about garbage collection, memory allocation, concurrency and much more.
We’re very happy to present you with version 3.0 of AppSignal for Ruby - a new major release for the Ruby gem. 🎉
We have changed the way we instrument apps and gems to provide better compatibility with other instrumentation gems. Support for Ruby version 1.9 has been removed and deprecated classes, modules, methods, and instrumentations have also been removed.
In the rest of the post, we’ll explain what the new version of our gem brings to you and your apps. Let’s go!
Ruby 1.9 has been End of Life since 23th of February 2015, and while the AppSignal Ruby gem has done its best to keep supporting it, the time has come to say farewell.
In this release, we have changed how we instrument apps and gems. This instrumentation method was introduced in Ruby 2.0, which means starting this release Ruby 2.0 or newer is required for apps using the AppSignal gem. Please upgrade your apps to a newer Ruby version, if possible.
Sidekiq error reporting is more complete. We have included a Sidekiq error handler that reports errors not only from jobs run by Sidekiq, but also errors occurring in Sidekiq itself. For example, when Sidekiq reads a job JSON from Redis and it is corrupted, it will report an error for that error. This way you know why that job couldn’t be executed.
In the 3.x series the AppSignal for Ruby gem changed the internal method used to instrument apps and other gems. This should improve compatibility with other gems using the same instrumentation method. The previous instrumentation method is incompatible with the newer method and would cause an apps to be caught in a loop, causing an
The Ruby ecosystem seems to be moving towards this new instrumentation method so the AppSignal gem has updated its instrumentation method to be more compatible with other gems.
If an app starts encountering this issue after upgrading, upgrade any other APM and error reporting gems in the app. Newer versions may have also been updated to instrument using the new instrumentation method as well. If the issue persists, please contact us.
For more technical information and background of this change, see our upgrade guide about compatibility with other gems.
Throughout the 2.x series releases of the Ruby gem we have changed some things around in the gem’s code base. We always made sure the old methods still worked through fallbacks to make sure nothing broke between upgrades. Whenever something changed the Ruby gem prints and logs warnings with steps to take to resolve the warning.
In this major release we have removed these fallbacks to improve the maintainability of the Ruby gem. This means some things may break with this release. Please see the upgrade guide for the best way to upgrade so the AppSignal Ruby gem can warn you in advance about the changes you need to make before upgrading to version 3.0 of our Ruby gem.
Some things that apps using AppSignal for Ruby may be using that have been removed:
appsignal notify_of_deploycommand. Instead we recommend using the
revisionconfig option to report deploys more accurately. See our upgrade guide for the removed
This Ruby gem 3.0 release is built on a lot of smaller releases in the 2.x series. Some notable changes that are also included in this release are:
To help with upgrading this major release we have written an upgrade guide you can follow in our docs. Feel free to let us know if you run into any problems. In this guide, we have described the steps needed to upgrade the Ruby gem, things to watch out for, and a comprehensive list of changes that may affect your apps.
If you haven’t tried AppSignal for monitoring your Ruby/Rails apps yet, take five minutes and check it out. There is a 30 day trial, with no credit card required.
As we’re a Dutch company, we also ship stroopwafels (crazy good Dutch cookies) worldwide to our users. All you need to do to get your box is reach out to our support 📧➡️😋