sentry-raven 2.13.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.craft.yml +15 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  4. data/.github/pull_request_template.md +16 -0
  5. data/.github/workflows/test.yml +92 -0
  6. data/.github/workflows/zeus_upload.yml +32 -0
  7. data/.gitignore +3 -0
  8. data/.rubocop.yml +50 -12
  9. data/.scripts/bump-version.sh +9 -0
  10. data/{changelog.md → CHANGELOG.md} +155 -1
  11. data/CONTRIBUTING.md +71 -0
  12. data/Gemfile +20 -25
  13. data/README.md +26 -16
  14. data/lib/raven/backtrace.rb +9 -5
  15. data/lib/raven/base.rb +6 -2
  16. data/lib/raven/breadcrumbs/{activesupport.rb → active_support_logger.rb} +9 -3
  17. data/lib/raven/breadcrumbs/logger.rb +2 -92
  18. data/lib/raven/breadcrumbs/sentry_logger.rb +73 -0
  19. data/lib/raven/breadcrumbs.rb +1 -1
  20. data/lib/raven/cli.rb +10 -21
  21. data/lib/raven/client.rb +9 -4
  22. data/lib/raven/configuration.rb +86 -10
  23. data/lib/raven/context.rb +13 -8
  24. data/lib/raven/core_ext/object/deep_dup.rb +57 -0
  25. data/lib/raven/core_ext/object/duplicable.rb +153 -0
  26. data/lib/raven/event.rb +27 -15
  27. data/lib/raven/helpers/deprecation_helper.rb +17 -0
  28. data/lib/raven/instance.rb +9 -4
  29. data/lib/raven/integrations/delayed_job.rb +13 -14
  30. data/lib/raven/integrations/rack-timeout.rb +7 -4
  31. data/lib/raven/integrations/rack.rb +4 -3
  32. data/lib/raven/integrations/rails/active_job.rb +6 -4
  33. data/lib/raven/integrations/rails/backtrace_cleaner.rb +29 -0
  34. data/lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb +2 -2
  35. data/lib/raven/integrations/rails.rb +13 -3
  36. data/lib/raven/integrations/sidekiq/cleanup_middleware.rb +13 -0
  37. data/lib/raven/integrations/sidekiq/context_filter.rb +42 -0
  38. data/lib/raven/integrations/sidekiq/error_handler.rb +38 -0
  39. data/lib/raven/integrations/sidekiq.rb +4 -78
  40. data/lib/raven/interface.rb +2 -2
  41. data/lib/raven/interfaces/stack_trace.rb +1 -1
  42. data/lib/raven/linecache.rb +5 -2
  43. data/lib/raven/logger.rb +3 -2
  44. data/lib/raven/processor/cookies.rb +16 -6
  45. data/lib/raven/processor/post_data.rb +2 -0
  46. data/lib/raven/processor/removecircularreferences.rb +3 -1
  47. data/lib/raven/processor/sanitizedata.rb +65 -17
  48. data/lib/raven/processor/utf8conversion.rb +2 -0
  49. data/lib/raven/transports/http.rb +5 -5
  50. data/lib/raven/transports.rb +4 -0
  51. data/lib/raven/utils/exception_cause_chain.rb +1 -0
  52. data/lib/raven/utils/real_ip.rb +1 -1
  53. data/lib/raven/version.rb +2 -2
  54. data/lib/sentry-raven-without-integrations.rb +6 -1
  55. data/lib/sentry_raven_without_integrations.rb +1 -0
  56. data/sentry-raven.gemspec +2 -2
  57. metadata +21 -12
  58. data/.travis.yml +0 -47
@@ -26,10 +26,10 @@ module Raven
26
26
  req.headers['X-Sentry-Auth'] = auth_header
27
27
  req.body = data
28
28
  end
29
- rescue Faraday::Error => ex
30
- error_info = ex.message
31
- if ex.response && ex.response[:headers]['x-sentry-error']
32
- error_info += " Error in headers is: #{ex.response[:headers]['x-sentry-error']}"
29
+ rescue Faraday::Error => e
30
+ error_info = e.message
31
+ if e.response && e.response[:headers]['x-sentry-error']
32
+ error_info += " Error in headers is: #{e.response[:headers]['x-sentry-error']}"
33
33
  end
34
34
  raise Raven::Error, error_info
35
35
  end
@@ -42,7 +42,7 @@ module Raven
42
42
  proxy = configuration.public_send(:proxy)
