sentry-rails 6.6.2 → 7.0.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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/Gemfile +50 -0
  4. data/README.md +1 -1
  5. data/bin/test +12 -386
  6. data/bin/test_old +389 -0
  7. data/gemfiles/ruby-2.7_rails-5.2.0.gemfile.lock +266 -0
  8. data/gemfiles/ruby-2.7_rails-6.0.0.gemfile.lock +282 -0
  9. data/gemfiles/ruby-2.7_rails-6.1.0.gemfile.lock +294 -0
  10. data/gemfiles/ruby-2.7_rails-7.0.0.gemfile.lock +311 -0
  11. data/gemfiles/ruby-2.7_rails-7.1.0.gemfile.lock +348 -0
  12. data/gemfiles/ruby-3.0_rails-6.1.0.gemfile.lock +362 -0
  13. data/gemfiles/ruby-3.0_rails-7.0.0.gemfile.lock +379 -0
  14. data/gemfiles/ruby-3.0_rails-7.1.0.gemfile.lock +405 -0
  15. data/gemfiles/ruby-3.1_rails-6.1.0.gemfile.lock +493 -0
  16. data/gemfiles/ruby-3.1_rails-7.0.0.gemfile.lock +513 -0
  17. data/gemfiles/ruby-3.1_rails-7.1.0.gemfile.lock +547 -0
  18. data/gemfiles/ruby-3.1_rails-7.2.0.gemfile.lock +541 -0
  19. data/gemfiles/ruby-3.2_rails-6.1.0.gemfile.lock +493 -0
  20. data/gemfiles/ruby-3.2_rails-7.0.0.gemfile.lock +511 -0
  21. data/gemfiles/ruby-3.2_rails-7.1.0.gemfile.lock +553 -0
  22. data/gemfiles/ruby-3.2_rails-7.2.0.gemfile.lock +545 -0
  23. data/gemfiles/ruby-3.2_rails-8.0.0.gemfile.lock +544 -0
  24. data/gemfiles/ruby-3.3_rails-6.1.0.gemfile.lock +493 -0
  25. data/gemfiles/ruby-3.3_rails-7.0.0.gemfile.lock +511 -0
  26. data/gemfiles/ruby-3.3_rails-7.1.0.gemfile.lock +553 -0
  27. data/gemfiles/ruby-3.3_rails-7.2.0.gemfile.lock +545 -0
  28. data/gemfiles/ruby-3.3_rails-8.0.0.gemfile.lock +544 -0
  29. data/gemfiles/ruby-3.4_rails-7.1.0.gemfile.lock +534 -0
  30. data/gemfiles/ruby-3.4_rails-7.2.0.gemfile.lock +528 -0
  31. data/gemfiles/ruby-3.4_rails-8.0.0.gemfile.lock +523 -0
  32. data/gemfiles/ruby-3.4_rails-8.1.3.gemfile.lock +527 -0
  33. data/gemfiles/ruby-4.0_rails-6.1.0.gemfile.lock +476 -0
  34. data/gemfiles/ruby-4.0_rails-7.0.0.gemfile.lock +492 -0
  35. data/gemfiles/ruby-4.0_rails-7.1.0.gemfile.lock +534 -0
  36. data/gemfiles/ruby-4.0_rails-8.0.0.gemfile.lock +523 -0
  37. data/gemfiles/ruby-4.0_rails-8.1.3.gemfile.lock +527 -0
  38. data/gemfiles/ruby-jruby-9.4.14.0_rails-6.1.0.gemfile.lock +369 -0
  39. data/gemfiles/ruby-jruby-9.4.14.0_rails-7.0.0.gemfile.lock +391 -0
  40. data/gemfiles/ruby-jruby-9.4.14.0_rails-7.1.0.gemfile.lock +425 -0
  41. data/lib/sentry/rails/active_job.rb +188 -29
  42. data/lib/sentry/rails/breadcrumb/active_support_logger.rb +30 -0
  43. data/lib/sentry/rails/capture_exceptions.rb +8 -1
  44. data/lib/sentry/rails/configuration.rb +14 -2
  45. data/lib/sentry/rails/controller_transaction.rb +24 -3
  46. data/lib/sentry/rails/error_reporter_context.rb +24 -0
  47. data/lib/sentry/rails/log_subscribers/action_controller_subscriber.rb +3 -7
  48. data/lib/sentry/rails/log_subscribers/action_mailer_subscriber.rb +5 -9
  49. data/lib/sentry/rails/log_subscribers/active_job_subscriber.rb +5 -7
  50. data/lib/sentry/rails/log_subscribers/active_record_subscriber.rb +1 -5
  51. data/lib/sentry/rails/railtie.rb +8 -1
  52. data/lib/sentry/rails/serializer.rb +35 -0
  53. data/lib/sentry/rails/tracing/active_storage_subscriber.rb +4 -1
  54. data/lib/sentry/rails/version.rb +1 -1
  55. data/sentry-rails.gemspec +2 -2
  56. metadata +45 -9
  57. data/lib/sentry/rails/log_subscribers/parameter_filter.rb +0 -52
