Honeybadger v3.2.0 Release Notes

Release Date: 2017-11-27 // over 6 years ago
  • ๐Ÿ”„ Changed

    • Objects which explicitly alias #to_s to #inspect (such as OpenStruct) are now sanitized. '#<OpenStruct attribute="value">' becomes '#<OpenStruct>'. If you pass the value of #inspect (as a String) directly to Honeybadger (or return it from #to_honeybadger), the value will not be sanitized.
    • We're now using String(object) instead of object.to_s as the last resort during sanitization.

    โž• Added

    • ๐Ÿ‘ป The exception cause may now be set using an optional :cause option when calling Honeybadger.notify. If not present, the exception's cause will be used, or the global $! exception if available.
    • Any object can now act as context using the #to_honeybadger_context method. The method should have no arguments and return a Hash of context data. Context from exceptions which define this method will automatically be included in error reports.
    • Final object representations in Honeybadger (normally the value of #to_s for unknown types) can be changed by defining the #to_honeybadger method. If the method is defined, the return value of that method will be sent to Honeybadger instead of the #to_s value (for context values, local variables, etc.).
    • '[RAISED]' is returned when object.to_honeybadger or String(object) fails.
    • โž• Added Honeybadger.check_in method which allows performing check ins from ruby.

    ๐Ÿ›  Fixed

    • 0๏ธโƒฃ We no longer use "/dev/null" as the default log device as it doesn't exist on Windows.
    • ๐Ÿ”Š Logs when reporting errors in development mode now mention that the error wasn't actually reported. :)
    • ๐Ÿ‘Œ Support new Sidekiq job params key.
    • ๐Ÿšš Move at_exit callback to an appropriate place for sinatra apps, so that it does not prematurely stop honeybadger workers.
    • BasicObject, which previously could not be serialized, is now serialized as "#<BasicObject>".