43
43
 
44
44
  Faraday.new(configuration.server, :ssl => ssl_configuration, :proxy => proxy) do |builder|
45
- configuration.faraday_builder.call(builder) if configuration.faraday_builder
45
+ configuration.faraday_builder&.call(builder)
46
46
  builder.response :raise_error
47
47
  builder.options.merge! faraday_opts
48
48
  builder.headers[:user_agent] = "sentry-ruby/#{Raven::VERSION}"
@@ -13,3 +13,7 @@ module Raven
13
13
  end
14
14
  end
15
15
  end
16
+
17
+ require "raven/transports/dummy"
18
+ require "raven/transports/http"
19
+ require "raven/transports/stdout"
@@ -7,6 +7,7 @@ module Raven
7
7
  while exception.cause
8
8
  exception = exception.cause
9
9
  break if exceptions.any? { |e| e.object_id == exception.object_id }
10
+
10
11
  exceptions << exception
11
12
  end
12
13
  exceptions
@@ -13,7 +13,7 @@ module Raven
13
13
  "fc00::/7", # private IPv6 range fc00::/7
14
14
  "10.0.0.0/8", # private IPv4 range 10.x.x.x
15
15
  "172.16.0.0/12", # private IPv4 range 172.16.0.0 .. 172.31.255.255
16
- "192.168.0.0/16", # private IPv4 range 192.168.x.x
16
+ "192.168.0.0/16" # private IPv4 range 192.168.x.x
17
17
  ].map { |proxy| IPAddr.new(proxy) }
18
18
 
19
19
  attr_accessor :ip, :ip_addresses
data/lib/raven/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Raven
3
- # Freezing this constant breaks in 1.9.x
4
- VERSION = "2.13.0" # rubocop:disable Style/MutableConstant
4
+ VERSION = "3.1.0"
5
5
  end
@@ -1 +1,6 @@
1
- require 'raven/base'
1
+ require "raven/helpers/deprecation_helper"
2
+
3
+ filename = "sentry_raven_without_integrations"
4
+ DeprecationHelper.deprecate_dasherized_filename(filename)
5
+
6
+ require filename
@@ -0,0 +1 @@
1
+ require 'raven/base'
data/sentry-raven.gemspec CHANGED
@@ -11,11 +11,11 @@ Gem::Specification.new do |gem|
11
11
 
12
12
  gem.version = Raven::VERSION
13
13
  gem.platform = Gem::Platform::RUBY
14
- gem.required_ruby_version = '>= 1.9.0'
14
+ gem.required_ruby_version = '>= 2.3'
15
15
  gem.extra_rdoc_files = ["README.md", "LICENSE"]
16
16
  gem.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples)'`.split("\n")
17
17
  gem.bindir = "exe"
18
18
  gem.executables = "raven"
19
19
 
20
- gem.add_dependency "faraday", ">= 0.7.6", "< 1.0"
20
+ gem.add_dependency "faraday", ">= 1.0"
21
21
  end
metadata CHANGED
@@ -1,23 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-raven
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.13.0
4
+ version: 3.1.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: 2019-12-17 00:00:00.000000000 Z
11
+ date: 2020-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 0.7.6
20
- - - "<"
21
18
  - !ruby/object:Gem::Version
22
19
  version: '1.0'
23
20
  type: :runtime
@@ -25,9 +22,6 @@ dependencies:
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 0.7.6
30
- - - "<"
31
25
  - !ruby/object:Gem::Version
32
26
  version: '1.0'
33
27
  description: A gem that provides a client interface for the Sentry error logger
@@ -39,34 +33,45 @@ extra_rdoc_files:
39
33
  - README.md
40
34
  - LICENSE
41
35
  files:
36
+ - ".craft.yml"
37
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
38
+ - ".github/pull_request_template.md"
39
+ - ".github/workflows/test.yml"
40
+ - ".github/workflows/zeus_upload.yml"
42
41
  - ".gitignore"
43
42
  - ".gitmodules"
44
43
  - ".rspec"
45
44
  - ".rubocop.yml"
46
- - ".travis.yml"
45
+ - ".scripts/bump-version.sh"
46
+ - CHANGELOG.md
47
+ - CONTRIBUTING.md
47
48
  - Gemfile
48
49
  - LICENSE
49
50
  - README.md
50
51
  - Rakefile
51
- - changelog.md
52
52
  - exe/raven
