Skip to content

Releases: getsentry/sentry-ruby

5.22.1

16 Dec 10:53

Choose a tag to compare

Bug Fixes

  • Safe-navigate to session flusher #2396
  • Fix latency related nil error for Sidekiq Queues Module span data #2486

5.22.0

04 Dec 14:45

Choose a tag to compare

⚠️ Support for Queues tracking for ActiveJob required changing 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_event matcher 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_id and 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_pii handling in rails controller spans #2443
  • Fix RescuedExceptionInterceptor to handle an empty configuration #2428
  • Add mutex sync to SessionFlusher aggregates #2469
  • Fix sentry-rails' backtrace cleaner issues (#2475)

5.21.0

07 Oct 13:04

Choose a tag to compare

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 add vernier to your Gemfile and make sure it is loaded before sentry-ruby.

    # Gemfile
    
    gem 'vernier'
    gem 'sentry-ruby'

    Then, set a profiles_sample_rate and the new profiler_class configuration 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

  • Profile items have bigger size limit now (#2421)
  • Consistent string freezing (#2422)

5.20.1

27 Sep 21:29

Choose a tag to compare

Bug Fixes

  • Skip rubocop.yml in spec.files (#2420)

5.20.0

27 Sep 20:02

Choose a tag to compare

  • Add support for $SENTRY_DEBUG and $SENTRY_SPOTLIGHT (#2374)
  • Support human readable intervals in sidekiq-cron (#2387)
  • Set default app dirs pattern (#2390)
  • Add new strip_backtrace_load_path boolean config (default true) to enable disabling load path stripping (#2409)

Bug Fixes

  • Fix error events missing a DSC when there's an active span (#2408)
  • Verifies presence of client before adding a breadcrumb (#2394)
  • Fix Net:HTTP integration for non-ASCII URI's (#2417)
  • Prevent Hub from having nil scope and client (#2402)

5.19.0

13 Aug 14:35

Choose a tag to compare

Features

  • Use Concurrent.available_processor_count instead of Concurrent.usable_processor_count (#2358)

  • Support for tracing Faraday requests (#2345)

    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)

  • 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 connect spans in open-telemetry #2364

5.18.2

23 Jul 15:53

Choose a tag to compare

Bug Fixes

  • Don't overwrite ip_address if already set on user #2350
  • teardown_sentry_test helper should clear global even processors too (#2342)
  • Suppress the unnecessary “unsupported options notice” (#2349)

Internal

  • Use Concurrent.usable_processor_count when it is available (#2339)
  • Report dropped spans in Client Reports (#2346)

5.18.1

02 Jul 16:21

Choose a tag to compare

Bug Fixes

  • Drop Gem::Specification's usage so it doesn't break bundler standalone (#2335)

5.18.0

25 Jun 12:57

Choose a tag to compare

Features

  • Add generator for initializer generation (#2286)

    Rails users will be able to use bin/rails generate sentry to generate their config/initializers/sentry.rb file.

  • Notify users when their custom options are discarded (#2303)

  • Add a new :graphql patch to automatically enable instrumenting GraphQL spans (#2308)

    Usage:

    Sentry.init do |config|
      # ...
      config.enabled_patches += [:graphql]
    end
  • Add Sentry.get_trace_propagation_meta helper 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_event options #2301
  • Decrease the default number of background worker threads by half (#2305)
  • Don't mutate enabled_environments when using Sentry::TestHelper (#2317)
  • Don't use array for transaction names and sources on scope (#2324)
    • Fixes #2257
    • BREAKING This removes the internal scope.transaction_names method, please use scope.transaction_name instead

Internal

  • Add origin to spans and transactions to track integration sources for instrumentation (#2319)

5.17.3

11 Apr 16:25

Choose a tag to compare

Internal

  • Update key, unit and tags sanitization logic for metrics #2292
  • Consolidate client report and rate limit handling with data categories #2294
  • Record :network_error client reports for send_envelope #2295

Bug Fixes

  • Make sure isolated envelopes respect config.enabled_environments #2291