@@ -34,7 +34,10 @@ module Sentry
34
34
  ) do |span|
35
35
  payload.each do |key, value|
36
36
  next if key == START_TIMESTAMP_NAME
37
- next if key == :key && !Sentry.configuration.send_default_pii
37
+ # Active Storage keys are automatically generated storage data,
38
+ # rather than URL/query data. Use the database query-data switch
39
+ # for the legacy PII-compatible on/off behavior.
40
+ next if key == :key && !Sentry.configuration.data_collection.database_query_data
38
41
 
39
42
  span.set_data(key, value)
40
43
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sentry
4
4
  module Rails
5
- VERSION = "6.6.2"
5
+ VERSION = "7.0.0"
6
6
  end
7
7
  end
data/sentry-rails.gemspec CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.platform = Gem::Platform::RUBY
14
14
  spec.required_ruby_version = '>= 2.7'
15
15
  spec.extra_rdoc_files = ["README.md", "LICENSE.txt"]
16
- spec.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples|\.rubocop\.yml)'`.split("\n")
16
+ spec.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples|test-matrix\.json|\.rubocop\.yml)'`.split("\n")
17
17
 
18
18
  github_root_uri = 'https://github.com/getsentry/sentry-ruby'
19
19
  spec.homepage = "#{github_root_uri}/tree/#{spec.version}/#{spec.name}"
@@ -31,5 +31,5 @@ Gem::Specification.new do |spec|
31
31
  spec.require_paths = ["lib"]
32
32
 
33
33
  spec.add_dependency "railties", ">= 5.2.0"
34
- spec.add_dependency "sentry-ruby", "~> 6.6.2"
34
+ spec.add_dependency "sentry-ruby", "~> 7.0.0"
35
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.6.2
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry Team
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 6.6.2
32
+ version: 7.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 6.6.2
39
+ version: 7.0.0
40
40
  description: A gem that provides Rails integration for the Sentry error logger
41
41
  email: accounts@sentry.io
42
42
  executables: []
@@ -57,6 +57,41 @@ files:
57
57
  - bin/console
58
58
  - bin/setup
59
59
  - bin/test
60
+ - bin/test_old
61
+ - gemfiles/ruby-2.7_rails-5.2.0.gemfile.lock
62
+ - gemfiles/ruby-2.7_rails-6.0.0.gemfile.lock
63
+ - gemfiles/ruby-2.7_rails-6.1.0.gemfile.lock
64
+ - gemfiles/ruby-2.7_rails-7.0.0.gemfile.lock
65
+ - gemfiles/ruby-2.7_rails-7.1.0.gemfile.lock
66
+ - gemfiles/ruby-3.0_rails-6.1.0.gemfile.lock
67
+ - gemfiles/ruby-3.0_rails-7.0.0.gemfile.lock
68
+ - gemfiles/ruby-3.0_rails-7.1.0.gemfile.lock
69
+ - gemfiles/ruby-3.1_rails-6.1.0.gemfile.lock
70
+ - gemfiles/ruby-3.1_rails-7.0.0.gemfile.lock
71
+ - gemfiles/ruby-3.1_rails-7.1.0.gemfile.lock
72
+ - gemfiles/ruby-3.1_rails-7.2.0.gemfile.lock
73
+ - gemfiles/ruby-3.2_rails-6.1.0.gemfile.lock
74
+ - gemfiles/ruby-3.2_rails-7.0.0.gemfile.lock
75
+ - gemfiles/ruby-3.2_rails-7.1.0.gemfile.lock
76
+ - gemfiles/ruby-3.2_rails-7.2.0.gemfile.lock
77
+ - gemfiles/ruby-3.2_rails-8.0.0.gemfile.lock
78
+ - gemfiles/ruby-3.3_rails-6.1.0.gemfile.lock
79
+ - gemfiles/ruby-3.3_rails-7.0.0.gemfile.lock
80
+ - gemfiles/ruby-3.3_rails-7.1.0.gemfile.lock
81
+ - gemfiles/ruby-3.3_rails-7.2.0.gemfile.lock
82
+ - gemfiles/ruby-3.3_rails-8.0.0.gemfile.lock
83
+ - gemfiles/ruby-3.4_rails-7.1.0.gemfile.lock
84
+ - gemfiles/ruby-3.4_rails-7.2.0.gemfile.lock
85
+ - gemfiles/ruby-3.4_rails-8.0.0.gemfile.lock
86
+ - gemfiles/ruby-3.4_rails-8.1.3.gemfile.lock
87
+ - gemfiles/ruby-4.0_rails-6.1.0.gemfile.lock
88
+ - gemfiles/ruby-4.0_rails-7.0.0.gemfile.lock
89
+ - gemfiles/ruby-4.0_rails-7.1.0.gemfile.lock
90
+ - gemfiles/ruby-4.0_rails-8.0.0.gemfile.lock
91
+ - gemfiles/ruby-4.0_rails-8.1.3.gemfile.lock
92
+ - gemfiles/ruby-jruby-9.4.14.0_rails-6.1.0.gemfile.lock
93
+ - gemfiles/ruby-jruby-9.4.14.0_rails-7.0.0.gemfile.lock
94
+ - gemfiles/ruby-jruby-9.4.14.0_rails-7.1.0.gemfile.lock
60
95
  - lib/generators/sentry_generator.rb
61
96
  - lib/sentry-rails.rb
62
97
  - lib/sentry/rails.rb
@@ -70,16 +105,17 @@ files:
70
105
  - lib/sentry/rails/controller_methods.rb
71
106
  - lib/sentry/rails/controller_transaction.rb
72
107
  - lib/sentry/rails/engine.rb
108
+ - lib/sentry/rails/error_reporter_context.rb
73
109
  - lib/sentry/rails/error_subscriber.rb
74
110
  - lib/sentry/rails/log_subscriber.rb
75
111
  - lib/sentry/rails/log_subscribers/action_controller_subscriber.rb
76
112
  - lib/sentry/rails/log_subscribers/action_mailer_subscriber.rb
77
113
  - lib/sentry/rails/log_subscribers/active_job_subscriber.rb
78
114
  - lib/sentry/rails/log_subscribers/active_record_subscriber.rb
79
- - lib/sentry/rails/log_subscribers/parameter_filter.rb
80
115
  - lib/sentry/rails/overrides/streaming_reporter.rb
81
116
  - lib/sentry/rails/railtie.rb
82
117
  - lib/sentry/rails/rescued_exception_interceptor.rb
118
+ - lib/sentry/rails/serializer.rb
83
119
  - lib/sentry/rails/structured_logging.rb
84
120
  - lib/sentry/rails/tracing.rb
85
121
  - lib/sentry/rails/tracing/abstract_subscriber.rb
@@ -89,15 +125,15 @@ files:
89
125
  - lib/sentry/rails/tracing/active_support_subscriber.rb
90
126
  - lib/sentry/rails/version.rb
91
127
  - sentry-rails.gemspec
92
- homepage: https://github.com/getsentry/sentry-ruby/tree/6.6.2/sentry-rails
128
+ homepage: https://github.com/getsentry/sentry-ruby/tree/7.0.0/sentry-rails
93
129
  licenses:
94
130
  - MIT
95
131
  metadata:
96
- homepage_uri: https://github.com/getsentry/sentry-ruby/tree/6.6.2/sentry-rails
97
- source_code_uri: https://github.com/getsentry/sentry-ruby/tree/6.6.2/sentry-rails
98
- changelog_uri: https://github.com/getsentry/sentry-ruby/blob/6.6.2/CHANGELOG.md
132
+ homepage_uri: https://github.com/getsentry/sentry-ruby/tree/7.0.0/sentry-rails
133
+ source_code_uri: https://github.com/getsentry/sentry-ruby/tree/7.0.0/sentry-rails
134
+ changelog_uri: https://github.com/getsentry/sentry-ruby/blob/7.0.0/CHANGELOG.md
99
135
  bug_tracker_uri: https://github.com/getsentry/sentry-ruby/issues
100
- documentation_uri: http://www.rubydoc.info/gems/sentry-rails/6.6.2
136
+ documentation_uri: http://www.rubydoc.info/gems/sentry-rails/7.0.0
101
137
  rdoc_options: []
102
138
  require_paths:
103
139
  - lib
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Sentry
4
- module Rails
5
- module LogSubscribers
6
- # Shared utility module for filtering sensitive parameters in log subscribers.
7
- #
8
- # This module provides consistent parameter filtering across all Sentry Rails
9
- # log subscribers, leveraging Rails' built-in parameter filtering when available.
10
- # It automatically detects the correct Rails parameter filtering API based on
11
- # the Rails version and includes the appropriate implementation module.
12
- #
13
- # @example Usage in a log subscriber
14
- # class MySubscriber < Sentry::Rails::LogSubscriber
15
- # include Sentry::Rails::LogSubscribers::ParameterFilter
16
- #
17
- # def my_event(event)
18
- # if Sentry.configuration.send_default_pii && event.payload[:params]
19
- # filtered_params = filter_sensitive_params(event.payload[:params])
20
- # attributes[:params] = filtered_params unless filtered_params.empty?
21
- # end
22
- # end
23
- # end
24
- module ParameterFilter
25
- EMPTY_HASH = {}.freeze
26
-
27
- if ::Rails.version.to_f >= 6.0
28
- def self.backend
29
- ActiveSupport::ParameterFilter
30
- end
31
- else
32
- def self.backend
33
- ActionDispatch::Http::ParameterFilter
34
- end
35
- end
36
-
37
- # Filter sensitive parameters from a hash, respecting Rails configuration.
38
- #
39
- # @param params [Hash] The parameters to filter
40
- # @return [Hash] Filtered parameters with sensitive data removed
41
- def filter_sensitive_params(params)
42
- return EMPTY_HASH unless params.is_a?(Hash)
43
-
44
- filter_parameters = ::Rails.application.config.filter_parameters
45
- parameter_filter = ParameterFilter.backend.new(filter_parameters)
46
-
47
- parameter_filter.filter(params)
48
- end
49
- end
50
- end
51
- end
52
- end