sentry-rails 5.20.1 → 5.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +27 -23
  3. data/Rakefile +2 -0
  4. data/app/jobs/sentry/send_event_job.rb +2 -0
  5. data/bin/console +1 -0
  6. data/lib/generators/sentry_generator.rb +2 -0
  7. data/lib/sentry/rails/action_cable.rb +3 -1
  8. data/lib/sentry/rails/active_job.rb +4 -2
  9. data/lib/sentry/rails/background_worker.rb +2 -0
  10. data/lib/sentry/rails/backtrace_cleaner.rb +7 -7
  11. data/lib/sentry/rails/breadcrumb/active_support_logger.rb +2 -0
  12. data/lib/sentry/rails/breadcrumb/monotonic_active_support_logger.rb +2 -0
  13. data/lib/sentry/rails/capture_exceptions.rb +4 -2
  14. data/lib/sentry/rails/configuration.rb +4 -0
  15. data/lib/sentry/rails/controller_methods.rb +2 -0
  16. data/lib/sentry/rails/controller_transaction.rb +7 -3
  17. data/lib/sentry/rails/engine.rb +2 -0
  18. data/lib/sentry/rails/error_subscriber.rb +16 -1
  19. data/lib/sentry/rails/instrument_payload_cleanup_helper.rb +2 -0
  20. data/lib/sentry/rails/overrides/streaming_reporter.rb +2 -0
  21. data/lib/sentry/rails/railtie.rb +2 -0
  22. data/lib/sentry/rails/rescued_exception_interceptor.rb +12 -1
  23. data/lib/sentry/rails/tracing/abstract_subscriber.rb +2 -0
  24. data/lib/sentry/rails/tracing/action_controller_subscriber.rb +4 -2
  25. data/lib/sentry/rails/tracing/action_view_subscriber.rb +4 -2
  26. data/lib/sentry/rails/tracing/active_storage_subscriber.rb +4 -2
  27. data/lib/sentry/rails/tracing/active_support_subscriber.rb +63 -0
  28. data/lib/sentry/rails/tracing.rb +2 -0
  29. data/lib/sentry/rails/version.rb +3 -1
  30. data/lib/sentry/rails.rb +2 -0
  31. data/lib/sentry-rails.rb +2 -0
  32. data/sentry-rails.gemspec +3 -1
  33. metadata +11 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f224892c221e7a3250fb8b51f7484699ce5e927e4d4bb6e757c0bd5dc232c3d
4
- data.tar.gz: 5dd2b6914d7bdee52f83bfbcaf12d56b7044cd25fda0ef2d9ca736553254a306
3
+ metadata.gz: 8bedf276549ddb2522027c7c8de8cfcecae915f5760fef3057d47512533ead95
4
+ data.tar.gz: 37b3bfa86da3eea8f64d8d55142358ee7fcc3ad3e6f468751cd26eed81967e2a
5
5
  SHA512:
6
- metadata.gz: 536c8d9aa4c7e16c23452cd4e7ee675c5a7f1740567f0f99a806f5b2ae57721f4ffeced8e4430a43008bacc7921cfad827ae21efc99c5b901d1c6479975d1ab3
7
- data.tar.gz: d7e621b58c24bbee5b7559ab81b5b12230af0ca3a01947107e76fa0dc6f11d804e2a1673cdde660e9304e81b3674f2d3574dc31909b5e03a82e7560555907b5f
6
+ metadata.gz: 7d91f74cc7780297d352c28da1f631aaf6cc68f2121c23996e4e76e82f747f2ee10ffd95744a03926752fe2a46491c9600e2aef84552940d9a8a98638ffad7ff
7
+ data.tar.gz: d150984b74034e144df813124c21d9f21e41fab9ef66c176626d856e45f5ae2d610a2470ec65de22a5d44dfb25cf42484241ad071efdd7350ca7e5429baa403b
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
  git_source(:github) { |name| "https://github.com/#{name}.git" }
3
5
 
@@ -10,40 +12,38 @@ platform :jruby do
10
12
  gem "jdbc-sqlite3"
11
13
  end
12
14
 
15
+ ruby_version = Gem::Version.new(RUBY_VERSION)
16
+
13
17
  rails_version = ENV["RAILS_VERSION"]
14
- rails_version = "7.1.0" if rails_version.nil?
18
+ rails_version = "8.0.0" if rails_version.nil?
15
19
  rails_version = Gem::Version.new(rails_version)
16
20
 
17
- if rails_version < Gem::Version.new("6.0.0")
18
- gem "sqlite3", "~> 1.3.0", platform: :ruby
19
- else
20
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.7.0")
21
- gem "sqlite3", "~> 1.7.3", platform: :ruby
22
- else
23
- gem "sqlite3", "~> 1.6.9", platform: :ruby
24
- end
25
- end
21
+ gem "rails", "~> #{rails_version}"
26
22
 
27
- if rails_version >= Gem::Version.new("8.0.0.alpha")
28
- gem "rails", github: "rails/rails"
23
+ if rails_version >= Gem::Version.new("8.0.0")
29
24
  gem "rspec-rails"
25
+ gem "sqlite3", platform: :ruby
30
26
  elsif rails_version >= Gem::Version.new("7.1.0")
31
- gem "rails", "~> #{rails_version}"
32
27
  gem "rspec-rails"
28
+ gem "sqlite3", "~> 1.7.3", platform: :ruby
29
+ elsif rails_version >= Gem::Version.new("6.1.0")
30
+ gem "rspec-rails", "~> 4.0"
31
+
32
+ if ruby_version >= Gem::Version.new("2.7.0")
33
+ gem "sqlite3", "~> 1.7.3", platform: :ruby
34
+ else
35
+ gem "sqlite3", "~> 1.6.9", platform: :ruby
36
+ end
33
37
  else
34
38
  gem "rspec-rails", "~> 4.0"
35
- gem "rails", "~> #{rails_version}"
36
39
  gem "psych", "~> 3.0.0"
37
- end
38
-
39
- gem "mini_magick"
40
-
41
- gem "sprockets-rails"
42
-
43
- gem "sidekiq"
44
40
 
45
-
46
- ruby_version = Gem::Version.new(RUBY_VERSION)
41
+ if rails_version >= Gem::Version.new("6.0.0")
42
+ gem "sqlite3", "~> 1.4.0", platform: :ruby
43
+ else
44
+ gem "sqlite3", "~> 1.3.0", platform: :ruby
45
+ end
46
+ end
47
47
 
48
48
  if ruby_version < Gem::Version.new("2.5.0")
49
49
  # https://github.com/flavorjones/loofah/pull/267
@@ -51,6 +51,10 @@ if ruby_version < Gem::Version.new("2.5.0")
51
51
  gem "loofah", "2.20.0"
52
52
  end
53
53
 
54
+ gem "mini_magick"
55
+
56
+ gem "sprockets-rails"
57
+
54
58
  gem "benchmark-ips"
55
59
  gem "benchmark_driver"
56
60
  gem "benchmark-ipsa"
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rspec/core/rake_task"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  if defined?(ActiveJob)
2
4
  module Sentry
3
5
  parent_job =
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "bundler/setup"
4
5
  require "sentry/ruby"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/base"
2
4
 
3
5
  class SentryGenerator < ::Rails::Generators::Base
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module ActionCableExtensions
4
6
  class ErrorHandler
5
- OP_NAME = "websocket.server".freeze
7
+ OP_NAME = "websocket.server"
6
8
  SPAN_ORIGIN = "auto.http.rails.actioncable"
7
9
 
8
10
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module ActiveJobExtensions
@@ -16,8 +18,8 @@ module Sentry
16
18
  end
17
19
 
18
20
  class SentryReporter
19
- OP_NAME = "queue.active_job".freeze
20
- SPAN_ORIGIN = "auto.queue.active_job".freeze
21
+ OP_NAME = "queue.active_job"
22
+ SPAN_ORIGIN = "auto.queue.active_job"
21
23
 
22
24
  class << self
23
25
  def record(job, &block)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  class BackgroundWorker
3
5
  def _perform(&block)
@@ -1,21 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_support/backtrace_cleaner"
2
4
  require "active_support/core_ext/string/access"
3
5
 
4
6
  module Sentry
5
7
  module Rails
6
8
  class BacktraceCleaner < ActiveSupport::BacktraceCleaner
7
- APP_DIRS_PATTERN = /\A(?:\.\/)?(?:app|config|lib|test|\(\w*\))/.freeze
8
- RENDER_TEMPLATE_PATTERN = /:in `.*_\w+_{2,3}\d+_\d+'/.freeze
9
+ APP_DIRS_PATTERN = /\A(?:\.\/)?(?:app|config|lib|test|\(\w*\))/
10
+ RENDER_TEMPLATE_PATTERN = /:in `.*_\w+_{2,3}\d+_\d+'/
9
11
 
