Skip to content

Latest commit

 

History

History
211 lines (143 loc) · 10.5 KB

CHANGELOG.md

File metadata and controls

211 lines (143 loc) · 10.5 KB

4.8.0

Features

  • Support exception frame's local variable capturing

    Example:

    locals capturing

    To enable this feature, you need to set config.capture_exception_frame_locals to true:

    Sentry.init do |config|
      config.capture_exception_frame_locals = true # default is false
    end

    This feature should only introduce negligible performance overhead in most Ruby applications. But if you notice obvious performance regression, please file an issue and we'll investigate it.

  • Support ActiveStorage spans in tracing events #1588

  • Support Sidekiq Tags in Sentry #1596

  • Add Client Reports to collect dropped event statistics #1604

    This feature reports statistics about dropped events along with sent events (so no additional requests made). It'll help Sentry improve SDKs and features like rate-limiting. This information will not be visible to users at the moment, but we're planning to add this information to user-facing UI.

    If you don't want to send this data, you can opt-out by setting config.send_client_reports = false.

Bug Fixes

  • Connect Sidekiq's transaction with its parent when possible #1590
  • Use nil instead of false to disable callable settings #1594
  • Avoid duplicated sampling on Transaction events #1601
  • Remove verbose data from #inspect result #1602

Refactoring

  • Move Sentry::Rails::CaptureExceptions before ActionDispatch::ShowExceptions #1608
  • Refactor Sentry::Configuration #1595
  • Tracing subscribers should be multi-event based #1587

Miscellaneous

  • Start Testing Against Rails 7.0 #1581

4.7.3

  • Avoid leaking tracing timestamp to breadcrumbs #1575
  • Avoid injecting tracing timestamp to all ActiveSupport instrument events #1576
  • Hub#capture_message should check its argument's type #1577

4.7.2

  • Change default environment to 'development' #1565
  • Re-position RescuedExceptionInterceptor middleware #1564

4.7.1

Bug Fixes

  • Send events when report_after_job_retries is true and a job is configured with retry: 0 #1557

4.7.0

Features

  • Add monotonic_active_support_logger #1531
  • Support after-retry reporting to sentry-sidekiq #1532
  • Generate Security Header Endpoint with Sentry.csp_report_uri from dsn #1507
  • Allow passing backtrace into Sentry.capture_message #1550

Bug Fixes

  • Check sentry-rails before injecting ActiveJob skippable adapters #1544
  • Don't apply Scope's transaction name if it's empty #1546
  • Don't start Sentry::SendEventJob's transaction #1547
  • Don't record breadcrumbs in disabled environments #1549
  • Scrub header values with invalid encoding #1552
  • Fix mismatched license info. New SDK gems' gemspecs specified APACHE-2.0 while their LICENSE.txt was MIT. Now they both are MIT.

4.6.5

  • SDK should drop the event when any event processor returns nil #1523
  • Add severity as sentry_logger's breadcrumb hint #1527
  • Refactor sentry-ruby.rb and add comments #1529

4.6.4

  • Extend Rake with a more elegant and reliable way #1517

4.6.3

  • Silence some ruby warnings #1504
  • Silence method redefined warnings #1513
  • Correctly pass arguments to a rake task #1514

4.6.2

  • Declare resque as sentry-resque's dependency #1503
  • Declare delayed_job and sidekiq as integration gem's dependency #1506
  • DSN#server shouldn't include path #1505
  • Fix sentry-rails' backtrace_cleanup_callback injection #1510
  • Disable background worker when executing rake tasks #1509

4.6.1

  • Use ActiveSupport Lazy Load Hook to Apply ActiveJob Extension #1494
  • Fix Sentry::Utils::RealIP not filtering trusted proxies when part of IP subnet passed as IPAddr to trusted_proxies. #1498

4.6.0

Features

  • Add sentry-resque #1476
  • Add tracing support to sentry-resque #1480
  • Set user to the current scope via sidekiq middleware #1469
  • Add tracing support to sentry-delayed_job #1482

IMPORTANT

If your application processes a large number of background jobs and has tracing enabled, it is recommended to check your traces_sampler (or switch to traces_sampler) and give the background job operations a smaller rate:

Sentry.init do |config|
  config.traces_sampler = lambda do |sampling_context|
    transaction_context = sampling_context[:transaction_context]
    op = transaction_context[:op]

    case op
    when /request/
      # sampling for requests
      0.1
    when /delayed_job/ # or resque
      0.001 # adjust this value
    else
      0.0 # ignore all other transactions
    end
  end
end

This is to prevent the background job tracing consumes too much of your transaction quota.

Bug Fixes

4.5.2

Refactoring

  • Remove redundant files #1477

Bug Fixes

  • Disable release detection when SDK is not configured to send events #1471

4.5.1

Bug Fixes

  • Remove response from breadcrumb and span #1463
    • Fixes the issue mentioned in this comment
  • Correct the timing of loading ActiveJobExtensions #1464
  • Limit breadcrumb's message length #1465

4.5.0

Features

  • Implement sentry-trace propagation #1446

The SDK will insert the sentry-trace to outgoing requests made with Net::HTTP. Its value would look like d827317d25d5420aa3aa97a0257db998-57757614642bdff5-1.

If the receiver service also uses Sentry and the SDK supports performance monitoring, its tracing event will be connected with the sender application's.

Example:

connect sentry trace

This feature is activated by default. But users can use the new config.propagate_traces config option to disable it.

  • Add configuration option skip_rake_integration #1453

With this new option, users can skip exceptions reported from rake tasks by setting it true. Default is false.

Bug Fixes

  • Allow toggling background sending on the fly #1447
  • Disable background worker for runner mode #1448