53
53
  - lib/raven.rb
54
54
  - lib/raven/backtrace.rb
55
55
  - lib/raven/base.rb
56
56
  - lib/raven/breadcrumbs.rb
57
- - lib/raven/breadcrumbs/activesupport.rb
57
+ - lib/raven/breadcrumbs/active_support_logger.rb
58
58
  - lib/raven/breadcrumbs/logger.rb
59
+ - lib/raven/breadcrumbs/sentry_logger.rb
59
60
  - lib/raven/cli.rb
60
61
  - lib/raven/client.rb
61
62
  - lib/raven/configuration.rb
62
63
  - lib/raven/context.rb
64
+ - lib/raven/core_ext/object/deep_dup.rb
65
+ - lib/raven/core_ext/object/duplicable.rb
63
66
  - lib/raven/event.rb
67
+ - lib/raven/helpers/deprecation_helper.rb
64
68
  - lib/raven/instance.rb
65
69
  - lib/raven/integrations/delayed_job.rb
66
70
  - lib/raven/integrations/rack-timeout.rb
67
71
  - lib/raven/integrations/rack.rb
68
72
  - lib/raven/integrations/rails.rb
69
73
  - lib/raven/integrations/rails/active_job.rb
74
+ - lib/raven/integrations/rails/backtrace_cleaner.rb
70
75
  - lib/raven/integrations/rails/controller_methods.rb
71
76
  - lib/raven/integrations/rails/controller_transaction.rb
72
77
  - lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb
@@ -74,6 +79,9 @@ files:
74
79
  - lib/raven/integrations/railties.rb
75
80
  - lib/raven/integrations/rake.rb
76
81
  - lib/raven/integrations/sidekiq.rb
82
+ - lib/raven/integrations/sidekiq/cleanup_middleware.rb
83
+ - lib/raven/integrations/sidekiq/context_filter.rb
84
+ - lib/raven/integrations/sidekiq/error_handler.rb
77
85
  - lib/raven/integrations/tasks.rb
78
86
  - lib/raven/interface.rb
79
87
  - lib/raven/interfaces/exception.rb
@@ -101,6 +109,7 @@ files:
101
109
  - lib/raven/version.rb
102
110
  - lib/sentry-raven-without-integrations.rb
103
111
  - lib/sentry-raven.rb
112
+ - lib/sentry_raven_without_integrations.rb
104
113
  - sentry-raven.gemspec
105
114
  homepage: https://github.com/getsentry/raven-ruby
106
115
  licenses:
@@ -114,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
123
  requirements:
115
124
  - - ">="
116
125
  - !ruby/object:Gem::Version
117
- version: 1.9.0
126
+ version: '2.3'
118
127
  required_rubygems_version: !ruby/object:Gem::Requirement
119
128
  requirements:
120
129
  - - ">="
data/.travis.yml DELETED
@@ -1,47 +0,0 @@
1
- language: ruby
2
- dist: trusty
3
- group: beta
4
- cache: bundler
5
-
6
- services:
7
- - redis-server
8
-
9
- branches:
10
- only: [master]
11
-
12
- rvm:
13
- - 2.2.10
14
- - 2.3.8
15
- - 2.4.9
16
- - 2.5.7
17
- - 2.6.5
18
-
19
- env:
20
- - RAILS_VERSION=4
21
- - RAILS_VERSION=5
22
- - RAILS_VERSION=0
23
-
24
- addons:
25
- apt:
26
- packages:
27
- - haveged
28
-
29
- before_install:
30
- - service haveged start
31
- # Pin bundler version due to https://github.com/rubygems/rubygems/issues/2055
32
- - gem install bundler -v 1.16.0
33
-
34
- matrix:
35
- include:
36
- - rvm: 1.9
37
- env: RAILS_VERSION=4
38
- - rvm: jruby-1.7.27
39
- env: JRUBY_OPTS="--dev" RAILS_VERSION=4
40
- - rvm: jruby-9.2.9.0
41
- env: JRUBY_OPTS="--dev -J-Djruby.launch.inproc=true -J-Xmx1024M" RAILS_VERSION=4
42
- - rvm: jruby-9.2.9.0
43
- env: JRUBY_OPTS="--dev -J-Djruby.launch.inproc=true -J-Xmx1024M" RAILS_VERSION=5
44
- - rvm: ruby-head
45
- env: RAILS_VERSION=0
46
- allow_failures:
47
- - rvm: ruby-head