10
12
  def initialize
11
13
  super
12
- # we don't want any default silencers because they're too aggressive
14
+ # We don't want any default silencers because they're too aggressive
13
15
  remove_silencers!
16
+ # We don't want any default filters because Rails 7.2 starts shortening the paths. See #2472
17
+ remove_filters!
14
18
 
15
- @root = "#{Sentry.configuration.project_root}/"
16
- add_filter do |line|
17
- line.start_with?(@root) ? line.from(@root.size) : line
18
- end
19
19
  add_filter do |line|
20
20
  if line =~ RENDER_TEMPLATE_PATTERN
21
21
  line.sub(RENDER_TEMPLATE_PATTERN, "")
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module Breadcrumb
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/instrument_payload_cleanup_helper"
2
4
 
3
5
  module Sentry
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  class CaptureExceptions < Sentry::Rack::CaptureExceptions
4
6
  RAILS_7_1 = Gem::Version.new(::Rails.version) >= Gem::Version.new("7.1.0.alpha")
5
- SPAN_ORIGIN = "auto.http.rails".freeze
7
+ SPAN_ORIGIN = "auto.http.rails"
6
8
 
7
9
  def initialize(_)
8
10
  super
@@ -20,7 +22,7 @@ module Sentry
20
22
  end
21
23
 
22
24
  def transaction_op
23
- "http.server".freeze
25
+ "http.server"
24
26
  end
25
27
 
26
28
  def capture_exception(exception, env)
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/tracing/action_controller_subscriber"
2
4
  require "sentry/rails/tracing/action_view_subscriber"
3
5
  require "sentry/rails/tracing/active_record_subscriber"
4
6
  require "sentry/rails/tracing/active_storage_subscriber"
7
+ require "sentry/rails/tracing/active_support_subscriber"
5
8
 
6
9
  module Sentry
7
10
  class Configuration
@@ -162,6 +165,7 @@ module Sentry
162
165
  end
163
166
  @tracing_subscribers = Set.new([
164
167
  Sentry::Rails::Tracing::ActionViewSubscriber,
168
+ Sentry::Rails::Tracing::ActiveSupportSubscriber,
165
169
  Sentry::Rails::Tracing::ActiveRecordSubscriber,
166
170
  Sentry::Rails::Tracing::ActiveStorageSubscriber
167
171
  ])
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module ControllerMethods
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module ControllerTransaction
4
- SPAN_ORIGIN = "auto.view.rails".freeze
6
+ SPAN_ORIGIN = "auto.view.rails"
5
7
 
6
8
  def self.included(base)
7
9
  base.prepend_around_action(:sentry_around_action)
@@ -21,8 +23,10 @@ module Sentry
21
23
  child_span.set_http_status(response.status)
22
24
  child_span.set_data(:format, request.format)
23
25
  child_span.set_data(:method, request.method)
24
- child_span.set_data(:path, request.path)
25
- child_span.set_data(:params, request.params)
26
+
27
+ pii = Sentry.configuration.send_default_pii
28
+ child_span.set_data(:path, pii ? request.fullpath : request.filtered_path)
29
+ child_span.set_data(:params, pii ? request.params : request.filtered_parameters)
26
30
  end
27
31
 
28
32
  result
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  class Engine < ::Rails::Engine
3
5
  isolate_namespace Sentry
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  # This is not a user-facing class. You should use it with Rails 7.0's error reporter feature and its interfaces.
@@ -25,7 +27,20 @@ module Sentry
25
27
  hint.merge!(context.delete(:hint))
26
28
  end
27
29
 
28
- Sentry::Rails.capture_exception(error, level: severity, contexts: { "rails.error" => context }, tags: tags, hint: hint)
30
+ options = { level: severity, contexts: { "rails.error" => context }, tags: tags, hint: hint }
31
+
32
+ case error
33
+ when String
34
+ Sentry::Rails.capture_message(error, **options)
35
+ when Exception
36
+ Sentry::Rails.capture_exception(error, **options)
37
+ else
38
+ log_debug("Expected an Exception or a String, got: #{error.inspect}")
39
+ end
40
+ end
41
+
42
+ def log_debug(message)
43
+ Sentry.configuration.logger.debug(message)
29
44
  end
30
45
  end
