Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v6.23.0 #697

Merged
merged 81 commits into from
Sep 21, 2021
Merged

Release v6.23.0 #697

merged 81 commits into from
Sep 21, 2021

Conversation

imjoehaines
Copy link
Contributor

Enhancements

  • Sessions will now be delivered every 10 seconds, instead of every 30 seconds
    | #680
  • Log errors that prevent delivery at ERROR level
    | #681
  • Add on_breadcrumb callbacks to replace before_breadcrumb_callbacks
    | #686
  • Add context attribute to configuration, which will be used as the default context for events. Using this option will disable automatic context setting
    | #687
    | #688
  • Add Bugsnag#breadcrumbs getter to fetch the current list of breadcrumbs
    | #689
  • Add time (an ISO8601 string in UTC) to device metadata
    | #690
  • Add errors to Report/Event containing an array of Error objects. The Error object contains error_class, error_message, stacktrace and type (always "ruby")
    | #691
  • Add original_error to Report/Event containing the original Exception instance
    | #692
  • Add request to Report/Event containing HTTP request metadata
    | #693
  • Add add_metadata and clear_metadata to Report/Event
    | #694
  • Add set_user to Report/Event
    | #695

Fixes

  • Avoid starting session delivery thread when the current release stage is not enabled
    | #677

Deprecated

  • before_breadcrumb_callbacks have been deprecated in favour of on_breadcrumb callbacks and will be removed in the next major release
  • For consistency with Bugsnag notifiers for other languages, a number of methods have been deprecated in this release. The old options will be removed in the next major version | #676
    • The notify_release_stages configuration option has been deprecated in favour of enabled_release_stages
    • The auto_capture_sessions and track_sessions configuration options have been deprecated in favour of auto_track_sessions
    • The enabled_automatic_breadcrumb_types configuration option has been deprecated in favour of enabled_breadcrumb_types
    • The Report class has been deprecated in favour of the Event class
    • The Report#meta_data attribute has been deprecated in favour of Event#metadata
    • The Breadcrumb#meta_data attribute has been deprecated in favour of Breadcrumb#metadata
    • The Breadcrumb#name attribute has been deprecated in favour of Breadcrumb#message
    • The breadcrumb type constants in the Bugsnag::Breadcrumbs module has been deprecated in favour of the constants available in the Bugsnag::BreadcrumbType module
      For example, Bugsnag::Breadcrumbs::ERROR_BREADCRUMB_TYPE is now available as Bugsnag::BreadcrumbType::ERROR
  • Report#exceptions has been deprecated in favour of the new errors property
  • Report#raw_exceptions has been deprecated in favour of the new original_error property
  • Accessing request data via Report#metadata has been deprecated in favour of using the new request property. Request data will be moved out of metadata in the next major version
  • The Report#add_tab and Report#remove_tab methods have been deprecated in favour of the new add_metadata and clear_metadata methods

imjoehaines and others added 30 commits August 12, 2021 15:04
This will eventually replace the breadcrumb types in the
Bugsnag::Breadcrumbs module
This will eventually replace notify_release_stages entirely, but
for now exists as an alias
By using them in the Rails 5 app, but not the Rails 4 & 6 apps, we
can be more confident that the aliases work exactly as the old names
did
Co-authored-by: Delisa <kattrali@users.noreply.github.com>
Deprecate and provide replacements for inconsistent methods
…ease-stage

Don't start sessions when the current release stage is not enabled
Send sessions every 10 seconds instead of every 30 seconds
This should help to differentiate errors that prevent things
from being delivered from errors that we can continue from,
e.g. errors raised in middleware
Add tests for successful active job execution
…elog

Add missing deprecation to changelog
This manages and calls any registered on_breadcrumb callbacks
This stores the original Exception instance directly. This is
different to 'raw_exceptions' because 'raw_exceptions' traverses
'cause' chains to build an array of Exception objects and attempts
to normalise non-Exception objects into Exceptions
This currently reads from metadata to avoid a breaking change,
however this will be extracted from metadata as it's a top-level
field in the API
Add `original_error` to Report/Event
This class handles the various ways metadata can be updated so this
logic can be reused in multiple classes
This will let us re-use them in other tests, to ensure all classes
support every use-case of the metadata delegate
These can be replaced with add/clear metadata
Improve metadata API in Report/Event
@imjoehaines imjoehaines merged commit 13fe956 into master Sep 21, 2021
@imjoehaines imjoehaines deleted the release/v6.23.0 branch September 21, 2021 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants