v13.0.3 (September 20, 2022)
- Fixed
tie_rails_4_or_below_with_active_record': uninitialized constant ActiveRecord (NameError)
for Rails 4 without ActiveRecord (#1237)
v13.0.2 (May 20, 2022)
- Fixed support of APM on Rails 7+, where the reported time of a performance breakdowns and queries malformed, resulting in the complete rejection of the performance breakdowns or queries by the backend. This improves on the fix introduced in v13.0.1 (#1227)
v13.0.1 (May 13, 2022)
- Fixed support of APM on Rails 7+, where the reported time of a route was malformed, resulting in the complete rejection of the route stats by the backend (#1223)
- Fixed bug where Rails 6+ apps that don't require ActiveRecord crash when Airbrake is installed (#1224)
v13.0.0 (January 18, 2022)
Breaking changes:
- Dropped support for Ruby 2.5 (#1208)
Bug fixes:
- Fixed APM not working on Rails 7 due to
NoMethodError (undefined method `glob?' for nil:NilClass)
(#1211)
v12.0.0 (September 22, 2021)
Breaking changes:
Maintenance:
- Bumped
airbrake-ruby
requirement to~> 6.0
(#1179)
Other changes:
-
Rails generator no longer embeds project id & project key into the generated initializer file. Set environment variables instead.
Before:
% rails g airbrake PROJECT_ID PROJECT_KEY
After:
export AIRBRAKE_PROJECT_ID=<PROJECT ID> export AIRBRAKE_PROJECT_KEY=<PROJECT KEY> rails g airbrake
v11.0.3 (May 13, 2021)
- Fixed
Sneakers
integration when 3rd party code monkey-patchesSneakers::Worker#process_work
(#1164) - Fixed
ActionCable
integration when 3rd party code monkey-patchesActionCable::Channel::Base#perform_action
(#1165) - Fixed
Resque
integration when 3rd party code monkey-patchesResque::Job#perform
(#1166) - Fixed
Rake
integration when 3rd party code monkey-patchesRake::Task#execute
(#1167)
v11.0.2 (May 12, 2021)
- Fixed
HTTP::Client
performance breakdown when 3rd party code monkey-patchesHTTP::Client#perform
(#1162)
v11.0.1 (October 20, 2020)
- Fixed
rake airbrake::deploy
crashing withNoMethodError: undefined method `level' for nil:NilClass
when theRAILS_LOG_TO_STDOUT
environment variable is set (#1129) - Bumped
airbrake-ruby
requirement to~> 5.1
(#1133)
v11.0.0 (August 17, 2020)
Breaking changes:
- Dropped support for Rails v3.2 (#1118)
- Dropped support for Ruby 2.1 (#1119)
- Dropped support for Ruby 2.2 (#1120)
Bug fixes:
- Rails APM: fixed double slash in front of a route name when mounting engines
at
/
(#1111) - Rails: fixed broken initialization for some apps due to the load order of initializers (#1112)
Maintenance:
- Bumped airbrake-ruby requirement to
~> 5.0
(#1068)
Features:
- Rails APM: made it possible to enable/disable APM at runtime (#1112)
v10.1.0.rc.1 (July 14, 2020)
- Fixes
Airbrake::Sidekiq::RetryableJobsFilter
erroneously reporting retry attempts when it shouldn't (#1103) - Started depending on airbrake-ruby v5.0.0.rc.1
v10.0.5 (June 17, 2020)
- Fixed deprecation warning about "connection_config" on Rails 6.1+ (#1098)
- Fixed the
blacklist_keys
deprecation warning in Rails generator (#1099)
v10.0.4 (May 21, 2020)
- Rails APM: fixed support for "catch-all" routes, which grouped all matching routes as one, instead of reporting those routes separately (#1092)
v10.0.3 (April 22, 2020)
- Rails APM: fixed wrong file/line/function for SQL queries if a query is executed by a Rails engine (#1082)
- Fixed performance degradation of Delayed Job jobs (#1084)
v10.0.2 (March 31, 2020)
- ActiveJob: fix error reporting (#1074)
- Fixed
Net::HTTP
performance breakdown when 3rd party code monkey-patchesNet::HTTP#request
(#1078)
v10.0.1 (January 29, 2020)
- Bumped airbrake-ruby requirement to
~> 4.13
(#1068) - Rails APM: fixed bug where
query_stats = false
would sometimes have no effect (#1069) - Sneakers: fixed ArgumentError occurring in the error handler on some versions (#1065)
- Made all string literals frozen by default (#1070)
- Rack: improved
Airbrake::Rack::Instrumentable#airbrake_capture_timing
(#1066):- added support for methods ending with punctuation (
?
,!
&=
) - added support for wrapping operator methods
- fixed bug where captured method would lose its original visibility
- improved support for Ruby 2.7, specifically method forwarding
- added support for capturing
prepend
'ed methods
- added support for methods ending with punctuation (
v10.0.0 (January 8, 2020)
- Sidekiq: started sending job execution statistics (#1040)
- Resque: started sending job execution statistics (#1044)
- Sneakers: started sending job execution statistics (#1047)
- DelayedJob: started sending job execution statistics (#1046)
- Shoryuken: started sending job execution statistics (#1055)
- ActiveJob: started sending job execution statistics (#1056)
- Rack: fixed
context/userAddr
sometimes not reporting the actual client IP (but a proxy IP instead) (#1042) - Bumped airbrake-ruby requirement to
~> 4.12
(#1058) - Rails APM: fixed bug where engine routes would always point to root path (for
example,
engine_name#/
instead ofengine_name#my_path
) (#1059) - Fixed deprecation warnings about
:start_time
&:end_time
coming fromairbrake-ruby
(#1060)
v9.5.5 (December 2, 2019)
- Rails APM: fixed issue with engine links when the engine has an isolated namespace (#1035)
v9.5.4 (November 27, 2019)
- Rails APM: fixed bug when client sends a request that couldn't be tied to a certain route (#1032)
v9.5.3 (November 27, 2019)
- Fixed
uninitialized constant Airbrake::Rails::App
(#1030)
v9.5.2 (November 26, 2019)
- Rails: fixed engine support for routes which became broken since v9.5.1 (#1028)
v9.5.1 (November 25, 2019)
- Rails: Stopped including the
after_commit
ActiveRecord patch for Rails versions above 4.2 (because they are irrelevant ant cause buggy behaviour) (#1023) - Rails: improved support for route aliases. Fixed bug where an aliased route would be reported as two separate routes. Now it is recognized as the same route (#1026)
v9.5.0 (October 23, 2019)
- Started depending on airbrake-ruby
v4.8.0 and
higher (#1016)
This update enables
query_stats
by default.
v9.4.5 (October 3, 2019)
- Fixed duplicate APM data that we used to send in Rails apps for some controller actions (#1013)
- Memory usage improvements (#1012)
- Started depending on airbrake-ruby v4.7.0 and higher (#1015)
v9.4.4 (September 18, 2019)
-
Fixed broken
bundle exec rake airbrake:deploy
(#1003) -
Introduced
Airbrake::Rails.logger
, which replaces the old way of configuring Rails apps. The logging setup becomes as simple as (#1003):c.logger = Airbrake::Rails.logger
-
Exceptions occurring in
current_user
no longer crash the library (#1007) -
Rails controller helpers started supporting the block argument for notifying (#1010)
v9.4.3 (August 8, 2019)
- Rails: report unauthorized requests properly. Instead of 0 HTTP code the library sends 401 now (#997)
v9.4.2 (August 7, 2019)
- Rails: engine routes are now being marked with the engine name prefix (#997)
v9.4.1 (August 5, 2019)
- Started depending on airbrake-ruby v4.6.0 and higher (#995)
- Disabled SQL query collection by default because it's in alpha (#995)
v9.4.0 (July 29, 2019)
-
Added the new
max_retries
optional parameter toAirbrake::Sidekiq::RetryableJobsFilter
:Airbrake::Sidekiq::RetryableJobsFilter.new(max_retries: 10)
It configures the amount of allowed job retries that won't trigger an Airbrake notification. After it's exhausted, Airbrake will start sending errors again (#979)
-
Rails: started logging to
airbrake.log
by default. This affects only new Rails apps. Apps that already use Airbrake have to update the logger manually (not mandatory). Please consult README for instructions (#986) -
Added support for
RAILS_LOG_TO_STDOUT
. This variable redirects all Airbrake logging to STDOUT, despite the configured logger (#986)
v9.3.0 (June 25, 2019)
- Fixed
notice.stash[:rack_request]
not being attached for exceptions that are reported through Rack environment (such asrack.exception
) (#977) - Fixed
Sidekiq RetryableJobsFilter
whenjob['retry_count']
isnil
(which happens the first time a job fails) (#980) - Started depending on airbrake-ruby
v4.5.0 and
higher (#982).
IMPORTANT: in this update we enabled
performance_stats
by default. If you wish to disable it, setconfig.performance_stats = false
(#485)
v9.2.2 (May 10, 2019)
-
Rails: started attaching Rack request and User info to the metric object, which is accessible through performance hooks:
Airbrake.add_performance_filter do |metric| if metric.stash.key?(:user) # custom logic end end
v9.2.1 (May 1, 2019)
- Added the ability to provide a custom optional label for
Airbrake::Rack::Instrumentable#airbrake_capture_timing
(#968)
v9.2.0 (April 30, 2019)
- Rails: added support for Curb for HTTP performance breakdown (#957)
- Rails: added support for Excon for HTTP performance breakdown (#958)
- Rails: added support for http.rb for HTTP performance breakdown (#959)
- Rails: added support for HTTPClient for HTTP performance breakdown (#960)
- Rails: added support for Typhoeus for HTTP performance breakdown (#961)
- Added
Airbrake::Rack.capture_timing
andAirbrake::Rack::Instrumentable
for manual performance measurements (#965)
v9.1.0 (April 17, 2019)
- Rails: added HTTP performance breakdown (
Net::HTTP
support only) (#955)
v9.0.2 (April 8, 2019)
- Delete
Airbrake::Rack.add_default_filters
(#951)
v9.0.1 (April 4, 2019)
- Started treating
*/*
response type as:html
inActionControllerPerformanceBreakdownSubscriber
(#949)
v9.0.0 (March 29, 2019)
- Fixed
NoMethodError
inroute_filter.rb
on 404 in Sinatra apps (#939) - Stopped loading Rails performance hooks for apps that don't use performance stats (#942)
- Stopped loading default Rack filters for Sinatra & Rack integrations (Rails is
not affected). You must load them manually after you
configure
your notifier with help ofAirbrake::Rack.add_default_filters
. Please refer to the README (#942) - Started depending on airbrake-ruby v4.2.0 and higher (#946)
v8.3.2 (March 12, 2019)
- Fixed the Rails performance breakdown hook not maintaining performance precision (#936)
- Fix Rails performance breakdown not being sent if one of the groups is zero (#935)
v8.3.1 (March 11, 2019)
- Fixes
TypeError
in theActionControllerPerformanceBreakdownSubscriber
when it tries to passnil
as adb
orview
value (#932)
v8.3.0 (March 11, 2019)
- Added
ActionCable
integration (#926, #896) - Added
ActionControllerPerformanceBreakdownSubscriber
(#929) - Fixed broken Rails integration for apps that don't use ActiveRecord (#924)
v8.2.1 (March 4, 2019)
- Fix
NoMethodError
inActiveRecordSubscriber
when a caller of SQL query cannot be defined (#920)
v8.2.0 (March 4, 2019)
- Started depending on airbrake-ruby v4.1.0 and higher (#915)
ActiveRecordSubscriber
started attaching file/line/func information to queries (#913)
v8.1.4 (February 19, 2019)
- Fixed
ActionControllerRouteSubscriber
trying to track routeless events, which results into aNoMethodError
(#907)
v8.1.3 (February 19, 2019)
- Fixed
can't add a new key into hash during iteration
coming from ActionControllerRouteSubscriber (#905) - Fixed Logger integration not respecting level of the logger that is being wrapped (#903)
v8.1.2 (February 14, 2019)
- Fixed performance stats not being sent (#901)
v8.1.1 (February 14, 2019)
- Fixed
uninitialized constant Airbrake::Rack::Middleware::ActiveRecord
for apps that don't use ActiveRecord (#899)
v8.1.0 (February 12, 2019)
- Fixed warning coming from our middleware when using with Rails 6 (#893)
- Started depending on airbrake-ruby v3.2 and higher (#897)
- Started sending SQL queries to Airbrake (#892)
v8.0.1 (January 23, 2019)
- Moved user extraction logic from
Airbrake::Rack::ContextFilter
toAirbrake::Rack::UserFilter
. This allows you writing your ownUserFilter
implementation (if you are not satisfied with the default one): step 1 is to delete the default filter by means ofAirbrake.delete_filter
, step 2 is toadd_filter(BetterUserFilter.new)
(#890)
v8.0.0 (January 16, 2019)
v8.0.0.rc.9 (December 3, 2018)
- Bumped minimum requirement for airbrake-ruby to v3.0.0.rc.9 or higher (#881)
v8.0.0.rc.8 (November 21, 2018)
- Fixed bug when routes that raise exceptions would sometimes return 0 as their
status_code
. Such routes return 500 now (#878)
v8.0.0.rc.7 (November 16, 2018)
- Fixed route reporting for routes that raise errors(#876)
v8.0.0.rc.6 (November 12, 2018)
- Updated Request API to support latest changes in Airbrake Ruby (#874)
v8.0.0.rc.5 (November 6, 2018)
- Started depending on (airbrake-ruby-3.0.0.rc.5)
v8.0.0.rc.4 (November 6, 2018)
- Started depending on airbrake-ruby-3.0.0.rc.4 (#872)
v8.0.0.rc.3 (November 6, 2018)
- Started depending on airbrake-ruby-3.0.0.rc.3 (#871)
v8.0.0.rc.2 (October 30, 2018)
- Started depending on airbrake-ruby-3.0.0.rc.2 (#868)
v7.5.0.pre.1 (October 26, 2018)
- Added support for route stats for Rails, Sinatra & Rack (#866)
v7.4.0 (October 11, 2018)
- Started depending on airbrake-ruby-2.12.0 (#861)
v7.3.5 (August 9, 2018)
- Fixed overwriting
notice[:params]
in the Rake and ActiveJob integrations (#859)
v7.3.4 (June 14, 2018)
- Fixed SystemStackError in the Sneakers integration (#852)
v7.3.3 (May 11, 2018)
- Fixed Resque failure when the first item in payload args is not a hash (#846)
v7.3.2 (May 8, 2018)
- Fixed
can't modify frozen Hash
error when using the Rack/Rails integration along withDependencyFilter
from airbrake-ruby (#847)
v7.3.1 (May 4, 2018)
- Rack/Rails/Sinatra integrations started attaching their versions to
context/versions
(wascontext/version
) (#843)
v7.3.0 (April 25, 2018)
- New Sidekiq feature: added a filter that ignores error reporting until the last try (#831)
v7.2.1 (January 29, 2018)
- Fixed support for Rails API/Metal (#822)
v7.2.0 (January 10, 2018)
- Added support for Sneakers error handling (#817)
v7.1.1 (December 13, 2017)
- Better fix for apps which don't use ActiveRecord. In some scenarios some pieces of ActiveRecord may still be loaded, e.g. the ActiveRecord errors, causing airbrake to still fail to startup. (#810)
v7.1.0 (October 20, 2017)
- Started depending on airbrake-ruby-2.5.0 (#807)
v7.0.3 (October 12, 2017)
- Fix URL port reporting for Rails apps running through SSL (#803)
v7.0.2 (September 29, 2017)
- Fixed Sidekiq error
no implicit conversion of String into Integer
when ActiveJob is not used (#799)
v7.0.1 (September 26, 2017)
- Fixed error message for
rake airbrake:test
when current environment is ignored (#796) - Fixed
undefined local variable or method 'username'
for the Capistrano 2 integration (#797)
v7.0.0 (September 21, 2017)
- Deleted deprecated require paths for Capistrano, DelayedJob, Logger, Rails, Rake, Resque, Shoryuken & Sidekiq integrations (#792)
v6.3.0 (September 20, 2017)
- Deprecated requiring
airbrake/capistrano/tasks
in favour ofairbrake/capistrano
(#778) - Port the
airbrake_env
variable to Capistrano 2 integration from airbrake v4 (#784) - Fixed
NameError: uninitialized constant Airbrake::Rails::ActiveRecord::ConnectionAdapters
(#780) - Fixed duplicate errors for ActiveJob integration (#789)
- Started depending on airbrake-ruby-2.4.0 (#790)
v6.2.1 (July 15, 2017)
- Fixed the
airbrake:deploy
Rake task (#769)
v6.2.0 (July 8, 2017)
- Started depending on airbrake-ruby-2.3.0 (#764)
- Fixed Rake integration not reporting test errors or deploys in plain Ruby projects (#763)
v6.1.2 (June 15, 2017)
- Fixed Rails config generation on Ruby 2.1 (#753)
- Added support for
context/userAddr
(#756) - Fixed Rack integration support for user fields with required parameters (#755)
v6.1.1 (May 23, 2017)
- Fixed
airbrake:deploy
Rake task not reporting deploys (#746)
v6.1.0 (May 11, 2017)
- Started depending on airbrake-ruby-2.2.3 (#741)
v6.1.0.rc.1 (May 10, 2017)
- Started appending HTTP request info (method, headers & referer) from Rack to
the
context
hash instead of theenvironment
hash (#703) - Fixed Rack integration overriding
notice[:params]
(#716) - Started depending on airbrake-ruby-2.2.0 (#724)
- Deprecated requiring
airbrake/delayed_job/plugin
in favour ofairbrake/delayed_job
(#719) - Deprecated requiring
airbrake/logger/airbrake_logger
in favour ofairbrake/logger
(#719) - Deprecated requiring
airbrake/rails/railtie
in favour ofairbrake/railtie
(#719) - Deprecated requiring
airbrake/rake/task_ext
in favour ofairbrake/rake
(#719) - Deprecated requiring
airbrake/resque/failure
in favour ofairbrake/resque
(#719) - Deprecated requiring
airbrake/shoryuken/error_handler
in favour ofairbrake/shoryuken
(#719) - Deprecated requiring
airbrake/sidekiq/error_handler
in favour ofairbrake/sidekiq
(#719) - Fixed
airbrake:deploy
task raisingAirbrakeError
when Rails:environment
is already required by some other task (#721)
v6.0.0 (March 21, 2017)
- IMPORTANT: removed
Airbrake.add_rack_builder
deprecated in v5.7.0.rc.1 (#698) - Started always closing the default notifier to stop losing exceptions occurring in Rake & Resque integrations (#695)
- Started depending on airbrake-ruby-2.0.0 (#699)
v5.8.1 (March 2, 2017)
- Fixed
NoMethodError
when initializing the Rack integration without a configured notifier (#692)
v5.8.0 (March 2, 2017)
- Added a mention of the Logger integration to the Rails initializer (#688)
v5.8.0.rc.3 (March 1, 2017)
- Fixed user reporting in the Rails integration, when
current_user
is a private method (#684) - Completely refatored the Logger integration. It no longer monkey-patches
Logger
. There's also no need torequire
it. It stopped supporting loglevels belowLogger::WARN
(#685)
v5.8.0.rc.2 (February 27, 2017)
- Fixed Rails controller helper methods throwing
NameError
(#681)
v5.8.0.rc.1 (February 27, 2017)
- IMPORTANT: added Shoryuken integration (#669)
- IMPORTANT: added Logger integration (#674)
- Started depending on airbrake-ruby-1.8.0
v5.7.1 (February 10, 2017)
- Fixed version reporting for Rack applications with Rails-related dependencies (#660)
- Fixed unwanted exceptions for Sidekiq, DelayedJob & Resque when Airbrake is unconfigured (#665)
v5.7.0 (January 26, 2017)
- Included
Airbrake::Rack::RequestBodyFilter
to the Rails config generator (commented by default) (#658)
v5.7.0.rc.1 (January 24, 2017)
- IMPORTANT: support for Ruby 1.9.2, 1.9.3 & JRuby (1.9-mode) is dropped (#646)
- IMPORTANT: deprecated
Airbrake.add_rack_builder
public method call (#651) - Read up to 4096 bytes from Rack request's body (increased from 512) (#627)
- Fixed unwanted authentication when calling
current_user
, when Warden is present (#643) - Started depending on airbrake-ruby-1.7.0
- Stopped collecting HTTP request bodies by default, which started happening
since v5.6.1. Due to security concerns we now make
this behaviour optional. Users who need this information can use a new
predefined filter called
Airbrake::Rack::RequestFilter
(#654)
v5.6.1 (October 24, 2016)
- Fixed Rails bug with regard to the
current_user
method signature having parameters, while the library expected none (#619) - Started collecting HTTP request body for Rack compliant apps (#624)
v5.6.0 (October 18, 2016)
- Added support for multiple notifiers for Rack middleware (#515)
- Started depending on airbrake-ruby-1.6.0
v5.5.0 (September 14, 2016)
- Started depending on airbrake-ruby-1.5.0
v5.4.5 (August 23, 2016)
- Fixed possible SystemStackError when using ActiveJob integration (#593)
v5.4.4 (August 10, 2016)
- IMPORTANT: fixed ActiveJob integration not re-raising exceptions, which resulted into marking failed jobs as successfully completed (#591)
- Fixed Rails runner integration not reporting errors (#585)
- Fixed bug with the enum_field gem
raising errors in Rails apps due to constant names collision. As the result,
the library does not leak
MyModel::KINDS
constants for every Rails model (#588)
v5.4.3 (July 22, 2016)
- IMPORTANT: Fixed support for apps, which don't use ActiveRecord. In v5.4.2 it broke, so it's recommended to upgrade to the current version (or use v5.4.1 instead) (#580)
v5.4.2 (July 15, 2016)
- Fixed Heroku deploy hook error when parsing variables containing
=
(#577)
v5.4.1 (June 21, 2016)
- Fixed Capistrano 3 bug when system has conflicting Rake versions, which would
raise
Gem::LoadError
(#564)
v5.4.0 (June 6, 2016)
- Started depending on airbrake-ruby-1.4.0
v5.3.0 (May 11, 2016)
- Fixed bug in the ActiveJob+Resque integration, where the gem couldn't report any exceptions (#542)
- Started depending on airbrake-ruby-1.3.0 (#548)
v5.2.3 (April 5, 2016)
- Fixed bug in the Rake integration where it couldn't display error message coming from the API (#536)
v5.2.2 (March 24, 2016)
- Fixed grouping for the ActiveJob integration (#533)
v5.2.1 (March 21, 2016)
- Quickfix: updated the Rails generator to use the newer Blacklisting/Whitelisting API (#530)
v5.2.0 (March 21, 2016)
- IMPORTANT: depended on airbrake-ruby-1.2.0
- Fixed bug when trying to send a test exception with help of the Rake task results in an error due to the current environment being ignored (#523)
- Added support for reporting critical exceptions that terminate the process. This bit of functionality was moved from airbrake-ruby (#526)
v5.1.0 (February 29, 2016)
- Fixed Rake integration sometimes not reporting errors (#513)
- Added a way to attach custom information to notices from Rack requests (#517)
- Added support for Goliath apps (fixes regression from Airbrake v4) (#519)
v5.0.5 (February 9, 2016)
- Fixes issue in the Rack integration when
current_user
isnil
and we try to build from it (#501) - Improve the Rack integration by attaching more useful debugging information such as HTTP headers and HTTP methods (#499)
v5.0.4 (February 2, 2016)
- Set RACK_ENV and RAILS_ENV in Capistrano 2 integration (#489)
- Removed the hostname information from the Rack integration because the new
airbrake-ruby
sends it by default (#495)
v5.0.3 (January 19, 2016)
- Improved RubyMine support (#469)
- Added better support for user reporting for Rails applications (including OmniAuth support) (#466)
- Fixed the Capistrano 2 integration, which was not working at all (#475)
v5.0.2 (January 3, 2016)
- Fixed the bug when Warden user is
nil
(#455)
v5.0.1 (December 21, 2015)
- Fixed Migration Guide discrepancies with regard to Resque and Capistrano
- Using the Capistrano 3 integration, made Airbrake notify of deployments only from primary server (#433)
v5.0.0 (December 18, 2015)
- Minor styling/docs tweaks. No bugs were discovered.
v5.0.0.rc.1 (December 11, 2015)
- Version 5 is written from scratch. For the detailed review of the changes see docs/Migration_guide_from_v4_to_v5
- For the changes made before v5.0.0, see docs/CHANGELOG-pre-v5.