31
46
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module InstrumentPayloadCleanupHelper
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module Overrides
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/capture_exceptions"
2
4
  require "sentry/rails/rescued_exception_interceptor"
3
5
  require "sentry/rails/backtrace_cleaner"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  class RescuedExceptionInterceptor
@@ -17,7 +19,16 @@ module Sentry
17
19
  end
18
20
 
19
21
  def report_rescued_exceptions?
20
- Sentry.configuration.rails.report_rescued_exceptions
22
+ # In rare edge cases, `Sentry.configuration` might be `nil` here.
23
+ # Hence, we use a safe navigation and fallback to a reasonable default
24
+ # of `true` in case the configuration couldn't be loaded.
25
+ # See https://github.com/getsentry/sentry-ruby/issues/2386
26
+ report_rescued_exceptions = Sentry.configuration&.rails&.report_rescued_exceptions
27
+ return report_rescued_exceptions unless report_rescued_exceptions.nil?
28
+
29
+ # `true` is the default for `report_rescued_exceptions`, as specified in
30
+ # `sentry-rails/lib/sentry/rails/configuration.rb`.
31
+ true
21
32
  end
22
33
  end
23
34
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module Tracing
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/tracing/abstract_subscriber"
2
4
  require "sentry/rails/instrument_payload_cleanup_helper"
3
5
 
@@ -8,8 +10,8 @@ module Sentry
8
10
  extend InstrumentPayloadCleanupHelper
9
11
 
10
12
  EVENT_NAMES = ["process_action.action_controller"].freeze
11
- OP_NAME = "view.process_action.action_controller".freeze
12
- SPAN_ORIGIN = "auto.view.rails".freeze
13
+ OP_NAME = "view.process_action.action_controller"
14
+ SPAN_ORIGIN = "auto.view.rails"
13
15
 
14
16
  def self.subscribe!
15
17
  Sentry.logger.warn <<~MSG
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/tracing/abstract_subscriber"
2
4
 
3
5
  module Sentry
@@ -5,8 +7,8 @@ module Sentry
5
7
  module Tracing
6
8
  class ActionViewSubscriber < AbstractSubscriber
7
9
  EVENT_NAMES = ["render_template.action_view"].freeze
8
- SPAN_PREFIX = "template.".freeze
9
- SPAN_ORIGIN = "auto.template.rails".freeze
10
+ SPAN_PREFIX = "template."
11
+ SPAN_ORIGIN = "auto.template.rails"
10
12
 
11
13
  def self.subscribe!
12
14
  subscribe_to_event(EVENT_NAMES) do |event_name, duration, payload|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/tracing/abstract_subscriber"
2
4
 
3
5
  module Sentry
@@ -19,12 +21,12 @@ module Sentry
19
21
  analyze.active_storage
20
22
  ].freeze
21
23
 
22
- SPAN_ORIGIN = "auto.file.rails".freeze
24
+ SPAN_ORIGIN = "auto.file.rails"
23
25
 
24
26
  def self.subscribe!
25
27
  subscribe_to_event(EVENT_NAMES) do |event_name, duration, payload|
26
28
  record_on_current_span(
27
- op: "file.#{event_name}".freeze,
29
+ op: "file.#{event_name}",
28
30
  origin: SPAN_ORIGIN,
29
31
  start_timestamp: payload[START_TIMESTAMP_NAME],
30
32
  description: payload[:service],
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "sentry/rails/tracing/abstract_subscriber"
4
+
5
+ module Sentry
6
+ module Rails
7
+ module Tracing
8
+ class ActiveSupportSubscriber < AbstractSubscriber
9
+ READ_EVENT_NAMES = %w[
10
+ cache_read.active_support
11
+ ].freeze
12
+
13
+ WRITE_EVENT_NAMES = %w[
14
+ cache_write.active_support
15
+ cache_increment.active_support
16
+ cache_decrement.active_support
17
+ ].freeze
18
+
19
+ REMOVE_EVENT_NAMES = %w[
20
+ cache_delete.active_support
21
+ ].freeze
22
+
23
+ FLUSH_EVENT_NAMES = %w[
24
+ cache_prune.active_support
25
+ ].freeze
26
+
27
+ EVENT_NAMES = READ_EVENT_NAMES + WRITE_EVENT_NAMES + REMOVE_EVENT_NAMES + FLUSH_EVENT_NAMES
28
+
29
+ SPAN_ORIGIN = "auto.cache.rails"
30
+
31
+ def self.subscribe!
32
+ subscribe_to_event(EVENT_NAMES) do |event_name, duration, payload|
33
+ record_on_current_span(
34
+ op: operation_name(event_name),
35
+ origin: SPAN_ORIGIN,
36
+ start_timestamp: payload[START_TIMESTAMP_NAME],
37
+ description: payload[:store],
38
+ duration: duration
39
+ ) do |span|
40
+ span.set_data("cache.key", [*payload[:key]].select { |key| Utils::EncodingHelper.valid_utf_8?(key) })
41
+ span.set_data("cache.hit", payload[:hit] == true) # Handle nil case
42
+ end
43
+ end
44
+ end
45
+
46
+ def self.operation_name(event_name)
47
+ case
48
+ when READ_EVENT_NAMES.include?(event_name)
49
+ "cache.get"
50
+ when WRITE_EVENT_NAMES.include?(event_name)
51
+ "cache.put"
52
+ when REMOVE_EVENT_NAMES.include?(event_name)
53
+ "cache.remove"
54
+ when FLUSH_EVENT_NAMES.include?(event_name)
55
+ "cache.flush"
56
+ else
57
+ "other"
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module Tracing
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
- VERSION = "5.20.1"
5
+ VERSION = "5.22.0"
4
6
  end
5
7
  end
data/lib/sentry/rails.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails"
2
4
  require "sentry-ruby"
3
5
  require "sentry/integrable"
data/lib/sentry-rails.rb CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/version"
2
4
  require "sentry/rails"
data/sentry-rails.gemspec CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative "lib/sentry/rails/version"
2
4
 
3
5
  Gem::Specification.new do |spec|
@@ -29,5 +31,5 @@ Gem::Specification.new do |spec|
29
31
  spec.require_paths = ["lib"]
30
32
 
31
33
  spec.add_dependency "railties", ">= 5.0"
32
- spec.add_dependency "sentry-ruby", "~> 5.20.1"
34
+ spec.add_dependency "sentry-ruby", "~> 5.22.0"
33
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.20.1
4
+ version: 5.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-27 00:00:00.000000000 Z
11
+ date: 2024-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 5.20.1
33
+ version: 5.22.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 5.20.1
40
+ version: 5.22.0
41
41
  description: A gem that provides Rails integration for the Sentry error logger
42
42
  email: accounts@sentry.io
43
43
  executables: []
@@ -82,17 +82,18 @@ files:
82
82
  - lib/sentry/rails/tracing/action_view_subscriber.rb
83
83
  - lib/sentry/rails/tracing/active_record_subscriber.rb
84
84
  - lib/sentry/rails/tracing/active_storage_subscriber.rb
85
+ - lib/sentry/rails/tracing/active_support_subscriber.rb
85
86
  - lib/sentry/rails/version.rb
86
87
  - sentry-rails.gemspec
87
- homepage: https://github.com/getsentry/sentry-ruby/tree/5.20.1/sentry-rails
88
+ homepage: https://github.com/getsentry/sentry-ruby/tree/5.22.0/sentry-rails
88
89
  licenses:
89
90
  - MIT
90
91
  metadata:
91
- homepage_uri: https://github.com/getsentry/sentry-ruby/tree/5.20.1/sentry-rails
92
- source_code_uri: https://github.com/getsentry/sentry-ruby/tree/5.20.1/sentry-rails
93
- changelog_uri: https://github.com/getsentry/sentry-ruby/blob/5.20.1/CHANGELOG.md
92
+ homepage_uri: https://github.com/getsentry/sentry-ruby/tree/5.22.0/sentry-rails
93
+ source_code_uri: https://github.com/getsentry/sentry-ruby/tree/5.22.0/sentry-rails
94
+ changelog_uri: https://github.com/getsentry/sentry-ruby/blob/5.22.0/CHANGELOG.md
94
95
  bug_tracker_uri: https://github.com/getsentry/sentry-ruby/issues
95
- documentation_uri: http://www.rubydoc.info/gems/sentry-rails/5.20.1
96
+ documentation_uri: http://www.rubydoc.info/gems/sentry-rails/5.22.0
96
97
  post_install_message:
97
98
  rdoc_options: []
98
99
  require_paths:
@@ -108,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  requirements: []
111
- rubygems_version: 3.5.16
112
+ rubygems_version: 3.5.22
112
113
  signing_key:
113
114
  specification_version: 4
114
115
  summary: A gem that provides Rails integration for the Sentry error logger