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.25.0 #759

Merged
merged 78 commits into from
Dec 1, 2022
Merged

Release v6.25.0 #759

merged 78 commits into from
Dec 1, 2022

Conversation

imjoehaines
Copy link
Contributor

Enhancements


This PR also contains a lot of test changes, hence the massive diff

concurrent-ruby v1.1.10 requires Ruby 2.2 to install
Fix concurrent-ruby version on Rubies < 2.2
Loosen Resque and Sidekiq version requirements in rails integrations fixture
Support was dropped for these versions in 5.16.0
Support was dropped for these versions in 2.3.0
Restrict minitest, connection_pool & rack-protection versions on older Rubies
Bundler _should_ always check dependency resolution with all optional
groups, even when not actually installing them. However on old versions
this check didn't happen, which is intuitive but wrong

We were depending on the broken behaviour of older Bundler versions to
get our tests to run on old Ruby versions. Instead, we should be upfront
about these groups not installing on old Rubies by not defining them
unless they will resolve

This allows us to use more up-to-date Bundler versions on old Rubies
This is currently reported in a header, but the Event API prefers it to
be in the request body. Supplying it in both is recommended by the docs:
https://bugsnagerrorreportingapi.docs.apiary.io/#reference/0/notify/send-error-reports
…-actions

Move specs, linting & license auditing to GH Actions
This returns true if:

- name is a string with at least 1 character
- variant is nil OR variant is a string
The FeatureFlagDelegate now ensures flags are valid before storing them,
so we no longer deliver flags with invalid names
This allows users to add feature flags to Bugsnag whenever they interact
with their feature flag service, e.g.

```ruby
flag = get_flag_from_service('new-login-page')

if flag.enabled?
  Bugsnag.add_feature_flag('new-login-page')
  # render new login page
else
  Bugsnag.clear_feature_flag('new-login-page')
  # render old login page
end
```

The previous implementation relied on event's already being request
specific, but meant feature flags would usually have to be added in an
on_error callback
Now that the implementations of add_/clear_feature_flag(s) are the same,
we can use a module to implement these methods and save us from having
copy pasted methods/docs in 3 places
This embeds methods from included modules directly into the class' docs,
rather than linking to them separately

This makes the docs a lot clearer when a class includes some methods
from a module as they are now listed next to every other method
@imjoehaines imjoehaines merged commit eefe5a0 into master Dec 1, 2022
@imjoehaines imjoehaines deleted the release/v6.25.0 branch December 1, 2022 11:34
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