Honeybadger v3.0.0 Release Notes

Release Date: 2017-02-06 // about 7 years ago
  • โž• Added

    • ๐Ÿ’Ž You may now require 'honeybadger/ruby' instead of 'honeybadger' to get the agent without the integrations (no railtie, plugins or monkey patching).
    • You can now create multiple instances of the Honeybadger agent with different configurations (many classes in the library can be composed).
    • ๐Ÿ”ง Honeybadger.configure works again -- use it to configure the library from Ruby! (we still default to honeybadger.yml in our installer)
    • โœ… Our test suite is now leaner and meaner (which means we can add new features faster). Reduced typical build times from up to 2 minutes to 20 seconds.
    • We've rebuilt the CLI from scratch. The new CLI features super verbose error messages with (hopefully) helpful suggestions, some new commands, and better framework detection in the install and test commands.
    • ๐Ÿ‘‰ Use honeybadger exec your_command from the command line to report the error when the command fails due to a non-zero exit status or standard error output. (Use it to report failures in cron!) See honeybadger help exec.
    • ๐Ÿ‘‰ Use honeybadger notify from the command line to report custom errors to Honeybadger. See honeybadger help notify.
    • 0๏ธโƒฃ ~/honeybadger.yml is now a default config path for the CLI and standalone-ruby installations.
    • ๐Ÿ‘ป Honeybadger.notify now converts arguments which are not Exception or Hash types to strings and assigns them as the error message. Example: Honeybadger.notify("Something went wrong").
    • ๐Ÿš€ The currently deployed git revision is now detected automatically and sent with error reports.

    ๐Ÿ”„ Changed

    • ๐Ÿ—„ Honeybadger.start has been deprecated and has no effect.
    • We've changed some of the underlying code of the library. If you depend on internal APIs (such as thread local variable names or any functions not marked public in the code comments) then you may need to update your code. If you are developing 3rd-party integrations with our gem let us know so that we can work with you to build the public APIs you need.
    • All Rack middleware no longer require an argument (which used to be a Honeybadger::Config instance) when using them. They now default to the global agent and accept an optional argument which expects an alternate Honeybadger::Agent instance.
    • ๐Ÿ”Œ The plugins.skip config option has been renamed to skipped_plugins.
    • The sidekiq.use_component config option is now true by default. To get the old behavior, set it to false. When enabled, the Sidekiq plugin will automatically set the component to the class of the job, which helps with grouping.
    • The request.filter_keys option now includes partial matches: with the filter value "password", keys such as "password" and "otherpassword" will be filtered.
    • CGI variables are now whitelisted when sending the Rack environment to Honeybadger to prevent sensitive data leakage.
    • ๐Ÿ‘ป Honeybadger.notify now raises an exception in development mode when called without the required arguments. It logs outside of development and continues to send a generic error report.

    โœ‚ Removed

    • ๐Ÿ’Ž Ruby 1.9.3 and 2.0.x are no longer supported.
    • Honeybadger.notify_or_ignore has been removed. Use Honeybadger.notify(e) and Honeybadger.notify(e, force: true) (to skip ignore filters).
    • ๐Ÿšš The CLI command honeybadger config has been removed.
    • ๐Ÿšš All deprecated Rails controller methods (from version 1.x) have been removed.
    • ๐Ÿ—„ The deprecated Honeybadger::Rack::MetricsReporter middleware has been removed.

    ๐Ÿ›  Fixed

    • Arrays are no longer compacted during sanitization (nil values will be sent as they originally appeared).
    • ๐Ÿ”Œ Resque plugin now reports Resque::DirtyExit exceptions.