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 6.16.0 #624

Merged
merged 24 commits into from
Aug 12, 2020
Merged

Release 6.16.0 #624

merged 24 commits into from
Aug 12, 2020

Conversation

imjoehaines
Copy link
Member

Enhancements

  • Set default Delayed Job error context to job class
    | #499
    | Mike Stewart

  • The BUGSNAG_RELEASE_STAGE environment variable can now be used to set the release stage. Previously this was only used in Rails applications
    | #613

  • Add support for runtime versions to Delayed Job, Mailman and Shoryuken integrations
    | #620

  • Reduce the size of the bundled gem
    | #571
    | t-richards

  • Move serialization of Reports onto the background thread when using the thread_queue delivery method
    | #623

Fixes

  • The app_type configuration option should no longer be overwritten by Bugsnag and integrations should set this more consistently
    | #619

imjoehaines and others added 24 commits July 27, 2020 13:54
This should never happen in normal operation, but is possible when
running RSpec tests

See thoughtbot/factory_bot_rails#303 (comment)
and #534

Essentially this happens:
1. RSpec boots Rails
2. Rails boot process errors
3. Rails freezes middleware
4. RSpec moves on to the next test file
5. Bugsnag tries to add middleware but fails because it's frozen
6. The stacktrace blames Bugsnag for this test failure
7. goto 4

Supressing this error doesn't solve the problem as it's likely another
frozen error will happen in some other library/component, but we want
to avoid people thinking this is caused by Bugsnag. The stacktrace
does point out the actual problem, but only in the very first error,
which can get buried under the frozen errors that happen for each
test file
Convert frozen middleware error into a warning in the Rails integration
Set consistent context in delayed_job integration
Previously we read 'BUGSNAG_RELEASE_STAGE' only in the Rails
integration, so other apps had to use 'RACK_ENV' (if they run in Rack)
or set it manually in code

Now we will always use the 'BUGSNAG_RELEASE_STAGE' environment variable
if it's set
This should now happen automatically for us, so the existing MR tests
can verify that this feature works :^)
Use BUGSNAG_RELEASE_STAGE environment variable to set the release stage
This fixes a couple of issues with `app_type` — we now always use
the value set by a user (if one is set) and integrations should now
always set the correct value

For example, before this change Que, when running in a rails app,
would have an app type of 'rails'. This is because the Que integration
has to run when it's loaded and so sets its app type before Rails does
[PLAT-3643] Ensure app_type is consistently resolved
This adds runtime versions for:
- Delayed Job
- Mailman
- Shoryuken

Mailman & Shoryuken are straightforward, but Delayed Job doesn't have
a constant with its version in. Instead we can read it from the loaded
Gems
[PLAT-3702] Report runtime versions for Delayed Job, Mailman and Shoryuken
These are needed to be able to install the Gem from the built gemfile
Delay JSON serialization until delivery when using the thread queue delivery method
Pin Rubocop version more strictly
@imjoehaines imjoehaines merged commit 0afe6b6 into master Aug 12, 2020
@imjoehaines imjoehaines deleted the release/6.16.0 branch August 12, 2020 13:11
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.

None yet

4 participants