Skip to content

Releases: getsentry/sentry-ruby

5.22.1

16 Dec 10:53
Compare
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
Compare
Choose a tag to compare

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
Compare
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
Compare
Choose a tag to compare

Bug Fixes

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

5.20.0

27 Sep 20:02
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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