Releases: getsentry/sentry-ruby
5.22.1
5.22.0
op in transaction context from "queue.sidekiq" to "queue.process". If you rely on this value (e.g. for sampling as described here), then you need to update your configuration accordingly.
Features
-
Add
include_sentry_eventmatcher for RSpec #2424 -
Add support for Sentry Cache instrumentation, when using Rails.cache #2380
-
Add support for Queue Instrumentation for Sidekiq. #2403
-
Add support for string errors in error reporter (#2464)
-
Reset
trace_idand add root transaction for sidekiq-cron #2446 -
Add support for Excon HTTP client instrumentation (#2383)
Note: MemoryStore and FileStore require Rails 8.0+
Bug Fixes
- Fix Vernier profiler not stopping when already stopped #2429
- Fix
send_default_piihandling in rails controller spans #2443- Fixes #2438
- Fix
RescuedExceptionInterceptorto handle an empty configuration #2428 - Add mutex sync to
SessionFlusheraggregates #2469- Fixes #2468
- Fix sentry-rails' backtrace cleaner issues (#2475)
- Fixes #2472
5.21.0
Features
-
Experimental support for multi-threaded profiling using Vernier (#2372)
You can have much better profiles if you're using multi-threaded servers like Puma now by leveraging Vernier.
To use it, first addvernierto yourGemfileand make sure it is loaded beforesentry-ruby.# Gemfile gem 'vernier' gem 'sentry-ruby'
Then, set a
profiles_sample_rateand the newprofiler_classconfiguration in your sentry initializer to use the new profiler.# config/initializers/sentry.rb Sentry.init do |config| # ... config.profiles_sample_rate = 1.0 config.profiler_class = Sentry::Vernier::Profiler end
Internal
5.20.1
5.20.0
5.19.0
Features
-
Use
Concurrent.available_processor_countinstead ofConcurrent.usable_processor_count(#2358) -
Support for tracing Faraday requests (#2345)
- Closes #1795
- Please note that the Faraday instrumentation has some limitations in case of async requests: lostisland/faraday#1381
- lostisland/faraday#1381
Usage:
Sentry.init do |config| # ... config.enabled_patches << :faraday end
-
Support for attachments (#2357)
Usage:
Sentry.add_attachment(path: '/foo/bar.txt') Sentry.add_attachment(filename: 'payload.json', bytes: '{"value": 42}'))
-
Transaction data are now included in the context (#2365)
- Closes #2364
-
Inject Sentry meta tags in the Rails application layout automatically in the generator (#2369)
To turn this behavior off, use
bin/rails generate sentry --inject-meta false
Bug Fixes
- Fix skipping
connectspans in open-telemetry #2364
5.18.2
5.18.1
5.18.0
Features
-
Add generator for initializer generation (#2286)
Rails users will be able to use
bin/rails generate sentryto generate theirconfig/initializers/sentry.rbfile. -
Notify users when their custom options are discarded (#2303)
-
Add a new
:graphqlpatch to automatically enable instrumenting GraphQL spans (#2308)Usage:
Sentry.init do |config| # ... config.enabled_patches += [:graphql] end
-
Add
Sentry.get_trace_propagation_metahelper for injecting meta tags into views (#2314) -
Add query source support to
sentry-rails(#2313)The feature is only activated in apps that use Ruby 3.2+ and Rails 7.1+. By default only queries that take longer than 100ms will have source recorded, which can be adjusted by updating the value of
config.rails.db_query_source_threshold_ms. -
Log envelope delivery message with debug instead of info (#2320)
Bug Fixes
- Don't throw error on arbitrary arguments being passed to
capture_eventoptions #2301- Fixes #2299
- Decrease the default number of background worker threads by half (#2305)
- Fixes #2297
- Don't mutate
enabled_environmentswhen usingSentry::TestHelper(#2317) - Don't use array for transaction names and sources on scope (#2324)
- Fixes #2257
- BREAKING This removes the internal
scope.transaction_namesmethod, please usescope.transaction_nameinstead
Internal
- Add
originto spans and transactions to track integration sources for instrumentation (#2319)