Introducing the new 2.x Honeybadger gem

Introducing the new 2.x Honeybadger gem. Updates include native Rake and Sinatra support, less memory usage, better testing and now all data is sent asynchronously.

After nearly six months of effort that nearly cost us the sanity of our beloved Joshua Wood, we are proud to officially announce the release of version 2.x of the Honeybadger gem. Upgrade instructions are here.

If you're thinking to yourself, "Wait a second, I saw that last month on github!?" you're not mistaken. The release process for this gem has been so careful and gradual that it's been like watching water boil, or paint dry. And even after the gem was good and released, we held off of doing an official announcement until now. Perhaps we were waiting for the other shoe to fall. For something to go horribly wrong. But strangely, enough it never did.

So what's new?

All new, clean, modern code

Version 1.x of our gem was based on the old MIT licensed Hoptoad gem. Version 2.x has been re-written from the ground up in modern Ruby.

Non-blocking by default

All data is now sent asynchronously. That means that when your users encounter an error, they don't have to wait an extra 250ms for your back end to report the error to us.

Native Sinatra support

Native sinatra support

Honeybadger now hooks into Sinatra to send errors automagically, just like it does with Rails. You no longer have to write any extra code to add exception handling to Sinatra.

Native Rake support

You can now automatically report errors from your non-rails Rake tasks.

User info is added to errors automatically

If you're running Warden, the authentication system that Devise and other gems are based on, we'll automatically pull in the id of the user who caused the exception. Not only can you fix the error, but you can email the affected users to say "sorry."

Request data everywhere

Request params, cookies and session data are now sent with any exception that happens anywhere in your web app. In version 1.x they were only sent for exceptions that happened inside a controller.

Smaller memory footprint

We spent weeks instrumenting the new gem, counting object allocations and eliminating them whenever possible. As a result, the new gem is using about 25% less RAM in our tests.

New YAML configuration with full ENV support baked in

YAML configuration of honeybadger gem

By making the configuration data-based instead of code-based we've made it much easier to support non-rails platforms such as Sinatra, Sidekiq, Rake tasks, etc. We've also simplified the list of configuration options, making them much easier to use.

Better testing

The new gem features a full integration test suite against all combinations of supported Ruby and framework versions. We've also made it easier to verify error reporting in your own tests.

...and much much more

We've only hit the high points here. It'd probably bore you to death if I listed every single improvement we've made.

Remember, if you'd like to upgrade, we have a how-to article here. Let us know if you have any problems at support@honeybadger.io

What to do next:
  1. Try Honeybadger for FREE
    Honeybadger helps you find and fix errors before your users can even report them. Get set up in minutes and check monitoring off your to-do list.
    Start free trial
    Easy 5-minute setup — No credit card required
  2. Get the Honeybadger newsletter
    Each month we share news, best practices, and stories from the DevOps & monitoring community—exclusively for developers like you.
    author photo

    Starr Horne

    Starr Horne is a Rubyist and Chief JavaScripter at Honeybadger.io. When she's not neck-deep in other people's bugs, she enjoys making furniture with traditional hand-tools, reading history and brewing beer in her garage in Seattle.

    More articles by Starr Horne
    Stop wasting time manually checking logs for errors!

    Try the only application health monitoring tool that allows you to track application errors, uptime, and cron jobs in one simple platform.

    • Know when critical errors occur, and which customers are affected.
    • Respond instantly when your systems go down.
    • Improve the health of your systems over time.
    • Fix problems before your customers can report them!

    As developers ourselves, we hated wasting time tracking down errors—so we built the system we always wanted.

    Honeybadger tracks everything you need and nothing you don't, creating one simple solution to keep your application running and error free so you can do what you do best—release new code. Try it free and see for yourself.

    Start free trial
    Simple 5-minute setup — No credit card required

    Learn more

    "We've looked at a lot of error management systems. Honeybadger is head and shoulders above the rest and somehow gets better with every new release."
    — Michael Smith, Cofounder & CTO of YvesBlue

    Honeybadger is trusted by top companies like: